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 address range that is provisioned for use with your AWS
444// 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// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
791// with awserr.Error's Code and Message methods to get detailed information about
792// the error.
793//
794// See the AWS API reference guide for Amazon Elastic Compute Cloud's
795// API operation AssignIpv6Addresses for usage and error information.
796// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignIpv6Addresses
797func (c *EC2) AssignIpv6Addresses(input *AssignIpv6AddressesInput) (*AssignIpv6AddressesOutput, error) {
798	req, out := c.AssignIpv6AddressesRequest(input)
799	return out, req.Send()
800}
801
802// AssignIpv6AddressesWithContext is the same as AssignIpv6Addresses with the addition of
803// the ability to pass a context and additional request options.
804//
805// See AssignIpv6Addresses for details on how to use this API operation.
806//
807// The context must be non-nil and will be used for request cancellation. If
808// the context is nil a panic will occur. In the future the SDK may create
809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
810// for more information on using Contexts.
811func (c *EC2) AssignIpv6AddressesWithContext(ctx aws.Context, input *AssignIpv6AddressesInput, opts ...request.Option) (*AssignIpv6AddressesOutput, error) {
812	req, out := c.AssignIpv6AddressesRequest(input)
813	req.SetContext(ctx)
814	req.ApplyOptions(opts...)
815	return out, req.Send()
816}
817
818const opAssignPrivateIpAddresses = "AssignPrivateIpAddresses"
819
820// AssignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
821// client's request for the AssignPrivateIpAddresses operation. The "output" return
822// value will be populated with the request's response once the request completes
823// successfully.
824//
825// Use "Send" method on the returned Request to send the API call to the service.
826// the "output" return value is not valid until after Send returns without error.
827//
828// See AssignPrivateIpAddresses for more information on using the AssignPrivateIpAddresses
829// API call, and error handling.
830//
831// This method is useful when you want to inject custom logic or configuration
832// into the SDK's request lifecycle. Such as custom headers, or retry logic.
833//
834//
835//    // Example sending a request using the AssignPrivateIpAddressesRequest method.
836//    req, resp := client.AssignPrivateIpAddressesRequest(params)
837//
838//    err := req.Send()
839//    if err == nil { // resp is now filled
840//        fmt.Println(resp)
841//    }
842//
843// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
844func (c *EC2) AssignPrivateIpAddressesRequest(input *AssignPrivateIpAddressesInput) (req *request.Request, output *AssignPrivateIpAddressesOutput) {
845	op := &request.Operation{
846		Name:       opAssignPrivateIpAddresses,
847		HTTPMethod: "POST",
848		HTTPPath:   "/",
849	}
850
851	if input == nil {
852		input = &AssignPrivateIpAddressesInput{}
853	}
854
855	output = &AssignPrivateIpAddressesOutput{}
856	req = c.newRequest(op, input, output)
857	return
858}
859
860// AssignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
861//
862// Assigns one or more secondary private IP addresses to the specified network
863// interface.
864//
865// You can specify one or more specific secondary IP addresses, or you can specify
866// the number of secondary IP addresses to be automatically assigned within
867// the subnet's CIDR block range. The number of secondary IP addresses that
868// you can assign to an instance varies by instance type. For information about
869// instance types, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
870// in the Amazon Elastic Compute Cloud User Guide. For more information about
871// Elastic IP addresses, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
872// in the Amazon Elastic Compute Cloud User Guide.
873//
874// When you move a secondary private IP address to another network interface,
875// any Elastic IP address that is associated with the IP address is also moved.
876//
877// Remapping an IP address is an asynchronous operation. When you move an IP
878// address from one network interface to another, check network/interfaces/macs/mac/local-ipv4s
879// in the instance metadata to confirm that the remapping is complete.
880//
881// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
882// with awserr.Error's Code and Message methods to get detailed information about
883// the error.
884//
885// See the AWS API reference guide for Amazon Elastic Compute Cloud's
886// API operation AssignPrivateIpAddresses for usage and error information.
887// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssignPrivateIpAddresses
888func (c *EC2) AssignPrivateIpAddresses(input *AssignPrivateIpAddressesInput) (*AssignPrivateIpAddressesOutput, error) {
889	req, out := c.AssignPrivateIpAddressesRequest(input)
890	return out, req.Send()
891}
892
893// AssignPrivateIpAddressesWithContext is the same as AssignPrivateIpAddresses with the addition of
894// the ability to pass a context and additional request options.
895//
896// See AssignPrivateIpAddresses for details on how to use this API operation.
897//
898// The context must be non-nil and will be used for request cancellation. If
899// the context is nil a panic will occur. In the future the SDK may create
900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
901// for more information on using Contexts.
902func (c *EC2) AssignPrivateIpAddressesWithContext(ctx aws.Context, input *AssignPrivateIpAddressesInput, opts ...request.Option) (*AssignPrivateIpAddressesOutput, error) {
903	req, out := c.AssignPrivateIpAddressesRequest(input)
904	req.SetContext(ctx)
905	req.ApplyOptions(opts...)
906	return out, req.Send()
907}
908
909const opAssociateAddress = "AssociateAddress"
910
911// AssociateAddressRequest generates a "aws/request.Request" representing the
912// client's request for the AssociateAddress operation. The "output" return
913// value will be populated with the request's response once the request completes
914// successfully.
915//
916// Use "Send" method on the returned Request to send the API call to the service.
917// the "output" return value is not valid until after Send returns without error.
918//
919// See AssociateAddress for more information on using the AssociateAddress
920// API call, and error handling.
921//
922// This method is useful when you want to inject custom logic or configuration
923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
924//
925//
926//    // Example sending a request using the AssociateAddressRequest method.
927//    req, resp := client.AssociateAddressRequest(params)
928//
929//    err := req.Send()
930//    if err == nil { // resp is now filled
931//        fmt.Println(resp)
932//    }
933//
934// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
935func (c *EC2) AssociateAddressRequest(input *AssociateAddressInput) (req *request.Request, output *AssociateAddressOutput) {
936	op := &request.Operation{
937		Name:       opAssociateAddress,
938		HTTPMethod: "POST",
939		HTTPPath:   "/",
940	}
941
942	if input == nil {
943		input = &AssociateAddressInput{}
944	}
945
946	output = &AssociateAddressOutput{}
947	req = c.newRequest(op, input, output)
948	return
949}
950
951// AssociateAddress API operation for Amazon Elastic Compute Cloud.
952//
953// Associates an Elastic IP address with an instance or a network interface.
954// Before you can use an Elastic IP address, you must allocate it to your account.
955//
956// An Elastic IP address is for use in either the EC2-Classic platform or in
957// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
958// in the Amazon Elastic Compute Cloud User Guide.
959//
960// [EC2-Classic, VPC in an EC2-VPC-only account] If the Elastic IP address is
961// already associated with a different instance, it is disassociated from that
962// instance and associated with the specified instance. If you associate an
963// Elastic IP address with an instance that has an existing Elastic IP address,
964// the existing address is disassociated from the instance, but remains allocated
965// to your account.
966//
967// [VPC in an EC2-Classic account] If you don't specify a private IP address,
968// the Elastic IP address is associated with the primary IP address. If the
969// Elastic IP address is already associated with a different instance or a network
970// interface, you get an error unless you allow reassociation. You cannot associate
971// an Elastic IP address with an instance or network interface that has an existing
972// Elastic IP address.
973//
974// You cannot associate an Elastic IP address with an interface in a different
975// network border group.
976//
977// This is an idempotent operation. If you perform the operation more than once,
978// Amazon EC2 doesn't return an error, and you may be charged for each time
979// the Elastic IP address is remapped to the same instance. For more information,
980// see the Elastic IP Addresses section of Amazon EC2 Pricing (http://aws.amazon.com/ec2/pricing/).
981//
982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
983// with awserr.Error's Code and Message methods to get detailed information about
984// the error.
985//
986// See the AWS API reference guide for Amazon Elastic Compute Cloud's
987// API operation AssociateAddress for usage and error information.
988// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateAddress
989func (c *EC2) AssociateAddress(input *AssociateAddressInput) (*AssociateAddressOutput, error) {
990	req, out := c.AssociateAddressRequest(input)
991	return out, req.Send()
992}
993
994// AssociateAddressWithContext is the same as AssociateAddress with the addition of
995// the ability to pass a context and additional request options.
996//
997// See AssociateAddress for details on how to use this API operation.
998//
999// The context must be non-nil and will be used for request cancellation. If
1000// the context is nil a panic will occur. In the future the SDK may create
1001// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1002// for more information on using Contexts.
1003func (c *EC2) AssociateAddressWithContext(ctx aws.Context, input *AssociateAddressInput, opts ...request.Option) (*AssociateAddressOutput, error) {
1004	req, out := c.AssociateAddressRequest(input)
1005	req.SetContext(ctx)
1006	req.ApplyOptions(opts...)
1007	return out, req.Send()
1008}
1009
1010const opAssociateClientVpnTargetNetwork = "AssociateClientVpnTargetNetwork"
1011
1012// AssociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
1013// client's request for the AssociateClientVpnTargetNetwork operation. The "output" return
1014// value will be populated with the request's response once the request completes
1015// successfully.
1016//
1017// Use "Send" method on the returned Request to send the API call to the service.
1018// the "output" return value is not valid until after Send returns without error.
1019//
1020// See AssociateClientVpnTargetNetwork for more information on using the AssociateClientVpnTargetNetwork
1021// API call, and error handling.
1022//
1023// This method is useful when you want to inject custom logic or configuration
1024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1025//
1026//
1027//    // Example sending a request using the AssociateClientVpnTargetNetworkRequest method.
1028//    req, resp := client.AssociateClientVpnTargetNetworkRequest(params)
1029//
1030//    err := req.Send()
1031//    if err == nil { // resp is now filled
1032//        fmt.Println(resp)
1033//    }
1034//
1035// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
1036func (c *EC2) AssociateClientVpnTargetNetworkRequest(input *AssociateClientVpnTargetNetworkInput) (req *request.Request, output *AssociateClientVpnTargetNetworkOutput) {
1037	op := &request.Operation{
1038		Name:       opAssociateClientVpnTargetNetwork,
1039		HTTPMethod: "POST",
1040		HTTPPath:   "/",
1041	}
1042
1043	if input == nil {
1044		input = &AssociateClientVpnTargetNetworkInput{}
1045	}
1046
1047	output = &AssociateClientVpnTargetNetworkOutput{}
1048	req = c.newRequest(op, input, output)
1049	return
1050}
1051
1052// AssociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
1053//
1054// Associates a target network with a Client VPN endpoint. A target network
1055// is a subnet in a VPC. You can associate multiple subnets from the same VPC
1056// with a Client VPN endpoint. You can associate only one subnet in each Availability
1057// Zone. We recommend that you associate at least two subnets to provide Availability
1058// Zone redundancy.
1059//
1060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1061// with awserr.Error's Code and Message methods to get detailed information about
1062// the error.
1063//
1064// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1065// API operation AssociateClientVpnTargetNetwork for usage and error information.
1066// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateClientVpnTargetNetwork
1067func (c *EC2) AssociateClientVpnTargetNetwork(input *AssociateClientVpnTargetNetworkInput) (*AssociateClientVpnTargetNetworkOutput, error) {
1068	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
1069	return out, req.Send()
1070}
1071
1072// AssociateClientVpnTargetNetworkWithContext is the same as AssociateClientVpnTargetNetwork with the addition of
1073// the ability to pass a context and additional request options.
1074//
1075// See AssociateClientVpnTargetNetwork for details on how to use this API operation.
1076//
1077// The context must be non-nil and will be used for request cancellation. If
1078// the context is nil a panic will occur. In the future the SDK may create
1079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1080// for more information on using Contexts.
1081func (c *EC2) AssociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *AssociateClientVpnTargetNetworkInput, opts ...request.Option) (*AssociateClientVpnTargetNetworkOutput, error) {
1082	req, out := c.AssociateClientVpnTargetNetworkRequest(input)
1083	req.SetContext(ctx)
1084	req.ApplyOptions(opts...)
1085	return out, req.Send()
1086}
1087
1088const opAssociateDhcpOptions = "AssociateDhcpOptions"
1089
1090// AssociateDhcpOptionsRequest generates a "aws/request.Request" representing the
1091// client's request for the AssociateDhcpOptions operation. The "output" return
1092// value will be populated with the request's response once the request completes
1093// successfully.
1094//
1095// Use "Send" method on the returned Request to send the API call to the service.
1096// the "output" return value is not valid until after Send returns without error.
1097//
1098// See AssociateDhcpOptions for more information on using the AssociateDhcpOptions
1099// API call, and error handling.
1100//
1101// This method is useful when you want to inject custom logic or configuration
1102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1103//
1104//
1105//    // Example sending a request using the AssociateDhcpOptionsRequest method.
1106//    req, resp := client.AssociateDhcpOptionsRequest(params)
1107//
1108//    err := req.Send()
1109//    if err == nil { // resp is now filled
1110//        fmt.Println(resp)
1111//    }
1112//
1113// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1114func (c *EC2) AssociateDhcpOptionsRequest(input *AssociateDhcpOptionsInput) (req *request.Request, output *AssociateDhcpOptionsOutput) {
1115	op := &request.Operation{
1116		Name:       opAssociateDhcpOptions,
1117		HTTPMethod: "POST",
1118		HTTPPath:   "/",
1119	}
1120
1121	if input == nil {
1122		input = &AssociateDhcpOptionsInput{}
1123	}
1124
1125	output = &AssociateDhcpOptionsOutput{}
1126	req = c.newRequest(op, input, output)
1127	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1128	return
1129}
1130
1131// AssociateDhcpOptions API operation for Amazon Elastic Compute Cloud.
1132//
1133// Associates a set of DHCP options (that you've previously created) with the
1134// specified VPC, or associates no DHCP options with the VPC.
1135//
1136// After you associate the options with the VPC, any existing instances and
1137// all new instances that you launch in that VPC use the options. You don't
1138// need to restart or relaunch the instances. They automatically pick up the
1139// changes within a few hours, depending on how frequently the instance renews
1140// its DHCP lease. You can explicitly renew the lease using the operating system
1141// on the instance.
1142//
1143// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
1144// in the Amazon Virtual Private Cloud User Guide.
1145//
1146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1147// with awserr.Error's Code and Message methods to get detailed information about
1148// the error.
1149//
1150// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1151// API operation AssociateDhcpOptions for usage and error information.
1152// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateDhcpOptions
1153func (c *EC2) AssociateDhcpOptions(input *AssociateDhcpOptionsInput) (*AssociateDhcpOptionsOutput, error) {
1154	req, out := c.AssociateDhcpOptionsRequest(input)
1155	return out, req.Send()
1156}
1157
1158// AssociateDhcpOptionsWithContext is the same as AssociateDhcpOptions with the addition of
1159// the ability to pass a context and additional request options.
1160//
1161// See AssociateDhcpOptions for details on how to use this API operation.
1162//
1163// The context must be non-nil and will be used for request cancellation. If
1164// the context is nil a panic will occur. In the future the SDK may create
1165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1166// for more information on using Contexts.
1167func (c *EC2) AssociateDhcpOptionsWithContext(ctx aws.Context, input *AssociateDhcpOptionsInput, opts ...request.Option) (*AssociateDhcpOptionsOutput, error) {
1168	req, out := c.AssociateDhcpOptionsRequest(input)
1169	req.SetContext(ctx)
1170	req.ApplyOptions(opts...)
1171	return out, req.Send()
1172}
1173
1174const opAssociateIamInstanceProfile = "AssociateIamInstanceProfile"
1175
1176// AssociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
1177// client's request for the AssociateIamInstanceProfile operation. The "output" return
1178// value will be populated with the request's response once the request completes
1179// successfully.
1180//
1181// Use "Send" method on the returned Request to send the API call to the service.
1182// the "output" return value is not valid until after Send returns without error.
1183//
1184// See AssociateIamInstanceProfile for more information on using the AssociateIamInstanceProfile
1185// API call, and error handling.
1186//
1187// This method is useful when you want to inject custom logic or configuration
1188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1189//
1190//
1191//    // Example sending a request using the AssociateIamInstanceProfileRequest method.
1192//    req, resp := client.AssociateIamInstanceProfileRequest(params)
1193//
1194//    err := req.Send()
1195//    if err == nil { // resp is now filled
1196//        fmt.Println(resp)
1197//    }
1198//
1199// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1200func (c *EC2) AssociateIamInstanceProfileRequest(input *AssociateIamInstanceProfileInput) (req *request.Request, output *AssociateIamInstanceProfileOutput) {
1201	op := &request.Operation{
1202		Name:       opAssociateIamInstanceProfile,
1203		HTTPMethod: "POST",
1204		HTTPPath:   "/",
1205	}
1206
1207	if input == nil {
1208		input = &AssociateIamInstanceProfileInput{}
1209	}
1210
1211	output = &AssociateIamInstanceProfileOutput{}
1212	req = c.newRequest(op, input, output)
1213	return
1214}
1215
1216// AssociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
1217//
1218// Associates an IAM instance profile with a running or stopped instance. You
1219// cannot associate more than one IAM instance profile with an instance.
1220//
1221// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1222// with awserr.Error's Code and Message methods to get detailed information about
1223// the error.
1224//
1225// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1226// API operation AssociateIamInstanceProfile for usage and error information.
1227// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateIamInstanceProfile
1228func (c *EC2) AssociateIamInstanceProfile(input *AssociateIamInstanceProfileInput) (*AssociateIamInstanceProfileOutput, error) {
1229	req, out := c.AssociateIamInstanceProfileRequest(input)
1230	return out, req.Send()
1231}
1232
1233// AssociateIamInstanceProfileWithContext is the same as AssociateIamInstanceProfile with the addition of
1234// the ability to pass a context and additional request options.
1235//
1236// See AssociateIamInstanceProfile for details on how to use this API operation.
1237//
1238// The context must be non-nil and will be used for request cancellation. If
1239// the context is nil a panic will occur. In the future the SDK may create
1240// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1241// for more information on using Contexts.
1242func (c *EC2) AssociateIamInstanceProfileWithContext(ctx aws.Context, input *AssociateIamInstanceProfileInput, opts ...request.Option) (*AssociateIamInstanceProfileOutput, error) {
1243	req, out := c.AssociateIamInstanceProfileRequest(input)
1244	req.SetContext(ctx)
1245	req.ApplyOptions(opts...)
1246	return out, req.Send()
1247}
1248
1249const opAssociateRouteTable = "AssociateRouteTable"
1250
1251// AssociateRouteTableRequest generates a "aws/request.Request" representing the
1252// client's request for the AssociateRouteTable operation. The "output" return
1253// value will be populated with the request's response once the request completes
1254// successfully.
1255//
1256// Use "Send" method on the returned Request to send the API call to the service.
1257// the "output" return value is not valid until after Send returns without error.
1258//
1259// See AssociateRouteTable for more information on using the AssociateRouteTable
1260// API call, and error handling.
1261//
1262// This method is useful when you want to inject custom logic or configuration
1263// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1264//
1265//
1266//    // Example sending a request using the AssociateRouteTableRequest method.
1267//    req, resp := client.AssociateRouteTableRequest(params)
1268//
1269//    err := req.Send()
1270//    if err == nil { // resp is now filled
1271//        fmt.Println(resp)
1272//    }
1273//
1274// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1275func (c *EC2) AssociateRouteTableRequest(input *AssociateRouteTableInput) (req *request.Request, output *AssociateRouteTableOutput) {
1276	op := &request.Operation{
1277		Name:       opAssociateRouteTable,
1278		HTTPMethod: "POST",
1279		HTTPPath:   "/",
1280	}
1281
1282	if input == nil {
1283		input = &AssociateRouteTableInput{}
1284	}
1285
1286	output = &AssociateRouteTableOutput{}
1287	req = c.newRequest(op, input, output)
1288	return
1289}
1290
1291// AssociateRouteTable API operation for Amazon Elastic Compute Cloud.
1292//
1293// Associates a subnet in your VPC or an internet gateway or virtual private
1294// gateway attached to your VPC with a route table in your VPC. This association
1295// causes traffic from the subnet or gateway to be routed according to the routes
1296// in the route table. The action returns an association ID, which you need
1297// in order to disassociate the route table later. A route table can be associated
1298// with multiple subnets.
1299//
1300// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
1301// in the Amazon Virtual Private Cloud User Guide.
1302//
1303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1304// with awserr.Error's Code and Message methods to get detailed information about
1305// the error.
1306//
1307// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1308// API operation AssociateRouteTable for usage and error information.
1309// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateRouteTable
1310func (c *EC2) AssociateRouteTable(input *AssociateRouteTableInput) (*AssociateRouteTableOutput, error) {
1311	req, out := c.AssociateRouteTableRequest(input)
1312	return out, req.Send()
1313}
1314
1315// AssociateRouteTableWithContext is the same as AssociateRouteTable with the addition of
1316// the ability to pass a context and additional request options.
1317//
1318// See AssociateRouteTable for details on how to use this API operation.
1319//
1320// The context must be non-nil and will be used for request cancellation. If
1321// the context is nil a panic will occur. In the future the SDK may create
1322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1323// for more information on using Contexts.
1324func (c *EC2) AssociateRouteTableWithContext(ctx aws.Context, input *AssociateRouteTableInput, opts ...request.Option) (*AssociateRouteTableOutput, error) {
1325	req, out := c.AssociateRouteTableRequest(input)
1326	req.SetContext(ctx)
1327	req.ApplyOptions(opts...)
1328	return out, req.Send()
1329}
1330
1331const opAssociateSubnetCidrBlock = "AssociateSubnetCidrBlock"
1332
1333// AssociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
1334// client's request for the AssociateSubnetCidrBlock operation. The "output" return
1335// value will be populated with the request's response once the request completes
1336// successfully.
1337//
1338// Use "Send" method on the returned Request to send the API call to the service.
1339// the "output" return value is not valid until after Send returns without error.
1340//
1341// See AssociateSubnetCidrBlock for more information on using the AssociateSubnetCidrBlock
1342// API call, and error handling.
1343//
1344// This method is useful when you want to inject custom logic or configuration
1345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1346//
1347//
1348//    // Example sending a request using the AssociateSubnetCidrBlockRequest method.
1349//    req, resp := client.AssociateSubnetCidrBlockRequest(params)
1350//
1351//    err := req.Send()
1352//    if err == nil { // resp is now filled
1353//        fmt.Println(resp)
1354//    }
1355//
1356// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1357func (c *EC2) AssociateSubnetCidrBlockRequest(input *AssociateSubnetCidrBlockInput) (req *request.Request, output *AssociateSubnetCidrBlockOutput) {
1358	op := &request.Operation{
1359		Name:       opAssociateSubnetCidrBlock,
1360		HTTPMethod: "POST",
1361		HTTPPath:   "/",
1362	}
1363
1364	if input == nil {
1365		input = &AssociateSubnetCidrBlockInput{}
1366	}
1367
1368	output = &AssociateSubnetCidrBlockOutput{}
1369	req = c.newRequest(op, input, output)
1370	return
1371}
1372
1373// AssociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
1374//
1375// Associates a CIDR block with your subnet. You can only associate a single
1376// IPv6 CIDR block with your subnet. An IPv6 CIDR block must have a prefix length
1377// of /64.
1378//
1379// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1380// with awserr.Error's Code and Message methods to get detailed information about
1381// the error.
1382//
1383// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1384// API operation AssociateSubnetCidrBlock for usage and error information.
1385// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateSubnetCidrBlock
1386func (c *EC2) AssociateSubnetCidrBlock(input *AssociateSubnetCidrBlockInput) (*AssociateSubnetCidrBlockOutput, error) {
1387	req, out := c.AssociateSubnetCidrBlockRequest(input)
1388	return out, req.Send()
1389}
1390
1391// AssociateSubnetCidrBlockWithContext is the same as AssociateSubnetCidrBlock with the addition of
1392// the ability to pass a context and additional request options.
1393//
1394// See AssociateSubnetCidrBlock for details on how to use this API operation.
1395//
1396// The context must be non-nil and will be used for request cancellation. If
1397// the context is nil a panic will occur. In the future the SDK may create
1398// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1399// for more information on using Contexts.
1400func (c *EC2) AssociateSubnetCidrBlockWithContext(ctx aws.Context, input *AssociateSubnetCidrBlockInput, opts ...request.Option) (*AssociateSubnetCidrBlockOutput, error) {
1401	req, out := c.AssociateSubnetCidrBlockRequest(input)
1402	req.SetContext(ctx)
1403	req.ApplyOptions(opts...)
1404	return out, req.Send()
1405}
1406
1407const opAssociateTransitGatewayMulticastDomain = "AssociateTransitGatewayMulticastDomain"
1408
1409// AssociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
1410// client's request for the AssociateTransitGatewayMulticastDomain operation. The "output" return
1411// value will be populated with the request's response once the request completes
1412// successfully.
1413//
1414// Use "Send" method on the returned Request to send the API call to the service.
1415// the "output" return value is not valid until after Send returns without error.
1416//
1417// See AssociateTransitGatewayMulticastDomain for more information on using the AssociateTransitGatewayMulticastDomain
1418// API call, and error handling.
1419//
1420// This method is useful when you want to inject custom logic or configuration
1421// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1422//
1423//
1424//    // Example sending a request using the AssociateTransitGatewayMulticastDomainRequest method.
1425//    req, resp := client.AssociateTransitGatewayMulticastDomainRequest(params)
1426//
1427//    err := req.Send()
1428//    if err == nil { // resp is now filled
1429//        fmt.Println(resp)
1430//    }
1431//
1432// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
1433func (c *EC2) AssociateTransitGatewayMulticastDomainRequest(input *AssociateTransitGatewayMulticastDomainInput) (req *request.Request, output *AssociateTransitGatewayMulticastDomainOutput) {
1434	op := &request.Operation{
1435		Name:       opAssociateTransitGatewayMulticastDomain,
1436		HTTPMethod: "POST",
1437		HTTPPath:   "/",
1438	}
1439
1440	if input == nil {
1441		input = &AssociateTransitGatewayMulticastDomainInput{}
1442	}
1443
1444	output = &AssociateTransitGatewayMulticastDomainOutput{}
1445	req = c.newRequest(op, input, output)
1446	return
1447}
1448
1449// AssociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
1450//
1451// Associates the specified subnets and transit gateway attachments with the
1452// specified transit gateway multicast domain.
1453//
1454// The transit gateway attachment must be in the available state before you
1455// can add a resource. Use DescribeTransitGatewayAttachments (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html)
1456// to see the state of the attachment.
1457//
1458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1459// with awserr.Error's Code and Message methods to get detailed information about
1460// the error.
1461//
1462// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1463// API operation AssociateTransitGatewayMulticastDomain for usage and error information.
1464// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayMulticastDomain
1465func (c *EC2) AssociateTransitGatewayMulticastDomain(input *AssociateTransitGatewayMulticastDomainInput) (*AssociateTransitGatewayMulticastDomainOutput, error) {
1466	req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
1467	return out, req.Send()
1468}
1469
1470// AssociateTransitGatewayMulticastDomainWithContext is the same as AssociateTransitGatewayMulticastDomain with the addition of
1471// the ability to pass a context and additional request options.
1472//
1473// See AssociateTransitGatewayMulticastDomain for details on how to use this API operation.
1474//
1475// The context must be non-nil and will be used for request cancellation. If
1476// the context is nil a panic will occur. In the future the SDK may create
1477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1478// for more information on using Contexts.
1479func (c *EC2) AssociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *AssociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*AssociateTransitGatewayMulticastDomainOutput, error) {
1480	req, out := c.AssociateTransitGatewayMulticastDomainRequest(input)
1481	req.SetContext(ctx)
1482	req.ApplyOptions(opts...)
1483	return out, req.Send()
1484}
1485
1486const opAssociateTransitGatewayRouteTable = "AssociateTransitGatewayRouteTable"
1487
1488// AssociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
1489// client's request for the AssociateTransitGatewayRouteTable operation. The "output" return
1490// value will be populated with the request's response once the request completes
1491// successfully.
1492//
1493// Use "Send" method on the returned Request to send the API call to the service.
1494// the "output" return value is not valid until after Send returns without error.
1495//
1496// See AssociateTransitGatewayRouteTable for more information on using the AssociateTransitGatewayRouteTable
1497// API call, and error handling.
1498//
1499// This method is useful when you want to inject custom logic or configuration
1500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1501//
1502//
1503//    // Example sending a request using the AssociateTransitGatewayRouteTableRequest method.
1504//    req, resp := client.AssociateTransitGatewayRouteTableRequest(params)
1505//
1506//    err := req.Send()
1507//    if err == nil { // resp is now filled
1508//        fmt.Println(resp)
1509//    }
1510//
1511// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1512func (c *EC2) AssociateTransitGatewayRouteTableRequest(input *AssociateTransitGatewayRouteTableInput) (req *request.Request, output *AssociateTransitGatewayRouteTableOutput) {
1513	op := &request.Operation{
1514		Name:       opAssociateTransitGatewayRouteTable,
1515		HTTPMethod: "POST",
1516		HTTPPath:   "/",
1517	}
1518
1519	if input == nil {
1520		input = &AssociateTransitGatewayRouteTableInput{}
1521	}
1522
1523	output = &AssociateTransitGatewayRouteTableOutput{}
1524	req = c.newRequest(op, input, output)
1525	return
1526}
1527
1528// AssociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
1529//
1530// Associates the specified attachment with the specified transit gateway route
1531// table. You can associate only one route table with an attachment.
1532//
1533// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1534// with awserr.Error's Code and Message methods to get detailed information about
1535// the error.
1536//
1537// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1538// API operation AssociateTransitGatewayRouteTable for usage and error information.
1539// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateTransitGatewayRouteTable
1540func (c *EC2) AssociateTransitGatewayRouteTable(input *AssociateTransitGatewayRouteTableInput) (*AssociateTransitGatewayRouteTableOutput, error) {
1541	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1542	return out, req.Send()
1543}
1544
1545// AssociateTransitGatewayRouteTableWithContext is the same as AssociateTransitGatewayRouteTable with the addition of
1546// the ability to pass a context and additional request options.
1547//
1548// See AssociateTransitGatewayRouteTable for details on how to use this API operation.
1549//
1550// The context must be non-nil and will be used for request cancellation. If
1551// the context is nil a panic will occur. In the future the SDK may create
1552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1553// for more information on using Contexts.
1554func (c *EC2) AssociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *AssociateTransitGatewayRouteTableInput, opts ...request.Option) (*AssociateTransitGatewayRouteTableOutput, error) {
1555	req, out := c.AssociateTransitGatewayRouteTableRequest(input)
1556	req.SetContext(ctx)
1557	req.ApplyOptions(opts...)
1558	return out, req.Send()
1559}
1560
1561const opAssociateVpcCidrBlock = "AssociateVpcCidrBlock"
1562
1563// AssociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
1564// client's request for the AssociateVpcCidrBlock operation. The "output" return
1565// value will be populated with the request's response once the request completes
1566// successfully.
1567//
1568// Use "Send" method on the returned Request to send the API call to the service.
1569// the "output" return value is not valid until after Send returns without error.
1570//
1571// See AssociateVpcCidrBlock for more information on using the AssociateVpcCidrBlock
1572// API call, and error handling.
1573//
1574// This method is useful when you want to inject custom logic or configuration
1575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1576//
1577//
1578//    // Example sending a request using the AssociateVpcCidrBlockRequest method.
1579//    req, resp := client.AssociateVpcCidrBlockRequest(params)
1580//
1581//    err := req.Send()
1582//    if err == nil { // resp is now filled
1583//        fmt.Println(resp)
1584//    }
1585//
1586// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1587func (c *EC2) AssociateVpcCidrBlockRequest(input *AssociateVpcCidrBlockInput) (req *request.Request, output *AssociateVpcCidrBlockOutput) {
1588	op := &request.Operation{
1589		Name:       opAssociateVpcCidrBlock,
1590		HTTPMethod: "POST",
1591		HTTPPath:   "/",
1592	}
1593
1594	if input == nil {
1595		input = &AssociateVpcCidrBlockInput{}
1596	}
1597
1598	output = &AssociateVpcCidrBlockOutput{}
1599	req = c.newRequest(op, input, output)
1600	return
1601}
1602
1603// AssociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
1604//
1605// Associates a CIDR block with your VPC. You can associate a secondary IPv4
1606// CIDR block, or you can associate an Amazon-provided IPv6 CIDR block. The
1607// IPv6 CIDR block size is fixed at /56.
1608//
1609// For more information about associating CIDR blocks with your VPC and applicable
1610// restrictions, see VPC and Subnet Sizing (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html#VPC_Sizing)
1611// in the Amazon Virtual Private Cloud User Guide.
1612//
1613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1614// with awserr.Error's Code and Message methods to get detailed information about
1615// the error.
1616//
1617// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1618// API operation AssociateVpcCidrBlock for usage and error information.
1619// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AssociateVpcCidrBlock
1620func (c *EC2) AssociateVpcCidrBlock(input *AssociateVpcCidrBlockInput) (*AssociateVpcCidrBlockOutput, error) {
1621	req, out := c.AssociateVpcCidrBlockRequest(input)
1622	return out, req.Send()
1623}
1624
1625// AssociateVpcCidrBlockWithContext is the same as AssociateVpcCidrBlock with the addition of
1626// the ability to pass a context and additional request options.
1627//
1628// See AssociateVpcCidrBlock for details on how to use this API operation.
1629//
1630// The context must be non-nil and will be used for request cancellation. If
1631// the context is nil a panic will occur. In the future the SDK may create
1632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1633// for more information on using Contexts.
1634func (c *EC2) AssociateVpcCidrBlockWithContext(ctx aws.Context, input *AssociateVpcCidrBlockInput, opts ...request.Option) (*AssociateVpcCidrBlockOutput, error) {
1635	req, out := c.AssociateVpcCidrBlockRequest(input)
1636	req.SetContext(ctx)
1637	req.ApplyOptions(opts...)
1638	return out, req.Send()
1639}
1640
1641const opAttachClassicLinkVpc = "AttachClassicLinkVpc"
1642
1643// AttachClassicLinkVpcRequest generates a "aws/request.Request" representing the
1644// client's request for the AttachClassicLinkVpc operation. The "output" return
1645// value will be populated with the request's response once the request completes
1646// successfully.
1647//
1648// Use "Send" method on the returned Request to send the API call to the service.
1649// the "output" return value is not valid until after Send returns without error.
1650//
1651// See AttachClassicLinkVpc for more information on using the AttachClassicLinkVpc
1652// API call, and error handling.
1653//
1654// This method is useful when you want to inject custom logic or configuration
1655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1656//
1657//
1658//    // Example sending a request using the AttachClassicLinkVpcRequest method.
1659//    req, resp := client.AttachClassicLinkVpcRequest(params)
1660//
1661//    err := req.Send()
1662//    if err == nil { // resp is now filled
1663//        fmt.Println(resp)
1664//    }
1665//
1666// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
1667func (c *EC2) AttachClassicLinkVpcRequest(input *AttachClassicLinkVpcInput) (req *request.Request, output *AttachClassicLinkVpcOutput) {
1668	op := &request.Operation{
1669		Name:       opAttachClassicLinkVpc,
1670		HTTPMethod: "POST",
1671		HTTPPath:   "/",
1672	}
1673
1674	if input == nil {
1675		input = &AttachClassicLinkVpcInput{}
1676	}
1677
1678	output = &AttachClassicLinkVpcOutput{}
1679	req = c.newRequest(op, input, output)
1680	return
1681}
1682
1683// AttachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
1684//
1685// Links an EC2-Classic instance to a ClassicLink-enabled VPC through one or
1686// more of the VPC's security groups. You cannot link an EC2-Classic instance
1687// to more than one VPC at a time. You can only link an instance that's in the
1688// running state. An instance is automatically unlinked from a VPC when it's
1689// stopped - you can link it to the VPC again when you restart it.
1690//
1691// After you've linked an instance, you cannot change the VPC security groups
1692// that are associated with it. To change the security groups, you must first
1693// unlink the instance, and then link it again.
1694//
1695// Linking your instance to a VPC is sometimes referred to as attaching your
1696// instance.
1697//
1698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1699// with awserr.Error's Code and Message methods to get detailed information about
1700// the error.
1701//
1702// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1703// API operation AttachClassicLinkVpc for usage and error information.
1704// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachClassicLinkVpc
1705func (c *EC2) AttachClassicLinkVpc(input *AttachClassicLinkVpcInput) (*AttachClassicLinkVpcOutput, error) {
1706	req, out := c.AttachClassicLinkVpcRequest(input)
1707	return out, req.Send()
1708}
1709
1710// AttachClassicLinkVpcWithContext is the same as AttachClassicLinkVpc with the addition of
1711// the ability to pass a context and additional request options.
1712//
1713// See AttachClassicLinkVpc for details on how to use this API operation.
1714//
1715// The context must be non-nil and will be used for request cancellation. If
1716// the context is nil a panic will occur. In the future the SDK may create
1717// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1718// for more information on using Contexts.
1719func (c *EC2) AttachClassicLinkVpcWithContext(ctx aws.Context, input *AttachClassicLinkVpcInput, opts ...request.Option) (*AttachClassicLinkVpcOutput, error) {
1720	req, out := c.AttachClassicLinkVpcRequest(input)
1721	req.SetContext(ctx)
1722	req.ApplyOptions(opts...)
1723	return out, req.Send()
1724}
1725
1726const opAttachInternetGateway = "AttachInternetGateway"
1727
1728// AttachInternetGatewayRequest generates a "aws/request.Request" representing the
1729// client's request for the AttachInternetGateway operation. The "output" return
1730// value will be populated with the request's response once the request completes
1731// successfully.
1732//
1733// Use "Send" method on the returned Request to send the API call to the service.
1734// the "output" return value is not valid until after Send returns without error.
1735//
1736// See AttachInternetGateway for more information on using the AttachInternetGateway
1737// API call, and error handling.
1738//
1739// This method is useful when you want to inject custom logic or configuration
1740// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1741//
1742//
1743//    // Example sending a request using the AttachInternetGatewayRequest method.
1744//    req, resp := client.AttachInternetGatewayRequest(params)
1745//
1746//    err := req.Send()
1747//    if err == nil { // resp is now filled
1748//        fmt.Println(resp)
1749//    }
1750//
1751// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
1752func (c *EC2) AttachInternetGatewayRequest(input *AttachInternetGatewayInput) (req *request.Request, output *AttachInternetGatewayOutput) {
1753	op := &request.Operation{
1754		Name:       opAttachInternetGateway,
1755		HTTPMethod: "POST",
1756		HTTPPath:   "/",
1757	}
1758
1759	if input == nil {
1760		input = &AttachInternetGatewayInput{}
1761	}
1762
1763	output = &AttachInternetGatewayOutput{}
1764	req = c.newRequest(op, input, output)
1765	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1766	return
1767}
1768
1769// AttachInternetGateway API operation for Amazon Elastic Compute Cloud.
1770//
1771// Attaches an internet gateway or a virtual private gateway to a VPC, enabling
1772// connectivity between the internet and the VPC. For more information about
1773// your VPC and internet gateway, see the Amazon Virtual Private Cloud User
1774// Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
1775//
1776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1777// with awserr.Error's Code and Message methods to get detailed information about
1778// the error.
1779//
1780// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1781// API operation AttachInternetGateway for usage and error information.
1782// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachInternetGateway
1783func (c *EC2) AttachInternetGateway(input *AttachInternetGatewayInput) (*AttachInternetGatewayOutput, error) {
1784	req, out := c.AttachInternetGatewayRequest(input)
1785	return out, req.Send()
1786}
1787
1788// AttachInternetGatewayWithContext is the same as AttachInternetGateway with the addition of
1789// the ability to pass a context and additional request options.
1790//
1791// See AttachInternetGateway for details on how to use this API operation.
1792//
1793// The context must be non-nil and will be used for request cancellation. If
1794// the context is nil a panic will occur. In the future the SDK may create
1795// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1796// for more information on using Contexts.
1797func (c *EC2) AttachInternetGatewayWithContext(ctx aws.Context, input *AttachInternetGatewayInput, opts ...request.Option) (*AttachInternetGatewayOutput, error) {
1798	req, out := c.AttachInternetGatewayRequest(input)
1799	req.SetContext(ctx)
1800	req.ApplyOptions(opts...)
1801	return out, req.Send()
1802}
1803
1804const opAttachNetworkInterface = "AttachNetworkInterface"
1805
1806// AttachNetworkInterfaceRequest generates a "aws/request.Request" representing the
1807// client's request for the AttachNetworkInterface operation. The "output" return
1808// value will be populated with the request's response once the request completes
1809// successfully.
1810//
1811// Use "Send" method on the returned Request to send the API call to the service.
1812// the "output" return value is not valid until after Send returns without error.
1813//
1814// See AttachNetworkInterface for more information on using the AttachNetworkInterface
1815// API call, and error handling.
1816//
1817// This method is useful when you want to inject custom logic or configuration
1818// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1819//
1820//
1821//    // Example sending a request using the AttachNetworkInterfaceRequest method.
1822//    req, resp := client.AttachNetworkInterfaceRequest(params)
1823//
1824//    err := req.Send()
1825//    if err == nil { // resp is now filled
1826//        fmt.Println(resp)
1827//    }
1828//
1829// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
1830func (c *EC2) AttachNetworkInterfaceRequest(input *AttachNetworkInterfaceInput) (req *request.Request, output *AttachNetworkInterfaceOutput) {
1831	op := &request.Operation{
1832		Name:       opAttachNetworkInterface,
1833		HTTPMethod: "POST",
1834		HTTPPath:   "/",
1835	}
1836
1837	if input == nil {
1838		input = &AttachNetworkInterfaceInput{}
1839	}
1840
1841	output = &AttachNetworkInterfaceOutput{}
1842	req = c.newRequest(op, input, output)
1843	return
1844}
1845
1846// AttachNetworkInterface API operation for Amazon Elastic Compute Cloud.
1847//
1848// Attaches a network interface to an instance.
1849//
1850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1851// with awserr.Error's Code and Message methods to get detailed information about
1852// the error.
1853//
1854// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1855// API operation AttachNetworkInterface for usage and error information.
1856// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachNetworkInterface
1857func (c *EC2) AttachNetworkInterface(input *AttachNetworkInterfaceInput) (*AttachNetworkInterfaceOutput, error) {
1858	req, out := c.AttachNetworkInterfaceRequest(input)
1859	return out, req.Send()
1860}
1861
1862// AttachNetworkInterfaceWithContext is the same as AttachNetworkInterface with the addition of
1863// the ability to pass a context and additional request options.
1864//
1865// See AttachNetworkInterface for details on how to use this API operation.
1866//
1867// The context must be non-nil and will be used for request cancellation. If
1868// the context is nil a panic will occur. In the future the SDK may create
1869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1870// for more information on using Contexts.
1871func (c *EC2) AttachNetworkInterfaceWithContext(ctx aws.Context, input *AttachNetworkInterfaceInput, opts ...request.Option) (*AttachNetworkInterfaceOutput, error) {
1872	req, out := c.AttachNetworkInterfaceRequest(input)
1873	req.SetContext(ctx)
1874	req.ApplyOptions(opts...)
1875	return out, req.Send()
1876}
1877
1878const opAttachVolume = "AttachVolume"
1879
1880// AttachVolumeRequest generates a "aws/request.Request" representing the
1881// client's request for the AttachVolume operation. The "output" return
1882// value will be populated with the request's response once the request completes
1883// successfully.
1884//
1885// Use "Send" method on the returned Request to send the API call to the service.
1886// the "output" return value is not valid until after Send returns without error.
1887//
1888// See AttachVolume for more information on using the AttachVolume
1889// API call, and error handling.
1890//
1891// This method is useful when you want to inject custom logic or configuration
1892// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1893//
1894//
1895//    // Example sending a request using the AttachVolumeRequest method.
1896//    req, resp := client.AttachVolumeRequest(params)
1897//
1898//    err := req.Send()
1899//    if err == nil { // resp is now filled
1900//        fmt.Println(resp)
1901//    }
1902//
1903// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
1904func (c *EC2) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *VolumeAttachment) {
1905	op := &request.Operation{
1906		Name:       opAttachVolume,
1907		HTTPMethod: "POST",
1908		HTTPPath:   "/",
1909	}
1910
1911	if input == nil {
1912		input = &AttachVolumeInput{}
1913	}
1914
1915	output = &VolumeAttachment{}
1916	req = c.newRequest(op, input, output)
1917	return
1918}
1919
1920// AttachVolume API operation for Amazon Elastic Compute Cloud.
1921//
1922// Attaches an EBS volume to a running or stopped instance and exposes it to
1923// the instance with the specified device name.
1924//
1925// Encrypted EBS volumes must be attached to instances that support Amazon EBS
1926// encryption. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
1927// in the Amazon Elastic Compute Cloud User Guide.
1928//
1929// After you attach an EBS volume, you must make it available. For more information,
1930// see Making an EBS Volume Available For Use (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html).
1931//
1932// If a volume has an AWS Marketplace product code:
1933//
1934//    * The volume can be attached only to a stopped instance.
1935//
1936//    * AWS Marketplace product codes are copied from the volume to the instance.
1937//
1938//    * You must be subscribed to the product.
1939//
1940//    * The instance type and operating system of the instance must support
1941//    the product. For example, you can't detach a volume from a Windows instance
1942//    and attach it to a Linux instance.
1943//
1944// For more information, see Attaching Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html)
1945// in the Amazon Elastic Compute Cloud User Guide.
1946//
1947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1948// with awserr.Error's Code and Message methods to get detailed information about
1949// the error.
1950//
1951// See the AWS API reference guide for Amazon Elastic Compute Cloud's
1952// API operation AttachVolume for usage and error information.
1953// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVolume
1954func (c *EC2) AttachVolume(input *AttachVolumeInput) (*VolumeAttachment, error) {
1955	req, out := c.AttachVolumeRequest(input)
1956	return out, req.Send()
1957}
1958
1959// AttachVolumeWithContext is the same as AttachVolume with the addition of
1960// the ability to pass a context and additional request options.
1961//
1962// See AttachVolume for details on how to use this API operation.
1963//
1964// The context must be non-nil and will be used for request cancellation. If
1965// the context is nil a panic will occur. In the future the SDK may create
1966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1967// for more information on using Contexts.
1968func (c *EC2) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
1969	req, out := c.AttachVolumeRequest(input)
1970	req.SetContext(ctx)
1971	req.ApplyOptions(opts...)
1972	return out, req.Send()
1973}
1974
1975const opAttachVpnGateway = "AttachVpnGateway"
1976
1977// AttachVpnGatewayRequest generates a "aws/request.Request" representing the
1978// client's request for the AttachVpnGateway operation. The "output" return
1979// value will be populated with the request's response once the request completes
1980// successfully.
1981//
1982// Use "Send" method on the returned Request to send the API call to the service.
1983// the "output" return value is not valid until after Send returns without error.
1984//
1985// See AttachVpnGateway for more information on using the AttachVpnGateway
1986// API call, and error handling.
1987//
1988// This method is useful when you want to inject custom logic or configuration
1989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1990//
1991//
1992//    // Example sending a request using the AttachVpnGatewayRequest method.
1993//    req, resp := client.AttachVpnGatewayRequest(params)
1994//
1995//    err := req.Send()
1996//    if err == nil { // resp is now filled
1997//        fmt.Println(resp)
1998//    }
1999//
2000// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
2001func (c *EC2) AttachVpnGatewayRequest(input *AttachVpnGatewayInput) (req *request.Request, output *AttachVpnGatewayOutput) {
2002	op := &request.Operation{
2003		Name:       opAttachVpnGateway,
2004		HTTPMethod: "POST",
2005		HTTPPath:   "/",
2006	}
2007
2008	if input == nil {
2009		input = &AttachVpnGatewayInput{}
2010	}
2011
2012	output = &AttachVpnGatewayOutput{}
2013	req = c.newRequest(op, input, output)
2014	return
2015}
2016
2017// AttachVpnGateway API operation for Amazon Elastic Compute Cloud.
2018//
2019// Attaches a virtual private gateway to a VPC. You can attach one virtual private
2020// gateway to one VPC at a time.
2021//
2022// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
2023// in the AWS Site-to-Site VPN User Guide.
2024//
2025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2026// with awserr.Error's Code and Message methods to get detailed information about
2027// the error.
2028//
2029// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2030// API operation AttachVpnGateway for usage and error information.
2031// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AttachVpnGateway
2032func (c *EC2) AttachVpnGateway(input *AttachVpnGatewayInput) (*AttachVpnGatewayOutput, error) {
2033	req, out := c.AttachVpnGatewayRequest(input)
2034	return out, req.Send()
2035}
2036
2037// AttachVpnGatewayWithContext is the same as AttachVpnGateway with the addition of
2038// the ability to pass a context and additional request options.
2039//
2040// See AttachVpnGateway for details on how to use this API operation.
2041//
2042// The context must be non-nil and will be used for request cancellation. If
2043// the context is nil a panic will occur. In the future the SDK may create
2044// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2045// for more information on using Contexts.
2046func (c *EC2) AttachVpnGatewayWithContext(ctx aws.Context, input *AttachVpnGatewayInput, opts ...request.Option) (*AttachVpnGatewayOutput, error) {
2047	req, out := c.AttachVpnGatewayRequest(input)
2048	req.SetContext(ctx)
2049	req.ApplyOptions(opts...)
2050	return out, req.Send()
2051}
2052
2053const opAuthorizeClientVpnIngress = "AuthorizeClientVpnIngress"
2054
2055// AuthorizeClientVpnIngressRequest generates a "aws/request.Request" representing the
2056// client's request for the AuthorizeClientVpnIngress operation. The "output" return
2057// value will be populated with the request's response once the request completes
2058// successfully.
2059//
2060// Use "Send" method on the returned Request to send the API call to the service.
2061// the "output" return value is not valid until after Send returns without error.
2062//
2063// See AuthorizeClientVpnIngress for more information on using the AuthorizeClientVpnIngress
2064// API call, and error handling.
2065//
2066// This method is useful when you want to inject custom logic or configuration
2067// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2068//
2069//
2070//    // Example sending a request using the AuthorizeClientVpnIngressRequest method.
2071//    req, resp := client.AuthorizeClientVpnIngressRequest(params)
2072//
2073//    err := req.Send()
2074//    if err == nil { // resp is now filled
2075//        fmt.Println(resp)
2076//    }
2077//
2078// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
2079func (c *EC2) AuthorizeClientVpnIngressRequest(input *AuthorizeClientVpnIngressInput) (req *request.Request, output *AuthorizeClientVpnIngressOutput) {
2080	op := &request.Operation{
2081		Name:       opAuthorizeClientVpnIngress,
2082		HTTPMethod: "POST",
2083		HTTPPath:   "/",
2084	}
2085
2086	if input == nil {
2087		input = &AuthorizeClientVpnIngressInput{}
2088	}
2089
2090	output = &AuthorizeClientVpnIngressOutput{}
2091	req = c.newRequest(op, input, output)
2092	return
2093}
2094
2095// AuthorizeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
2096//
2097// Adds an ingress authorization rule to a Client VPN endpoint. Ingress authorization
2098// rules act as firewall rules that grant access to networks. You must configure
2099// ingress authorization rules to enable clients to access resources in AWS
2100// or on-premises networks.
2101//
2102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2103// with awserr.Error's Code and Message methods to get detailed information about
2104// the error.
2105//
2106// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2107// API operation AuthorizeClientVpnIngress for usage and error information.
2108// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeClientVpnIngress
2109func (c *EC2) AuthorizeClientVpnIngress(input *AuthorizeClientVpnIngressInput) (*AuthorizeClientVpnIngressOutput, error) {
2110	req, out := c.AuthorizeClientVpnIngressRequest(input)
2111	return out, req.Send()
2112}
2113
2114// AuthorizeClientVpnIngressWithContext is the same as AuthorizeClientVpnIngress with the addition of
2115// the ability to pass a context and additional request options.
2116//
2117// See AuthorizeClientVpnIngress for details on how to use this API operation.
2118//
2119// The context must be non-nil and will be used for request cancellation. If
2120// the context is nil a panic will occur. In the future the SDK may create
2121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2122// for more information on using Contexts.
2123func (c *EC2) AuthorizeClientVpnIngressWithContext(ctx aws.Context, input *AuthorizeClientVpnIngressInput, opts ...request.Option) (*AuthorizeClientVpnIngressOutput, error) {
2124	req, out := c.AuthorizeClientVpnIngressRequest(input)
2125	req.SetContext(ctx)
2126	req.ApplyOptions(opts...)
2127	return out, req.Send()
2128}
2129
2130const opAuthorizeSecurityGroupEgress = "AuthorizeSecurityGroupEgress"
2131
2132// AuthorizeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
2133// client's request for the AuthorizeSecurityGroupEgress operation. The "output" return
2134// value will be populated with the request's response once the request completes
2135// successfully.
2136//
2137// Use "Send" method on the returned Request to send the API call to the service.
2138// the "output" return value is not valid until after Send returns without error.
2139//
2140// See AuthorizeSecurityGroupEgress for more information on using the AuthorizeSecurityGroupEgress
2141// API call, and error handling.
2142//
2143// This method is useful when you want to inject custom logic or configuration
2144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2145//
2146//
2147//    // Example sending a request using the AuthorizeSecurityGroupEgressRequest method.
2148//    req, resp := client.AuthorizeSecurityGroupEgressRequest(params)
2149//
2150//    err := req.Send()
2151//    if err == nil { // resp is now filled
2152//        fmt.Println(resp)
2153//    }
2154//
2155// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2156func (c *EC2) AuthorizeSecurityGroupEgressRequest(input *AuthorizeSecurityGroupEgressInput) (req *request.Request, output *AuthorizeSecurityGroupEgressOutput) {
2157	op := &request.Operation{
2158		Name:       opAuthorizeSecurityGroupEgress,
2159		HTTPMethod: "POST",
2160		HTTPPath:   "/",
2161	}
2162
2163	if input == nil {
2164		input = &AuthorizeSecurityGroupEgressInput{}
2165	}
2166
2167	output = &AuthorizeSecurityGroupEgressOutput{}
2168	req = c.newRequest(op, input, output)
2169	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2170	return
2171}
2172
2173// AuthorizeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
2174//
2175// [VPC only] Adds the specified egress rules to a security group for use with
2176// a VPC.
2177//
2178// An outbound rule permits instances to send traffic to the specified IPv4
2179// or IPv6 CIDR address ranges, or to the instances associated with the specified
2180// destination security groups.
2181//
2182// You specify a protocol for each rule (for example, TCP). For the TCP and
2183// UDP protocols, you must also specify the destination port or port range.
2184// For the ICMP protocol, you must also specify the ICMP type and code. You
2185// can use -1 for the type or code to mean all types or all codes.
2186//
2187// Rule changes are propagated to affected instances as quickly as possible.
2188// However, a small delay might occur.
2189//
2190// For more information about VPC security group limits, see Amazon VPC Limits
2191// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2192//
2193// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2194// with awserr.Error's Code and Message methods to get detailed information about
2195// the error.
2196//
2197// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2198// API operation AuthorizeSecurityGroupEgress for usage and error information.
2199// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupEgress
2200func (c *EC2) AuthorizeSecurityGroupEgress(input *AuthorizeSecurityGroupEgressInput) (*AuthorizeSecurityGroupEgressOutput, error) {
2201	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2202	return out, req.Send()
2203}
2204
2205// AuthorizeSecurityGroupEgressWithContext is the same as AuthorizeSecurityGroupEgress with the addition of
2206// the ability to pass a context and additional request options.
2207//
2208// See AuthorizeSecurityGroupEgress for details on how to use this API operation.
2209//
2210// The context must be non-nil and will be used for request cancellation. If
2211// the context is nil a panic will occur. In the future the SDK may create
2212// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2213// for more information on using Contexts.
2214func (c *EC2) AuthorizeSecurityGroupEgressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupEgressInput, opts ...request.Option) (*AuthorizeSecurityGroupEgressOutput, error) {
2215	req, out := c.AuthorizeSecurityGroupEgressRequest(input)
2216	req.SetContext(ctx)
2217	req.ApplyOptions(opts...)
2218	return out, req.Send()
2219}
2220
2221const opAuthorizeSecurityGroupIngress = "AuthorizeSecurityGroupIngress"
2222
2223// AuthorizeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
2224// client's request for the AuthorizeSecurityGroupIngress operation. The "output" return
2225// value will be populated with the request's response once the request completes
2226// successfully.
2227//
2228// Use "Send" method on the returned Request to send the API call to the service.
2229// the "output" return value is not valid until after Send returns without error.
2230//
2231// See AuthorizeSecurityGroupIngress for more information on using the AuthorizeSecurityGroupIngress
2232// API call, and error handling.
2233//
2234// This method is useful when you want to inject custom logic or configuration
2235// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2236//
2237//
2238//    // Example sending a request using the AuthorizeSecurityGroupIngressRequest method.
2239//    req, resp := client.AuthorizeSecurityGroupIngressRequest(params)
2240//
2241//    err := req.Send()
2242//    if err == nil { // resp is now filled
2243//        fmt.Println(resp)
2244//    }
2245//
2246// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2247func (c *EC2) AuthorizeSecurityGroupIngressRequest(input *AuthorizeSecurityGroupIngressInput) (req *request.Request, output *AuthorizeSecurityGroupIngressOutput) {
2248	op := &request.Operation{
2249		Name:       opAuthorizeSecurityGroupIngress,
2250		HTTPMethod: "POST",
2251		HTTPPath:   "/",
2252	}
2253
2254	if input == nil {
2255		input = &AuthorizeSecurityGroupIngressInput{}
2256	}
2257
2258	output = &AuthorizeSecurityGroupIngressOutput{}
2259	req = c.newRequest(op, input, output)
2260	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2261	return
2262}
2263
2264// AuthorizeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
2265//
2266// Adds the specified ingress rules to a security group.
2267//
2268// An inbound rule permits instances to receive traffic from the specified IPv4
2269// or IPv6 CIDR address ranges, or from the instances associated with the specified
2270// destination security groups.
2271//
2272// You specify a protocol for each rule (for example, TCP). For TCP and UDP,
2273// you must also specify the destination port or port range. For ICMP/ICMPv6,
2274// you must also specify the ICMP/ICMPv6 type and code. You can use -1 to mean
2275// all types or all codes.
2276//
2277// Rule changes are propagated to instances within the security group as quickly
2278// as possible. However, a small delay might occur.
2279//
2280// For more information about VPC security group limits, see Amazon VPC Limits
2281// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
2282//
2283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2284// with awserr.Error's Code and Message methods to get detailed information about
2285// the error.
2286//
2287// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2288// API operation AuthorizeSecurityGroupIngress for usage and error information.
2289// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/AuthorizeSecurityGroupIngress
2290func (c *EC2) AuthorizeSecurityGroupIngress(input *AuthorizeSecurityGroupIngressInput) (*AuthorizeSecurityGroupIngressOutput, error) {
2291	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2292	return out, req.Send()
2293}
2294
2295// AuthorizeSecurityGroupIngressWithContext is the same as AuthorizeSecurityGroupIngress with the addition of
2296// the ability to pass a context and additional request options.
2297//
2298// See AuthorizeSecurityGroupIngress for details on how to use this API operation.
2299//
2300// The context must be non-nil and will be used for request cancellation. If
2301// the context is nil a panic will occur. In the future the SDK may create
2302// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2303// for more information on using Contexts.
2304func (c *EC2) AuthorizeSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeSecurityGroupIngressOutput, error) {
2305	req, out := c.AuthorizeSecurityGroupIngressRequest(input)
2306	req.SetContext(ctx)
2307	req.ApplyOptions(opts...)
2308	return out, req.Send()
2309}
2310
2311const opBundleInstance = "BundleInstance"
2312
2313// BundleInstanceRequest generates a "aws/request.Request" representing the
2314// client's request for the BundleInstance operation. The "output" return
2315// value will be populated with the request's response once the request completes
2316// successfully.
2317//
2318// Use "Send" method on the returned Request to send the API call to the service.
2319// the "output" return value is not valid until after Send returns without error.
2320//
2321// See BundleInstance for more information on using the BundleInstance
2322// API call, and error handling.
2323//
2324// This method is useful when you want to inject custom logic or configuration
2325// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2326//
2327//
2328//    // Example sending a request using the BundleInstanceRequest method.
2329//    req, resp := client.BundleInstanceRequest(params)
2330//
2331//    err := req.Send()
2332//    if err == nil { // resp is now filled
2333//        fmt.Println(resp)
2334//    }
2335//
2336// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2337func (c *EC2) BundleInstanceRequest(input *BundleInstanceInput) (req *request.Request, output *BundleInstanceOutput) {
2338	op := &request.Operation{
2339		Name:       opBundleInstance,
2340		HTTPMethod: "POST",
2341		HTTPPath:   "/",
2342	}
2343
2344	if input == nil {
2345		input = &BundleInstanceInput{}
2346	}
2347
2348	output = &BundleInstanceOutput{}
2349	req = c.newRequest(op, input, output)
2350	return
2351}
2352
2353// BundleInstance API operation for Amazon Elastic Compute Cloud.
2354//
2355// Bundles an Amazon instance store-backed Windows instance.
2356//
2357// During bundling, only the root device volume (C:\) is bundled. Data on other
2358// instance store volumes is not preserved.
2359//
2360// This action is not applicable for Linux/Unix instances or Windows instances
2361// that are backed by Amazon EBS.
2362//
2363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2364// with awserr.Error's Code and Message methods to get detailed information about
2365// the error.
2366//
2367// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2368// API operation BundleInstance for usage and error information.
2369// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/BundleInstance
2370func (c *EC2) BundleInstance(input *BundleInstanceInput) (*BundleInstanceOutput, error) {
2371	req, out := c.BundleInstanceRequest(input)
2372	return out, req.Send()
2373}
2374
2375// BundleInstanceWithContext is the same as BundleInstance with the addition of
2376// the ability to pass a context and additional request options.
2377//
2378// See BundleInstance for details on how to use this API operation.
2379//
2380// The context must be non-nil and will be used for request cancellation. If
2381// the context is nil a panic will occur. In the future the SDK may create
2382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2383// for more information on using Contexts.
2384func (c *EC2) BundleInstanceWithContext(ctx aws.Context, input *BundleInstanceInput, opts ...request.Option) (*BundleInstanceOutput, error) {
2385	req, out := c.BundleInstanceRequest(input)
2386	req.SetContext(ctx)
2387	req.ApplyOptions(opts...)
2388	return out, req.Send()
2389}
2390
2391const opCancelBundleTask = "CancelBundleTask"
2392
2393// CancelBundleTaskRequest generates a "aws/request.Request" representing the
2394// client's request for the CancelBundleTask operation. The "output" return
2395// value will be populated with the request's response once the request completes
2396// successfully.
2397//
2398// Use "Send" method on the returned Request to send the API call to the service.
2399// the "output" return value is not valid until after Send returns without error.
2400//
2401// See CancelBundleTask for more information on using the CancelBundleTask
2402// API call, and error handling.
2403//
2404// This method is useful when you want to inject custom logic or configuration
2405// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2406//
2407//
2408//    // Example sending a request using the CancelBundleTaskRequest method.
2409//    req, resp := client.CancelBundleTaskRequest(params)
2410//
2411//    err := req.Send()
2412//    if err == nil { // resp is now filled
2413//        fmt.Println(resp)
2414//    }
2415//
2416// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2417func (c *EC2) CancelBundleTaskRequest(input *CancelBundleTaskInput) (req *request.Request, output *CancelBundleTaskOutput) {
2418	op := &request.Operation{
2419		Name:       opCancelBundleTask,
2420		HTTPMethod: "POST",
2421		HTTPPath:   "/",
2422	}
2423
2424	if input == nil {
2425		input = &CancelBundleTaskInput{}
2426	}
2427
2428	output = &CancelBundleTaskOutput{}
2429	req = c.newRequest(op, input, output)
2430	return
2431}
2432
2433// CancelBundleTask API operation for Amazon Elastic Compute Cloud.
2434//
2435// Cancels a bundling operation for an instance store-backed Windows instance.
2436//
2437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2438// with awserr.Error's Code and Message methods to get detailed information about
2439// the error.
2440//
2441// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2442// API operation CancelBundleTask for usage and error information.
2443// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelBundleTask
2444func (c *EC2) CancelBundleTask(input *CancelBundleTaskInput) (*CancelBundleTaskOutput, error) {
2445	req, out := c.CancelBundleTaskRequest(input)
2446	return out, req.Send()
2447}
2448
2449// CancelBundleTaskWithContext is the same as CancelBundleTask with the addition of
2450// the ability to pass a context and additional request options.
2451//
2452// See CancelBundleTask for details on how to use this API operation.
2453//
2454// The context must be non-nil and will be used for request cancellation. If
2455// the context is nil a panic will occur. In the future the SDK may create
2456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2457// for more information on using Contexts.
2458func (c *EC2) CancelBundleTaskWithContext(ctx aws.Context, input *CancelBundleTaskInput, opts ...request.Option) (*CancelBundleTaskOutput, error) {
2459	req, out := c.CancelBundleTaskRequest(input)
2460	req.SetContext(ctx)
2461	req.ApplyOptions(opts...)
2462	return out, req.Send()
2463}
2464
2465const opCancelCapacityReservation = "CancelCapacityReservation"
2466
2467// CancelCapacityReservationRequest generates a "aws/request.Request" representing the
2468// client's request for the CancelCapacityReservation operation. The "output" return
2469// value will be populated with the request's response once the request completes
2470// successfully.
2471//
2472// Use "Send" method on the returned Request to send the API call to the service.
2473// the "output" return value is not valid until after Send returns without error.
2474//
2475// See CancelCapacityReservation for more information on using the CancelCapacityReservation
2476// API call, and error handling.
2477//
2478// This method is useful when you want to inject custom logic or configuration
2479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2480//
2481//
2482//    // Example sending a request using the CancelCapacityReservationRequest method.
2483//    req, resp := client.CancelCapacityReservationRequest(params)
2484//
2485//    err := req.Send()
2486//    if err == nil { // resp is now filled
2487//        fmt.Println(resp)
2488//    }
2489//
2490// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2491func (c *EC2) CancelCapacityReservationRequest(input *CancelCapacityReservationInput) (req *request.Request, output *CancelCapacityReservationOutput) {
2492	op := &request.Operation{
2493		Name:       opCancelCapacityReservation,
2494		HTTPMethod: "POST",
2495		HTTPPath:   "/",
2496	}
2497
2498	if input == nil {
2499		input = &CancelCapacityReservationInput{}
2500	}
2501
2502	output = &CancelCapacityReservationOutput{}
2503	req = c.newRequest(op, input, output)
2504	return
2505}
2506
2507// CancelCapacityReservation API operation for Amazon Elastic Compute Cloud.
2508//
2509// Cancels the specified Capacity Reservation, releases the reserved capacity,
2510// and changes the Capacity Reservation's state to cancelled.
2511//
2512// Instances running in the reserved capacity continue running until you stop
2513// them. Stopped instances that target the Capacity Reservation can no longer
2514// launch. Modify these instances to either target a different Capacity Reservation,
2515// launch On-Demand Instance capacity, or run in any open Capacity Reservation
2516// that has matching attributes and sufficient capacity.
2517//
2518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2519// with awserr.Error's Code and Message methods to get detailed information about
2520// the error.
2521//
2522// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2523// API operation CancelCapacityReservation for usage and error information.
2524// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelCapacityReservation
2525func (c *EC2) CancelCapacityReservation(input *CancelCapacityReservationInput) (*CancelCapacityReservationOutput, error) {
2526	req, out := c.CancelCapacityReservationRequest(input)
2527	return out, req.Send()
2528}
2529
2530// CancelCapacityReservationWithContext is the same as CancelCapacityReservation with the addition of
2531// the ability to pass a context and additional request options.
2532//
2533// See CancelCapacityReservation for details on how to use this API operation.
2534//
2535// The context must be non-nil and will be used for request cancellation. If
2536// the context is nil a panic will occur. In the future the SDK may create
2537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2538// for more information on using Contexts.
2539func (c *EC2) CancelCapacityReservationWithContext(ctx aws.Context, input *CancelCapacityReservationInput, opts ...request.Option) (*CancelCapacityReservationOutput, error) {
2540	req, out := c.CancelCapacityReservationRequest(input)
2541	req.SetContext(ctx)
2542	req.ApplyOptions(opts...)
2543	return out, req.Send()
2544}
2545
2546const opCancelConversionTask = "CancelConversionTask"
2547
2548// CancelConversionTaskRequest generates a "aws/request.Request" representing the
2549// client's request for the CancelConversionTask operation. The "output" return
2550// value will be populated with the request's response once the request completes
2551// successfully.
2552//
2553// Use "Send" method on the returned Request to send the API call to the service.
2554// the "output" return value is not valid until after Send returns without error.
2555//
2556// See CancelConversionTask for more information on using the CancelConversionTask
2557// API call, and error handling.
2558//
2559// This method is useful when you want to inject custom logic or configuration
2560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2561//
2562//
2563//    // Example sending a request using the CancelConversionTaskRequest method.
2564//    req, resp := client.CancelConversionTaskRequest(params)
2565//
2566//    err := req.Send()
2567//    if err == nil { // resp is now filled
2568//        fmt.Println(resp)
2569//    }
2570//
2571// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2572func (c *EC2) CancelConversionTaskRequest(input *CancelConversionTaskInput) (req *request.Request, output *CancelConversionTaskOutput) {
2573	op := &request.Operation{
2574		Name:       opCancelConversionTask,
2575		HTTPMethod: "POST",
2576		HTTPPath:   "/",
2577	}
2578
2579	if input == nil {
2580		input = &CancelConversionTaskInput{}
2581	}
2582
2583	output = &CancelConversionTaskOutput{}
2584	req = c.newRequest(op, input, output)
2585	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2586	return
2587}
2588
2589// CancelConversionTask API operation for Amazon Elastic Compute Cloud.
2590//
2591// Cancels an active conversion task. The task can be the import of an instance
2592// or volume. The action removes all artifacts of the conversion, including
2593// a partially uploaded volume or instance. If the conversion is complete or
2594// is in the process of transferring the final disk image, the command fails
2595// and returns an exception.
2596//
2597// For more information, see Importing a Virtual Machine Using the Amazon EC2
2598// CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
2599//
2600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2601// with awserr.Error's Code and Message methods to get detailed information about
2602// the error.
2603//
2604// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2605// API operation CancelConversionTask for usage and error information.
2606// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelConversionTask
2607func (c *EC2) CancelConversionTask(input *CancelConversionTaskInput) (*CancelConversionTaskOutput, error) {
2608	req, out := c.CancelConversionTaskRequest(input)
2609	return out, req.Send()
2610}
2611
2612// CancelConversionTaskWithContext is the same as CancelConversionTask with the addition of
2613// the ability to pass a context and additional request options.
2614//
2615// See CancelConversionTask for details on how to use this API operation.
2616//
2617// The context must be non-nil and will be used for request cancellation. If
2618// the context is nil a panic will occur. In the future the SDK may create
2619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2620// for more information on using Contexts.
2621func (c *EC2) CancelConversionTaskWithContext(ctx aws.Context, input *CancelConversionTaskInput, opts ...request.Option) (*CancelConversionTaskOutput, error) {
2622	req, out := c.CancelConversionTaskRequest(input)
2623	req.SetContext(ctx)
2624	req.ApplyOptions(opts...)
2625	return out, req.Send()
2626}
2627
2628const opCancelExportTask = "CancelExportTask"
2629
2630// CancelExportTaskRequest generates a "aws/request.Request" representing the
2631// client's request for the CancelExportTask operation. The "output" return
2632// value will be populated with the request's response once the request completes
2633// successfully.
2634//
2635// Use "Send" method on the returned Request to send the API call to the service.
2636// the "output" return value is not valid until after Send returns without error.
2637//
2638// See CancelExportTask for more information on using the CancelExportTask
2639// API call, and error handling.
2640//
2641// This method is useful when you want to inject custom logic or configuration
2642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2643//
2644//
2645//    // Example sending a request using the CancelExportTaskRequest method.
2646//    req, resp := client.CancelExportTaskRequest(params)
2647//
2648//    err := req.Send()
2649//    if err == nil { // resp is now filled
2650//        fmt.Println(resp)
2651//    }
2652//
2653// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
2654func (c *EC2) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
2655	op := &request.Operation{
2656		Name:       opCancelExportTask,
2657		HTTPMethod: "POST",
2658		HTTPPath:   "/",
2659	}
2660
2661	if input == nil {
2662		input = &CancelExportTaskInput{}
2663	}
2664
2665	output = &CancelExportTaskOutput{}
2666	req = c.newRequest(op, input, output)
2667	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2668	return
2669}
2670
2671// CancelExportTask API operation for Amazon Elastic Compute Cloud.
2672//
2673// Cancels an active export task. The request removes all artifacts of the export,
2674// including any partially-created Amazon S3 objects. If the export task is
2675// complete or is in the process of transferring the final disk image, the command
2676// fails and returns an error.
2677//
2678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2679// with awserr.Error's Code and Message methods to get detailed information about
2680// the error.
2681//
2682// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2683// API operation CancelExportTask for usage and error information.
2684// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelExportTask
2685func (c *EC2) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
2686	req, out := c.CancelExportTaskRequest(input)
2687	return out, req.Send()
2688}
2689
2690// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
2691// the ability to pass a context and additional request options.
2692//
2693// See CancelExportTask for details on how to use this API operation.
2694//
2695// The context must be non-nil and will be used for request cancellation. If
2696// the context is nil a panic will occur. In the future the SDK may create
2697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2698// for more information on using Contexts.
2699func (c *EC2) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
2700	req, out := c.CancelExportTaskRequest(input)
2701	req.SetContext(ctx)
2702	req.ApplyOptions(opts...)
2703	return out, req.Send()
2704}
2705
2706const opCancelImportTask = "CancelImportTask"
2707
2708// CancelImportTaskRequest generates a "aws/request.Request" representing the
2709// client's request for the CancelImportTask operation. The "output" return
2710// value will be populated with the request's response once the request completes
2711// successfully.
2712//
2713// Use "Send" method on the returned Request to send the API call to the service.
2714// the "output" return value is not valid until after Send returns without error.
2715//
2716// See CancelImportTask for more information on using the CancelImportTask
2717// API call, and error handling.
2718//
2719// This method is useful when you want to inject custom logic or configuration
2720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2721//
2722//
2723//    // Example sending a request using the CancelImportTaskRequest method.
2724//    req, resp := client.CancelImportTaskRequest(params)
2725//
2726//    err := req.Send()
2727//    if err == nil { // resp is now filled
2728//        fmt.Println(resp)
2729//    }
2730//
2731// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
2732func (c *EC2) CancelImportTaskRequest(input *CancelImportTaskInput) (req *request.Request, output *CancelImportTaskOutput) {
2733	op := &request.Operation{
2734		Name:       opCancelImportTask,
2735		HTTPMethod: "POST",
2736		HTTPPath:   "/",
2737	}
2738
2739	if input == nil {
2740		input = &CancelImportTaskInput{}
2741	}
2742
2743	output = &CancelImportTaskOutput{}
2744	req = c.newRequest(op, input, output)
2745	return
2746}
2747
2748// CancelImportTask API operation for Amazon Elastic Compute Cloud.
2749//
2750// Cancels an in-process import virtual machine or import snapshot task.
2751//
2752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2753// with awserr.Error's Code and Message methods to get detailed information about
2754// the error.
2755//
2756// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2757// API operation CancelImportTask for usage and error information.
2758// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelImportTask
2759func (c *EC2) CancelImportTask(input *CancelImportTaskInput) (*CancelImportTaskOutput, error) {
2760	req, out := c.CancelImportTaskRequest(input)
2761	return out, req.Send()
2762}
2763
2764// CancelImportTaskWithContext is the same as CancelImportTask with the addition of
2765// the ability to pass a context and additional request options.
2766//
2767// See CancelImportTask for details on how to use this API operation.
2768//
2769// The context must be non-nil and will be used for request cancellation. If
2770// the context is nil a panic will occur. In the future the SDK may create
2771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2772// for more information on using Contexts.
2773func (c *EC2) CancelImportTaskWithContext(ctx aws.Context, input *CancelImportTaskInput, opts ...request.Option) (*CancelImportTaskOutput, error) {
2774	req, out := c.CancelImportTaskRequest(input)
2775	req.SetContext(ctx)
2776	req.ApplyOptions(opts...)
2777	return out, req.Send()
2778}
2779
2780const opCancelReservedInstancesListing = "CancelReservedInstancesListing"
2781
2782// CancelReservedInstancesListingRequest generates a "aws/request.Request" representing the
2783// client's request for the CancelReservedInstancesListing operation. The "output" return
2784// value will be populated with the request's response once the request completes
2785// successfully.
2786//
2787// Use "Send" method on the returned Request to send the API call to the service.
2788// the "output" return value is not valid until after Send returns without error.
2789//
2790// See CancelReservedInstancesListing for more information on using the CancelReservedInstancesListing
2791// API call, and error handling.
2792//
2793// This method is useful when you want to inject custom logic or configuration
2794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2795//
2796//
2797//    // Example sending a request using the CancelReservedInstancesListingRequest method.
2798//    req, resp := client.CancelReservedInstancesListingRequest(params)
2799//
2800//    err := req.Send()
2801//    if err == nil { // resp is now filled
2802//        fmt.Println(resp)
2803//    }
2804//
2805// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
2806func (c *EC2) CancelReservedInstancesListingRequest(input *CancelReservedInstancesListingInput) (req *request.Request, output *CancelReservedInstancesListingOutput) {
2807	op := &request.Operation{
2808		Name:       opCancelReservedInstancesListing,
2809		HTTPMethod: "POST",
2810		HTTPPath:   "/",
2811	}
2812
2813	if input == nil {
2814		input = &CancelReservedInstancesListingInput{}
2815	}
2816
2817	output = &CancelReservedInstancesListingOutput{}
2818	req = c.newRequest(op, input, output)
2819	return
2820}
2821
2822// CancelReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
2823//
2824// Cancels the specified Reserved Instance listing in the Reserved Instance
2825// Marketplace.
2826//
2827// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
2828// in the Amazon Elastic Compute Cloud User Guide.
2829//
2830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2831// with awserr.Error's Code and Message methods to get detailed information about
2832// the error.
2833//
2834// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2835// API operation CancelReservedInstancesListing for usage and error information.
2836// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelReservedInstancesListing
2837func (c *EC2) CancelReservedInstancesListing(input *CancelReservedInstancesListingInput) (*CancelReservedInstancesListingOutput, error) {
2838	req, out := c.CancelReservedInstancesListingRequest(input)
2839	return out, req.Send()
2840}
2841
2842// CancelReservedInstancesListingWithContext is the same as CancelReservedInstancesListing with the addition of
2843// the ability to pass a context and additional request options.
2844//
2845// See CancelReservedInstancesListing for details on how to use this API operation.
2846//
2847// The context must be non-nil and will be used for request cancellation. If
2848// the context is nil a panic will occur. In the future the SDK may create
2849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2850// for more information on using Contexts.
2851func (c *EC2) CancelReservedInstancesListingWithContext(ctx aws.Context, input *CancelReservedInstancesListingInput, opts ...request.Option) (*CancelReservedInstancesListingOutput, error) {
2852	req, out := c.CancelReservedInstancesListingRequest(input)
2853	req.SetContext(ctx)
2854	req.ApplyOptions(opts...)
2855	return out, req.Send()
2856}
2857
2858const opCancelSpotFleetRequests = "CancelSpotFleetRequests"
2859
2860// CancelSpotFleetRequestsRequest generates a "aws/request.Request" representing the
2861// client's request for the CancelSpotFleetRequests operation. The "output" return
2862// value will be populated with the request's response once the request completes
2863// successfully.
2864//
2865// Use "Send" method on the returned Request to send the API call to the service.
2866// the "output" return value is not valid until after Send returns without error.
2867//
2868// See CancelSpotFleetRequests for more information on using the CancelSpotFleetRequests
2869// API call, and error handling.
2870//
2871// This method is useful when you want to inject custom logic or configuration
2872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2873//
2874//
2875//    // Example sending a request using the CancelSpotFleetRequestsRequest method.
2876//    req, resp := client.CancelSpotFleetRequestsRequest(params)
2877//
2878//    err := req.Send()
2879//    if err == nil { // resp is now filled
2880//        fmt.Println(resp)
2881//    }
2882//
2883// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
2884func (c *EC2) CancelSpotFleetRequestsRequest(input *CancelSpotFleetRequestsInput) (req *request.Request, output *CancelSpotFleetRequestsOutput) {
2885	op := &request.Operation{
2886		Name:       opCancelSpotFleetRequests,
2887		HTTPMethod: "POST",
2888		HTTPPath:   "/",
2889	}
2890
2891	if input == nil {
2892		input = &CancelSpotFleetRequestsInput{}
2893	}
2894
2895	output = &CancelSpotFleetRequestsOutput{}
2896	req = c.newRequest(op, input, output)
2897	return
2898}
2899
2900// CancelSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
2901//
2902// Cancels the specified Spot Fleet requests.
2903//
2904// After you cancel a Spot Fleet request, the Spot Fleet launches no new Spot
2905// Instances. You must specify whether the Spot Fleet should also terminate
2906// its Spot Instances. If you terminate the instances, the Spot Fleet request
2907// enters the cancelled_terminating state. Otherwise, the Spot Fleet request
2908// enters the cancelled_running state and the instances continue to run until
2909// they are interrupted or you terminate them manually.
2910//
2911// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2912// with awserr.Error's Code and Message methods to get detailed information about
2913// the error.
2914//
2915// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2916// API operation CancelSpotFleetRequests for usage and error information.
2917// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotFleetRequests
2918func (c *EC2) CancelSpotFleetRequests(input *CancelSpotFleetRequestsInput) (*CancelSpotFleetRequestsOutput, error) {
2919	req, out := c.CancelSpotFleetRequestsRequest(input)
2920	return out, req.Send()
2921}
2922
2923// CancelSpotFleetRequestsWithContext is the same as CancelSpotFleetRequests with the addition of
2924// the ability to pass a context and additional request options.
2925//
2926// See CancelSpotFleetRequests for details on how to use this API operation.
2927//
2928// The context must be non-nil and will be used for request cancellation. If
2929// the context is nil a panic will occur. In the future the SDK may create
2930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2931// for more information on using Contexts.
2932func (c *EC2) CancelSpotFleetRequestsWithContext(ctx aws.Context, input *CancelSpotFleetRequestsInput, opts ...request.Option) (*CancelSpotFleetRequestsOutput, error) {
2933	req, out := c.CancelSpotFleetRequestsRequest(input)
2934	req.SetContext(ctx)
2935	req.ApplyOptions(opts...)
2936	return out, req.Send()
2937}
2938
2939const opCancelSpotInstanceRequests = "CancelSpotInstanceRequests"
2940
2941// CancelSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
2942// client's request for the CancelSpotInstanceRequests operation. The "output" return
2943// value will be populated with the request's response once the request completes
2944// successfully.
2945//
2946// Use "Send" method on the returned Request to send the API call to the service.
2947// the "output" return value is not valid until after Send returns without error.
2948//
2949// See CancelSpotInstanceRequests for more information on using the CancelSpotInstanceRequests
2950// API call, and error handling.
2951//
2952// This method is useful when you want to inject custom logic or configuration
2953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2954//
2955//
2956//    // Example sending a request using the CancelSpotInstanceRequestsRequest method.
2957//    req, resp := client.CancelSpotInstanceRequestsRequest(params)
2958//
2959//    err := req.Send()
2960//    if err == nil { // resp is now filled
2961//        fmt.Println(resp)
2962//    }
2963//
2964// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
2965func (c *EC2) CancelSpotInstanceRequestsRequest(input *CancelSpotInstanceRequestsInput) (req *request.Request, output *CancelSpotInstanceRequestsOutput) {
2966	op := &request.Operation{
2967		Name:       opCancelSpotInstanceRequests,
2968		HTTPMethod: "POST",
2969		HTTPPath:   "/",
2970	}
2971
2972	if input == nil {
2973		input = &CancelSpotInstanceRequestsInput{}
2974	}
2975
2976	output = &CancelSpotInstanceRequestsOutput{}
2977	req = c.newRequest(op, input, output)
2978	return
2979}
2980
2981// CancelSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
2982//
2983// Cancels one or more Spot Instance requests.
2984//
2985// Canceling a Spot Instance request does not terminate running Spot Instances
2986// associated with the request.
2987//
2988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2989// with awserr.Error's Code and Message methods to get detailed information about
2990// the error.
2991//
2992// See the AWS API reference guide for Amazon Elastic Compute Cloud's
2993// API operation CancelSpotInstanceRequests for usage and error information.
2994// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CancelSpotInstanceRequests
2995func (c *EC2) CancelSpotInstanceRequests(input *CancelSpotInstanceRequestsInput) (*CancelSpotInstanceRequestsOutput, error) {
2996	req, out := c.CancelSpotInstanceRequestsRequest(input)
2997	return out, req.Send()
2998}
2999
3000// CancelSpotInstanceRequestsWithContext is the same as CancelSpotInstanceRequests with the addition of
3001// the ability to pass a context and additional request options.
3002//
3003// See CancelSpotInstanceRequests for details on how to use this API operation.
3004//
3005// The context must be non-nil and will be used for request cancellation. If
3006// the context is nil a panic will occur. In the future the SDK may create
3007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3008// for more information on using Contexts.
3009func (c *EC2) CancelSpotInstanceRequestsWithContext(ctx aws.Context, input *CancelSpotInstanceRequestsInput, opts ...request.Option) (*CancelSpotInstanceRequestsOutput, error) {
3010	req, out := c.CancelSpotInstanceRequestsRequest(input)
3011	req.SetContext(ctx)
3012	req.ApplyOptions(opts...)
3013	return out, req.Send()
3014}
3015
3016const opConfirmProductInstance = "ConfirmProductInstance"
3017
3018// ConfirmProductInstanceRequest generates a "aws/request.Request" representing the
3019// client's request for the ConfirmProductInstance operation. The "output" return
3020// value will be populated with the request's response once the request completes
3021// successfully.
3022//
3023// Use "Send" method on the returned Request to send the API call to the service.
3024// the "output" return value is not valid until after Send returns without error.
3025//
3026// See ConfirmProductInstance for more information on using the ConfirmProductInstance
3027// API call, and error handling.
3028//
3029// This method is useful when you want to inject custom logic or configuration
3030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3031//
3032//
3033//    // Example sending a request using the ConfirmProductInstanceRequest method.
3034//    req, resp := client.ConfirmProductInstanceRequest(params)
3035//
3036//    err := req.Send()
3037//    if err == nil { // resp is now filled
3038//        fmt.Println(resp)
3039//    }
3040//
3041// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
3042func (c *EC2) ConfirmProductInstanceRequest(input *ConfirmProductInstanceInput) (req *request.Request, output *ConfirmProductInstanceOutput) {
3043	op := &request.Operation{
3044		Name:       opConfirmProductInstance,
3045		HTTPMethod: "POST",
3046		HTTPPath:   "/",
3047	}
3048
3049	if input == nil {
3050		input = &ConfirmProductInstanceInput{}
3051	}
3052
3053	output = &ConfirmProductInstanceOutput{}
3054	req = c.newRequest(op, input, output)
3055	return
3056}
3057
3058// ConfirmProductInstance API operation for Amazon Elastic Compute Cloud.
3059//
3060// Determines whether a product code is associated with an instance. This action
3061// can only be used by the owner of the product code. It is useful when a product
3062// code owner must verify whether another user's instance is eligible for support.
3063//
3064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3065// with awserr.Error's Code and Message methods to get detailed information about
3066// the error.
3067//
3068// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3069// API operation ConfirmProductInstance for usage and error information.
3070// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ConfirmProductInstance
3071func (c *EC2) ConfirmProductInstance(input *ConfirmProductInstanceInput) (*ConfirmProductInstanceOutput, error) {
3072	req, out := c.ConfirmProductInstanceRequest(input)
3073	return out, req.Send()
3074}
3075
3076// ConfirmProductInstanceWithContext is the same as ConfirmProductInstance with the addition of
3077// the ability to pass a context and additional request options.
3078//
3079// See ConfirmProductInstance for details on how to use this API operation.
3080//
3081// The context must be non-nil and will be used for request cancellation. If
3082// the context is nil a panic will occur. In the future the SDK may create
3083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3084// for more information on using Contexts.
3085func (c *EC2) ConfirmProductInstanceWithContext(ctx aws.Context, input *ConfirmProductInstanceInput, opts ...request.Option) (*ConfirmProductInstanceOutput, error) {
3086	req, out := c.ConfirmProductInstanceRequest(input)
3087	req.SetContext(ctx)
3088	req.ApplyOptions(opts...)
3089	return out, req.Send()
3090}
3091
3092const opCopyFpgaImage = "CopyFpgaImage"
3093
3094// CopyFpgaImageRequest generates a "aws/request.Request" representing the
3095// client's request for the CopyFpgaImage operation. The "output" return
3096// value will be populated with the request's response once the request completes
3097// successfully.
3098//
3099// Use "Send" method on the returned Request to send the API call to the service.
3100// the "output" return value is not valid until after Send returns without error.
3101//
3102// See CopyFpgaImage for more information on using the CopyFpgaImage
3103// API call, and error handling.
3104//
3105// This method is useful when you want to inject custom logic or configuration
3106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3107//
3108//
3109//    // Example sending a request using the CopyFpgaImageRequest method.
3110//    req, resp := client.CopyFpgaImageRequest(params)
3111//
3112//    err := req.Send()
3113//    if err == nil { // resp is now filled
3114//        fmt.Println(resp)
3115//    }
3116//
3117// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
3118func (c *EC2) CopyFpgaImageRequest(input *CopyFpgaImageInput) (req *request.Request, output *CopyFpgaImageOutput) {
3119	op := &request.Operation{
3120		Name:       opCopyFpgaImage,
3121		HTTPMethod: "POST",
3122		HTTPPath:   "/",
3123	}
3124
3125	if input == nil {
3126		input = &CopyFpgaImageInput{}
3127	}
3128
3129	output = &CopyFpgaImageOutput{}
3130	req = c.newRequest(op, input, output)
3131	return
3132}
3133
3134// CopyFpgaImage API operation for Amazon Elastic Compute Cloud.
3135//
3136// Copies the specified Amazon FPGA Image (AFI) to the current Region.
3137//
3138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3139// with awserr.Error's Code and Message methods to get detailed information about
3140// the error.
3141//
3142// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3143// API operation CopyFpgaImage for usage and error information.
3144// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyFpgaImage
3145func (c *EC2) CopyFpgaImage(input *CopyFpgaImageInput) (*CopyFpgaImageOutput, error) {
3146	req, out := c.CopyFpgaImageRequest(input)
3147	return out, req.Send()
3148}
3149
3150// CopyFpgaImageWithContext is the same as CopyFpgaImage with the addition of
3151// the ability to pass a context and additional request options.
3152//
3153// See CopyFpgaImage for details on how to use this API operation.
3154//
3155// The context must be non-nil and will be used for request cancellation. If
3156// the context is nil a panic will occur. In the future the SDK may create
3157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3158// for more information on using Contexts.
3159func (c *EC2) CopyFpgaImageWithContext(ctx aws.Context, input *CopyFpgaImageInput, opts ...request.Option) (*CopyFpgaImageOutput, error) {
3160	req, out := c.CopyFpgaImageRequest(input)
3161	req.SetContext(ctx)
3162	req.ApplyOptions(opts...)
3163	return out, req.Send()
3164}
3165
3166const opCopyImage = "CopyImage"
3167
3168// CopyImageRequest generates a "aws/request.Request" representing the
3169// client's request for the CopyImage operation. The "output" return
3170// value will be populated with the request's response once the request completes
3171// successfully.
3172//
3173// Use "Send" method on the returned Request to send the API call to the service.
3174// the "output" return value is not valid until after Send returns without error.
3175//
3176// See CopyImage for more information on using the CopyImage
3177// API call, and error handling.
3178//
3179// This method is useful when you want to inject custom logic or configuration
3180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3181//
3182//
3183//    // Example sending a request using the CopyImageRequest method.
3184//    req, resp := client.CopyImageRequest(params)
3185//
3186//    err := req.Send()
3187//    if err == nil { // resp is now filled
3188//        fmt.Println(resp)
3189//    }
3190//
3191// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3192func (c *EC2) CopyImageRequest(input *CopyImageInput) (req *request.Request, output *CopyImageOutput) {
3193	op := &request.Operation{
3194		Name:       opCopyImage,
3195		HTTPMethod: "POST",
3196		HTTPPath:   "/",
3197	}
3198
3199	if input == nil {
3200		input = &CopyImageInput{}
3201	}
3202
3203	output = &CopyImageOutput{}
3204	req = c.newRequest(op, input, output)
3205	return
3206}
3207
3208// CopyImage API operation for Amazon Elastic Compute Cloud.
3209//
3210// Initiates the copy of an AMI from the specified source Region to the current
3211// Region. You specify the destination Region by using its endpoint when making
3212// the request.
3213//
3214// Copies of encrypted backing snapshots for the AMI are encrypted. Copies of
3215// unencrypted backing snapshots remain unencrypted, unless you set Encrypted
3216// during the copy operation. You cannot create an unencrypted copy of an encrypted
3217// backing snapshot.
3218//
3219// For more information about the prerequisites and limits when copying an AMI,
3220// see Copying an AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html)
3221// in the Amazon Elastic Compute Cloud User Guide.
3222//
3223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3224// with awserr.Error's Code and Message methods to get detailed information about
3225// the error.
3226//
3227// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3228// API operation CopyImage for usage and error information.
3229// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopyImage
3230func (c *EC2) CopyImage(input *CopyImageInput) (*CopyImageOutput, error) {
3231	req, out := c.CopyImageRequest(input)
3232	return out, req.Send()
3233}
3234
3235// CopyImageWithContext is the same as CopyImage with the addition of
3236// the ability to pass a context and additional request options.
3237//
3238// See CopyImage for details on how to use this API operation.
3239//
3240// The context must be non-nil and will be used for request cancellation. If
3241// the context is nil a panic will occur. In the future the SDK may create
3242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3243// for more information on using Contexts.
3244func (c *EC2) CopyImageWithContext(ctx aws.Context, input *CopyImageInput, opts ...request.Option) (*CopyImageOutput, error) {
3245	req, out := c.CopyImageRequest(input)
3246	req.SetContext(ctx)
3247	req.ApplyOptions(opts...)
3248	return out, req.Send()
3249}
3250
3251const opCopySnapshot = "CopySnapshot"
3252
3253// CopySnapshotRequest generates a "aws/request.Request" representing the
3254// client's request for the CopySnapshot operation. The "output" return
3255// value will be populated with the request's response once the request completes
3256// successfully.
3257//
3258// Use "Send" method on the returned Request to send the API call to the service.
3259// the "output" return value is not valid until after Send returns without error.
3260//
3261// See CopySnapshot for more information on using the CopySnapshot
3262// API call, and error handling.
3263//
3264// This method is useful when you want to inject custom logic or configuration
3265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3266//
3267//
3268//    // Example sending a request using the CopySnapshotRequest method.
3269//    req, resp := client.CopySnapshotRequest(params)
3270//
3271//    err := req.Send()
3272//    if err == nil { // resp is now filled
3273//        fmt.Println(resp)
3274//    }
3275//
3276// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3277func (c *EC2) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) {
3278	op := &request.Operation{
3279		Name:       opCopySnapshot,
3280		HTTPMethod: "POST",
3281		HTTPPath:   "/",
3282	}
3283
3284	if input == nil {
3285		input = &CopySnapshotInput{}
3286	}
3287
3288	output = &CopySnapshotOutput{}
3289	req = c.newRequest(op, input, output)
3290	return
3291}
3292
3293// CopySnapshot API operation for Amazon Elastic Compute Cloud.
3294//
3295// Copies a point-in-time snapshot of an EBS volume and stores it in Amazon
3296// S3. You can copy the snapshot within the same Region or from one Region to
3297// another. You can use the snapshot to create EBS volumes or Amazon Machine
3298// Images (AMIs).
3299//
3300// Copies of encrypted EBS snapshots remain encrypted. Copies of unencrypted
3301// snapshots remain unencrypted, unless you enable encryption for the snapshot
3302// copy operation. By default, encrypted snapshot copies use the default AWS
3303// Key Management Service (AWS KMS) customer master key (CMK); however, you
3304// can specify a different CMK.
3305//
3306// To copy an encrypted snapshot that has been shared from another account,
3307// you must have permissions for the CMK used to encrypt the snapshot.
3308//
3309// Snapshots created by copying another snapshot have an arbitrary volume ID
3310// that should not be used for any purpose.
3311//
3312// For more information, see Copying an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html)
3313// in the Amazon Elastic Compute Cloud User Guide.
3314//
3315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3316// with awserr.Error's Code and Message methods to get detailed information about
3317// the error.
3318//
3319// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3320// API operation CopySnapshot for usage and error information.
3321// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CopySnapshot
3322func (c *EC2) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) {
3323	req, out := c.CopySnapshotRequest(input)
3324	return out, req.Send()
3325}
3326
3327// CopySnapshotWithContext is the same as CopySnapshot with the addition of
3328// the ability to pass a context and additional request options.
3329//
3330// See CopySnapshot for details on how to use this API operation.
3331//
3332// The context must be non-nil and will be used for request cancellation. If
3333// the context is nil a panic will occur. In the future the SDK may create
3334// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3335// for more information on using Contexts.
3336func (c *EC2) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) {
3337	req, out := c.CopySnapshotRequest(input)
3338	req.SetContext(ctx)
3339	req.ApplyOptions(opts...)
3340	return out, req.Send()
3341}
3342
3343const opCreateCapacityReservation = "CreateCapacityReservation"
3344
3345// CreateCapacityReservationRequest generates a "aws/request.Request" representing the
3346// client's request for the CreateCapacityReservation operation. The "output" return
3347// value will be populated with the request's response once the request completes
3348// successfully.
3349//
3350// Use "Send" method on the returned Request to send the API call to the service.
3351// the "output" return value is not valid until after Send returns without error.
3352//
3353// See CreateCapacityReservation for more information on using the CreateCapacityReservation
3354// API call, and error handling.
3355//
3356// This method is useful when you want to inject custom logic or configuration
3357// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3358//
3359//
3360//    // Example sending a request using the CreateCapacityReservationRequest method.
3361//    req, resp := client.CreateCapacityReservationRequest(params)
3362//
3363//    err := req.Send()
3364//    if err == nil { // resp is now filled
3365//        fmt.Println(resp)
3366//    }
3367//
3368// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3369func (c *EC2) CreateCapacityReservationRequest(input *CreateCapacityReservationInput) (req *request.Request, output *CreateCapacityReservationOutput) {
3370	op := &request.Operation{
3371		Name:       opCreateCapacityReservation,
3372		HTTPMethod: "POST",
3373		HTTPPath:   "/",
3374	}
3375
3376	if input == nil {
3377		input = &CreateCapacityReservationInput{}
3378	}
3379
3380	output = &CreateCapacityReservationOutput{}
3381	req = c.newRequest(op, input, output)
3382	return
3383}
3384
3385// CreateCapacityReservation API operation for Amazon Elastic Compute Cloud.
3386//
3387// Creates a new Capacity Reservation with the specified attributes.
3388//
3389// Capacity Reservations enable you to reserve capacity for your Amazon EC2
3390// instances in a specific Availability Zone for any duration. This gives you
3391// the flexibility to selectively add capacity reservations and still get the
3392// Regional RI discounts for that usage. By creating Capacity Reservations,
3393// you ensure that you always have access to Amazon EC2 capacity when you need
3394// it, for as long as you need it. For more information, see Capacity Reservations
3395// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
3396// in the Amazon Elastic Compute Cloud User Guide.
3397//
3398// Your request to create a Capacity Reservation could fail if Amazon EC2 does
3399// not have sufficient capacity to fulfill the request. If your request fails
3400// due to Amazon EC2 capacity constraints, either try again at a later time,
3401// try in a different Availability Zone, or request a smaller capacity reservation.
3402// If your application is flexible across instance types and sizes, try to create
3403// a Capacity Reservation with different instance attributes.
3404//
3405// Your request could also fail if the requested quantity exceeds your On-Demand
3406// Instance limit for the selected instance type. If your request fails due
3407// to limit constraints, increase your On-Demand Instance limit for the required
3408// instance type and try again. For more information about increasing your instance
3409// limits, see Amazon EC2 Service Limits (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html)
3410// in the Amazon Elastic Compute Cloud User Guide.
3411//
3412// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3413// with awserr.Error's Code and Message methods to get detailed information about
3414// the error.
3415//
3416// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3417// API operation CreateCapacityReservation for usage and error information.
3418// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCapacityReservation
3419func (c *EC2) CreateCapacityReservation(input *CreateCapacityReservationInput) (*CreateCapacityReservationOutput, error) {
3420	req, out := c.CreateCapacityReservationRequest(input)
3421	return out, req.Send()
3422}
3423
3424// CreateCapacityReservationWithContext is the same as CreateCapacityReservation with the addition of
3425// the ability to pass a context and additional request options.
3426//
3427// See CreateCapacityReservation for details on how to use this API operation.
3428//
3429// The context must be non-nil and will be used for request cancellation. If
3430// the context is nil a panic will occur. In the future the SDK may create
3431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3432// for more information on using Contexts.
3433func (c *EC2) CreateCapacityReservationWithContext(ctx aws.Context, input *CreateCapacityReservationInput, opts ...request.Option) (*CreateCapacityReservationOutput, error) {
3434	req, out := c.CreateCapacityReservationRequest(input)
3435	req.SetContext(ctx)
3436	req.ApplyOptions(opts...)
3437	return out, req.Send()
3438}
3439
3440const opCreateClientVpnEndpoint = "CreateClientVpnEndpoint"
3441
3442// CreateClientVpnEndpointRequest generates a "aws/request.Request" representing the
3443// client's request for the CreateClientVpnEndpoint operation. The "output" return
3444// value will be populated with the request's response once the request completes
3445// successfully.
3446//
3447// Use "Send" method on the returned Request to send the API call to the service.
3448// the "output" return value is not valid until after Send returns without error.
3449//
3450// See CreateClientVpnEndpoint for more information on using the CreateClientVpnEndpoint
3451// API call, and error handling.
3452//
3453// This method is useful when you want to inject custom logic or configuration
3454// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3455//
3456//
3457//    // Example sending a request using the CreateClientVpnEndpointRequest method.
3458//    req, resp := client.CreateClientVpnEndpointRequest(params)
3459//
3460//    err := req.Send()
3461//    if err == nil { // resp is now filled
3462//        fmt.Println(resp)
3463//    }
3464//
3465// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
3466func (c *EC2) CreateClientVpnEndpointRequest(input *CreateClientVpnEndpointInput) (req *request.Request, output *CreateClientVpnEndpointOutput) {
3467	op := &request.Operation{
3468		Name:       opCreateClientVpnEndpoint,
3469		HTTPMethod: "POST",
3470		HTTPPath:   "/",
3471	}
3472
3473	if input == nil {
3474		input = &CreateClientVpnEndpointInput{}
3475	}
3476
3477	output = &CreateClientVpnEndpointOutput{}
3478	req = c.newRequest(op, input, output)
3479	return
3480}
3481
3482// CreateClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
3483//
3484// Creates a Client VPN endpoint. A Client VPN endpoint is the resource you
3485// create and configure to enable and manage client VPN sessions. It is the
3486// destination endpoint at which all client VPN sessions are terminated.
3487//
3488// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3489// with awserr.Error's Code and Message methods to get detailed information about
3490// the error.
3491//
3492// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3493// API operation CreateClientVpnEndpoint for usage and error information.
3494// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnEndpoint
3495func (c *EC2) CreateClientVpnEndpoint(input *CreateClientVpnEndpointInput) (*CreateClientVpnEndpointOutput, error) {
3496	req, out := c.CreateClientVpnEndpointRequest(input)
3497	return out, req.Send()
3498}
3499
3500// CreateClientVpnEndpointWithContext is the same as CreateClientVpnEndpoint with the addition of
3501// the ability to pass a context and additional request options.
3502//
3503// See CreateClientVpnEndpoint for details on how to use this API operation.
3504//
3505// The context must be non-nil and will be used for request cancellation. If
3506// the context is nil a panic will occur. In the future the SDK may create
3507// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3508// for more information on using Contexts.
3509func (c *EC2) CreateClientVpnEndpointWithContext(ctx aws.Context, input *CreateClientVpnEndpointInput, opts ...request.Option) (*CreateClientVpnEndpointOutput, error) {
3510	req, out := c.CreateClientVpnEndpointRequest(input)
3511	req.SetContext(ctx)
3512	req.ApplyOptions(opts...)
3513	return out, req.Send()
3514}
3515
3516const opCreateClientVpnRoute = "CreateClientVpnRoute"
3517
3518// CreateClientVpnRouteRequest generates a "aws/request.Request" representing the
3519// client's request for the CreateClientVpnRoute operation. The "output" return
3520// value will be populated with the request's response once the request completes
3521// successfully.
3522//
3523// Use "Send" method on the returned Request to send the API call to the service.
3524// the "output" return value is not valid until after Send returns without error.
3525//
3526// See CreateClientVpnRoute for more information on using the CreateClientVpnRoute
3527// API call, and error handling.
3528//
3529// This method is useful when you want to inject custom logic or configuration
3530// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3531//
3532//
3533//    // Example sending a request using the CreateClientVpnRouteRequest method.
3534//    req, resp := client.CreateClientVpnRouteRequest(params)
3535//
3536//    err := req.Send()
3537//    if err == nil { // resp is now filled
3538//        fmt.Println(resp)
3539//    }
3540//
3541// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
3542func (c *EC2) CreateClientVpnRouteRequest(input *CreateClientVpnRouteInput) (req *request.Request, output *CreateClientVpnRouteOutput) {
3543	op := &request.Operation{
3544		Name:       opCreateClientVpnRoute,
3545		HTTPMethod: "POST",
3546		HTTPPath:   "/",
3547	}
3548
3549	if input == nil {
3550		input = &CreateClientVpnRouteInput{}
3551	}
3552
3553	output = &CreateClientVpnRouteOutput{}
3554	req = c.newRequest(op, input, output)
3555	return
3556}
3557
3558// CreateClientVpnRoute API operation for Amazon Elastic Compute Cloud.
3559//
3560// Adds a route to a network to a Client VPN endpoint. Each Client VPN endpoint
3561// has a route table that describes the available destination network routes.
3562// Each route in the route table specifies the path for traffic to specific
3563// resources or networks.
3564//
3565// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3566// with awserr.Error's Code and Message methods to get detailed information about
3567// the error.
3568//
3569// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3570// API operation CreateClientVpnRoute for usage and error information.
3571// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateClientVpnRoute
3572func (c *EC2) CreateClientVpnRoute(input *CreateClientVpnRouteInput) (*CreateClientVpnRouteOutput, error) {
3573	req, out := c.CreateClientVpnRouteRequest(input)
3574	return out, req.Send()
3575}
3576
3577// CreateClientVpnRouteWithContext is the same as CreateClientVpnRoute with the addition of
3578// the ability to pass a context and additional request options.
3579//
3580// See CreateClientVpnRoute for details on how to use this API operation.
3581//
3582// The context must be non-nil and will be used for request cancellation. If
3583// the context is nil a panic will occur. In the future the SDK may create
3584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3585// for more information on using Contexts.
3586func (c *EC2) CreateClientVpnRouteWithContext(ctx aws.Context, input *CreateClientVpnRouteInput, opts ...request.Option) (*CreateClientVpnRouteOutput, error) {
3587	req, out := c.CreateClientVpnRouteRequest(input)
3588	req.SetContext(ctx)
3589	req.ApplyOptions(opts...)
3590	return out, req.Send()
3591}
3592
3593const opCreateCustomerGateway = "CreateCustomerGateway"
3594
3595// CreateCustomerGatewayRequest generates a "aws/request.Request" representing the
3596// client's request for the CreateCustomerGateway operation. The "output" return
3597// value will be populated with the request's response once the request completes
3598// successfully.
3599//
3600// Use "Send" method on the returned Request to send the API call to the service.
3601// the "output" return value is not valid until after Send returns without error.
3602//
3603// See CreateCustomerGateway for more information on using the CreateCustomerGateway
3604// API call, and error handling.
3605//
3606// This method is useful when you want to inject custom logic or configuration
3607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3608//
3609//
3610//    // Example sending a request using the CreateCustomerGatewayRequest method.
3611//    req, resp := client.CreateCustomerGatewayRequest(params)
3612//
3613//    err := req.Send()
3614//    if err == nil { // resp is now filled
3615//        fmt.Println(resp)
3616//    }
3617//
3618// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
3619func (c *EC2) CreateCustomerGatewayRequest(input *CreateCustomerGatewayInput) (req *request.Request, output *CreateCustomerGatewayOutput) {
3620	op := &request.Operation{
3621		Name:       opCreateCustomerGateway,
3622		HTTPMethod: "POST",
3623		HTTPPath:   "/",
3624	}
3625
3626	if input == nil {
3627		input = &CreateCustomerGatewayInput{}
3628	}
3629
3630	output = &CreateCustomerGatewayOutput{}
3631	req = c.newRequest(op, input, output)
3632	return
3633}
3634
3635// CreateCustomerGateway API operation for Amazon Elastic Compute Cloud.
3636//
3637// Provides information to AWS about your VPN customer gateway device. The customer
3638// gateway is the appliance at your end of the VPN connection. (The device on
3639// the AWS side of the VPN connection is the virtual private gateway.) You must
3640// provide the Internet-routable IP address of the customer gateway's external
3641// interface. The IP address must be static and can be behind a device performing
3642// network address translation (NAT).
3643//
3644// For devices that use Border Gateway Protocol (BGP), you can also provide
3645// the device's BGP Autonomous System Number (ASN). You can use an existing
3646// ASN assigned to your network. If you don't have an ASN already, you can use
3647// a private ASN (in the 64512 - 65534 range).
3648//
3649// Amazon EC2 supports all 2-byte ASN numbers in the range of 1 - 65534, with
3650// the exception of 7224, which is reserved in the us-east-1 Region, and 9059,
3651// which is reserved in the eu-west-1 Region.
3652//
3653// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
3654// in the AWS Site-to-Site VPN User Guide.
3655//
3656// To create more than one customer gateway with the same VPN type, IP address,
3657// and BGP ASN, specify a unique device name for each customer gateway. Identical
3658// requests return information about the existing customer gateway and do not
3659// create new customer gateways.
3660//
3661// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3662// with awserr.Error's Code and Message methods to get detailed information about
3663// the error.
3664//
3665// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3666// API operation CreateCustomerGateway for usage and error information.
3667// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateCustomerGateway
3668func (c *EC2) CreateCustomerGateway(input *CreateCustomerGatewayInput) (*CreateCustomerGatewayOutput, error) {
3669	req, out := c.CreateCustomerGatewayRequest(input)
3670	return out, req.Send()
3671}
3672
3673// CreateCustomerGatewayWithContext is the same as CreateCustomerGateway with the addition of
3674// the ability to pass a context and additional request options.
3675//
3676// See CreateCustomerGateway for details on how to use this API operation.
3677//
3678// The context must be non-nil and will be used for request cancellation. If
3679// the context is nil a panic will occur. In the future the SDK may create
3680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3681// for more information on using Contexts.
3682func (c *EC2) CreateCustomerGatewayWithContext(ctx aws.Context, input *CreateCustomerGatewayInput, opts ...request.Option) (*CreateCustomerGatewayOutput, error) {
3683	req, out := c.CreateCustomerGatewayRequest(input)
3684	req.SetContext(ctx)
3685	req.ApplyOptions(opts...)
3686	return out, req.Send()
3687}
3688
3689const opCreateDefaultSubnet = "CreateDefaultSubnet"
3690
3691// CreateDefaultSubnetRequest generates a "aws/request.Request" representing the
3692// client's request for the CreateDefaultSubnet operation. The "output" return
3693// value will be populated with the request's response once the request completes
3694// successfully.
3695//
3696// Use "Send" method on the returned Request to send the API call to the service.
3697// the "output" return value is not valid until after Send returns without error.
3698//
3699// See CreateDefaultSubnet for more information on using the CreateDefaultSubnet
3700// API call, and error handling.
3701//
3702// This method is useful when you want to inject custom logic or configuration
3703// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3704//
3705//
3706//    // Example sending a request using the CreateDefaultSubnetRequest method.
3707//    req, resp := client.CreateDefaultSubnetRequest(params)
3708//
3709//    err := req.Send()
3710//    if err == nil { // resp is now filled
3711//        fmt.Println(resp)
3712//    }
3713//
3714// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
3715func (c *EC2) CreateDefaultSubnetRequest(input *CreateDefaultSubnetInput) (req *request.Request, output *CreateDefaultSubnetOutput) {
3716	op := &request.Operation{
3717		Name:       opCreateDefaultSubnet,
3718		HTTPMethod: "POST",
3719		HTTPPath:   "/",
3720	}
3721
3722	if input == nil {
3723		input = &CreateDefaultSubnetInput{}
3724	}
3725
3726	output = &CreateDefaultSubnetOutput{}
3727	req = c.newRequest(op, input, output)
3728	return
3729}
3730
3731// CreateDefaultSubnet API operation for Amazon Elastic Compute Cloud.
3732//
3733// Creates a default subnet with a size /20 IPv4 CIDR block in the specified
3734// Availability Zone in your default VPC. You can have only one default subnet
3735// per Availability Zone. For more information, see Creating a Default Subnet
3736// (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html#create-default-subnet)
3737// in the Amazon Virtual Private Cloud User Guide.
3738//
3739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3740// with awserr.Error's Code and Message methods to get detailed information about
3741// the error.
3742//
3743// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3744// API operation CreateDefaultSubnet for usage and error information.
3745// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultSubnet
3746func (c *EC2) CreateDefaultSubnet(input *CreateDefaultSubnetInput) (*CreateDefaultSubnetOutput, error) {
3747	req, out := c.CreateDefaultSubnetRequest(input)
3748	return out, req.Send()
3749}
3750
3751// CreateDefaultSubnetWithContext is the same as CreateDefaultSubnet with the addition of
3752// the ability to pass a context and additional request options.
3753//
3754// See CreateDefaultSubnet for details on how to use this API operation.
3755//
3756// The context must be non-nil and will be used for request cancellation. If
3757// the context is nil a panic will occur. In the future the SDK may create
3758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3759// for more information on using Contexts.
3760func (c *EC2) CreateDefaultSubnetWithContext(ctx aws.Context, input *CreateDefaultSubnetInput, opts ...request.Option) (*CreateDefaultSubnetOutput, error) {
3761	req, out := c.CreateDefaultSubnetRequest(input)
3762	req.SetContext(ctx)
3763	req.ApplyOptions(opts...)
3764	return out, req.Send()
3765}
3766
3767const opCreateDefaultVpc = "CreateDefaultVpc"
3768
3769// CreateDefaultVpcRequest generates a "aws/request.Request" representing the
3770// client's request for the CreateDefaultVpc operation. The "output" return
3771// value will be populated with the request's response once the request completes
3772// successfully.
3773//
3774// Use "Send" method on the returned Request to send the API call to the service.
3775// the "output" return value is not valid until after Send returns without error.
3776//
3777// See CreateDefaultVpc for more information on using the CreateDefaultVpc
3778// API call, and error handling.
3779//
3780// This method is useful when you want to inject custom logic or configuration
3781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3782//
3783//
3784//    // Example sending a request using the CreateDefaultVpcRequest method.
3785//    req, resp := client.CreateDefaultVpcRequest(params)
3786//
3787//    err := req.Send()
3788//    if err == nil { // resp is now filled
3789//        fmt.Println(resp)
3790//    }
3791//
3792// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
3793func (c *EC2) CreateDefaultVpcRequest(input *CreateDefaultVpcInput) (req *request.Request, output *CreateDefaultVpcOutput) {
3794	op := &request.Operation{
3795		Name:       opCreateDefaultVpc,
3796		HTTPMethod: "POST",
3797		HTTPPath:   "/",
3798	}
3799
3800	if input == nil {
3801		input = &CreateDefaultVpcInput{}
3802	}
3803
3804	output = &CreateDefaultVpcOutput{}
3805	req = c.newRequest(op, input, output)
3806	return
3807}
3808
3809// CreateDefaultVpc API operation for Amazon Elastic Compute Cloud.
3810//
3811// Creates a default VPC with a size /16 IPv4 CIDR block and a default subnet
3812// in each Availability Zone. For more information about the components of a
3813// default VPC, see Default VPC and Default Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html)
3814// in the Amazon Virtual Private Cloud User Guide. You cannot specify the components
3815// of the default VPC yourself.
3816//
3817// If you deleted your previous default VPC, you can create a default VPC. You
3818// cannot have more than one default VPC per Region.
3819//
3820// If your account supports EC2-Classic, you cannot use this action to create
3821// a default VPC in a Region that supports EC2-Classic. If you want a default
3822// VPC in a Region that supports EC2-Classic, see "I really want a default VPC
3823// for my existing EC2 account. Is that possible?" in the Default VPCs FAQ (http://aws.amazon.com/vpc/faqs/#Default_VPCs).
3824//
3825// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3826// with awserr.Error's Code and Message methods to get detailed information about
3827// the error.
3828//
3829// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3830// API operation CreateDefaultVpc for usage and error information.
3831// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDefaultVpc
3832func (c *EC2) CreateDefaultVpc(input *CreateDefaultVpcInput) (*CreateDefaultVpcOutput, error) {
3833	req, out := c.CreateDefaultVpcRequest(input)
3834	return out, req.Send()
3835}
3836
3837// CreateDefaultVpcWithContext is the same as CreateDefaultVpc with the addition of
3838// the ability to pass a context and additional request options.
3839//
3840// See CreateDefaultVpc for details on how to use this API operation.
3841//
3842// The context must be non-nil and will be used for request cancellation. If
3843// the context is nil a panic will occur. In the future the SDK may create
3844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3845// for more information on using Contexts.
3846func (c *EC2) CreateDefaultVpcWithContext(ctx aws.Context, input *CreateDefaultVpcInput, opts ...request.Option) (*CreateDefaultVpcOutput, error) {
3847	req, out := c.CreateDefaultVpcRequest(input)
3848	req.SetContext(ctx)
3849	req.ApplyOptions(opts...)
3850	return out, req.Send()
3851}
3852
3853const opCreateDhcpOptions = "CreateDhcpOptions"
3854
3855// CreateDhcpOptionsRequest generates a "aws/request.Request" representing the
3856// client's request for the CreateDhcpOptions operation. The "output" return
3857// value will be populated with the request's response once the request completes
3858// successfully.
3859//
3860// Use "Send" method on the returned Request to send the API call to the service.
3861// the "output" return value is not valid until after Send returns without error.
3862//
3863// See CreateDhcpOptions for more information on using the CreateDhcpOptions
3864// API call, and error handling.
3865//
3866// This method is useful when you want to inject custom logic or configuration
3867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3868//
3869//
3870//    // Example sending a request using the CreateDhcpOptionsRequest method.
3871//    req, resp := client.CreateDhcpOptionsRequest(params)
3872//
3873//    err := req.Send()
3874//    if err == nil { // resp is now filled
3875//        fmt.Println(resp)
3876//    }
3877//
3878// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
3879func (c *EC2) CreateDhcpOptionsRequest(input *CreateDhcpOptionsInput) (req *request.Request, output *CreateDhcpOptionsOutput) {
3880	op := &request.Operation{
3881		Name:       opCreateDhcpOptions,
3882		HTTPMethod: "POST",
3883		HTTPPath:   "/",
3884	}
3885
3886	if input == nil {
3887		input = &CreateDhcpOptionsInput{}
3888	}
3889
3890	output = &CreateDhcpOptionsOutput{}
3891	req = c.newRequest(op, input, output)
3892	return
3893}
3894
3895// CreateDhcpOptions API operation for Amazon Elastic Compute Cloud.
3896//
3897// Creates a set of DHCP options for your VPC. After creating the set, you must
3898// associate it with the VPC, causing all existing and new instances that you
3899// launch in the VPC to use this set of DHCP options. The following are the
3900// individual DHCP options you can specify. For more information about the options,
3901// see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
3902//
3903//    * domain-name-servers - The IP addresses of up to four domain name servers,
3904//    or AmazonProvidedDNS. The default DHCP option set specifies AmazonProvidedDNS.
3905//    If specifying more than one domain name server, specify the IP addresses
3906//    in a single parameter, separated by commas. To have your instance receive
3907//    a custom DNS hostname as specified in domain-name, you must set domain-name-servers
3908//    to a custom DNS server.
3909//
3910//    * domain-name - If you're using AmazonProvidedDNS in us-east-1, specify
3911//    ec2.internal. If you're using AmazonProvidedDNS in another Region, specify
3912//    region.compute.internal (for example, ap-northeast-1.compute.internal).
3913//    Otherwise, specify a domain name (for example, MyCompany.com). This value
3914//    is used to complete unqualified DNS hostnames. Important: Some Linux operating
3915//    systems accept multiple domain names separated by spaces. However, Windows
3916//    and other Linux operating systems treat the value as a single domain,
3917//    which results in unexpected behavior. If your DHCP options set is associated
3918//    with a VPC that has instances with multiple operating systems, specify
3919//    only one domain name.
3920//
3921//    * ntp-servers - The IP addresses of up to four Network Time Protocol (NTP)
3922//    servers.
3923//
3924//    * netbios-name-servers - The IP addresses of up to four NetBIOS name servers.
3925//
3926//    * netbios-node-type - The NetBIOS node type (1, 2, 4, or 8). We recommend
3927//    that you specify 2 (broadcast and multicast are not currently supported).
3928//    For more information about these node types, see RFC 2132 (http://www.ietf.org/rfc/rfc2132.txt).
3929//
3930// Your VPC automatically starts out with a set of DHCP options that includes
3931// only a DNS server that we provide (AmazonProvidedDNS). If you create a set
3932// of options, and if your VPC has an internet gateway, make sure to set the
3933// domain-name-servers option either to AmazonProvidedDNS or to a domain name
3934// server of your choice. For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
3935// in the Amazon Virtual Private Cloud User Guide.
3936//
3937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3938// with awserr.Error's Code and Message methods to get detailed information about
3939// the error.
3940//
3941// See the AWS API reference guide for Amazon Elastic Compute Cloud's
3942// API operation CreateDhcpOptions for usage and error information.
3943// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateDhcpOptions
3944func (c *EC2) CreateDhcpOptions(input *CreateDhcpOptionsInput) (*CreateDhcpOptionsOutput, error) {
3945	req, out := c.CreateDhcpOptionsRequest(input)
3946	return out, req.Send()
3947}
3948
3949// CreateDhcpOptionsWithContext is the same as CreateDhcpOptions with the addition of
3950// the ability to pass a context and additional request options.
3951//
3952// See CreateDhcpOptions for details on how to use this API operation.
3953//
3954// The context must be non-nil and will be used for request cancellation. If
3955// the context is nil a panic will occur. In the future the SDK may create
3956// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3957// for more information on using Contexts.
3958func (c *EC2) CreateDhcpOptionsWithContext(ctx aws.Context, input *CreateDhcpOptionsInput, opts ...request.Option) (*CreateDhcpOptionsOutput, error) {
3959	req, out := c.CreateDhcpOptionsRequest(input)
3960	req.SetContext(ctx)
3961	req.ApplyOptions(opts...)
3962	return out, req.Send()
3963}
3964
3965const opCreateEgressOnlyInternetGateway = "CreateEgressOnlyInternetGateway"
3966
3967// CreateEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
3968// client's request for the CreateEgressOnlyInternetGateway operation. The "output" return
3969// value will be populated with the request's response once the request completes
3970// successfully.
3971//
3972// Use "Send" method on the returned Request to send the API call to the service.
3973// the "output" return value is not valid until after Send returns without error.
3974//
3975// See CreateEgressOnlyInternetGateway for more information on using the CreateEgressOnlyInternetGateway
3976// API call, and error handling.
3977//
3978// This method is useful when you want to inject custom logic or configuration
3979// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3980//
3981//
3982//    // Example sending a request using the CreateEgressOnlyInternetGatewayRequest method.
3983//    req, resp := client.CreateEgressOnlyInternetGatewayRequest(params)
3984//
3985//    err := req.Send()
3986//    if err == nil { // resp is now filled
3987//        fmt.Println(resp)
3988//    }
3989//
3990// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
3991func (c *EC2) CreateEgressOnlyInternetGatewayRequest(input *CreateEgressOnlyInternetGatewayInput) (req *request.Request, output *CreateEgressOnlyInternetGatewayOutput) {
3992	op := &request.Operation{
3993		Name:       opCreateEgressOnlyInternetGateway,
3994		HTTPMethod: "POST",
3995		HTTPPath:   "/",
3996	}
3997
3998	if input == nil {
3999		input = &CreateEgressOnlyInternetGatewayInput{}
4000	}
4001
4002	output = &CreateEgressOnlyInternetGatewayOutput{}
4003	req = c.newRequest(op, input, output)
4004	return
4005}
4006
4007// CreateEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
4008//
4009// [IPv6 only] Creates an egress-only internet gateway for your VPC. An egress-only
4010// internet gateway is used to enable outbound communication over IPv6 from
4011// instances in your VPC to the internet, and prevents hosts outside of your
4012// VPC from initiating an IPv6 connection with your instance.
4013//
4014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4015// with awserr.Error's Code and Message methods to get detailed information about
4016// the error.
4017//
4018// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4019// API operation CreateEgressOnlyInternetGateway for usage and error information.
4020// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateEgressOnlyInternetGateway
4021func (c *EC2) CreateEgressOnlyInternetGateway(input *CreateEgressOnlyInternetGatewayInput) (*CreateEgressOnlyInternetGatewayOutput, error) {
4022	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
4023	return out, req.Send()
4024}
4025
4026// CreateEgressOnlyInternetGatewayWithContext is the same as CreateEgressOnlyInternetGateway with the addition of
4027// the ability to pass a context and additional request options.
4028//
4029// See CreateEgressOnlyInternetGateway for details on how to use this API operation.
4030//
4031// The context must be non-nil and will be used for request cancellation. If
4032// the context is nil a panic will occur. In the future the SDK may create
4033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4034// for more information on using Contexts.
4035func (c *EC2) CreateEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *CreateEgressOnlyInternetGatewayInput, opts ...request.Option) (*CreateEgressOnlyInternetGatewayOutput, error) {
4036	req, out := c.CreateEgressOnlyInternetGatewayRequest(input)
4037	req.SetContext(ctx)
4038	req.ApplyOptions(opts...)
4039	return out, req.Send()
4040}
4041
4042const opCreateFleet = "CreateFleet"
4043
4044// CreateFleetRequest generates a "aws/request.Request" representing the
4045// client's request for the CreateFleet operation. The "output" return
4046// value will be populated with the request's response once the request completes
4047// successfully.
4048//
4049// Use "Send" method on the returned Request to send the API call to the service.
4050// the "output" return value is not valid until after Send returns without error.
4051//
4052// See CreateFleet for more information on using the CreateFleet
4053// API call, and error handling.
4054//
4055// This method is useful when you want to inject custom logic or configuration
4056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4057//
4058//
4059//    // Example sending a request using the CreateFleetRequest method.
4060//    req, resp := client.CreateFleetRequest(params)
4061//
4062//    err := req.Send()
4063//    if err == nil { // resp is now filled
4064//        fmt.Println(resp)
4065//    }
4066//
4067// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
4068func (c *EC2) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
4069	op := &request.Operation{
4070		Name:       opCreateFleet,
4071		HTTPMethod: "POST",
4072		HTTPPath:   "/",
4073	}
4074
4075	if input == nil {
4076		input = &CreateFleetInput{}
4077	}
4078
4079	output = &CreateFleetOutput{}
4080	req = c.newRequest(op, input, output)
4081	return
4082}
4083
4084// CreateFleet API operation for Amazon Elastic Compute Cloud.
4085//
4086// Launches an EC2 Fleet.
4087//
4088// You can create a single EC2 Fleet that includes multiple launch specifications
4089// that vary by instance type, AMI, Availability Zone, or subnet.
4090//
4091// For more information, see Launching an EC2 Fleet (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html)
4092// in the Amazon Elastic Compute Cloud User Guide.
4093//
4094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4095// with awserr.Error's Code and Message methods to get detailed information about
4096// the error.
4097//
4098// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4099// API operation CreateFleet for usage and error information.
4100// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFleet
4101func (c *EC2) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
4102	req, out := c.CreateFleetRequest(input)
4103	return out, req.Send()
4104}
4105
4106// CreateFleetWithContext is the same as CreateFleet with the addition of
4107// the ability to pass a context and additional request options.
4108//
4109// See CreateFleet for details on how to use this API operation.
4110//
4111// The context must be non-nil and will be used for request cancellation. If
4112// the context is nil a panic will occur. In the future the SDK may create
4113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4114// for more information on using Contexts.
4115func (c *EC2) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
4116	req, out := c.CreateFleetRequest(input)
4117	req.SetContext(ctx)
4118	req.ApplyOptions(opts...)
4119	return out, req.Send()
4120}
4121
4122const opCreateFlowLogs = "CreateFlowLogs"
4123
4124// CreateFlowLogsRequest generates a "aws/request.Request" representing the
4125// client's request for the CreateFlowLogs operation. The "output" return
4126// value will be populated with the request's response once the request completes
4127// successfully.
4128//
4129// Use "Send" method on the returned Request to send the API call to the service.
4130// the "output" return value is not valid until after Send returns without error.
4131//
4132// See CreateFlowLogs for more information on using the CreateFlowLogs
4133// API call, and error handling.
4134//
4135// This method is useful when you want to inject custom logic or configuration
4136// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4137//
4138//
4139//    // Example sending a request using the CreateFlowLogsRequest method.
4140//    req, resp := client.CreateFlowLogsRequest(params)
4141//
4142//    err := req.Send()
4143//    if err == nil { // resp is now filled
4144//        fmt.Println(resp)
4145//    }
4146//
4147// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
4148func (c *EC2) CreateFlowLogsRequest(input *CreateFlowLogsInput) (req *request.Request, output *CreateFlowLogsOutput) {
4149	op := &request.Operation{
4150		Name:       opCreateFlowLogs,
4151		HTTPMethod: "POST",
4152		HTTPPath:   "/",
4153	}
4154
4155	if input == nil {
4156		input = &CreateFlowLogsInput{}
4157	}
4158
4159	output = &CreateFlowLogsOutput{}
4160	req = c.newRequest(op, input, output)
4161	return
4162}
4163
4164// CreateFlowLogs API operation for Amazon Elastic Compute Cloud.
4165//
4166// Creates one or more flow logs to capture information about IP traffic for
4167// a specific network interface, subnet, or VPC.
4168//
4169// Flow log data for a monitored network interface is recorded as flow log records,
4170// which are log events consisting of fields that describe the traffic flow.
4171// For more information, see Flow Log Records (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html#flow-log-records)
4172// in the Amazon Virtual Private Cloud User Guide.
4173//
4174// When publishing to CloudWatch Logs, flow log records are published to a log
4175// group, and each network interface has a unique log stream in the log group.
4176// When publishing to Amazon S3, flow log records for all of the monitored network
4177// interfaces are published to a single log file object that is stored in the
4178// specified bucket.
4179//
4180// For more information, see VPC Flow Logs (https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)
4181// in the Amazon Virtual Private Cloud User Guide.
4182//
4183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4184// with awserr.Error's Code and Message methods to get detailed information about
4185// the error.
4186//
4187// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4188// API operation CreateFlowLogs for usage and error information.
4189// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFlowLogs
4190func (c *EC2) CreateFlowLogs(input *CreateFlowLogsInput) (*CreateFlowLogsOutput, error) {
4191	req, out := c.CreateFlowLogsRequest(input)
4192	return out, req.Send()
4193}
4194
4195// CreateFlowLogsWithContext is the same as CreateFlowLogs with the addition of
4196// the ability to pass a context and additional request options.
4197//
4198// See CreateFlowLogs for details on how to use this API operation.
4199//
4200// The context must be non-nil and will be used for request cancellation. If
4201// the context is nil a panic will occur. In the future the SDK may create
4202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4203// for more information on using Contexts.
4204func (c *EC2) CreateFlowLogsWithContext(ctx aws.Context, input *CreateFlowLogsInput, opts ...request.Option) (*CreateFlowLogsOutput, error) {
4205	req, out := c.CreateFlowLogsRequest(input)
4206	req.SetContext(ctx)
4207	req.ApplyOptions(opts...)
4208	return out, req.Send()
4209}
4210
4211const opCreateFpgaImage = "CreateFpgaImage"
4212
4213// CreateFpgaImageRequest generates a "aws/request.Request" representing the
4214// client's request for the CreateFpgaImage operation. The "output" return
4215// value will be populated with the request's response once the request completes
4216// successfully.
4217//
4218// Use "Send" method on the returned Request to send the API call to the service.
4219// the "output" return value is not valid until after Send returns without error.
4220//
4221// See CreateFpgaImage for more information on using the CreateFpgaImage
4222// API call, and error handling.
4223//
4224// This method is useful when you want to inject custom logic or configuration
4225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4226//
4227//
4228//    // Example sending a request using the CreateFpgaImageRequest method.
4229//    req, resp := client.CreateFpgaImageRequest(params)
4230//
4231//    err := req.Send()
4232//    if err == nil { // resp is now filled
4233//        fmt.Println(resp)
4234//    }
4235//
4236// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4237func (c *EC2) CreateFpgaImageRequest(input *CreateFpgaImageInput) (req *request.Request, output *CreateFpgaImageOutput) {
4238	op := &request.Operation{
4239		Name:       opCreateFpgaImage,
4240		HTTPMethod: "POST",
4241		HTTPPath:   "/",
4242	}
4243
4244	if input == nil {
4245		input = &CreateFpgaImageInput{}
4246	}
4247
4248	output = &CreateFpgaImageOutput{}
4249	req = c.newRequest(op, input, output)
4250	return
4251}
4252
4253// CreateFpgaImage API operation for Amazon Elastic Compute Cloud.
4254//
4255// Creates an Amazon FPGA Image (AFI) from the specified design checkpoint (DCP).
4256//
4257// The create operation is asynchronous. To verify that the AFI is ready for
4258// use, check the output logs.
4259//
4260// An AFI contains the FPGA bitstream that is ready to download to an FPGA.
4261// You can securely deploy an AFI on multiple FPGA-accelerated instances. For
4262// more information, see the AWS FPGA Hardware Development Kit (https://github.com/aws/aws-fpga/).
4263//
4264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4265// with awserr.Error's Code and Message methods to get detailed information about
4266// the error.
4267//
4268// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4269// API operation CreateFpgaImage for usage and error information.
4270// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateFpgaImage
4271func (c *EC2) CreateFpgaImage(input *CreateFpgaImageInput) (*CreateFpgaImageOutput, error) {
4272	req, out := c.CreateFpgaImageRequest(input)
4273	return out, req.Send()
4274}
4275
4276// CreateFpgaImageWithContext is the same as CreateFpgaImage with the addition of
4277// the ability to pass a context and additional request options.
4278//
4279// See CreateFpgaImage for details on how to use this API operation.
4280//
4281// The context must be non-nil and will be used for request cancellation. If
4282// the context is nil a panic will occur. In the future the SDK may create
4283// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4284// for more information on using Contexts.
4285func (c *EC2) CreateFpgaImageWithContext(ctx aws.Context, input *CreateFpgaImageInput, opts ...request.Option) (*CreateFpgaImageOutput, error) {
4286	req, out := c.CreateFpgaImageRequest(input)
4287	req.SetContext(ctx)
4288	req.ApplyOptions(opts...)
4289	return out, req.Send()
4290}
4291
4292const opCreateImage = "CreateImage"
4293
4294// CreateImageRequest generates a "aws/request.Request" representing the
4295// client's request for the CreateImage operation. The "output" return
4296// value will be populated with the request's response once the request completes
4297// successfully.
4298//
4299// Use "Send" method on the returned Request to send the API call to the service.
4300// the "output" return value is not valid until after Send returns without error.
4301//
4302// See CreateImage for more information on using the CreateImage
4303// API call, and error handling.
4304//
4305// This method is useful when you want to inject custom logic or configuration
4306// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4307//
4308//
4309//    // Example sending a request using the CreateImageRequest method.
4310//    req, resp := client.CreateImageRequest(params)
4311//
4312//    err := req.Send()
4313//    if err == nil { // resp is now filled
4314//        fmt.Println(resp)
4315//    }
4316//
4317// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4318func (c *EC2) CreateImageRequest(input *CreateImageInput) (req *request.Request, output *CreateImageOutput) {
4319	op := &request.Operation{
4320		Name:       opCreateImage,
4321		HTTPMethod: "POST",
4322		HTTPPath:   "/",
4323	}
4324
4325	if input == nil {
4326		input = &CreateImageInput{}
4327	}
4328
4329	output = &CreateImageOutput{}
4330	req = c.newRequest(op, input, output)
4331	return
4332}
4333
4334// CreateImage API operation for Amazon Elastic Compute Cloud.
4335//
4336// Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that
4337// is either running or stopped.
4338//
4339// If you customized your instance with instance store volumes or EBS volumes
4340// in addition to the root device volume, the new AMI contains block device
4341// mapping information for those volumes. When you launch an instance from this
4342// new AMI, the instance automatically launches with those additional volumes.
4343//
4344// For more information, see Creating Amazon EBS-Backed Linux AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
4345// in the Amazon Elastic Compute Cloud User Guide.
4346//
4347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4348// with awserr.Error's Code and Message methods to get detailed information about
4349// the error.
4350//
4351// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4352// API operation CreateImage for usage and error information.
4353// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateImage
4354func (c *EC2) CreateImage(input *CreateImageInput) (*CreateImageOutput, error) {
4355	req, out := c.CreateImageRequest(input)
4356	return out, req.Send()
4357}
4358
4359// CreateImageWithContext is the same as CreateImage with the addition of
4360// the ability to pass a context and additional request options.
4361//
4362// See CreateImage for details on how to use this API operation.
4363//
4364// The context must be non-nil and will be used for request cancellation. If
4365// the context is nil a panic will occur. In the future the SDK may create
4366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4367// for more information on using Contexts.
4368func (c *EC2) CreateImageWithContext(ctx aws.Context, input *CreateImageInput, opts ...request.Option) (*CreateImageOutput, error) {
4369	req, out := c.CreateImageRequest(input)
4370	req.SetContext(ctx)
4371	req.ApplyOptions(opts...)
4372	return out, req.Send()
4373}
4374
4375const opCreateInstanceExportTask = "CreateInstanceExportTask"
4376
4377// CreateInstanceExportTaskRequest generates a "aws/request.Request" representing the
4378// client's request for the CreateInstanceExportTask operation. The "output" return
4379// value will be populated with the request's response once the request completes
4380// successfully.
4381//
4382// Use "Send" method on the returned Request to send the API call to the service.
4383// the "output" return value is not valid until after Send returns without error.
4384//
4385// See CreateInstanceExportTask for more information on using the CreateInstanceExportTask
4386// API call, and error handling.
4387//
4388// This method is useful when you want to inject custom logic or configuration
4389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4390//
4391//
4392//    // Example sending a request using the CreateInstanceExportTaskRequest method.
4393//    req, resp := client.CreateInstanceExportTaskRequest(params)
4394//
4395//    err := req.Send()
4396//    if err == nil { // resp is now filled
4397//        fmt.Println(resp)
4398//    }
4399//
4400// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4401func (c *EC2) CreateInstanceExportTaskRequest(input *CreateInstanceExportTaskInput) (req *request.Request, output *CreateInstanceExportTaskOutput) {
4402	op := &request.Operation{
4403		Name:       opCreateInstanceExportTask,
4404		HTTPMethod: "POST",
4405		HTTPPath:   "/",
4406	}
4407
4408	if input == nil {
4409		input = &CreateInstanceExportTaskInput{}
4410	}
4411
4412	output = &CreateInstanceExportTaskOutput{}
4413	req = c.newRequest(op, input, output)
4414	return
4415}
4416
4417// CreateInstanceExportTask API operation for Amazon Elastic Compute Cloud.
4418//
4419// Exports a running or stopped instance to an S3 bucket.
4420//
4421// For information about the supported operating systems, image formats, and
4422// known limitations for the types of instances you can export, see Exporting
4423// an Instance as a VM Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport.html)
4424// in the VM Import/Export User Guide.
4425//
4426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4427// with awserr.Error's Code and Message methods to get detailed information about
4428// the error.
4429//
4430// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4431// API operation CreateInstanceExportTask for usage and error information.
4432// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInstanceExportTask
4433func (c *EC2) CreateInstanceExportTask(input *CreateInstanceExportTaskInput) (*CreateInstanceExportTaskOutput, error) {
4434	req, out := c.CreateInstanceExportTaskRequest(input)
4435	return out, req.Send()
4436}
4437
4438// CreateInstanceExportTaskWithContext is the same as CreateInstanceExportTask with the addition of
4439// the ability to pass a context and additional request options.
4440//
4441// See CreateInstanceExportTask for details on how to use this API operation.
4442//
4443// The context must be non-nil and will be used for request cancellation. If
4444// the context is nil a panic will occur. In the future the SDK may create
4445// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4446// for more information on using Contexts.
4447func (c *EC2) CreateInstanceExportTaskWithContext(ctx aws.Context, input *CreateInstanceExportTaskInput, opts ...request.Option) (*CreateInstanceExportTaskOutput, error) {
4448	req, out := c.CreateInstanceExportTaskRequest(input)
4449	req.SetContext(ctx)
4450	req.ApplyOptions(opts...)
4451	return out, req.Send()
4452}
4453
4454const opCreateInternetGateway = "CreateInternetGateway"
4455
4456// CreateInternetGatewayRequest generates a "aws/request.Request" representing the
4457// client's request for the CreateInternetGateway operation. The "output" return
4458// value will be populated with the request's response once the request completes
4459// successfully.
4460//
4461// Use "Send" method on the returned Request to send the API call to the service.
4462// the "output" return value is not valid until after Send returns without error.
4463//
4464// See CreateInternetGateway for more information on using the CreateInternetGateway
4465// API call, and error handling.
4466//
4467// This method is useful when you want to inject custom logic or configuration
4468// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4469//
4470//
4471//    // Example sending a request using the CreateInternetGatewayRequest method.
4472//    req, resp := client.CreateInternetGatewayRequest(params)
4473//
4474//    err := req.Send()
4475//    if err == nil { // resp is now filled
4476//        fmt.Println(resp)
4477//    }
4478//
4479// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
4480func (c *EC2) CreateInternetGatewayRequest(input *CreateInternetGatewayInput) (req *request.Request, output *CreateInternetGatewayOutput) {
4481	op := &request.Operation{
4482		Name:       opCreateInternetGateway,
4483		HTTPMethod: "POST",
4484		HTTPPath:   "/",
4485	}
4486
4487	if input == nil {
4488		input = &CreateInternetGatewayInput{}
4489	}
4490
4491	output = &CreateInternetGatewayOutput{}
4492	req = c.newRequest(op, input, output)
4493	return
4494}
4495
4496// CreateInternetGateway API operation for Amazon Elastic Compute Cloud.
4497//
4498// Creates an internet gateway for use with a VPC. After creating the internet
4499// gateway, you attach it to a VPC using AttachInternetGateway.
4500//
4501// For more information about your VPC and internet gateway, see the Amazon
4502// Virtual Private Cloud User Guide (https://docs.aws.amazon.com/vpc/latest/userguide/).
4503//
4504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4505// with awserr.Error's Code and Message methods to get detailed information about
4506// the error.
4507//
4508// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4509// API operation CreateInternetGateway for usage and error information.
4510// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateInternetGateway
4511func (c *EC2) CreateInternetGateway(input *CreateInternetGatewayInput) (*CreateInternetGatewayOutput, error) {
4512	req, out := c.CreateInternetGatewayRequest(input)
4513	return out, req.Send()
4514}
4515
4516// CreateInternetGatewayWithContext is the same as CreateInternetGateway with the addition of
4517// the ability to pass a context and additional request options.
4518//
4519// See CreateInternetGateway for details on how to use this API operation.
4520//
4521// The context must be non-nil and will be used for request cancellation. If
4522// the context is nil a panic will occur. In the future the SDK may create
4523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4524// for more information on using Contexts.
4525func (c *EC2) CreateInternetGatewayWithContext(ctx aws.Context, input *CreateInternetGatewayInput, opts ...request.Option) (*CreateInternetGatewayOutput, error) {
4526	req, out := c.CreateInternetGatewayRequest(input)
4527	req.SetContext(ctx)
4528	req.ApplyOptions(opts...)
4529	return out, req.Send()
4530}
4531
4532const opCreateKeyPair = "CreateKeyPair"
4533
4534// CreateKeyPairRequest generates a "aws/request.Request" representing the
4535// client's request for the CreateKeyPair operation. The "output" return
4536// value will be populated with the request's response once the request completes
4537// successfully.
4538//
4539// Use "Send" method on the returned Request to send the API call to the service.
4540// the "output" return value is not valid until after Send returns without error.
4541//
4542// See CreateKeyPair for more information on using the CreateKeyPair
4543// API call, and error handling.
4544//
4545// This method is useful when you want to inject custom logic or configuration
4546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4547//
4548//
4549//    // Example sending a request using the CreateKeyPairRequest method.
4550//    req, resp := client.CreateKeyPairRequest(params)
4551//
4552//    err := req.Send()
4553//    if err == nil { // resp is now filled
4554//        fmt.Println(resp)
4555//    }
4556//
4557// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
4558func (c *EC2) CreateKeyPairRequest(input *CreateKeyPairInput) (req *request.Request, output *CreateKeyPairOutput) {
4559	op := &request.Operation{
4560		Name:       opCreateKeyPair,
4561		HTTPMethod: "POST",
4562		HTTPPath:   "/",
4563	}
4564
4565	if input == nil {
4566		input = &CreateKeyPairInput{}
4567	}
4568
4569	output = &CreateKeyPairOutput{}
4570	req = c.newRequest(op, input, output)
4571	return
4572}
4573
4574// CreateKeyPair API operation for Amazon Elastic Compute Cloud.
4575//
4576// Creates a 2048-bit RSA key pair with the specified name. Amazon EC2 stores
4577// the public key and displays the private key for you to save to a file. The
4578// private key is returned as an unencrypted PEM encoded PKCS#1 private key.
4579// If a key with the specified name already exists, Amazon EC2 returns an error.
4580//
4581// You can have up to five thousand key pairs per Region.
4582//
4583// The key pair returned to you is available only in the Region in which you
4584// create it. If you prefer, you can create your own key pair using a third-party
4585// tool and upload it to any Region using ImportKeyPair.
4586//
4587// For more information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
4588// in the Amazon Elastic Compute Cloud User Guide.
4589//
4590// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4591// with awserr.Error's Code and Message methods to get detailed information about
4592// the error.
4593//
4594// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4595// API operation CreateKeyPair for usage and error information.
4596// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateKeyPair
4597func (c *EC2) CreateKeyPair(input *CreateKeyPairInput) (*CreateKeyPairOutput, error) {
4598	req, out := c.CreateKeyPairRequest(input)
4599	return out, req.Send()
4600}
4601
4602// CreateKeyPairWithContext is the same as CreateKeyPair with the addition of
4603// the ability to pass a context and additional request options.
4604//
4605// See CreateKeyPair for details on how to use this API operation.
4606//
4607// The context must be non-nil and will be used for request cancellation. If
4608// the context is nil a panic will occur. In the future the SDK may create
4609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4610// for more information on using Contexts.
4611func (c *EC2) CreateKeyPairWithContext(ctx aws.Context, input *CreateKeyPairInput, opts ...request.Option) (*CreateKeyPairOutput, error) {
4612	req, out := c.CreateKeyPairRequest(input)
4613	req.SetContext(ctx)
4614	req.ApplyOptions(opts...)
4615	return out, req.Send()
4616}
4617
4618const opCreateLaunchTemplate = "CreateLaunchTemplate"
4619
4620// CreateLaunchTemplateRequest generates a "aws/request.Request" representing the
4621// client's request for the CreateLaunchTemplate operation. The "output" return
4622// value will be populated with the request's response once the request completes
4623// successfully.
4624//
4625// Use "Send" method on the returned Request to send the API call to the service.
4626// the "output" return value is not valid until after Send returns without error.
4627//
4628// See CreateLaunchTemplate for more information on using the CreateLaunchTemplate
4629// API call, and error handling.
4630//
4631// This method is useful when you want to inject custom logic or configuration
4632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4633//
4634//
4635//    // Example sending a request using the CreateLaunchTemplateRequest method.
4636//    req, resp := client.CreateLaunchTemplateRequest(params)
4637//
4638//    err := req.Send()
4639//    if err == nil { // resp is now filled
4640//        fmt.Println(resp)
4641//    }
4642//
4643// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
4644func (c *EC2) CreateLaunchTemplateRequest(input *CreateLaunchTemplateInput) (req *request.Request, output *CreateLaunchTemplateOutput) {
4645	op := &request.Operation{
4646		Name:       opCreateLaunchTemplate,
4647		HTTPMethod: "POST",
4648		HTTPPath:   "/",
4649	}
4650
4651	if input == nil {
4652		input = &CreateLaunchTemplateInput{}
4653	}
4654
4655	output = &CreateLaunchTemplateOutput{}
4656	req = c.newRequest(op, input, output)
4657	return
4658}
4659
4660// CreateLaunchTemplate API operation for Amazon Elastic Compute Cloud.
4661//
4662// Creates a launch template. A launch template contains the parameters to launch
4663// an instance. When you launch an instance using RunInstances, you can specify
4664// a launch template instead of providing the launch parameters in the request.
4665//
4666// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4667// with awserr.Error's Code and Message methods to get detailed information about
4668// the error.
4669//
4670// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4671// API operation CreateLaunchTemplate for usage and error information.
4672// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplate
4673func (c *EC2) CreateLaunchTemplate(input *CreateLaunchTemplateInput) (*CreateLaunchTemplateOutput, error) {
4674	req, out := c.CreateLaunchTemplateRequest(input)
4675	return out, req.Send()
4676}
4677
4678// CreateLaunchTemplateWithContext is the same as CreateLaunchTemplate with the addition of
4679// the ability to pass a context and additional request options.
4680//
4681// See CreateLaunchTemplate for details on how to use this API operation.
4682//
4683// The context must be non-nil and will be used for request cancellation. If
4684// the context is nil a panic will occur. In the future the SDK may create
4685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4686// for more information on using Contexts.
4687func (c *EC2) CreateLaunchTemplateWithContext(ctx aws.Context, input *CreateLaunchTemplateInput, opts ...request.Option) (*CreateLaunchTemplateOutput, error) {
4688	req, out := c.CreateLaunchTemplateRequest(input)
4689	req.SetContext(ctx)
4690	req.ApplyOptions(opts...)
4691	return out, req.Send()
4692}
4693
4694const opCreateLaunchTemplateVersion = "CreateLaunchTemplateVersion"
4695
4696// CreateLaunchTemplateVersionRequest generates a "aws/request.Request" representing the
4697// client's request for the CreateLaunchTemplateVersion operation. The "output" return
4698// value will be populated with the request's response once the request completes
4699// successfully.
4700//
4701// Use "Send" method on the returned Request to send the API call to the service.
4702// the "output" return value is not valid until after Send returns without error.
4703//
4704// See CreateLaunchTemplateVersion for more information on using the CreateLaunchTemplateVersion
4705// API call, and error handling.
4706//
4707// This method is useful when you want to inject custom logic or configuration
4708// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4709//
4710//
4711//    // Example sending a request using the CreateLaunchTemplateVersionRequest method.
4712//    req, resp := client.CreateLaunchTemplateVersionRequest(params)
4713//
4714//    err := req.Send()
4715//    if err == nil { // resp is now filled
4716//        fmt.Println(resp)
4717//    }
4718//
4719// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
4720func (c *EC2) CreateLaunchTemplateVersionRequest(input *CreateLaunchTemplateVersionInput) (req *request.Request, output *CreateLaunchTemplateVersionOutput) {
4721	op := &request.Operation{
4722		Name:       opCreateLaunchTemplateVersion,
4723		HTTPMethod: "POST",
4724		HTTPPath:   "/",
4725	}
4726
4727	if input == nil {
4728		input = &CreateLaunchTemplateVersionInput{}
4729	}
4730
4731	output = &CreateLaunchTemplateVersionOutput{}
4732	req = c.newRequest(op, input, output)
4733	return
4734}
4735
4736// CreateLaunchTemplateVersion API operation for Amazon Elastic Compute Cloud.
4737//
4738// Creates a new version for a launch template. You can specify an existing
4739// version of launch template from which to base the new version.
4740//
4741// Launch template versions are numbered in the order in which they are created.
4742// You cannot specify, change, or replace the numbering of launch template versions.
4743//
4744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4745// with awserr.Error's Code and Message methods to get detailed information about
4746// the error.
4747//
4748// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4749// API operation CreateLaunchTemplateVersion for usage and error information.
4750// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLaunchTemplateVersion
4751func (c *EC2) CreateLaunchTemplateVersion(input *CreateLaunchTemplateVersionInput) (*CreateLaunchTemplateVersionOutput, error) {
4752	req, out := c.CreateLaunchTemplateVersionRequest(input)
4753	return out, req.Send()
4754}
4755
4756// CreateLaunchTemplateVersionWithContext is the same as CreateLaunchTemplateVersion with the addition of
4757// the ability to pass a context and additional request options.
4758//
4759// See CreateLaunchTemplateVersion for details on how to use this API operation.
4760//
4761// The context must be non-nil and will be used for request cancellation. If
4762// the context is nil a panic will occur. In the future the SDK may create
4763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4764// for more information on using Contexts.
4765func (c *EC2) CreateLaunchTemplateVersionWithContext(ctx aws.Context, input *CreateLaunchTemplateVersionInput, opts ...request.Option) (*CreateLaunchTemplateVersionOutput, error) {
4766	req, out := c.CreateLaunchTemplateVersionRequest(input)
4767	req.SetContext(ctx)
4768	req.ApplyOptions(opts...)
4769	return out, req.Send()
4770}
4771
4772const opCreateLocalGatewayRoute = "CreateLocalGatewayRoute"
4773
4774// CreateLocalGatewayRouteRequest generates a "aws/request.Request" representing the
4775// client's request for the CreateLocalGatewayRoute operation. The "output" return
4776// value will be populated with the request's response once the request completes
4777// successfully.
4778//
4779// Use "Send" method on the returned Request to send the API call to the service.
4780// the "output" return value is not valid until after Send returns without error.
4781//
4782// See CreateLocalGatewayRoute for more information on using the CreateLocalGatewayRoute
4783// API call, and error handling.
4784//
4785// This method is useful when you want to inject custom logic or configuration
4786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4787//
4788//
4789//    // Example sending a request using the CreateLocalGatewayRouteRequest method.
4790//    req, resp := client.CreateLocalGatewayRouteRequest(params)
4791//
4792//    err := req.Send()
4793//    if err == nil { // resp is now filled
4794//        fmt.Println(resp)
4795//    }
4796//
4797// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
4798func (c *EC2) CreateLocalGatewayRouteRequest(input *CreateLocalGatewayRouteInput) (req *request.Request, output *CreateLocalGatewayRouteOutput) {
4799	op := &request.Operation{
4800		Name:       opCreateLocalGatewayRoute,
4801		HTTPMethod: "POST",
4802		HTTPPath:   "/",
4803	}
4804
4805	if input == nil {
4806		input = &CreateLocalGatewayRouteInput{}
4807	}
4808
4809	output = &CreateLocalGatewayRouteOutput{}
4810	req = c.newRequest(op, input, output)
4811	return
4812}
4813
4814// CreateLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
4815//
4816// Creates a static route for the specified local gateway route table.
4817//
4818// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4819// with awserr.Error's Code and Message methods to get detailed information about
4820// the error.
4821//
4822// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4823// API operation CreateLocalGatewayRoute for usage and error information.
4824// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRoute
4825func (c *EC2) CreateLocalGatewayRoute(input *CreateLocalGatewayRouteInput) (*CreateLocalGatewayRouteOutput, error) {
4826	req, out := c.CreateLocalGatewayRouteRequest(input)
4827	return out, req.Send()
4828}
4829
4830// CreateLocalGatewayRouteWithContext is the same as CreateLocalGatewayRoute with the addition of
4831// the ability to pass a context and additional request options.
4832//
4833// See CreateLocalGatewayRoute for details on how to use this API operation.
4834//
4835// The context must be non-nil and will be used for request cancellation. If
4836// the context is nil a panic will occur. In the future the SDK may create
4837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4838// for more information on using Contexts.
4839func (c *EC2) CreateLocalGatewayRouteWithContext(ctx aws.Context, input *CreateLocalGatewayRouteInput, opts ...request.Option) (*CreateLocalGatewayRouteOutput, error) {
4840	req, out := c.CreateLocalGatewayRouteRequest(input)
4841	req.SetContext(ctx)
4842	req.ApplyOptions(opts...)
4843	return out, req.Send()
4844}
4845
4846const opCreateLocalGatewayRouteTableVpcAssociation = "CreateLocalGatewayRouteTableVpcAssociation"
4847
4848// CreateLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
4849// client's request for the CreateLocalGatewayRouteTableVpcAssociation operation. The "output" return
4850// value will be populated with the request's response once the request completes
4851// successfully.
4852//
4853// Use "Send" method on the returned Request to send the API call to the service.
4854// the "output" return value is not valid until after Send returns without error.
4855//
4856// See CreateLocalGatewayRouteTableVpcAssociation for more information on using the CreateLocalGatewayRouteTableVpcAssociation
4857// API call, and error handling.
4858//
4859// This method is useful when you want to inject custom logic or configuration
4860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4861//
4862//
4863//    // Example sending a request using the CreateLocalGatewayRouteTableVpcAssociationRequest method.
4864//    req, resp := client.CreateLocalGatewayRouteTableVpcAssociationRequest(params)
4865//
4866//    err := req.Send()
4867//    if err == nil { // resp is now filled
4868//        fmt.Println(resp)
4869//    }
4870//
4871// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
4872func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationRequest(input *CreateLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *CreateLocalGatewayRouteTableVpcAssociationOutput) {
4873	op := &request.Operation{
4874		Name:       opCreateLocalGatewayRouteTableVpcAssociation,
4875		HTTPMethod: "POST",
4876		HTTPPath:   "/",
4877	}
4878
4879	if input == nil {
4880		input = &CreateLocalGatewayRouteTableVpcAssociationInput{}
4881	}
4882
4883	output = &CreateLocalGatewayRouteTableVpcAssociationOutput{}
4884	req = c.newRequest(op, input, output)
4885	return
4886}
4887
4888// CreateLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
4889//
4890// Associates the specified VPC with the specified local gateway route table.
4891//
4892// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4893// with awserr.Error's Code and Message methods to get detailed information about
4894// the error.
4895//
4896// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4897// API operation CreateLocalGatewayRouteTableVpcAssociation for usage and error information.
4898// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateLocalGatewayRouteTableVpcAssociation
4899func (c *EC2) CreateLocalGatewayRouteTableVpcAssociation(input *CreateLocalGatewayRouteTableVpcAssociationInput) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
4900	req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
4901	return out, req.Send()
4902}
4903
4904// CreateLocalGatewayRouteTableVpcAssociationWithContext is the same as CreateLocalGatewayRouteTableVpcAssociation with the addition of
4905// the ability to pass a context and additional request options.
4906//
4907// See CreateLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
4908//
4909// The context must be non-nil and will be used for request cancellation. If
4910// the context is nil a panic will occur. In the future the SDK may create
4911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4912// for more information on using Contexts.
4913func (c *EC2) CreateLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *CreateLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*CreateLocalGatewayRouteTableVpcAssociationOutput, error) {
4914	req, out := c.CreateLocalGatewayRouteTableVpcAssociationRequest(input)
4915	req.SetContext(ctx)
4916	req.ApplyOptions(opts...)
4917	return out, req.Send()
4918}
4919
4920const opCreateNatGateway = "CreateNatGateway"
4921
4922// CreateNatGatewayRequest generates a "aws/request.Request" representing the
4923// client's request for the CreateNatGateway operation. The "output" return
4924// value will be populated with the request's response once the request completes
4925// successfully.
4926//
4927// Use "Send" method on the returned Request to send the API call to the service.
4928// the "output" return value is not valid until after Send returns without error.
4929//
4930// See CreateNatGateway for more information on using the CreateNatGateway
4931// API call, and error handling.
4932//
4933// This method is useful when you want to inject custom logic or configuration
4934// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4935//
4936//
4937//    // Example sending a request using the CreateNatGatewayRequest method.
4938//    req, resp := client.CreateNatGatewayRequest(params)
4939//
4940//    err := req.Send()
4941//    if err == nil { // resp is now filled
4942//        fmt.Println(resp)
4943//    }
4944//
4945// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
4946func (c *EC2) CreateNatGatewayRequest(input *CreateNatGatewayInput) (req *request.Request, output *CreateNatGatewayOutput) {
4947	op := &request.Operation{
4948		Name:       opCreateNatGateway,
4949		HTTPMethod: "POST",
4950		HTTPPath:   "/",
4951	}
4952
4953	if input == nil {
4954		input = &CreateNatGatewayInput{}
4955	}
4956
4957	output = &CreateNatGatewayOutput{}
4958	req = c.newRequest(op, input, output)
4959	return
4960}
4961
4962// CreateNatGateway API operation for Amazon Elastic Compute Cloud.
4963//
4964// Creates a NAT gateway in the specified public subnet. This action creates
4965// a network interface in the specified subnet with a private IP address from
4966// the IP address range of the subnet. Internet-bound traffic from a private
4967// subnet can be routed to the NAT gateway, therefore enabling instances in
4968// the private subnet to connect to the internet. For more information, see
4969// NAT Gateways (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)
4970// in the Amazon Virtual Private Cloud User Guide.
4971//
4972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4973// with awserr.Error's Code and Message methods to get detailed information about
4974// the error.
4975//
4976// See the AWS API reference guide for Amazon Elastic Compute Cloud's
4977// API operation CreateNatGateway for usage and error information.
4978// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNatGateway
4979func (c *EC2) CreateNatGateway(input *CreateNatGatewayInput) (*CreateNatGatewayOutput, error) {
4980	req, out := c.CreateNatGatewayRequest(input)
4981	return out, req.Send()
4982}
4983
4984// CreateNatGatewayWithContext is the same as CreateNatGateway with the addition of
4985// the ability to pass a context and additional request options.
4986//
4987// See CreateNatGateway for details on how to use this API operation.
4988//
4989// The context must be non-nil and will be used for request cancellation. If
4990// the context is nil a panic will occur. In the future the SDK may create
4991// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4992// for more information on using Contexts.
4993func (c *EC2) CreateNatGatewayWithContext(ctx aws.Context, input *CreateNatGatewayInput, opts ...request.Option) (*CreateNatGatewayOutput, error) {
4994	req, out := c.CreateNatGatewayRequest(input)
4995	req.SetContext(ctx)
4996	req.ApplyOptions(opts...)
4997	return out, req.Send()
4998}
4999
5000const opCreateNetworkAcl = "CreateNetworkAcl"
5001
5002// CreateNetworkAclRequest generates a "aws/request.Request" representing the
5003// client's request for the CreateNetworkAcl operation. The "output" return
5004// value will be populated with the request's response once the request completes
5005// successfully.
5006//
5007// Use "Send" method on the returned Request to send the API call to the service.
5008// the "output" return value is not valid until after Send returns without error.
5009//
5010// See CreateNetworkAcl for more information on using the CreateNetworkAcl
5011// API call, and error handling.
5012//
5013// This method is useful when you want to inject custom logic or configuration
5014// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5015//
5016//
5017//    // Example sending a request using the CreateNetworkAclRequest method.
5018//    req, resp := client.CreateNetworkAclRequest(params)
5019//
5020//    err := req.Send()
5021//    if err == nil { // resp is now filled
5022//        fmt.Println(resp)
5023//    }
5024//
5025// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
5026func (c *EC2) CreateNetworkAclRequest(input *CreateNetworkAclInput) (req *request.Request, output *CreateNetworkAclOutput) {
5027	op := &request.Operation{
5028		Name:       opCreateNetworkAcl,
5029		HTTPMethod: "POST",
5030		HTTPPath:   "/",
5031	}
5032
5033	if input == nil {
5034		input = &CreateNetworkAclInput{}
5035	}
5036
5037	output = &CreateNetworkAclOutput{}
5038	req = c.newRequest(op, input, output)
5039	return
5040}
5041
5042// CreateNetworkAcl API operation for Amazon Elastic Compute Cloud.
5043//
5044// Creates a network ACL in a VPC. Network ACLs provide an optional layer of
5045// security (in addition to security groups) for the instances in your VPC.
5046//
5047// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
5048// in the Amazon Virtual Private Cloud User Guide.
5049//
5050// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5051// with awserr.Error's Code and Message methods to get detailed information about
5052// the error.
5053//
5054// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5055// API operation CreateNetworkAcl for usage and error information.
5056// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAcl
5057func (c *EC2) CreateNetworkAcl(input *CreateNetworkAclInput) (*CreateNetworkAclOutput, error) {
5058	req, out := c.CreateNetworkAclRequest(input)
5059	return out, req.Send()
5060}
5061
5062// CreateNetworkAclWithContext is the same as CreateNetworkAcl with the addition of
5063// the ability to pass a context and additional request options.
5064//
5065// See CreateNetworkAcl for details on how to use this API operation.
5066//
5067// The context must be non-nil and will be used for request cancellation. If
5068// the context is nil a panic will occur. In the future the SDK may create
5069// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5070// for more information on using Contexts.
5071func (c *EC2) CreateNetworkAclWithContext(ctx aws.Context, input *CreateNetworkAclInput, opts ...request.Option) (*CreateNetworkAclOutput, error) {
5072	req, out := c.CreateNetworkAclRequest(input)
5073	req.SetContext(ctx)
5074	req.ApplyOptions(opts...)
5075	return out, req.Send()
5076}
5077
5078const opCreateNetworkAclEntry = "CreateNetworkAclEntry"
5079
5080// CreateNetworkAclEntryRequest generates a "aws/request.Request" representing the
5081// client's request for the CreateNetworkAclEntry operation. The "output" return
5082// value will be populated with the request's response once the request completes
5083// successfully.
5084//
5085// Use "Send" method on the returned Request to send the API call to the service.
5086// the "output" return value is not valid until after Send returns without error.
5087//
5088// See CreateNetworkAclEntry for more information on using the CreateNetworkAclEntry
5089// API call, and error handling.
5090//
5091// This method is useful when you want to inject custom logic or configuration
5092// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5093//
5094//
5095//    // Example sending a request using the CreateNetworkAclEntryRequest method.
5096//    req, resp := client.CreateNetworkAclEntryRequest(params)
5097//
5098//    err := req.Send()
5099//    if err == nil { // resp is now filled
5100//        fmt.Println(resp)
5101//    }
5102//
5103// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
5104func (c *EC2) CreateNetworkAclEntryRequest(input *CreateNetworkAclEntryInput) (req *request.Request, output *CreateNetworkAclEntryOutput) {
5105	op := &request.Operation{
5106		Name:       opCreateNetworkAclEntry,
5107		HTTPMethod: "POST",
5108		HTTPPath:   "/",
5109	}
5110
5111	if input == nil {
5112		input = &CreateNetworkAclEntryInput{}
5113	}
5114
5115	output = &CreateNetworkAclEntryOutput{}
5116	req = c.newRequest(op, input, output)
5117	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5118	return
5119}
5120
5121// CreateNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
5122//
5123// Creates an entry (a rule) in a network ACL with the specified rule number.
5124// Each network ACL has a set of numbered ingress rules and a separate set of
5125// numbered egress rules. When determining whether a packet should be allowed
5126// in or out of a subnet associated with the ACL, we process the entries in
5127// the ACL according to the rule numbers, in ascending order. Each network ACL
5128// has a set of ingress rules and a separate set of egress rules.
5129//
5130// We recommend that you leave room between the rule numbers (for example, 100,
5131// 110, 120, ...), and not number them one right after the other (for example,
5132// 101, 102, 103, ...). This makes it easier to add a rule between existing
5133// ones without having to renumber the rules.
5134//
5135// After you add an entry, you can't modify it; you must either replace it,
5136// or create an entry and delete the old one.
5137//
5138// For more information about network ACLs, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
5139// in the Amazon Virtual Private Cloud User Guide.
5140//
5141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5142// with awserr.Error's Code and Message methods to get detailed information about
5143// the error.
5144//
5145// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5146// API operation CreateNetworkAclEntry for usage and error information.
5147// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkAclEntry
5148func (c *EC2) CreateNetworkAclEntry(input *CreateNetworkAclEntryInput) (*CreateNetworkAclEntryOutput, error) {
5149	req, out := c.CreateNetworkAclEntryRequest(input)
5150	return out, req.Send()
5151}
5152
5153// CreateNetworkAclEntryWithContext is the same as CreateNetworkAclEntry with the addition of
5154// the ability to pass a context and additional request options.
5155//
5156// See CreateNetworkAclEntry for details on how to use this API operation.
5157//
5158// The context must be non-nil and will be used for request cancellation. If
5159// the context is nil a panic will occur. In the future the SDK may create
5160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5161// for more information on using Contexts.
5162func (c *EC2) CreateNetworkAclEntryWithContext(ctx aws.Context, input *CreateNetworkAclEntryInput, opts ...request.Option) (*CreateNetworkAclEntryOutput, error) {
5163	req, out := c.CreateNetworkAclEntryRequest(input)
5164	req.SetContext(ctx)
5165	req.ApplyOptions(opts...)
5166	return out, req.Send()
5167}
5168
5169const opCreateNetworkInterface = "CreateNetworkInterface"
5170
5171// CreateNetworkInterfaceRequest generates a "aws/request.Request" representing the
5172// client's request for the CreateNetworkInterface operation. The "output" return
5173// value will be populated with the request's response once the request completes
5174// successfully.
5175//
5176// Use "Send" method on the returned Request to send the API call to the service.
5177// the "output" return value is not valid until after Send returns without error.
5178//
5179// See CreateNetworkInterface for more information on using the CreateNetworkInterface
5180// API call, and error handling.
5181//
5182// This method is useful when you want to inject custom logic or configuration
5183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5184//
5185//
5186//    // Example sending a request using the CreateNetworkInterfaceRequest method.
5187//    req, resp := client.CreateNetworkInterfaceRequest(params)
5188//
5189//    err := req.Send()
5190//    if err == nil { // resp is now filled
5191//        fmt.Println(resp)
5192//    }
5193//
5194// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
5195func (c *EC2) CreateNetworkInterfaceRequest(input *CreateNetworkInterfaceInput) (req *request.Request, output *CreateNetworkInterfaceOutput) {
5196	op := &request.Operation{
5197		Name:       opCreateNetworkInterface,
5198		HTTPMethod: "POST",
5199		HTTPPath:   "/",
5200	}
5201
5202	if input == nil {
5203		input = &CreateNetworkInterfaceInput{}
5204	}
5205
5206	output = &CreateNetworkInterfaceOutput{}
5207	req = c.newRequest(op, input, output)
5208	return
5209}
5210
5211// CreateNetworkInterface API operation for Amazon Elastic Compute Cloud.
5212//
5213// Creates a network interface in the specified subnet.
5214//
5215// For more information about network interfaces, see Elastic Network Interfaces
5216// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) in the
5217// Amazon Virtual Private Cloud User Guide.
5218//
5219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5220// with awserr.Error's Code and Message methods to get detailed information about
5221// the error.
5222//
5223// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5224// API operation CreateNetworkInterface for usage and error information.
5225// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterface
5226func (c *EC2) CreateNetworkInterface(input *CreateNetworkInterfaceInput) (*CreateNetworkInterfaceOutput, error) {
5227	req, out := c.CreateNetworkInterfaceRequest(input)
5228	return out, req.Send()
5229}
5230
5231// CreateNetworkInterfaceWithContext is the same as CreateNetworkInterface with the addition of
5232// the ability to pass a context and additional request options.
5233//
5234// See CreateNetworkInterface for details on how to use this API operation.
5235//
5236// The context must be non-nil and will be used for request cancellation. If
5237// the context is nil a panic will occur. In the future the SDK may create
5238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5239// for more information on using Contexts.
5240func (c *EC2) CreateNetworkInterfaceWithContext(ctx aws.Context, input *CreateNetworkInterfaceInput, opts ...request.Option) (*CreateNetworkInterfaceOutput, error) {
5241	req, out := c.CreateNetworkInterfaceRequest(input)
5242	req.SetContext(ctx)
5243	req.ApplyOptions(opts...)
5244	return out, req.Send()
5245}
5246
5247const opCreateNetworkInterfacePermission = "CreateNetworkInterfacePermission"
5248
5249// CreateNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
5250// client's request for the CreateNetworkInterfacePermission operation. The "output" return
5251// value will be populated with the request's response once the request completes
5252// successfully.
5253//
5254// Use "Send" method on the returned Request to send the API call to the service.
5255// the "output" return value is not valid until after Send returns without error.
5256//
5257// See CreateNetworkInterfacePermission for more information on using the CreateNetworkInterfacePermission
5258// API call, and error handling.
5259//
5260// This method is useful when you want to inject custom logic or configuration
5261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5262//
5263//
5264//    // Example sending a request using the CreateNetworkInterfacePermissionRequest method.
5265//    req, resp := client.CreateNetworkInterfacePermissionRequest(params)
5266//
5267//    err := req.Send()
5268//    if err == nil { // resp is now filled
5269//        fmt.Println(resp)
5270//    }
5271//
5272// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
5273func (c *EC2) CreateNetworkInterfacePermissionRequest(input *CreateNetworkInterfacePermissionInput) (req *request.Request, output *CreateNetworkInterfacePermissionOutput) {
5274	op := &request.Operation{
5275		Name:       opCreateNetworkInterfacePermission,
5276		HTTPMethod: "POST",
5277		HTTPPath:   "/",
5278	}
5279
5280	if input == nil {
5281		input = &CreateNetworkInterfacePermissionInput{}
5282	}
5283
5284	output = &CreateNetworkInterfacePermissionOutput{}
5285	req = c.newRequest(op, input, output)
5286	return
5287}
5288
5289// CreateNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
5290//
5291// Grants an AWS-authorized account permission to attach the specified network
5292// interface to an instance in their account.
5293//
5294// You can grant permission to a single AWS account only, and only one account
5295// at a time.
5296//
5297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5298// with awserr.Error's Code and Message methods to get detailed information about
5299// the error.
5300//
5301// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5302// API operation CreateNetworkInterfacePermission for usage and error information.
5303// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission
5304func (c *EC2) CreateNetworkInterfacePermission(input *CreateNetworkInterfacePermissionInput) (*CreateNetworkInterfacePermissionOutput, error) {
5305	req, out := c.CreateNetworkInterfacePermissionRequest(input)
5306	return out, req.Send()
5307}
5308
5309// CreateNetworkInterfacePermissionWithContext is the same as CreateNetworkInterfacePermission with the addition of
5310// the ability to pass a context and additional request options.
5311//
5312// See CreateNetworkInterfacePermission for details on how to use this API operation.
5313//
5314// The context must be non-nil and will be used for request cancellation. If
5315// the context is nil a panic will occur. In the future the SDK may create
5316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5317// for more information on using Contexts.
5318func (c *EC2) CreateNetworkInterfacePermissionWithContext(ctx aws.Context, input *CreateNetworkInterfacePermissionInput, opts ...request.Option) (*CreateNetworkInterfacePermissionOutput, error) {
5319	req, out := c.CreateNetworkInterfacePermissionRequest(input)
5320	req.SetContext(ctx)
5321	req.ApplyOptions(opts...)
5322	return out, req.Send()
5323}
5324
5325const opCreatePlacementGroup = "CreatePlacementGroup"
5326
5327// CreatePlacementGroupRequest generates a "aws/request.Request" representing the
5328// client's request for the CreatePlacementGroup operation. The "output" return
5329// value will be populated with the request's response once the request completes
5330// successfully.
5331//
5332// Use "Send" method on the returned Request to send the API call to the service.
5333// the "output" return value is not valid until after Send returns without error.
5334//
5335// See CreatePlacementGroup for more information on using the CreatePlacementGroup
5336// API call, and error handling.
5337//
5338// This method is useful when you want to inject custom logic or configuration
5339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5340//
5341//
5342//    // Example sending a request using the CreatePlacementGroupRequest method.
5343//    req, resp := client.CreatePlacementGroupRequest(params)
5344//
5345//    err := req.Send()
5346//    if err == nil { // resp is now filled
5347//        fmt.Println(resp)
5348//    }
5349//
5350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
5351func (c *EC2) CreatePlacementGroupRequest(input *CreatePlacementGroupInput) (req *request.Request, output *CreatePlacementGroupOutput) {
5352	op := &request.Operation{
5353		Name:       opCreatePlacementGroup,
5354		HTTPMethod: "POST",
5355		HTTPPath:   "/",
5356	}
5357
5358	if input == nil {
5359		input = &CreatePlacementGroupInput{}
5360	}
5361
5362	output = &CreatePlacementGroupOutput{}
5363	req = c.newRequest(op, input, output)
5364	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5365	return
5366}
5367
5368// CreatePlacementGroup API operation for Amazon Elastic Compute Cloud.
5369//
5370// Creates a placement group in which to launch instances. The strategy of the
5371// placement group determines how the instances are organized within the group.
5372//
5373// A cluster placement group is a logical grouping of instances within a single
5374// Availability Zone that benefit from low network latency, high network throughput.
5375// A spread placement group places instances on distinct hardware. A partition
5376// placement group places groups of instances in different partitions, where
5377// instances in one partition do not share the same hardware with instances
5378// in another partition.
5379//
5380// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
5381// in the Amazon Elastic Compute Cloud User Guide.
5382//
5383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5384// with awserr.Error's Code and Message methods to get detailed information about
5385// the error.
5386//
5387// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5388// API operation CreatePlacementGroup for usage and error information.
5389// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreatePlacementGroup
5390func (c *EC2) CreatePlacementGroup(input *CreatePlacementGroupInput) (*CreatePlacementGroupOutput, error) {
5391	req, out := c.CreatePlacementGroupRequest(input)
5392	return out, req.Send()
5393}
5394
5395// CreatePlacementGroupWithContext is the same as CreatePlacementGroup with the addition of
5396// the ability to pass a context and additional request options.
5397//
5398// See CreatePlacementGroup for details on how to use this API operation.
5399//
5400// The context must be non-nil and will be used for request cancellation. If
5401// the context is nil a panic will occur. In the future the SDK may create
5402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5403// for more information on using Contexts.
5404func (c *EC2) CreatePlacementGroupWithContext(ctx aws.Context, input *CreatePlacementGroupInput, opts ...request.Option) (*CreatePlacementGroupOutput, error) {
5405	req, out := c.CreatePlacementGroupRequest(input)
5406	req.SetContext(ctx)
5407	req.ApplyOptions(opts...)
5408	return out, req.Send()
5409}
5410
5411const opCreateReservedInstancesListing = "CreateReservedInstancesListing"
5412
5413// CreateReservedInstancesListingRequest generates a "aws/request.Request" representing the
5414// client's request for the CreateReservedInstancesListing operation. The "output" return
5415// value will be populated with the request's response once the request completes
5416// successfully.
5417//
5418// Use "Send" method on the returned Request to send the API call to the service.
5419// the "output" return value is not valid until after Send returns without error.
5420//
5421// See CreateReservedInstancesListing for more information on using the CreateReservedInstancesListing
5422// API call, and error handling.
5423//
5424// This method is useful when you want to inject custom logic or configuration
5425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5426//
5427//
5428//    // Example sending a request using the CreateReservedInstancesListingRequest method.
5429//    req, resp := client.CreateReservedInstancesListingRequest(params)
5430//
5431//    err := req.Send()
5432//    if err == nil { // resp is now filled
5433//        fmt.Println(resp)
5434//    }
5435//
5436// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
5437func (c *EC2) CreateReservedInstancesListingRequest(input *CreateReservedInstancesListingInput) (req *request.Request, output *CreateReservedInstancesListingOutput) {
5438	op := &request.Operation{
5439		Name:       opCreateReservedInstancesListing,
5440		HTTPMethod: "POST",
5441		HTTPPath:   "/",
5442	}
5443
5444	if input == nil {
5445		input = &CreateReservedInstancesListingInput{}
5446	}
5447
5448	output = &CreateReservedInstancesListingOutput{}
5449	req = c.newRequest(op, input, output)
5450	return
5451}
5452
5453// CreateReservedInstancesListing API operation for Amazon Elastic Compute Cloud.
5454//
5455// Creates a listing for Amazon EC2 Standard Reserved Instances to be sold in
5456// the Reserved Instance Marketplace. You can submit one Standard Reserved Instance
5457// listing at a time. To get a list of your Standard Reserved Instances, you
5458// can use the DescribeReservedInstances operation.
5459//
5460// Only Standard Reserved Instances can be sold in the Reserved Instance Marketplace.
5461// Convertible Reserved Instances cannot be sold.
5462//
5463// The Reserved Instance Marketplace matches sellers who want to resell Standard
5464// Reserved Instance capacity that they no longer need with buyers who want
5465// to purchase additional capacity. Reserved Instances bought and sold through
5466// the Reserved Instance Marketplace work like any other Reserved Instances.
5467//
5468// To sell your Standard Reserved Instances, you must first register as a seller
5469// in the Reserved Instance Marketplace. After completing the registration process,
5470// you can create a Reserved Instance Marketplace listing of some or all of
5471// your Standard Reserved Instances, and specify the upfront price to receive
5472// for them. Your Standard Reserved Instance listings then become available
5473// for purchase. To view the details of your Standard Reserved Instance listing,
5474// you can use the DescribeReservedInstancesListings operation.
5475//
5476// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
5477// in the Amazon Elastic Compute Cloud User Guide.
5478//
5479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5480// with awserr.Error's Code and Message methods to get detailed information about
5481// the error.
5482//
5483// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5484// API operation CreateReservedInstancesListing for usage and error information.
5485// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateReservedInstancesListing
5486func (c *EC2) CreateReservedInstancesListing(input *CreateReservedInstancesListingInput) (*CreateReservedInstancesListingOutput, error) {
5487	req, out := c.CreateReservedInstancesListingRequest(input)
5488	return out, req.Send()
5489}
5490
5491// CreateReservedInstancesListingWithContext is the same as CreateReservedInstancesListing with the addition of
5492// the ability to pass a context and additional request options.
5493//
5494// See CreateReservedInstancesListing for details on how to use this API operation.
5495//
5496// The context must be non-nil and will be used for request cancellation. If
5497// the context is nil a panic will occur. In the future the SDK may create
5498// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5499// for more information on using Contexts.
5500func (c *EC2) CreateReservedInstancesListingWithContext(ctx aws.Context, input *CreateReservedInstancesListingInput, opts ...request.Option) (*CreateReservedInstancesListingOutput, error) {
5501	req, out := c.CreateReservedInstancesListingRequest(input)
5502	req.SetContext(ctx)
5503	req.ApplyOptions(opts...)
5504	return out, req.Send()
5505}
5506
5507const opCreateRoute = "CreateRoute"
5508
5509// CreateRouteRequest generates a "aws/request.Request" representing the
5510// client's request for the CreateRoute operation. The "output" return
5511// value will be populated with the request's response once the request completes
5512// successfully.
5513//
5514// Use "Send" method on the returned Request to send the API call to the service.
5515// the "output" return value is not valid until after Send returns without error.
5516//
5517// See CreateRoute for more information on using the CreateRoute
5518// API call, and error handling.
5519//
5520// This method is useful when you want to inject custom logic or configuration
5521// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5522//
5523//
5524//    // Example sending a request using the CreateRouteRequest method.
5525//    req, resp := client.CreateRouteRequest(params)
5526//
5527//    err := req.Send()
5528//    if err == nil { // resp is now filled
5529//        fmt.Println(resp)
5530//    }
5531//
5532// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
5533func (c *EC2) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput) {
5534	op := &request.Operation{
5535		Name:       opCreateRoute,
5536		HTTPMethod: "POST",
5537		HTTPPath:   "/",
5538	}
5539
5540	if input == nil {
5541		input = &CreateRouteInput{}
5542	}
5543
5544	output = &CreateRouteOutput{}
5545	req = c.newRequest(op, input, output)
5546	return
5547}
5548
5549// CreateRoute API operation for Amazon Elastic Compute Cloud.
5550//
5551// Creates a route in a route table within a VPC.
5552//
5553// You must specify one of the following targets: internet gateway or virtual
5554// private gateway, NAT instance, NAT gateway, VPC peering connection, network
5555// interface, egress-only internet gateway, or transit gateway.
5556//
5557// When determining how to route traffic, we use the route with the most specific
5558// match. For example, traffic is destined for the IPv4 address 192.0.2.3, and
5559// the route table includes the following two IPv4 routes:
5560//
5561//    * 192.0.2.0/24 (goes to some target A)
5562//
5563//    * 192.0.2.0/28 (goes to some target B)
5564//
5565// Both routes apply to the traffic destined for 192.0.2.3. However, the second
5566// route in the list covers a smaller number of IP addresses and is therefore
5567// more specific, so we use that route to determine where to target the traffic.
5568//
5569// For more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
5570// in the Amazon Virtual Private Cloud User Guide.
5571//
5572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5573// with awserr.Error's Code and Message methods to get detailed information about
5574// the error.
5575//
5576// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5577// API operation CreateRoute for usage and error information.
5578// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRoute
5579func (c *EC2) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error) {
5580	req, out := c.CreateRouteRequest(input)
5581	return out, req.Send()
5582}
5583
5584// CreateRouteWithContext is the same as CreateRoute with the addition of
5585// the ability to pass a context and additional request options.
5586//
5587// See CreateRoute for details on how to use this API operation.
5588//
5589// The context must be non-nil and will be used for request cancellation. If
5590// the context is nil a panic will occur. In the future the SDK may create
5591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5592// for more information on using Contexts.
5593func (c *EC2) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error) {
5594	req, out := c.CreateRouteRequest(input)
5595	req.SetContext(ctx)
5596	req.ApplyOptions(opts...)
5597	return out, req.Send()
5598}
5599
5600const opCreateRouteTable = "CreateRouteTable"
5601
5602// CreateRouteTableRequest generates a "aws/request.Request" representing the
5603// client's request for the CreateRouteTable operation. The "output" return
5604// value will be populated with the request's response once the request completes
5605// successfully.
5606//
5607// Use "Send" method on the returned Request to send the API call to the service.
5608// the "output" return value is not valid until after Send returns without error.
5609//
5610// See CreateRouteTable for more information on using the CreateRouteTable
5611// API call, and error handling.
5612//
5613// This method is useful when you want to inject custom logic or configuration
5614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5615//
5616//
5617//    // Example sending a request using the CreateRouteTableRequest method.
5618//    req, resp := client.CreateRouteTableRequest(params)
5619//
5620//    err := req.Send()
5621//    if err == nil { // resp is now filled
5622//        fmt.Println(resp)
5623//    }
5624//
5625// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
5626func (c *EC2) CreateRouteTableRequest(input *CreateRouteTableInput) (req *request.Request, output *CreateRouteTableOutput) {
5627	op := &request.Operation{
5628		Name:       opCreateRouteTable,
5629		HTTPMethod: "POST",
5630		HTTPPath:   "/",
5631	}
5632
5633	if input == nil {
5634		input = &CreateRouteTableInput{}
5635	}
5636
5637	output = &CreateRouteTableOutput{}
5638	req = c.newRequest(op, input, output)
5639	return
5640}
5641
5642// CreateRouteTable API operation for Amazon Elastic Compute Cloud.
5643//
5644// Creates a route table for the specified VPC. After you create a route table,
5645// you can add routes and associate the table with a subnet.
5646//
5647// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
5648// in the Amazon Virtual Private Cloud User Guide.
5649//
5650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5651// with awserr.Error's Code and Message methods to get detailed information about
5652// the error.
5653//
5654// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5655// API operation CreateRouteTable for usage and error information.
5656// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateRouteTable
5657func (c *EC2) CreateRouteTable(input *CreateRouteTableInput) (*CreateRouteTableOutput, error) {
5658	req, out := c.CreateRouteTableRequest(input)
5659	return out, req.Send()
5660}
5661
5662// CreateRouteTableWithContext is the same as CreateRouteTable with the addition of
5663// the ability to pass a context and additional request options.
5664//
5665// See CreateRouteTable for details on how to use this API operation.
5666//
5667// The context must be non-nil and will be used for request cancellation. If
5668// the context is nil a panic will occur. In the future the SDK may create
5669// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5670// for more information on using Contexts.
5671func (c *EC2) CreateRouteTableWithContext(ctx aws.Context, input *CreateRouteTableInput, opts ...request.Option) (*CreateRouteTableOutput, error) {
5672	req, out := c.CreateRouteTableRequest(input)
5673	req.SetContext(ctx)
5674	req.ApplyOptions(opts...)
5675	return out, req.Send()
5676}
5677
5678const opCreateSecurityGroup = "CreateSecurityGroup"
5679
5680// CreateSecurityGroupRequest generates a "aws/request.Request" representing the
5681// client's request for the CreateSecurityGroup operation. The "output" return
5682// value will be populated with the request's response once the request completes
5683// successfully.
5684//
5685// Use "Send" method on the returned Request to send the API call to the service.
5686// the "output" return value is not valid until after Send returns without error.
5687//
5688// See CreateSecurityGroup for more information on using the CreateSecurityGroup
5689// API call, and error handling.
5690//
5691// This method is useful when you want to inject custom logic or configuration
5692// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5693//
5694//
5695//    // Example sending a request using the CreateSecurityGroupRequest method.
5696//    req, resp := client.CreateSecurityGroupRequest(params)
5697//
5698//    err := req.Send()
5699//    if err == nil { // resp is now filled
5700//        fmt.Println(resp)
5701//    }
5702//
5703// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
5704func (c *EC2) CreateSecurityGroupRequest(input *CreateSecurityGroupInput) (req *request.Request, output *CreateSecurityGroupOutput) {
5705	op := &request.Operation{
5706		Name:       opCreateSecurityGroup,
5707		HTTPMethod: "POST",
5708		HTTPPath:   "/",
5709	}
5710
5711	if input == nil {
5712		input = &CreateSecurityGroupInput{}
5713	}
5714
5715	output = &CreateSecurityGroupOutput{}
5716	req = c.newRequest(op, input, output)
5717	return
5718}
5719
5720// CreateSecurityGroup API operation for Amazon Elastic Compute Cloud.
5721//
5722// Creates a security group.
5723//
5724// A security group acts as a virtual firewall for your instance to control
5725// inbound and outbound traffic. For more information, see Amazon EC2 Security
5726// Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
5727// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
5728// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
5729// in the Amazon Virtual Private Cloud User Guide.
5730//
5731// When you create a security group, you specify a friendly name of your choice.
5732// You can have a security group for use in EC2-Classic with the same name as
5733// a security group for use in a VPC. However, you can't have two security groups
5734// for use in EC2-Classic with the same name or two security groups for use
5735// in a VPC with the same name.
5736//
5737// You have a default security group for use in EC2-Classic and a default security
5738// group for use in your VPC. If you don't specify a security group when you
5739// launch an instance, the instance is launched into the appropriate default
5740// security group. A default security group includes a default rule that grants
5741// instances unrestricted network access to each other.
5742//
5743// You can add or remove rules from your security groups using AuthorizeSecurityGroupIngress,
5744// AuthorizeSecurityGroupEgress, RevokeSecurityGroupIngress, and RevokeSecurityGroupEgress.
5745//
5746// For more information about VPC security group limits, see Amazon VPC Limits
5747// (https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html).
5748//
5749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5750// with awserr.Error's Code and Message methods to get detailed information about
5751// the error.
5752//
5753// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5754// API operation CreateSecurityGroup for usage and error information.
5755// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSecurityGroup
5756func (c *EC2) CreateSecurityGroup(input *CreateSecurityGroupInput) (*CreateSecurityGroupOutput, error) {
5757	req, out := c.CreateSecurityGroupRequest(input)
5758	return out, req.Send()
5759}
5760
5761// CreateSecurityGroupWithContext is the same as CreateSecurityGroup with the addition of
5762// the ability to pass a context and additional request options.
5763//
5764// See CreateSecurityGroup for details on how to use this API operation.
5765//
5766// The context must be non-nil and will be used for request cancellation. If
5767// the context is nil a panic will occur. In the future the SDK may create
5768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5769// for more information on using Contexts.
5770func (c *EC2) CreateSecurityGroupWithContext(ctx aws.Context, input *CreateSecurityGroupInput, opts ...request.Option) (*CreateSecurityGroupOutput, error) {
5771	req, out := c.CreateSecurityGroupRequest(input)
5772	req.SetContext(ctx)
5773	req.ApplyOptions(opts...)
5774	return out, req.Send()
5775}
5776
5777const opCreateSnapshot = "CreateSnapshot"
5778
5779// CreateSnapshotRequest generates a "aws/request.Request" representing the
5780// client's request for the CreateSnapshot operation. The "output" return
5781// value will be populated with the request's response once the request completes
5782// successfully.
5783//
5784// Use "Send" method on the returned Request to send the API call to the service.
5785// the "output" return value is not valid until after Send returns without error.
5786//
5787// See CreateSnapshot for more information on using the CreateSnapshot
5788// API call, and error handling.
5789//
5790// This method is useful when you want to inject custom logic or configuration
5791// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5792//
5793//
5794//    // Example sending a request using the CreateSnapshotRequest method.
5795//    req, resp := client.CreateSnapshotRequest(params)
5796//
5797//    err := req.Send()
5798//    if err == nil { // resp is now filled
5799//        fmt.Println(resp)
5800//    }
5801//
5802// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
5803func (c *EC2) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *Snapshot) {
5804	op := &request.Operation{
5805		Name:       opCreateSnapshot,
5806		HTTPMethod: "POST",
5807		HTTPPath:   "/",
5808	}
5809
5810	if input == nil {
5811		input = &CreateSnapshotInput{}
5812	}
5813
5814	output = &Snapshot{}
5815	req = c.newRequest(op, input, output)
5816	return
5817}
5818
5819// CreateSnapshot API operation for Amazon Elastic Compute Cloud.
5820//
5821// Creates a snapshot of an EBS volume and stores it in Amazon S3. You can use
5822// snapshots for backups, to make copies of EBS volumes, and to save data before
5823// shutting down an instance.
5824//
5825// When a snapshot is created, any AWS Marketplace product codes that are associated
5826// with the source volume are propagated to the snapshot.
5827//
5828// You can take a snapshot of an attached volume that is in use. However, snapshots
5829// only capture data that has been written to your EBS volume at the time the
5830// snapshot command is issued; this may exclude any data that has been cached
5831// by any applications or the operating system. If you can pause any file systems
5832// on the volume long enough to take a snapshot, your snapshot should be complete.
5833// However, if you cannot pause all file writes to the volume, you should unmount
5834// the volume from within the instance, issue the snapshot command, and then
5835// remount the volume to ensure a consistent and complete snapshot. You may
5836// remount and use your volume while the snapshot status is pending.
5837//
5838// To create a snapshot for EBS volumes that serve as root devices, you should
5839// stop the instance before taking the snapshot.
5840//
5841// Snapshots that are taken from encrypted volumes are automatically encrypted.
5842// Volumes that are created from encrypted snapshots are also automatically
5843// encrypted. Your encrypted volumes and any associated snapshots always remain
5844// protected.
5845//
5846// You can tag your snapshots during creation. For more information, see Tagging
5847// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
5848// in the Amazon Elastic Compute Cloud User Guide.
5849//
5850// For more information, see Amazon Elastic Block Store (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
5851// and Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
5852// in the Amazon Elastic Compute Cloud User Guide.
5853//
5854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5855// with awserr.Error's Code and Message methods to get detailed information about
5856// the error.
5857//
5858// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5859// API operation CreateSnapshot for usage and error information.
5860// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshot
5861func (c *EC2) CreateSnapshot(input *CreateSnapshotInput) (*Snapshot, error) {
5862	req, out := c.CreateSnapshotRequest(input)
5863	return out, req.Send()
5864}
5865
5866// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
5867// the ability to pass a context and additional request options.
5868//
5869// See CreateSnapshot for details on how to use this API operation.
5870//
5871// The context must be non-nil and will be used for request cancellation. If
5872// the context is nil a panic will occur. In the future the SDK may create
5873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5874// for more information on using Contexts.
5875func (c *EC2) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*Snapshot, error) {
5876	req, out := c.CreateSnapshotRequest(input)
5877	req.SetContext(ctx)
5878	req.ApplyOptions(opts...)
5879	return out, req.Send()
5880}
5881
5882const opCreateSnapshots = "CreateSnapshots"
5883
5884// CreateSnapshotsRequest generates a "aws/request.Request" representing the
5885// client's request for the CreateSnapshots operation. The "output" return
5886// value will be populated with the request's response once the request completes
5887// successfully.
5888//
5889// Use "Send" method on the returned Request to send the API call to the service.
5890// the "output" return value is not valid until after Send returns without error.
5891//
5892// See CreateSnapshots for more information on using the CreateSnapshots
5893// API call, and error handling.
5894//
5895// This method is useful when you want to inject custom logic or configuration
5896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5897//
5898//
5899//    // Example sending a request using the CreateSnapshotsRequest method.
5900//    req, resp := client.CreateSnapshotsRequest(params)
5901//
5902//    err := req.Send()
5903//    if err == nil { // resp is now filled
5904//        fmt.Println(resp)
5905//    }
5906//
5907// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
5908func (c *EC2) CreateSnapshotsRequest(input *CreateSnapshotsInput) (req *request.Request, output *CreateSnapshotsOutput) {
5909	op := &request.Operation{
5910		Name:       opCreateSnapshots,
5911		HTTPMethod: "POST",
5912		HTTPPath:   "/",
5913	}
5914
5915	if input == nil {
5916		input = &CreateSnapshotsInput{}
5917	}
5918
5919	output = &CreateSnapshotsOutput{}
5920	req = c.newRequest(op, input, output)
5921	return
5922}
5923
5924// CreateSnapshots API operation for Amazon Elastic Compute Cloud.
5925//
5926// Creates crash-consistent snapshots of multiple EBS volumes and stores the
5927// data in S3. Volumes are chosen by specifying an instance. Any attached volumes
5928// will produce one snapshot each that is crash-consistent across the instance.
5929// Boot volumes can be excluded by changing the parameters.
5930//
5931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5932// with awserr.Error's Code and Message methods to get detailed information about
5933// the error.
5934//
5935// See the AWS API reference guide for Amazon Elastic Compute Cloud's
5936// API operation CreateSnapshots for usage and error information.
5937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSnapshots
5938func (c *EC2) CreateSnapshots(input *CreateSnapshotsInput) (*CreateSnapshotsOutput, error) {
5939	req, out := c.CreateSnapshotsRequest(input)
5940	return out, req.Send()
5941}
5942
5943// CreateSnapshotsWithContext is the same as CreateSnapshots with the addition of
5944// the ability to pass a context and additional request options.
5945//
5946// See CreateSnapshots for details on how to use this API operation.
5947//
5948// The context must be non-nil and will be used for request cancellation. If
5949// the context is nil a panic will occur. In the future the SDK may create
5950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5951// for more information on using Contexts.
5952func (c *EC2) CreateSnapshotsWithContext(ctx aws.Context, input *CreateSnapshotsInput, opts ...request.Option) (*CreateSnapshotsOutput, error) {
5953	req, out := c.CreateSnapshotsRequest(input)
5954	req.SetContext(ctx)
5955	req.ApplyOptions(opts...)
5956	return out, req.Send()
5957}
5958
5959const opCreateSpotDatafeedSubscription = "CreateSpotDatafeedSubscription"
5960
5961// CreateSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
5962// client's request for the CreateSpotDatafeedSubscription operation. The "output" return
5963// value will be populated with the request's response once the request completes
5964// successfully.
5965//
5966// Use "Send" method on the returned Request to send the API call to the service.
5967// the "output" return value is not valid until after Send returns without error.
5968//
5969// See CreateSpotDatafeedSubscription for more information on using the CreateSpotDatafeedSubscription
5970// API call, and error handling.
5971//
5972// This method is useful when you want to inject custom logic or configuration
5973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5974//
5975//
5976//    // Example sending a request using the CreateSpotDatafeedSubscriptionRequest method.
5977//    req, resp := client.CreateSpotDatafeedSubscriptionRequest(params)
5978//
5979//    err := req.Send()
5980//    if err == nil { // resp is now filled
5981//        fmt.Println(resp)
5982//    }
5983//
5984// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
5985func (c *EC2) CreateSpotDatafeedSubscriptionRequest(input *CreateSpotDatafeedSubscriptionInput) (req *request.Request, output *CreateSpotDatafeedSubscriptionOutput) {
5986	op := &request.Operation{
5987		Name:       opCreateSpotDatafeedSubscription,
5988		HTTPMethod: "POST",
5989		HTTPPath:   "/",
5990	}
5991
5992	if input == nil {
5993		input = &CreateSpotDatafeedSubscriptionInput{}
5994	}
5995
5996	output = &CreateSpotDatafeedSubscriptionOutput{}
5997	req = c.newRequest(op, input, output)
5998	return
5999}
6000
6001// CreateSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
6002//
6003// Creates a data feed for Spot Instances, enabling you to view Spot Instance
6004// usage logs. You can create one data feed per AWS account. For more information,
6005// see Spot Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
6006// in the Amazon EC2 User Guide for Linux Instances.
6007//
6008// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6009// with awserr.Error's Code and Message methods to get detailed information about
6010// the error.
6011//
6012// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6013// API operation CreateSpotDatafeedSubscription for usage and error information.
6014// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSpotDatafeedSubscription
6015func (c *EC2) CreateSpotDatafeedSubscription(input *CreateSpotDatafeedSubscriptionInput) (*CreateSpotDatafeedSubscriptionOutput, error) {
6016	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
6017	return out, req.Send()
6018}
6019
6020// CreateSpotDatafeedSubscriptionWithContext is the same as CreateSpotDatafeedSubscription with the addition of
6021// the ability to pass a context and additional request options.
6022//
6023// See CreateSpotDatafeedSubscription for details on how to use this API operation.
6024//
6025// The context must be non-nil and will be used for request cancellation. If
6026// the context is nil a panic will occur. In the future the SDK may create
6027// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6028// for more information on using Contexts.
6029func (c *EC2) CreateSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *CreateSpotDatafeedSubscriptionInput, opts ...request.Option) (*CreateSpotDatafeedSubscriptionOutput, error) {
6030	req, out := c.CreateSpotDatafeedSubscriptionRequest(input)
6031	req.SetContext(ctx)
6032	req.ApplyOptions(opts...)
6033	return out, req.Send()
6034}
6035
6036const opCreateSubnet = "CreateSubnet"
6037
6038// CreateSubnetRequest generates a "aws/request.Request" representing the
6039// client's request for the CreateSubnet operation. The "output" return
6040// value will be populated with the request's response once the request completes
6041// successfully.
6042//
6043// Use "Send" method on the returned Request to send the API call to the service.
6044// the "output" return value is not valid until after Send returns without error.
6045//
6046// See CreateSubnet for more information on using the CreateSubnet
6047// API call, and error handling.
6048//
6049// This method is useful when you want to inject custom logic or configuration
6050// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6051//
6052//
6053//    // Example sending a request using the CreateSubnetRequest method.
6054//    req, resp := client.CreateSubnetRequest(params)
6055//
6056//    err := req.Send()
6057//    if err == nil { // resp is now filled
6058//        fmt.Println(resp)
6059//    }
6060//
6061// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
6062func (c *EC2) CreateSubnetRequest(input *CreateSubnetInput) (req *request.Request, output *CreateSubnetOutput) {
6063	op := &request.Operation{
6064		Name:       opCreateSubnet,
6065		HTTPMethod: "POST",
6066		HTTPPath:   "/",
6067	}
6068
6069	if input == nil {
6070		input = &CreateSubnetInput{}
6071	}
6072
6073	output = &CreateSubnetOutput{}
6074	req = c.newRequest(op, input, output)
6075	return
6076}
6077
6078// CreateSubnet API operation for Amazon Elastic Compute Cloud.
6079//
6080// Creates a subnet in an existing VPC.
6081//
6082// When you create each subnet, you provide the VPC ID and IPv4 CIDR block for
6083// the subnet. After you create a subnet, you can't change its CIDR block. The
6084// size of the subnet's IPv4 CIDR block can be the same as a VPC's IPv4 CIDR
6085// block, or a subset of a VPC's IPv4 CIDR block. If you create more than one
6086// subnet in a VPC, the subnets' CIDR blocks must not overlap. The smallest
6087// IPv4 subnet (and VPC) you can create uses a /28 netmask (16 IPv4 addresses),
6088// and the largest uses a /16 netmask (65,536 IPv4 addresses).
6089//
6090// If you've associated an IPv6 CIDR block with your VPC, you can create a subnet
6091// with an IPv6 CIDR block that uses a /64 prefix length.
6092//
6093// AWS reserves both the first four and the last IPv4 address in each subnet's
6094// CIDR block. They're not available for use.
6095//
6096// If you add more than one subnet to a VPC, they're set up in a star topology
6097// with a logical router in the middle.
6098//
6099// If you launch an instance in a VPC using an Amazon EBS-backed AMI, the IP
6100// address doesn't change if you stop and restart the instance (unlike a similar
6101// instance launched outside a VPC, which gets a new IP address when restarted).
6102// It's therefore possible to have a subnet with no running instances (they're
6103// all stopped), but no remaining IP addresses available.
6104//
6105// For more information about subnets, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
6106// in the Amazon Virtual Private Cloud User Guide.
6107//
6108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6109// with awserr.Error's Code and Message methods to get detailed information about
6110// the error.
6111//
6112// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6113// API operation CreateSubnet for usage and error information.
6114// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateSubnet
6115func (c *EC2) CreateSubnet(input *CreateSubnetInput) (*CreateSubnetOutput, error) {
6116	req, out := c.CreateSubnetRequest(input)
6117	return out, req.Send()
6118}
6119
6120// CreateSubnetWithContext is the same as CreateSubnet with the addition of
6121// the ability to pass a context and additional request options.
6122//
6123// See CreateSubnet for details on how to use this API operation.
6124//
6125// The context must be non-nil and will be used for request cancellation. If
6126// the context is nil a panic will occur. In the future the SDK may create
6127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6128// for more information on using Contexts.
6129func (c *EC2) CreateSubnetWithContext(ctx aws.Context, input *CreateSubnetInput, opts ...request.Option) (*CreateSubnetOutput, error) {
6130	req, out := c.CreateSubnetRequest(input)
6131	req.SetContext(ctx)
6132	req.ApplyOptions(opts...)
6133	return out, req.Send()
6134}
6135
6136const opCreateTags = "CreateTags"
6137
6138// CreateTagsRequest generates a "aws/request.Request" representing the
6139// client's request for the CreateTags operation. The "output" return
6140// value will be populated with the request's response once the request completes
6141// successfully.
6142//
6143// Use "Send" method on the returned Request to send the API call to the service.
6144// the "output" return value is not valid until after Send returns without error.
6145//
6146// See CreateTags for more information on using the CreateTags
6147// API call, and error handling.
6148//
6149// This method is useful when you want to inject custom logic or configuration
6150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6151//
6152//
6153//    // Example sending a request using the CreateTagsRequest method.
6154//    req, resp := client.CreateTagsRequest(params)
6155//
6156//    err := req.Send()
6157//    if err == nil { // resp is now filled
6158//        fmt.Println(resp)
6159//    }
6160//
6161// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
6162func (c *EC2) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) {
6163	op := &request.Operation{
6164		Name:       opCreateTags,
6165		HTTPMethod: "POST",
6166		HTTPPath:   "/",
6167	}
6168
6169	if input == nil {
6170		input = &CreateTagsInput{}
6171	}
6172
6173	output = &CreateTagsOutput{}
6174	req = c.newRequest(op, input, output)
6175	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6176	return
6177}
6178
6179// CreateTags API operation for Amazon Elastic Compute Cloud.
6180//
6181// Adds or overwrites the specified tags for the specified Amazon EC2 resource
6182// or resources. Each resource can have a maximum of 50 tags. Each tag consists
6183// of a key and optional value. Tag keys must be unique per resource.
6184//
6185// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
6186// in the Amazon Elastic Compute Cloud User Guide. For more information about
6187// creating IAM policies that control users' access to resources based on tags,
6188// see Supported Resource-Level Permissions for Amazon EC2 API Actions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-iam-actions-resources.html)
6189// in the Amazon Elastic Compute Cloud User Guide.
6190//
6191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6192// with awserr.Error's Code and Message methods to get detailed information about
6193// the error.
6194//
6195// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6196// API operation CreateTags for usage and error information.
6197// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTags
6198func (c *EC2) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) {
6199	req, out := c.CreateTagsRequest(input)
6200	return out, req.Send()
6201}
6202
6203// CreateTagsWithContext is the same as CreateTags with the addition of
6204// the ability to pass a context and additional request options.
6205//
6206// See CreateTags for details on how to use this API operation.
6207//
6208// The context must be non-nil and will be used for request cancellation. If
6209// the context is nil a panic will occur. In the future the SDK may create
6210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6211// for more information on using Contexts.
6212func (c *EC2) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) {
6213	req, out := c.CreateTagsRequest(input)
6214	req.SetContext(ctx)
6215	req.ApplyOptions(opts...)
6216	return out, req.Send()
6217}
6218
6219const opCreateTrafficMirrorFilter = "CreateTrafficMirrorFilter"
6220
6221// CreateTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
6222// client's request for the CreateTrafficMirrorFilter operation. The "output" return
6223// value will be populated with the request's response once the request completes
6224// successfully.
6225//
6226// Use "Send" method on the returned Request to send the API call to the service.
6227// the "output" return value is not valid until after Send returns without error.
6228//
6229// See CreateTrafficMirrorFilter for more information on using the CreateTrafficMirrorFilter
6230// API call, and error handling.
6231//
6232// This method is useful when you want to inject custom logic or configuration
6233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6234//
6235//
6236//    // Example sending a request using the CreateTrafficMirrorFilterRequest method.
6237//    req, resp := client.CreateTrafficMirrorFilterRequest(params)
6238//
6239//    err := req.Send()
6240//    if err == nil { // resp is now filled
6241//        fmt.Println(resp)
6242//    }
6243//
6244// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
6245func (c *EC2) CreateTrafficMirrorFilterRequest(input *CreateTrafficMirrorFilterInput) (req *request.Request, output *CreateTrafficMirrorFilterOutput) {
6246	op := &request.Operation{
6247		Name:       opCreateTrafficMirrorFilter,
6248		HTTPMethod: "POST",
6249		HTTPPath:   "/",
6250	}
6251
6252	if input == nil {
6253		input = &CreateTrafficMirrorFilterInput{}
6254	}
6255
6256	output = &CreateTrafficMirrorFilterOutput{}
6257	req = c.newRequest(op, input, output)
6258	return
6259}
6260
6261// CreateTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
6262//
6263// Creates a Traffic Mirror filter.
6264//
6265// A Traffic Mirror filter is a set of rules that defines the traffic to mirror.
6266//
6267// By default, no traffic is mirrored. To mirror traffic, use CreateTrafficMirrorFilterRule
6268// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilterRule.htm)
6269// to add Traffic Mirror rules to the filter. The rules you add define what
6270// traffic gets mirrored. You can also use ModifyTrafficMirrorFilterNetworkServices
6271// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyTrafficMirrorFilterNetworkServices.html)
6272// to mirror supported network services.
6273//
6274// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6275// with awserr.Error's Code and Message methods to get detailed information about
6276// the error.
6277//
6278// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6279// API operation CreateTrafficMirrorFilter for usage and error information.
6280// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilter
6281func (c *EC2) CreateTrafficMirrorFilter(input *CreateTrafficMirrorFilterInput) (*CreateTrafficMirrorFilterOutput, error) {
6282	req, out := c.CreateTrafficMirrorFilterRequest(input)
6283	return out, req.Send()
6284}
6285
6286// CreateTrafficMirrorFilterWithContext is the same as CreateTrafficMirrorFilter with the addition of
6287// the ability to pass a context and additional request options.
6288//
6289// See CreateTrafficMirrorFilter for details on how to use this API operation.
6290//
6291// The context must be non-nil and will be used for request cancellation. If
6292// the context is nil a panic will occur. In the future the SDK may create
6293// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6294// for more information on using Contexts.
6295func (c *EC2) CreateTrafficMirrorFilterWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterInput, opts ...request.Option) (*CreateTrafficMirrorFilterOutput, error) {
6296	req, out := c.CreateTrafficMirrorFilterRequest(input)
6297	req.SetContext(ctx)
6298	req.ApplyOptions(opts...)
6299	return out, req.Send()
6300}
6301
6302const opCreateTrafficMirrorFilterRule = "CreateTrafficMirrorFilterRule"
6303
6304// CreateTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
6305// client's request for the CreateTrafficMirrorFilterRule operation. The "output" return
6306// value will be populated with the request's response once the request completes
6307// successfully.
6308//
6309// Use "Send" method on the returned Request to send the API call to the service.
6310// the "output" return value is not valid until after Send returns without error.
6311//
6312// See CreateTrafficMirrorFilterRule for more information on using the CreateTrafficMirrorFilterRule
6313// API call, and error handling.
6314//
6315// This method is useful when you want to inject custom logic or configuration
6316// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6317//
6318//
6319//    // Example sending a request using the CreateTrafficMirrorFilterRuleRequest method.
6320//    req, resp := client.CreateTrafficMirrorFilterRuleRequest(params)
6321//
6322//    err := req.Send()
6323//    if err == nil { // resp is now filled
6324//        fmt.Println(resp)
6325//    }
6326//
6327// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
6328func (c *EC2) CreateTrafficMirrorFilterRuleRequest(input *CreateTrafficMirrorFilterRuleInput) (req *request.Request, output *CreateTrafficMirrorFilterRuleOutput) {
6329	op := &request.Operation{
6330		Name:       opCreateTrafficMirrorFilterRule,
6331		HTTPMethod: "POST",
6332		HTTPPath:   "/",
6333	}
6334
6335	if input == nil {
6336		input = &CreateTrafficMirrorFilterRuleInput{}
6337	}
6338
6339	output = &CreateTrafficMirrorFilterRuleOutput{}
6340	req = c.newRequest(op, input, output)
6341	return
6342}
6343
6344// CreateTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
6345//
6346// Creates a Traffic Mirror filter rule.
6347//
6348// A Traffic Mirror rule defines the Traffic Mirror source traffic to mirror.
6349//
6350// You need the Traffic Mirror filter ID when you create the rule.
6351//
6352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6353// with awserr.Error's Code and Message methods to get detailed information about
6354// the error.
6355//
6356// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6357// API operation CreateTrafficMirrorFilterRule for usage and error information.
6358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorFilterRule
6359func (c *EC2) CreateTrafficMirrorFilterRule(input *CreateTrafficMirrorFilterRuleInput) (*CreateTrafficMirrorFilterRuleOutput, error) {
6360	req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
6361	return out, req.Send()
6362}
6363
6364// CreateTrafficMirrorFilterRuleWithContext is the same as CreateTrafficMirrorFilterRule with the addition of
6365// the ability to pass a context and additional request options.
6366//
6367// See CreateTrafficMirrorFilterRule for details on how to use this API operation.
6368//
6369// The context must be non-nil and will be used for request cancellation. If
6370// the context is nil a panic will occur. In the future the SDK may create
6371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6372// for more information on using Contexts.
6373func (c *EC2) CreateTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *CreateTrafficMirrorFilterRuleInput, opts ...request.Option) (*CreateTrafficMirrorFilterRuleOutput, error) {
6374	req, out := c.CreateTrafficMirrorFilterRuleRequest(input)
6375	req.SetContext(ctx)
6376	req.ApplyOptions(opts...)
6377	return out, req.Send()
6378}
6379
6380const opCreateTrafficMirrorSession = "CreateTrafficMirrorSession"
6381
6382// CreateTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
6383// client's request for the CreateTrafficMirrorSession operation. The "output" return
6384// value will be populated with the request's response once the request completes
6385// successfully.
6386//
6387// Use "Send" method on the returned Request to send the API call to the service.
6388// the "output" return value is not valid until after Send returns without error.
6389//
6390// See CreateTrafficMirrorSession for more information on using the CreateTrafficMirrorSession
6391// API call, and error handling.
6392//
6393// This method is useful when you want to inject custom logic or configuration
6394// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6395//
6396//
6397//    // Example sending a request using the CreateTrafficMirrorSessionRequest method.
6398//    req, resp := client.CreateTrafficMirrorSessionRequest(params)
6399//
6400//    err := req.Send()
6401//    if err == nil { // resp is now filled
6402//        fmt.Println(resp)
6403//    }
6404//
6405// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
6406func (c *EC2) CreateTrafficMirrorSessionRequest(input *CreateTrafficMirrorSessionInput) (req *request.Request, output *CreateTrafficMirrorSessionOutput) {
6407	op := &request.Operation{
6408		Name:       opCreateTrafficMirrorSession,
6409		HTTPMethod: "POST",
6410		HTTPPath:   "/",
6411	}
6412
6413	if input == nil {
6414		input = &CreateTrafficMirrorSessionInput{}
6415	}
6416
6417	output = &CreateTrafficMirrorSessionOutput{}
6418	req = c.newRequest(op, input, output)
6419	return
6420}
6421
6422// CreateTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
6423//
6424// Creates a Traffic Mirror session.
6425//
6426// A Traffic Mirror session actively copies packets from a Traffic Mirror source
6427// to a Traffic Mirror target. Create a filter, and then assign it to the session
6428// to define a subset of the traffic to mirror, for example all TCP traffic.
6429//
6430// The Traffic Mirror source and the Traffic Mirror target (monitoring appliances)
6431// can be in the same VPC, or in a different VPC connected via VPC peering or
6432// a transit gateway.
6433//
6434// By default, no traffic is mirrored. Use CreateTrafficMirrorFilter (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorFilter.htm)
6435// to create filter rules that specify the traffic to mirror.
6436//
6437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6438// with awserr.Error's Code and Message methods to get detailed information about
6439// the error.
6440//
6441// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6442// API operation CreateTrafficMirrorSession for usage and error information.
6443// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorSession
6444func (c *EC2) CreateTrafficMirrorSession(input *CreateTrafficMirrorSessionInput) (*CreateTrafficMirrorSessionOutput, error) {
6445	req, out := c.CreateTrafficMirrorSessionRequest(input)
6446	return out, req.Send()
6447}
6448
6449// CreateTrafficMirrorSessionWithContext is the same as CreateTrafficMirrorSession with the addition of
6450// the ability to pass a context and additional request options.
6451//
6452// See CreateTrafficMirrorSession for details on how to use this API operation.
6453//
6454// The context must be non-nil and will be used for request cancellation. If
6455// the context is nil a panic will occur. In the future the SDK may create
6456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6457// for more information on using Contexts.
6458func (c *EC2) CreateTrafficMirrorSessionWithContext(ctx aws.Context, input *CreateTrafficMirrorSessionInput, opts ...request.Option) (*CreateTrafficMirrorSessionOutput, error) {
6459	req, out := c.CreateTrafficMirrorSessionRequest(input)
6460	req.SetContext(ctx)
6461	req.ApplyOptions(opts...)
6462	return out, req.Send()
6463}
6464
6465const opCreateTrafficMirrorTarget = "CreateTrafficMirrorTarget"
6466
6467// CreateTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
6468// client's request for the CreateTrafficMirrorTarget operation. The "output" return
6469// value will be populated with the request's response once the request completes
6470// successfully.
6471//
6472// Use "Send" method on the returned Request to send the API call to the service.
6473// the "output" return value is not valid until after Send returns without error.
6474//
6475// See CreateTrafficMirrorTarget for more information on using the CreateTrafficMirrorTarget
6476// API call, and error handling.
6477//
6478// This method is useful when you want to inject custom logic or configuration
6479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6480//
6481//
6482//    // Example sending a request using the CreateTrafficMirrorTargetRequest method.
6483//    req, resp := client.CreateTrafficMirrorTargetRequest(params)
6484//
6485//    err := req.Send()
6486//    if err == nil { // resp is now filled
6487//        fmt.Println(resp)
6488//    }
6489//
6490// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
6491func (c *EC2) CreateTrafficMirrorTargetRequest(input *CreateTrafficMirrorTargetInput) (req *request.Request, output *CreateTrafficMirrorTargetOutput) {
6492	op := &request.Operation{
6493		Name:       opCreateTrafficMirrorTarget,
6494		HTTPMethod: "POST",
6495		HTTPPath:   "/",
6496	}
6497
6498	if input == nil {
6499		input = &CreateTrafficMirrorTargetInput{}
6500	}
6501
6502	output = &CreateTrafficMirrorTargetOutput{}
6503	req = c.newRequest(op, input, output)
6504	return
6505}
6506
6507// CreateTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
6508//
6509// Creates a target for your Traffic Mirror session.
6510//
6511// A Traffic Mirror target is the destination for mirrored traffic. The Traffic
6512// Mirror source and the Traffic Mirror target (monitoring appliances) can be
6513// in the same VPC, or in different VPCs connected via VPC peering or a transit
6514// gateway.
6515//
6516// A Traffic Mirror target can be a network interface, or a Network Load Balancer.
6517//
6518// To use the target in a Traffic Mirror session, use CreateTrafficMirrorSession
6519// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTrafficMirrorSession.htm).
6520//
6521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6522// with awserr.Error's Code and Message methods to get detailed information about
6523// the error.
6524//
6525// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6526// API operation CreateTrafficMirrorTarget for usage and error information.
6527// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTrafficMirrorTarget
6528func (c *EC2) CreateTrafficMirrorTarget(input *CreateTrafficMirrorTargetInput) (*CreateTrafficMirrorTargetOutput, error) {
6529	req, out := c.CreateTrafficMirrorTargetRequest(input)
6530	return out, req.Send()
6531}
6532
6533// CreateTrafficMirrorTargetWithContext is the same as CreateTrafficMirrorTarget with the addition of
6534// the ability to pass a context and additional request options.
6535//
6536// See CreateTrafficMirrorTarget for details on how to use this API operation.
6537//
6538// The context must be non-nil and will be used for request cancellation. If
6539// the context is nil a panic will occur. In the future the SDK may create
6540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6541// for more information on using Contexts.
6542func (c *EC2) CreateTrafficMirrorTargetWithContext(ctx aws.Context, input *CreateTrafficMirrorTargetInput, opts ...request.Option) (*CreateTrafficMirrorTargetOutput, error) {
6543	req, out := c.CreateTrafficMirrorTargetRequest(input)
6544	req.SetContext(ctx)
6545	req.ApplyOptions(opts...)
6546	return out, req.Send()
6547}
6548
6549const opCreateTransitGateway = "CreateTransitGateway"
6550
6551// CreateTransitGatewayRequest generates a "aws/request.Request" representing the
6552// client's request for the CreateTransitGateway operation. The "output" return
6553// value will be populated with the request's response once the request completes
6554// successfully.
6555//
6556// Use "Send" method on the returned Request to send the API call to the service.
6557// the "output" return value is not valid until after Send returns without error.
6558//
6559// See CreateTransitGateway for more information on using the CreateTransitGateway
6560// API call, and error handling.
6561//
6562// This method is useful when you want to inject custom logic or configuration
6563// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6564//
6565//
6566//    // Example sending a request using the CreateTransitGatewayRequest method.
6567//    req, resp := client.CreateTransitGatewayRequest(params)
6568//
6569//    err := req.Send()
6570//    if err == nil { // resp is now filled
6571//        fmt.Println(resp)
6572//    }
6573//
6574// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
6575func (c *EC2) CreateTransitGatewayRequest(input *CreateTransitGatewayInput) (req *request.Request, output *CreateTransitGatewayOutput) {
6576	op := &request.Operation{
6577		Name:       opCreateTransitGateway,
6578		HTTPMethod: "POST",
6579		HTTPPath:   "/",
6580	}
6581
6582	if input == nil {
6583		input = &CreateTransitGatewayInput{}
6584	}
6585
6586	output = &CreateTransitGatewayOutput{}
6587	req = c.newRequest(op, input, output)
6588	return
6589}
6590
6591// CreateTransitGateway API operation for Amazon Elastic Compute Cloud.
6592//
6593// Creates a transit gateway.
6594//
6595// You can use a transit gateway to interconnect your virtual private clouds
6596// (VPC) and on-premises networks. After the transit gateway enters the available
6597// state, you can attach your VPCs and VPN connections to the transit gateway.
6598//
6599// To attach your VPCs, use CreateTransitGatewayVpcAttachment.
6600//
6601// To attach a VPN connection, use CreateCustomerGateway to create a customer
6602// gateway and specify the ID of the customer gateway and the ID of the transit
6603// gateway in a call to CreateVpnConnection.
6604//
6605// When you create a transit gateway, we create a default transit gateway route
6606// table and use it as the default association route table and the default propagation
6607// route table. You can use CreateTransitGatewayRouteTable to create additional
6608// transit gateway route tables. If you disable automatic route propagation,
6609// we do not create a default transit gateway route table. You can use EnableTransitGatewayRouteTablePropagation
6610// to propagate routes from a resource attachment to a transit gateway route
6611// table. If you disable automatic associations, you can use AssociateTransitGatewayRouteTable
6612// to associate a resource attachment with a transit gateway route table.
6613//
6614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6615// with awserr.Error's Code and Message methods to get detailed information about
6616// the error.
6617//
6618// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6619// API operation CreateTransitGateway for usage and error information.
6620// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGateway
6621func (c *EC2) CreateTransitGateway(input *CreateTransitGatewayInput) (*CreateTransitGatewayOutput, error) {
6622	req, out := c.CreateTransitGatewayRequest(input)
6623	return out, req.Send()
6624}
6625
6626// CreateTransitGatewayWithContext is the same as CreateTransitGateway with the addition of
6627// the ability to pass a context and additional request options.
6628//
6629// See CreateTransitGateway for details on how to use this API operation.
6630//
6631// The context must be non-nil and will be used for request cancellation. If
6632// the context is nil a panic will occur. In the future the SDK may create
6633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6634// for more information on using Contexts.
6635func (c *EC2) CreateTransitGatewayWithContext(ctx aws.Context, input *CreateTransitGatewayInput, opts ...request.Option) (*CreateTransitGatewayOutput, error) {
6636	req, out := c.CreateTransitGatewayRequest(input)
6637	req.SetContext(ctx)
6638	req.ApplyOptions(opts...)
6639	return out, req.Send()
6640}
6641
6642const opCreateTransitGatewayMulticastDomain = "CreateTransitGatewayMulticastDomain"
6643
6644// CreateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
6645// client's request for the CreateTransitGatewayMulticastDomain operation. The "output" return
6646// value will be populated with the request's response once the request completes
6647// successfully.
6648//
6649// Use "Send" method on the returned Request to send the API call to the service.
6650// the "output" return value is not valid until after Send returns without error.
6651//
6652// See CreateTransitGatewayMulticastDomain for more information on using the CreateTransitGatewayMulticastDomain
6653// API call, and error handling.
6654//
6655// This method is useful when you want to inject custom logic or configuration
6656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6657//
6658//
6659//    // Example sending a request using the CreateTransitGatewayMulticastDomainRequest method.
6660//    req, resp := client.CreateTransitGatewayMulticastDomainRequest(params)
6661//
6662//    err := req.Send()
6663//    if err == nil { // resp is now filled
6664//        fmt.Println(resp)
6665//    }
6666//
6667// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
6668func (c *EC2) CreateTransitGatewayMulticastDomainRequest(input *CreateTransitGatewayMulticastDomainInput) (req *request.Request, output *CreateTransitGatewayMulticastDomainOutput) {
6669	op := &request.Operation{
6670		Name:       opCreateTransitGatewayMulticastDomain,
6671		HTTPMethod: "POST",
6672		HTTPPath:   "/",
6673	}
6674
6675	if input == nil {
6676		input = &CreateTransitGatewayMulticastDomainInput{}
6677	}
6678
6679	output = &CreateTransitGatewayMulticastDomainOutput{}
6680	req = c.newRequest(op, input, output)
6681	return
6682}
6683
6684// CreateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
6685//
6686// Creates a multicast domain using the specified transit gateway.
6687//
6688// The transit gateway must be in the available state before you create a domain.
6689// Use DescribeTransitGateways (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html)
6690// to see the state of transit gateway.
6691//
6692// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6693// with awserr.Error's Code and Message methods to get detailed information about
6694// the error.
6695//
6696// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6697// API operation CreateTransitGatewayMulticastDomain for usage and error information.
6698// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayMulticastDomain
6699func (c *EC2) CreateTransitGatewayMulticastDomain(input *CreateTransitGatewayMulticastDomainInput) (*CreateTransitGatewayMulticastDomainOutput, error) {
6700	req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
6701	return out, req.Send()
6702}
6703
6704// CreateTransitGatewayMulticastDomainWithContext is the same as CreateTransitGatewayMulticastDomain with the addition of
6705// the ability to pass a context and additional request options.
6706//
6707// See CreateTransitGatewayMulticastDomain for details on how to use this API operation.
6708//
6709// The context must be non-nil and will be used for request cancellation. If
6710// the context is nil a panic will occur. In the future the SDK may create
6711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6712// for more information on using Contexts.
6713func (c *EC2) CreateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *CreateTransitGatewayMulticastDomainInput, opts ...request.Option) (*CreateTransitGatewayMulticastDomainOutput, error) {
6714	req, out := c.CreateTransitGatewayMulticastDomainRequest(input)
6715	req.SetContext(ctx)
6716	req.ApplyOptions(opts...)
6717	return out, req.Send()
6718}
6719
6720const opCreateTransitGatewayPeeringAttachment = "CreateTransitGatewayPeeringAttachment"
6721
6722// CreateTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
6723// client's request for the CreateTransitGatewayPeeringAttachment operation. The "output" return
6724// value will be populated with the request's response once the request completes
6725// successfully.
6726//
6727// Use "Send" method on the returned Request to send the API call to the service.
6728// the "output" return value is not valid until after Send returns without error.
6729//
6730// See CreateTransitGatewayPeeringAttachment for more information on using the CreateTransitGatewayPeeringAttachment
6731// API call, and error handling.
6732//
6733// This method is useful when you want to inject custom logic or configuration
6734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6735//
6736//
6737//    // Example sending a request using the CreateTransitGatewayPeeringAttachmentRequest method.
6738//    req, resp := client.CreateTransitGatewayPeeringAttachmentRequest(params)
6739//
6740//    err := req.Send()
6741//    if err == nil { // resp is now filled
6742//        fmt.Println(resp)
6743//    }
6744//
6745// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
6746func (c *EC2) CreateTransitGatewayPeeringAttachmentRequest(input *CreateTransitGatewayPeeringAttachmentInput) (req *request.Request, output *CreateTransitGatewayPeeringAttachmentOutput) {
6747	op := &request.Operation{
6748		Name:       opCreateTransitGatewayPeeringAttachment,
6749		HTTPMethod: "POST",
6750		HTTPPath:   "/",
6751	}
6752
6753	if input == nil {
6754		input = &CreateTransitGatewayPeeringAttachmentInput{}
6755	}
6756
6757	output = &CreateTransitGatewayPeeringAttachmentOutput{}
6758	req = c.newRequest(op, input, output)
6759	return
6760}
6761
6762// CreateTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
6763//
6764// Requests a transit gateway peering attachment between the specified transit
6765// gateway (requester) and a peer transit gateway (accepter). The transit gateways
6766// must be in different Regions. The peer transit gateway can be in your account
6767// or a different AWS account.
6768//
6769// After you create the peering attachment, the owner of the accepter transit
6770// gateway must accept the attachment request.
6771//
6772// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6773// with awserr.Error's Code and Message methods to get detailed information about
6774// the error.
6775//
6776// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6777// API operation CreateTransitGatewayPeeringAttachment for usage and error information.
6778// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayPeeringAttachment
6779func (c *EC2) CreateTransitGatewayPeeringAttachment(input *CreateTransitGatewayPeeringAttachmentInput) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
6780	req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
6781	return out, req.Send()
6782}
6783
6784// CreateTransitGatewayPeeringAttachmentWithContext is the same as CreateTransitGatewayPeeringAttachment with the addition of
6785// the ability to pass a context and additional request options.
6786//
6787// See CreateTransitGatewayPeeringAttachment for details on how to use this API operation.
6788//
6789// The context must be non-nil and will be used for request cancellation. If
6790// the context is nil a panic will occur. In the future the SDK may create
6791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6792// for more information on using Contexts.
6793func (c *EC2) CreateTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*CreateTransitGatewayPeeringAttachmentOutput, error) {
6794	req, out := c.CreateTransitGatewayPeeringAttachmentRequest(input)
6795	req.SetContext(ctx)
6796	req.ApplyOptions(opts...)
6797	return out, req.Send()
6798}
6799
6800const opCreateTransitGatewayRoute = "CreateTransitGatewayRoute"
6801
6802// CreateTransitGatewayRouteRequest generates a "aws/request.Request" representing the
6803// client's request for the CreateTransitGatewayRoute operation. The "output" return
6804// value will be populated with the request's response once the request completes
6805// successfully.
6806//
6807// Use "Send" method on the returned Request to send the API call to the service.
6808// the "output" return value is not valid until after Send returns without error.
6809//
6810// See CreateTransitGatewayRoute for more information on using the CreateTransitGatewayRoute
6811// API call, and error handling.
6812//
6813// This method is useful when you want to inject custom logic or configuration
6814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6815//
6816//
6817//    // Example sending a request using the CreateTransitGatewayRouteRequest method.
6818//    req, resp := client.CreateTransitGatewayRouteRequest(params)
6819//
6820//    err := req.Send()
6821//    if err == nil { // resp is now filled
6822//        fmt.Println(resp)
6823//    }
6824//
6825// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
6826func (c *EC2) CreateTransitGatewayRouteRequest(input *CreateTransitGatewayRouteInput) (req *request.Request, output *CreateTransitGatewayRouteOutput) {
6827	op := &request.Operation{
6828		Name:       opCreateTransitGatewayRoute,
6829		HTTPMethod: "POST",
6830		HTTPPath:   "/",
6831	}
6832
6833	if input == nil {
6834		input = &CreateTransitGatewayRouteInput{}
6835	}
6836
6837	output = &CreateTransitGatewayRouteOutput{}
6838	req = c.newRequest(op, input, output)
6839	return
6840}
6841
6842// CreateTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
6843//
6844// Creates a static route for the specified transit gateway route table.
6845//
6846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6847// with awserr.Error's Code and Message methods to get detailed information about
6848// the error.
6849//
6850// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6851// API operation CreateTransitGatewayRoute for usage and error information.
6852// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRoute
6853func (c *EC2) CreateTransitGatewayRoute(input *CreateTransitGatewayRouteInput) (*CreateTransitGatewayRouteOutput, error) {
6854	req, out := c.CreateTransitGatewayRouteRequest(input)
6855	return out, req.Send()
6856}
6857
6858// CreateTransitGatewayRouteWithContext is the same as CreateTransitGatewayRoute with the addition of
6859// the ability to pass a context and additional request options.
6860//
6861// See CreateTransitGatewayRoute for details on how to use this API operation.
6862//
6863// The context must be non-nil and will be used for request cancellation. If
6864// the context is nil a panic will occur. In the future the SDK may create
6865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6866// for more information on using Contexts.
6867func (c *EC2) CreateTransitGatewayRouteWithContext(ctx aws.Context, input *CreateTransitGatewayRouteInput, opts ...request.Option) (*CreateTransitGatewayRouteOutput, error) {
6868	req, out := c.CreateTransitGatewayRouteRequest(input)
6869	req.SetContext(ctx)
6870	req.ApplyOptions(opts...)
6871	return out, req.Send()
6872}
6873
6874const opCreateTransitGatewayRouteTable = "CreateTransitGatewayRouteTable"
6875
6876// CreateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
6877// client's request for the CreateTransitGatewayRouteTable operation. The "output" return
6878// value will be populated with the request's response once the request completes
6879// successfully.
6880//
6881// Use "Send" method on the returned Request to send the API call to the service.
6882// the "output" return value is not valid until after Send returns without error.
6883//
6884// See CreateTransitGatewayRouteTable for more information on using the CreateTransitGatewayRouteTable
6885// API call, and error handling.
6886//
6887// This method is useful when you want to inject custom logic or configuration
6888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6889//
6890//
6891//    // Example sending a request using the CreateTransitGatewayRouteTableRequest method.
6892//    req, resp := client.CreateTransitGatewayRouteTableRequest(params)
6893//
6894//    err := req.Send()
6895//    if err == nil { // resp is now filled
6896//        fmt.Println(resp)
6897//    }
6898//
6899// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
6900func (c *EC2) CreateTransitGatewayRouteTableRequest(input *CreateTransitGatewayRouteTableInput) (req *request.Request, output *CreateTransitGatewayRouteTableOutput) {
6901	op := &request.Operation{
6902		Name:       opCreateTransitGatewayRouteTable,
6903		HTTPMethod: "POST",
6904		HTTPPath:   "/",
6905	}
6906
6907	if input == nil {
6908		input = &CreateTransitGatewayRouteTableInput{}
6909	}
6910
6911	output = &CreateTransitGatewayRouteTableOutput{}
6912	req = c.newRequest(op, input, output)
6913	return
6914}
6915
6916// CreateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
6917//
6918// Creates a route table for the specified transit gateway.
6919//
6920// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6921// with awserr.Error's Code and Message methods to get detailed information about
6922// the error.
6923//
6924// See the AWS API reference guide for Amazon Elastic Compute Cloud's
6925// API operation CreateTransitGatewayRouteTable for usage and error information.
6926// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayRouteTable
6927func (c *EC2) CreateTransitGatewayRouteTable(input *CreateTransitGatewayRouteTableInput) (*CreateTransitGatewayRouteTableOutput, error) {
6928	req, out := c.CreateTransitGatewayRouteTableRequest(input)
6929	return out, req.Send()
6930}
6931
6932// CreateTransitGatewayRouteTableWithContext is the same as CreateTransitGatewayRouteTable with the addition of
6933// the ability to pass a context and additional request options.
6934//
6935// See CreateTransitGatewayRouteTable for details on how to use this API operation.
6936//
6937// The context must be non-nil and will be used for request cancellation. If
6938// the context is nil a panic will occur. In the future the SDK may create
6939// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6940// for more information on using Contexts.
6941func (c *EC2) CreateTransitGatewayRouteTableWithContext(ctx aws.Context, input *CreateTransitGatewayRouteTableInput, opts ...request.Option) (*CreateTransitGatewayRouteTableOutput, error) {
6942	req, out := c.CreateTransitGatewayRouteTableRequest(input)
6943	req.SetContext(ctx)
6944	req.ApplyOptions(opts...)
6945	return out, req.Send()
6946}
6947
6948const opCreateTransitGatewayVpcAttachment = "CreateTransitGatewayVpcAttachment"
6949
6950// CreateTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
6951// client's request for the CreateTransitGatewayVpcAttachment operation. The "output" return
6952// value will be populated with the request's response once the request completes
6953// successfully.
6954//
6955// Use "Send" method on the returned Request to send the API call to the service.
6956// the "output" return value is not valid until after Send returns without error.
6957//
6958// See CreateTransitGatewayVpcAttachment for more information on using the CreateTransitGatewayVpcAttachment
6959// API call, and error handling.
6960//
6961// This method is useful when you want to inject custom logic or configuration
6962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6963//
6964//
6965//    // Example sending a request using the CreateTransitGatewayVpcAttachmentRequest method.
6966//    req, resp := client.CreateTransitGatewayVpcAttachmentRequest(params)
6967//
6968//    err := req.Send()
6969//    if err == nil { // resp is now filled
6970//        fmt.Println(resp)
6971//    }
6972//
6973// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
6974func (c *EC2) CreateTransitGatewayVpcAttachmentRequest(input *CreateTransitGatewayVpcAttachmentInput) (req *request.Request, output *CreateTransitGatewayVpcAttachmentOutput) {
6975	op := &request.Operation{
6976		Name:       opCreateTransitGatewayVpcAttachment,
6977		HTTPMethod: "POST",
6978		HTTPPath:   "/",
6979	}
6980
6981	if input == nil {
6982		input = &CreateTransitGatewayVpcAttachmentInput{}
6983	}
6984
6985	output = &CreateTransitGatewayVpcAttachmentOutput{}
6986	req = c.newRequest(op, input, output)
6987	return
6988}
6989
6990// CreateTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
6991//
6992// Attaches the specified VPC to the specified transit gateway.
6993//
6994// If you attach a VPC with a CIDR range that overlaps the CIDR range of a VPC
6995// that is already attached, the new VPC CIDR range is not propagated to the
6996// default propagation route table.
6997//
6998// To send VPC traffic to an attached transit gateway, add a route to the VPC
6999// route table using CreateRoute.
7000//
7001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7002// with awserr.Error's Code and Message methods to get detailed information about
7003// the error.
7004//
7005// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7006// API operation CreateTransitGatewayVpcAttachment for usage and error information.
7007// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateTransitGatewayVpcAttachment
7008func (c *EC2) CreateTransitGatewayVpcAttachment(input *CreateTransitGatewayVpcAttachmentInput) (*CreateTransitGatewayVpcAttachmentOutput, error) {
7009	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
7010	return out, req.Send()
7011}
7012
7013// CreateTransitGatewayVpcAttachmentWithContext is the same as CreateTransitGatewayVpcAttachment with the addition of
7014// the ability to pass a context and additional request options.
7015//
7016// See CreateTransitGatewayVpcAttachment for details on how to use this API operation.
7017//
7018// The context must be non-nil and will be used for request cancellation. If
7019// the context is nil a panic will occur. In the future the SDK may create
7020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7021// for more information on using Contexts.
7022func (c *EC2) CreateTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *CreateTransitGatewayVpcAttachmentInput, opts ...request.Option) (*CreateTransitGatewayVpcAttachmentOutput, error) {
7023	req, out := c.CreateTransitGatewayVpcAttachmentRequest(input)
7024	req.SetContext(ctx)
7025	req.ApplyOptions(opts...)
7026	return out, req.Send()
7027}
7028
7029const opCreateVolume = "CreateVolume"
7030
7031// CreateVolumeRequest generates a "aws/request.Request" representing the
7032// client's request for the CreateVolume operation. The "output" return
7033// value will be populated with the request's response once the request completes
7034// successfully.
7035//
7036// Use "Send" method on the returned Request to send the API call to the service.
7037// the "output" return value is not valid until after Send returns without error.
7038//
7039// See CreateVolume for more information on using the CreateVolume
7040// API call, and error handling.
7041//
7042// This method is useful when you want to inject custom logic or configuration
7043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7044//
7045//
7046//    // Example sending a request using the CreateVolumeRequest method.
7047//    req, resp := client.CreateVolumeRequest(params)
7048//
7049//    err := req.Send()
7050//    if err == nil { // resp is now filled
7051//        fmt.Println(resp)
7052//    }
7053//
7054// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
7055func (c *EC2) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Request, output *Volume) {
7056	op := &request.Operation{
7057		Name:       opCreateVolume,
7058		HTTPMethod: "POST",
7059		HTTPPath:   "/",
7060	}
7061
7062	if input == nil {
7063		input = &CreateVolumeInput{}
7064	}
7065
7066	output = &Volume{}
7067	req = c.newRequest(op, input, output)
7068	return
7069}
7070
7071// CreateVolume API operation for Amazon Elastic Compute Cloud.
7072//
7073// Creates an EBS volume that can be attached to an instance in the same Availability
7074// Zone. The volume is created in the regional endpoint that you send the HTTP
7075// request to. For more information see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html).
7076//
7077// You can create a new empty volume or restore a volume from an EBS snapshot.
7078// Any AWS Marketplace product codes from the snapshot are propagated to the
7079// volume.
7080//
7081// You can create encrypted volumes. Encrypted volumes must be attached to instances
7082// that support Amazon EBS encryption. Volumes that are created from encrypted
7083// snapshots are also automatically encrypted. For more information, see Amazon
7084// EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
7085// in the Amazon Elastic Compute Cloud User Guide.
7086//
7087// You can tag your volumes during creation. For more information, see Tagging
7088// Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
7089// in the Amazon Elastic Compute Cloud User Guide.
7090//
7091// For more information, see Creating an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-volume.html)
7092// in the Amazon Elastic Compute Cloud User Guide.
7093//
7094// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7095// with awserr.Error's Code and Message methods to get detailed information about
7096// the error.
7097//
7098// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7099// API operation CreateVolume for usage and error information.
7100// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVolume
7101func (c *EC2) CreateVolume(input *CreateVolumeInput) (*Volume, error) {
7102	req, out := c.CreateVolumeRequest(input)
7103	return out, req.Send()
7104}
7105
7106// CreateVolumeWithContext is the same as CreateVolume with the addition of
7107// the ability to pass a context and additional request options.
7108//
7109// See CreateVolume for details on how to use this API operation.
7110//
7111// The context must be non-nil and will be used for request cancellation. If
7112// the context is nil a panic will occur. In the future the SDK may create
7113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7114// for more information on using Contexts.
7115func (c *EC2) CreateVolumeWithContext(ctx aws.Context, input *CreateVolumeInput, opts ...request.Option) (*Volume, error) {
7116	req, out := c.CreateVolumeRequest(input)
7117	req.SetContext(ctx)
7118	req.ApplyOptions(opts...)
7119	return out, req.Send()
7120}
7121
7122const opCreateVpc = "CreateVpc"
7123
7124// CreateVpcRequest generates a "aws/request.Request" representing the
7125// client's request for the CreateVpc operation. The "output" return
7126// value will be populated with the request's response once the request completes
7127// successfully.
7128//
7129// Use "Send" method on the returned Request to send the API call to the service.
7130// the "output" return value is not valid until after Send returns without error.
7131//
7132// See CreateVpc for more information on using the CreateVpc
7133// API call, and error handling.
7134//
7135// This method is useful when you want to inject custom logic or configuration
7136// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7137//
7138//
7139//    // Example sending a request using the CreateVpcRequest method.
7140//    req, resp := client.CreateVpcRequest(params)
7141//
7142//    err := req.Send()
7143//    if err == nil { // resp is now filled
7144//        fmt.Println(resp)
7145//    }
7146//
7147// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
7148func (c *EC2) CreateVpcRequest(input *CreateVpcInput) (req *request.Request, output *CreateVpcOutput) {
7149	op := &request.Operation{
7150		Name:       opCreateVpc,
7151		HTTPMethod: "POST",
7152		HTTPPath:   "/",
7153	}
7154
7155	if input == nil {
7156		input = &CreateVpcInput{}
7157	}
7158
7159	output = &CreateVpcOutput{}
7160	req = c.newRequest(op, input, output)
7161	return
7162}
7163
7164// CreateVpc API operation for Amazon Elastic Compute Cloud.
7165//
7166// Creates a VPC with the specified IPv4 CIDR block. The smallest VPC you can
7167// create uses a /28 netmask (16 IPv4 addresses), and the largest uses a /16
7168// netmask (65,536 IPv4 addresses). For more information about how large to
7169// make your VPC, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
7170// in the Amazon Virtual Private Cloud User Guide.
7171//
7172// You can optionally request an Amazon-provided IPv6 CIDR block for the VPC.
7173// The IPv6 CIDR block uses a /56 prefix length, and is allocated from Amazon's
7174// pool of IPv6 addresses. You cannot choose the IPv6 range for your VPC.
7175//
7176// By default, each instance you launch in the VPC has the default DHCP options,
7177// which include only a default DNS server that we provide (AmazonProvidedDNS).
7178// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
7179// in the Amazon Virtual Private Cloud User Guide.
7180//
7181// You can specify the instance tenancy value for the VPC when you create it.
7182// You can't change this value for the VPC after you create it. For more information,
7183// see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
7184// in the Amazon Elastic Compute Cloud User Guide.
7185//
7186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7187// with awserr.Error's Code and Message methods to get detailed information about
7188// the error.
7189//
7190// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7191// API operation CreateVpc for usage and error information.
7192// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpc
7193func (c *EC2) CreateVpc(input *CreateVpcInput) (*CreateVpcOutput, error) {
7194	req, out := c.CreateVpcRequest(input)
7195	return out, req.Send()
7196}
7197
7198// CreateVpcWithContext is the same as CreateVpc with the addition of
7199// the ability to pass a context and additional request options.
7200//
7201// See CreateVpc for details on how to use this API operation.
7202//
7203// The context must be non-nil and will be used for request cancellation. If
7204// the context is nil a panic will occur. In the future the SDK may create
7205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7206// for more information on using Contexts.
7207func (c *EC2) CreateVpcWithContext(ctx aws.Context, input *CreateVpcInput, opts ...request.Option) (*CreateVpcOutput, error) {
7208	req, out := c.CreateVpcRequest(input)
7209	req.SetContext(ctx)
7210	req.ApplyOptions(opts...)
7211	return out, req.Send()
7212}
7213
7214const opCreateVpcEndpoint = "CreateVpcEndpoint"
7215
7216// CreateVpcEndpointRequest generates a "aws/request.Request" representing the
7217// client's request for the CreateVpcEndpoint operation. The "output" return
7218// value will be populated with the request's response once the request completes
7219// successfully.
7220//
7221// Use "Send" method on the returned Request to send the API call to the service.
7222// the "output" return value is not valid until after Send returns without error.
7223//
7224// See CreateVpcEndpoint for more information on using the CreateVpcEndpoint
7225// API call, and error handling.
7226//
7227// This method is useful when you want to inject custom logic or configuration
7228// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7229//
7230//
7231//    // Example sending a request using the CreateVpcEndpointRequest method.
7232//    req, resp := client.CreateVpcEndpointRequest(params)
7233//
7234//    err := req.Send()
7235//    if err == nil { // resp is now filled
7236//        fmt.Println(resp)
7237//    }
7238//
7239// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
7240func (c *EC2) CreateVpcEndpointRequest(input *CreateVpcEndpointInput) (req *request.Request, output *CreateVpcEndpointOutput) {
7241	op := &request.Operation{
7242		Name:       opCreateVpcEndpoint,
7243		HTTPMethod: "POST",
7244		HTTPPath:   "/",
7245	}
7246
7247	if input == nil {
7248		input = &CreateVpcEndpointInput{}
7249	}
7250
7251	output = &CreateVpcEndpointOutput{}
7252	req = c.newRequest(op, input, output)
7253	return
7254}
7255
7256// CreateVpcEndpoint API operation for Amazon Elastic Compute Cloud.
7257//
7258// Creates a VPC endpoint for a specified service. An endpoint enables you to
7259// create a private connection between your VPC and the service. The service
7260// may be provided by AWS, an AWS Marketplace partner, or another AWS account.
7261// For more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
7262// in the Amazon Virtual Private Cloud User Guide.
7263//
7264// A gateway endpoint serves as a target for a route in your route table for
7265// traffic destined for the AWS service. You can specify an endpoint policy
7266// to attach to the endpoint that will control access to the service from your
7267// VPC. You can also specify the VPC route tables that use the endpoint.
7268//
7269// An interface endpoint is a network interface in your subnet that serves as
7270// an endpoint for communicating with the specified service. You can specify
7271// the subnets in which to create an endpoint, and the security groups to associate
7272// with the endpoint network interface.
7273//
7274// Use DescribeVpcEndpointServices to get a list of supported services.
7275//
7276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7277// with awserr.Error's Code and Message methods to get detailed information about
7278// the error.
7279//
7280// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7281// API operation CreateVpcEndpoint for usage and error information.
7282// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpoint
7283func (c *EC2) CreateVpcEndpoint(input *CreateVpcEndpointInput) (*CreateVpcEndpointOutput, error) {
7284	req, out := c.CreateVpcEndpointRequest(input)
7285	return out, req.Send()
7286}
7287
7288// CreateVpcEndpointWithContext is the same as CreateVpcEndpoint with the addition of
7289// the ability to pass a context and additional request options.
7290//
7291// See CreateVpcEndpoint for details on how to use this API operation.
7292//
7293// The context must be non-nil and will be used for request cancellation. If
7294// the context is nil a panic will occur. In the future the SDK may create
7295// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7296// for more information on using Contexts.
7297func (c *EC2) CreateVpcEndpointWithContext(ctx aws.Context, input *CreateVpcEndpointInput, opts ...request.Option) (*CreateVpcEndpointOutput, error) {
7298	req, out := c.CreateVpcEndpointRequest(input)
7299	req.SetContext(ctx)
7300	req.ApplyOptions(opts...)
7301	return out, req.Send()
7302}
7303
7304const opCreateVpcEndpointConnectionNotification = "CreateVpcEndpointConnectionNotification"
7305
7306// CreateVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
7307// client's request for the CreateVpcEndpointConnectionNotification operation. The "output" return
7308// value will be populated with the request's response once the request completes
7309// successfully.
7310//
7311// Use "Send" method on the returned Request to send the API call to the service.
7312// the "output" return value is not valid until after Send returns without error.
7313//
7314// See CreateVpcEndpointConnectionNotification for more information on using the CreateVpcEndpointConnectionNotification
7315// API call, and error handling.
7316//
7317// This method is useful when you want to inject custom logic or configuration
7318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7319//
7320//
7321//    // Example sending a request using the CreateVpcEndpointConnectionNotificationRequest method.
7322//    req, resp := client.CreateVpcEndpointConnectionNotificationRequest(params)
7323//
7324//    err := req.Send()
7325//    if err == nil { // resp is now filled
7326//        fmt.Println(resp)
7327//    }
7328//
7329// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
7330func (c *EC2) CreateVpcEndpointConnectionNotificationRequest(input *CreateVpcEndpointConnectionNotificationInput) (req *request.Request, output *CreateVpcEndpointConnectionNotificationOutput) {
7331	op := &request.Operation{
7332		Name:       opCreateVpcEndpointConnectionNotification,
7333		HTTPMethod: "POST",
7334		HTTPPath:   "/",
7335	}
7336
7337	if input == nil {
7338		input = &CreateVpcEndpointConnectionNotificationInput{}
7339	}
7340
7341	output = &CreateVpcEndpointConnectionNotificationOutput{}
7342	req = c.newRequest(op, input, output)
7343	return
7344}
7345
7346// CreateVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
7347//
7348// Creates a connection notification for a specified VPC endpoint or VPC endpoint
7349// service. A connection notification notifies you of specific endpoint events.
7350// You must create an SNS topic to receive notifications. For more information,
7351// see Create a Topic (https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html)
7352// in the Amazon Simple Notification Service Developer Guide.
7353//
7354// You can create a connection notification for interface endpoints only.
7355//
7356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7357// with awserr.Error's Code and Message methods to get detailed information about
7358// the error.
7359//
7360// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7361// API operation CreateVpcEndpointConnectionNotification for usage and error information.
7362// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointConnectionNotification
7363func (c *EC2) CreateVpcEndpointConnectionNotification(input *CreateVpcEndpointConnectionNotificationInput) (*CreateVpcEndpointConnectionNotificationOutput, error) {
7364	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
7365	return out, req.Send()
7366}
7367
7368// CreateVpcEndpointConnectionNotificationWithContext is the same as CreateVpcEndpointConnectionNotification with the addition of
7369// the ability to pass a context and additional request options.
7370//
7371// See CreateVpcEndpointConnectionNotification for details on how to use this API operation.
7372//
7373// The context must be non-nil and will be used for request cancellation. If
7374// the context is nil a panic will occur. In the future the SDK may create
7375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7376// for more information on using Contexts.
7377func (c *EC2) CreateVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *CreateVpcEndpointConnectionNotificationInput, opts ...request.Option) (*CreateVpcEndpointConnectionNotificationOutput, error) {
7378	req, out := c.CreateVpcEndpointConnectionNotificationRequest(input)
7379	req.SetContext(ctx)
7380	req.ApplyOptions(opts...)
7381	return out, req.Send()
7382}
7383
7384const opCreateVpcEndpointServiceConfiguration = "CreateVpcEndpointServiceConfiguration"
7385
7386// CreateVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
7387// client's request for the CreateVpcEndpointServiceConfiguration operation. The "output" return
7388// value will be populated with the request's response once the request completes
7389// successfully.
7390//
7391// Use "Send" method on the returned Request to send the API call to the service.
7392// the "output" return value is not valid until after Send returns without error.
7393//
7394// See CreateVpcEndpointServiceConfiguration for more information on using the CreateVpcEndpointServiceConfiguration
7395// API call, and error handling.
7396//
7397// This method is useful when you want to inject custom logic or configuration
7398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7399//
7400//
7401//    // Example sending a request using the CreateVpcEndpointServiceConfigurationRequest method.
7402//    req, resp := client.CreateVpcEndpointServiceConfigurationRequest(params)
7403//
7404//    err := req.Send()
7405//    if err == nil { // resp is now filled
7406//        fmt.Println(resp)
7407//    }
7408//
7409// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
7410func (c *EC2) CreateVpcEndpointServiceConfigurationRequest(input *CreateVpcEndpointServiceConfigurationInput) (req *request.Request, output *CreateVpcEndpointServiceConfigurationOutput) {
7411	op := &request.Operation{
7412		Name:       opCreateVpcEndpointServiceConfiguration,
7413		HTTPMethod: "POST",
7414		HTTPPath:   "/",
7415	}
7416
7417	if input == nil {
7418		input = &CreateVpcEndpointServiceConfigurationInput{}
7419	}
7420
7421	output = &CreateVpcEndpointServiceConfigurationOutput{}
7422	req = c.newRequest(op, input, output)
7423	return
7424}
7425
7426// CreateVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
7427//
7428// Creates a VPC endpoint service configuration to which service consumers (AWS
7429// accounts, IAM users, and IAM roles) can connect. Service consumers can create
7430// an interface VPC endpoint to connect to your service.
7431//
7432// To create an endpoint service configuration, you must first create a Network
7433// Load Balancer for your service. For more information, see VPC Endpoint Services
7434// (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html)
7435// in the Amazon Virtual Private Cloud User Guide.
7436//
7437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7438// with awserr.Error's Code and Message methods to get detailed information about
7439// the error.
7440//
7441// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7442// API operation CreateVpcEndpointServiceConfiguration for usage and error information.
7443// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointServiceConfiguration
7444func (c *EC2) CreateVpcEndpointServiceConfiguration(input *CreateVpcEndpointServiceConfigurationInput) (*CreateVpcEndpointServiceConfigurationOutput, error) {
7445	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
7446	return out, req.Send()
7447}
7448
7449// CreateVpcEndpointServiceConfigurationWithContext is the same as CreateVpcEndpointServiceConfiguration with the addition of
7450// the ability to pass a context and additional request options.
7451//
7452// See CreateVpcEndpointServiceConfiguration for details on how to use this API operation.
7453//
7454// The context must be non-nil and will be used for request cancellation. If
7455// the context is nil a panic will occur. In the future the SDK may create
7456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7457// for more information on using Contexts.
7458func (c *EC2) CreateVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *CreateVpcEndpointServiceConfigurationInput, opts ...request.Option) (*CreateVpcEndpointServiceConfigurationOutput, error) {
7459	req, out := c.CreateVpcEndpointServiceConfigurationRequest(input)
7460	req.SetContext(ctx)
7461	req.ApplyOptions(opts...)
7462	return out, req.Send()
7463}
7464
7465const opCreateVpcPeeringConnection = "CreateVpcPeeringConnection"
7466
7467// CreateVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
7468// client's request for the CreateVpcPeeringConnection operation. The "output" return
7469// value will be populated with the request's response once the request completes
7470// successfully.
7471//
7472// Use "Send" method on the returned Request to send the API call to the service.
7473// the "output" return value is not valid until after Send returns without error.
7474//
7475// See CreateVpcPeeringConnection for more information on using the CreateVpcPeeringConnection
7476// API call, and error handling.
7477//
7478// This method is useful when you want to inject custom logic or configuration
7479// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7480//
7481//
7482//    // Example sending a request using the CreateVpcPeeringConnectionRequest method.
7483//    req, resp := client.CreateVpcPeeringConnectionRequest(params)
7484//
7485//    err := req.Send()
7486//    if err == nil { // resp is now filled
7487//        fmt.Println(resp)
7488//    }
7489//
7490// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
7491func (c *EC2) CreateVpcPeeringConnectionRequest(input *CreateVpcPeeringConnectionInput) (req *request.Request, output *CreateVpcPeeringConnectionOutput) {
7492	op := &request.Operation{
7493		Name:       opCreateVpcPeeringConnection,
7494		HTTPMethod: "POST",
7495		HTTPPath:   "/",
7496	}
7497
7498	if input == nil {
7499		input = &CreateVpcPeeringConnectionInput{}
7500	}
7501
7502	output = &CreateVpcPeeringConnectionOutput{}
7503	req = c.newRequest(op, input, output)
7504	return
7505}
7506
7507// CreateVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
7508//
7509// Requests a VPC peering connection between two VPCs: a requester VPC that
7510// you own and an accepter VPC with which to create the connection. The accepter
7511// VPC can belong to another AWS account and can be in a different Region to
7512// the requester VPC. The requester VPC and accepter VPC cannot have overlapping
7513// CIDR blocks.
7514//
7515// Limitations and rules apply to a VPC peering connection. For more information,
7516// see the limitations (https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-basics.html#vpc-peering-limitations)
7517// section in the VPC Peering Guide.
7518//
7519// The owner of the accepter VPC must accept the peering request to activate
7520// the peering connection. The VPC peering connection request expires after
7521// 7 days, after which it cannot be accepted or rejected.
7522//
7523// If you create a VPC peering connection request between VPCs with overlapping
7524// CIDR blocks, the VPC peering connection has a status of failed.
7525//
7526// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7527// with awserr.Error's Code and Message methods to get detailed information about
7528// the error.
7529//
7530// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7531// API operation CreateVpcPeeringConnection for usage and error information.
7532// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcPeeringConnection
7533func (c *EC2) CreateVpcPeeringConnection(input *CreateVpcPeeringConnectionInput) (*CreateVpcPeeringConnectionOutput, error) {
7534	req, out := c.CreateVpcPeeringConnectionRequest(input)
7535	return out, req.Send()
7536}
7537
7538// CreateVpcPeeringConnectionWithContext is the same as CreateVpcPeeringConnection with the addition of
7539// the ability to pass a context and additional request options.
7540//
7541// See CreateVpcPeeringConnection for details on how to use this API operation.
7542//
7543// The context must be non-nil and will be used for request cancellation. If
7544// the context is nil a panic will occur. In the future the SDK may create
7545// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7546// for more information on using Contexts.
7547func (c *EC2) CreateVpcPeeringConnectionWithContext(ctx aws.Context, input *CreateVpcPeeringConnectionInput, opts ...request.Option) (*CreateVpcPeeringConnectionOutput, error) {
7548	req, out := c.CreateVpcPeeringConnectionRequest(input)
7549	req.SetContext(ctx)
7550	req.ApplyOptions(opts...)
7551	return out, req.Send()
7552}
7553
7554const opCreateVpnConnection = "CreateVpnConnection"
7555
7556// CreateVpnConnectionRequest generates a "aws/request.Request" representing the
7557// client's request for the CreateVpnConnection operation. The "output" return
7558// value will be populated with the request's response once the request completes
7559// successfully.
7560//
7561// Use "Send" method on the returned Request to send the API call to the service.
7562// the "output" return value is not valid until after Send returns without error.
7563//
7564// See CreateVpnConnection for more information on using the CreateVpnConnection
7565// API call, and error handling.
7566//
7567// This method is useful when you want to inject custom logic or configuration
7568// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7569//
7570//
7571//    // Example sending a request using the CreateVpnConnectionRequest method.
7572//    req, resp := client.CreateVpnConnectionRequest(params)
7573//
7574//    err := req.Send()
7575//    if err == nil { // resp is now filled
7576//        fmt.Println(resp)
7577//    }
7578//
7579// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
7580func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req *request.Request, output *CreateVpnConnectionOutput) {
7581	op := &request.Operation{
7582		Name:       opCreateVpnConnection,
7583		HTTPMethod: "POST",
7584		HTTPPath:   "/",
7585	}
7586
7587	if input == nil {
7588		input = &CreateVpnConnectionInput{}
7589	}
7590
7591	output = &CreateVpnConnectionOutput{}
7592	req = c.newRequest(op, input, output)
7593	return
7594}
7595
7596// CreateVpnConnection API operation for Amazon Elastic Compute Cloud.
7597//
7598// Creates a VPN connection between an existing virtual private gateway and
7599// a VPN customer gateway. The supported connection type is ipsec.1.
7600//
7601// The response includes information that you need to give to your network administrator
7602// to configure your customer gateway.
7603//
7604// We strongly recommend that you use HTTPS when calling this operation because
7605// the response contains sensitive cryptographic information for configuring
7606// your customer gateway.
7607//
7608// If you decide to shut down your VPN connection for any reason and later create
7609// a new VPN connection, you must reconfigure your customer gateway with the
7610// new information returned from this call.
7611//
7612// This is an idempotent operation. If you perform the operation more than once,
7613// Amazon EC2 doesn't return an error.
7614//
7615// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
7616// in the AWS Site-to-Site VPN User Guide.
7617//
7618// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7619// with awserr.Error's Code and Message methods to get detailed information about
7620// the error.
7621//
7622// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7623// API operation CreateVpnConnection for usage and error information.
7624// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnection
7625func (c *EC2) CreateVpnConnection(input *CreateVpnConnectionInput) (*CreateVpnConnectionOutput, error) {
7626	req, out := c.CreateVpnConnectionRequest(input)
7627	return out, req.Send()
7628}
7629
7630// CreateVpnConnectionWithContext is the same as CreateVpnConnection with the addition of
7631// the ability to pass a context and additional request options.
7632//
7633// See CreateVpnConnection for details on how to use this API operation.
7634//
7635// The context must be non-nil and will be used for request cancellation. If
7636// the context is nil a panic will occur. In the future the SDK may create
7637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7638// for more information on using Contexts.
7639func (c *EC2) CreateVpnConnectionWithContext(ctx aws.Context, input *CreateVpnConnectionInput, opts ...request.Option) (*CreateVpnConnectionOutput, error) {
7640	req, out := c.CreateVpnConnectionRequest(input)
7641	req.SetContext(ctx)
7642	req.ApplyOptions(opts...)
7643	return out, req.Send()
7644}
7645
7646const opCreateVpnConnectionRoute = "CreateVpnConnectionRoute"
7647
7648// CreateVpnConnectionRouteRequest generates a "aws/request.Request" representing the
7649// client's request for the CreateVpnConnectionRoute operation. The "output" return
7650// value will be populated with the request's response once the request completes
7651// successfully.
7652//
7653// Use "Send" method on the returned Request to send the API call to the service.
7654// the "output" return value is not valid until after Send returns without error.
7655//
7656// See CreateVpnConnectionRoute for more information on using the CreateVpnConnectionRoute
7657// API call, and error handling.
7658//
7659// This method is useful when you want to inject custom logic or configuration
7660// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7661//
7662//
7663//    // Example sending a request using the CreateVpnConnectionRouteRequest method.
7664//    req, resp := client.CreateVpnConnectionRouteRequest(params)
7665//
7666//    err := req.Send()
7667//    if err == nil { // resp is now filled
7668//        fmt.Println(resp)
7669//    }
7670//
7671// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
7672func (c *EC2) CreateVpnConnectionRouteRequest(input *CreateVpnConnectionRouteInput) (req *request.Request, output *CreateVpnConnectionRouteOutput) {
7673	op := &request.Operation{
7674		Name:       opCreateVpnConnectionRoute,
7675		HTTPMethod: "POST",
7676		HTTPPath:   "/",
7677	}
7678
7679	if input == nil {
7680		input = &CreateVpnConnectionRouteInput{}
7681	}
7682
7683	output = &CreateVpnConnectionRouteOutput{}
7684	req = c.newRequest(op, input, output)
7685	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7686	return
7687}
7688
7689// CreateVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
7690//
7691// Creates a static route associated with a VPN connection between an existing
7692// virtual private gateway and a VPN customer gateway. The static route allows
7693// traffic to be routed from the virtual private gateway to the VPN customer
7694// gateway.
7695//
7696// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
7697// in the AWS Site-to-Site VPN User Guide.
7698//
7699// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7700// with awserr.Error's Code and Message methods to get detailed information about
7701// the error.
7702//
7703// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7704// API operation CreateVpnConnectionRoute for usage and error information.
7705// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnConnectionRoute
7706func (c *EC2) CreateVpnConnectionRoute(input *CreateVpnConnectionRouteInput) (*CreateVpnConnectionRouteOutput, error) {
7707	req, out := c.CreateVpnConnectionRouteRequest(input)
7708	return out, req.Send()
7709}
7710
7711// CreateVpnConnectionRouteWithContext is the same as CreateVpnConnectionRoute with the addition of
7712// the ability to pass a context and additional request options.
7713//
7714// See CreateVpnConnectionRoute for details on how to use this API operation.
7715//
7716// The context must be non-nil and will be used for request cancellation. If
7717// the context is nil a panic will occur. In the future the SDK may create
7718// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7719// for more information on using Contexts.
7720func (c *EC2) CreateVpnConnectionRouteWithContext(ctx aws.Context, input *CreateVpnConnectionRouteInput, opts ...request.Option) (*CreateVpnConnectionRouteOutput, error) {
7721	req, out := c.CreateVpnConnectionRouteRequest(input)
7722	req.SetContext(ctx)
7723	req.ApplyOptions(opts...)
7724	return out, req.Send()
7725}
7726
7727const opCreateVpnGateway = "CreateVpnGateway"
7728
7729// CreateVpnGatewayRequest generates a "aws/request.Request" representing the
7730// client's request for the CreateVpnGateway operation. The "output" return
7731// value will be populated with the request's response once the request completes
7732// successfully.
7733//
7734// Use "Send" method on the returned Request to send the API call to the service.
7735// the "output" return value is not valid until after Send returns without error.
7736//
7737// See CreateVpnGateway for more information on using the CreateVpnGateway
7738// API call, and error handling.
7739//
7740// This method is useful when you want to inject custom logic or configuration
7741// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7742//
7743//
7744//    // Example sending a request using the CreateVpnGatewayRequest method.
7745//    req, resp := client.CreateVpnGatewayRequest(params)
7746//
7747//    err := req.Send()
7748//    if err == nil { // resp is now filled
7749//        fmt.Println(resp)
7750//    }
7751//
7752// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
7753func (c *EC2) CreateVpnGatewayRequest(input *CreateVpnGatewayInput) (req *request.Request, output *CreateVpnGatewayOutput) {
7754	op := &request.Operation{
7755		Name:       opCreateVpnGateway,
7756		HTTPMethod: "POST",
7757		HTTPPath:   "/",
7758	}
7759
7760	if input == nil {
7761		input = &CreateVpnGatewayInput{}
7762	}
7763
7764	output = &CreateVpnGatewayOutput{}
7765	req = c.newRequest(op, input, output)
7766	return
7767}
7768
7769// CreateVpnGateway API operation for Amazon Elastic Compute Cloud.
7770//
7771// Creates a virtual private gateway. A virtual private gateway is the endpoint
7772// on the VPC side of your VPN connection. You can create a virtual private
7773// gateway before creating the VPC itself.
7774//
7775// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
7776// in the AWS Site-to-Site VPN User Guide.
7777//
7778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7779// with awserr.Error's Code and Message methods to get detailed information about
7780// the error.
7781//
7782// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7783// API operation CreateVpnGateway for usage and error information.
7784// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpnGateway
7785func (c *EC2) CreateVpnGateway(input *CreateVpnGatewayInput) (*CreateVpnGatewayOutput, error) {
7786	req, out := c.CreateVpnGatewayRequest(input)
7787	return out, req.Send()
7788}
7789
7790// CreateVpnGatewayWithContext is the same as CreateVpnGateway with the addition of
7791// the ability to pass a context and additional request options.
7792//
7793// See CreateVpnGateway for details on how to use this API operation.
7794//
7795// The context must be non-nil and will be used for request cancellation. If
7796// the context is nil a panic will occur. In the future the SDK may create
7797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7798// for more information on using Contexts.
7799func (c *EC2) CreateVpnGatewayWithContext(ctx aws.Context, input *CreateVpnGatewayInput, opts ...request.Option) (*CreateVpnGatewayOutput, error) {
7800	req, out := c.CreateVpnGatewayRequest(input)
7801	req.SetContext(ctx)
7802	req.ApplyOptions(opts...)
7803	return out, req.Send()
7804}
7805
7806const opDeleteClientVpnEndpoint = "DeleteClientVpnEndpoint"
7807
7808// DeleteClientVpnEndpointRequest generates a "aws/request.Request" representing the
7809// client's request for the DeleteClientVpnEndpoint operation. The "output" return
7810// value will be populated with the request's response once the request completes
7811// successfully.
7812//
7813// Use "Send" method on the returned Request to send the API call to the service.
7814// the "output" return value is not valid until after Send returns without error.
7815//
7816// See DeleteClientVpnEndpoint for more information on using the DeleteClientVpnEndpoint
7817// API call, and error handling.
7818//
7819// This method is useful when you want to inject custom logic or configuration
7820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7821//
7822//
7823//    // Example sending a request using the DeleteClientVpnEndpointRequest method.
7824//    req, resp := client.DeleteClientVpnEndpointRequest(params)
7825//
7826//    err := req.Send()
7827//    if err == nil { // resp is now filled
7828//        fmt.Println(resp)
7829//    }
7830//
7831// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
7832func (c *EC2) DeleteClientVpnEndpointRequest(input *DeleteClientVpnEndpointInput) (req *request.Request, output *DeleteClientVpnEndpointOutput) {
7833	op := &request.Operation{
7834		Name:       opDeleteClientVpnEndpoint,
7835		HTTPMethod: "POST",
7836		HTTPPath:   "/",
7837	}
7838
7839	if input == nil {
7840		input = &DeleteClientVpnEndpointInput{}
7841	}
7842
7843	output = &DeleteClientVpnEndpointOutput{}
7844	req = c.newRequest(op, input, output)
7845	return
7846}
7847
7848// DeleteClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
7849//
7850// Deletes the specified Client VPN endpoint. You must disassociate all target
7851// networks before you can delete a Client VPN endpoint.
7852//
7853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7854// with awserr.Error's Code and Message methods to get detailed information about
7855// the error.
7856//
7857// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7858// API operation DeleteClientVpnEndpoint for usage and error information.
7859// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnEndpoint
7860func (c *EC2) DeleteClientVpnEndpoint(input *DeleteClientVpnEndpointInput) (*DeleteClientVpnEndpointOutput, error) {
7861	req, out := c.DeleteClientVpnEndpointRequest(input)
7862	return out, req.Send()
7863}
7864
7865// DeleteClientVpnEndpointWithContext is the same as DeleteClientVpnEndpoint with the addition of
7866// the ability to pass a context and additional request options.
7867//
7868// See DeleteClientVpnEndpoint for details on how to use this API operation.
7869//
7870// The context must be non-nil and will be used for request cancellation. If
7871// the context is nil a panic will occur. In the future the SDK may create
7872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7873// for more information on using Contexts.
7874func (c *EC2) DeleteClientVpnEndpointWithContext(ctx aws.Context, input *DeleteClientVpnEndpointInput, opts ...request.Option) (*DeleteClientVpnEndpointOutput, error) {
7875	req, out := c.DeleteClientVpnEndpointRequest(input)
7876	req.SetContext(ctx)
7877	req.ApplyOptions(opts...)
7878	return out, req.Send()
7879}
7880
7881const opDeleteClientVpnRoute = "DeleteClientVpnRoute"
7882
7883// DeleteClientVpnRouteRequest generates a "aws/request.Request" representing the
7884// client's request for the DeleteClientVpnRoute operation. The "output" return
7885// value will be populated with the request's response once the request completes
7886// successfully.
7887//
7888// Use "Send" method on the returned Request to send the API call to the service.
7889// the "output" return value is not valid until after Send returns without error.
7890//
7891// See DeleteClientVpnRoute for more information on using the DeleteClientVpnRoute
7892// API call, and error handling.
7893//
7894// This method is useful when you want to inject custom logic or configuration
7895// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7896//
7897//
7898//    // Example sending a request using the DeleteClientVpnRouteRequest method.
7899//    req, resp := client.DeleteClientVpnRouteRequest(params)
7900//
7901//    err := req.Send()
7902//    if err == nil { // resp is now filled
7903//        fmt.Println(resp)
7904//    }
7905//
7906// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
7907func (c *EC2) DeleteClientVpnRouteRequest(input *DeleteClientVpnRouteInput) (req *request.Request, output *DeleteClientVpnRouteOutput) {
7908	op := &request.Operation{
7909		Name:       opDeleteClientVpnRoute,
7910		HTTPMethod: "POST",
7911		HTTPPath:   "/",
7912	}
7913
7914	if input == nil {
7915		input = &DeleteClientVpnRouteInput{}
7916	}
7917
7918	output = &DeleteClientVpnRouteOutput{}
7919	req = c.newRequest(op, input, output)
7920	return
7921}
7922
7923// DeleteClientVpnRoute API operation for Amazon Elastic Compute Cloud.
7924//
7925// Deletes a route from a Client VPN endpoint. You can only delete routes that
7926// you manually added using the CreateClientVpnRoute action. You cannot delete
7927// routes that were automatically added when associating a subnet. To remove
7928// routes that have been automatically added, disassociate the target subnet
7929// from the Client VPN endpoint.
7930//
7931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7932// with awserr.Error's Code and Message methods to get detailed information about
7933// the error.
7934//
7935// See the AWS API reference guide for Amazon Elastic Compute Cloud's
7936// API operation DeleteClientVpnRoute for usage and error information.
7937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteClientVpnRoute
7938func (c *EC2) DeleteClientVpnRoute(input *DeleteClientVpnRouteInput) (*DeleteClientVpnRouteOutput, error) {
7939	req, out := c.DeleteClientVpnRouteRequest(input)
7940	return out, req.Send()
7941}
7942
7943// DeleteClientVpnRouteWithContext is the same as DeleteClientVpnRoute with the addition of
7944// the ability to pass a context and additional request options.
7945//
7946// See DeleteClientVpnRoute for details on how to use this API operation.
7947//
7948// The context must be non-nil and will be used for request cancellation. If
7949// the context is nil a panic will occur. In the future the SDK may create
7950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7951// for more information on using Contexts.
7952func (c *EC2) DeleteClientVpnRouteWithContext(ctx aws.Context, input *DeleteClientVpnRouteInput, opts ...request.Option) (*DeleteClientVpnRouteOutput, error) {
7953	req, out := c.DeleteClientVpnRouteRequest(input)
7954	req.SetContext(ctx)
7955	req.ApplyOptions(opts...)
7956	return out, req.Send()
7957}
7958
7959const opDeleteCustomerGateway = "DeleteCustomerGateway"
7960
7961// DeleteCustomerGatewayRequest generates a "aws/request.Request" representing the
7962// client's request for the DeleteCustomerGateway operation. The "output" return
7963// value will be populated with the request's response once the request completes
7964// successfully.
7965//
7966// Use "Send" method on the returned Request to send the API call to the service.
7967// the "output" return value is not valid until after Send returns without error.
7968//
7969// See DeleteCustomerGateway for more information on using the DeleteCustomerGateway
7970// API call, and error handling.
7971//
7972// This method is useful when you want to inject custom logic or configuration
7973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7974//
7975//
7976//    // Example sending a request using the DeleteCustomerGatewayRequest method.
7977//    req, resp := client.DeleteCustomerGatewayRequest(params)
7978//
7979//    err := req.Send()
7980//    if err == nil { // resp is now filled
7981//        fmt.Println(resp)
7982//    }
7983//
7984// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
7985func (c *EC2) DeleteCustomerGatewayRequest(input *DeleteCustomerGatewayInput) (req *request.Request, output *DeleteCustomerGatewayOutput) {
7986	op := &request.Operation{
7987		Name:       opDeleteCustomerGateway,
7988		HTTPMethod: "POST",
7989		HTTPPath:   "/",
7990	}
7991
7992	if input == nil {
7993		input = &DeleteCustomerGatewayInput{}
7994	}
7995
7996	output = &DeleteCustomerGatewayOutput{}
7997	req = c.newRequest(op, input, output)
7998	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7999	return
8000}
8001
8002// DeleteCustomerGateway API operation for Amazon Elastic Compute Cloud.
8003//
8004// Deletes the specified customer gateway. You must delete the VPN connection
8005// before you can delete the customer gateway.
8006//
8007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8008// with awserr.Error's Code and Message methods to get detailed information about
8009// the error.
8010//
8011// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8012// API operation DeleteCustomerGateway for usage and error information.
8013// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteCustomerGateway
8014func (c *EC2) DeleteCustomerGateway(input *DeleteCustomerGatewayInput) (*DeleteCustomerGatewayOutput, error) {
8015	req, out := c.DeleteCustomerGatewayRequest(input)
8016	return out, req.Send()
8017}
8018
8019// DeleteCustomerGatewayWithContext is the same as DeleteCustomerGateway with the addition of
8020// the ability to pass a context and additional request options.
8021//
8022// See DeleteCustomerGateway for details on how to use this API operation.
8023//
8024// The context must be non-nil and will be used for request cancellation. If
8025// the context is nil a panic will occur. In the future the SDK may create
8026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8027// for more information on using Contexts.
8028func (c *EC2) DeleteCustomerGatewayWithContext(ctx aws.Context, input *DeleteCustomerGatewayInput, opts ...request.Option) (*DeleteCustomerGatewayOutput, error) {
8029	req, out := c.DeleteCustomerGatewayRequest(input)
8030	req.SetContext(ctx)
8031	req.ApplyOptions(opts...)
8032	return out, req.Send()
8033}
8034
8035const opDeleteDhcpOptions = "DeleteDhcpOptions"
8036
8037// DeleteDhcpOptionsRequest generates a "aws/request.Request" representing the
8038// client's request for the DeleteDhcpOptions operation. The "output" return
8039// value will be populated with the request's response once the request completes
8040// successfully.
8041//
8042// Use "Send" method on the returned Request to send the API call to the service.
8043// the "output" return value is not valid until after Send returns without error.
8044//
8045// See DeleteDhcpOptions for more information on using the DeleteDhcpOptions
8046// API call, and error handling.
8047//
8048// This method is useful when you want to inject custom logic or configuration
8049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8050//
8051//
8052//    // Example sending a request using the DeleteDhcpOptionsRequest method.
8053//    req, resp := client.DeleteDhcpOptionsRequest(params)
8054//
8055//    err := req.Send()
8056//    if err == nil { // resp is now filled
8057//        fmt.Println(resp)
8058//    }
8059//
8060// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
8061func (c *EC2) DeleteDhcpOptionsRequest(input *DeleteDhcpOptionsInput) (req *request.Request, output *DeleteDhcpOptionsOutput) {
8062	op := &request.Operation{
8063		Name:       opDeleteDhcpOptions,
8064		HTTPMethod: "POST",
8065		HTTPPath:   "/",
8066	}
8067
8068	if input == nil {
8069		input = &DeleteDhcpOptionsInput{}
8070	}
8071
8072	output = &DeleteDhcpOptionsOutput{}
8073	req = c.newRequest(op, input, output)
8074	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8075	return
8076}
8077
8078// DeleteDhcpOptions API operation for Amazon Elastic Compute Cloud.
8079//
8080// Deletes the specified set of DHCP options. You must disassociate the set
8081// of DHCP options before you can delete it. You can disassociate the set of
8082// DHCP options by associating either a new set of options or the default set
8083// of options with the VPC.
8084//
8085// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8086// with awserr.Error's Code and Message methods to get detailed information about
8087// the error.
8088//
8089// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8090// API operation DeleteDhcpOptions for usage and error information.
8091// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteDhcpOptions
8092func (c *EC2) DeleteDhcpOptions(input *DeleteDhcpOptionsInput) (*DeleteDhcpOptionsOutput, error) {
8093	req, out := c.DeleteDhcpOptionsRequest(input)
8094	return out, req.Send()
8095}
8096
8097// DeleteDhcpOptionsWithContext is the same as DeleteDhcpOptions with the addition of
8098// the ability to pass a context and additional request options.
8099//
8100// See DeleteDhcpOptions for details on how to use this API operation.
8101//
8102// The context must be non-nil and will be used for request cancellation. If
8103// the context is nil a panic will occur. In the future the SDK may create
8104// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8105// for more information on using Contexts.
8106func (c *EC2) DeleteDhcpOptionsWithContext(ctx aws.Context, input *DeleteDhcpOptionsInput, opts ...request.Option) (*DeleteDhcpOptionsOutput, error) {
8107	req, out := c.DeleteDhcpOptionsRequest(input)
8108	req.SetContext(ctx)
8109	req.ApplyOptions(opts...)
8110	return out, req.Send()
8111}
8112
8113const opDeleteEgressOnlyInternetGateway = "DeleteEgressOnlyInternetGateway"
8114
8115// DeleteEgressOnlyInternetGatewayRequest generates a "aws/request.Request" representing the
8116// client's request for the DeleteEgressOnlyInternetGateway operation. The "output" return
8117// value will be populated with the request's response once the request completes
8118// successfully.
8119//
8120// Use "Send" method on the returned Request to send the API call to the service.
8121// the "output" return value is not valid until after Send returns without error.
8122//
8123// See DeleteEgressOnlyInternetGateway for more information on using the DeleteEgressOnlyInternetGateway
8124// API call, and error handling.
8125//
8126// This method is useful when you want to inject custom logic or configuration
8127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8128//
8129//
8130//    // Example sending a request using the DeleteEgressOnlyInternetGatewayRequest method.
8131//    req, resp := client.DeleteEgressOnlyInternetGatewayRequest(params)
8132//
8133//    err := req.Send()
8134//    if err == nil { // resp is now filled
8135//        fmt.Println(resp)
8136//    }
8137//
8138// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
8139func (c *EC2) DeleteEgressOnlyInternetGatewayRequest(input *DeleteEgressOnlyInternetGatewayInput) (req *request.Request, output *DeleteEgressOnlyInternetGatewayOutput) {
8140	op := &request.Operation{
8141		Name:       opDeleteEgressOnlyInternetGateway,
8142		HTTPMethod: "POST",
8143		HTTPPath:   "/",
8144	}
8145
8146	if input == nil {
8147		input = &DeleteEgressOnlyInternetGatewayInput{}
8148	}
8149
8150	output = &DeleteEgressOnlyInternetGatewayOutput{}
8151	req = c.newRequest(op, input, output)
8152	return
8153}
8154
8155// DeleteEgressOnlyInternetGateway API operation for Amazon Elastic Compute Cloud.
8156//
8157// Deletes an egress-only internet gateway.
8158//
8159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8160// with awserr.Error's Code and Message methods to get detailed information about
8161// the error.
8162//
8163// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8164// API operation DeleteEgressOnlyInternetGateway for usage and error information.
8165// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteEgressOnlyInternetGateway
8166func (c *EC2) DeleteEgressOnlyInternetGateway(input *DeleteEgressOnlyInternetGatewayInput) (*DeleteEgressOnlyInternetGatewayOutput, error) {
8167	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
8168	return out, req.Send()
8169}
8170
8171// DeleteEgressOnlyInternetGatewayWithContext is the same as DeleteEgressOnlyInternetGateway with the addition of
8172// the ability to pass a context and additional request options.
8173//
8174// See DeleteEgressOnlyInternetGateway for details on how to use this API operation.
8175//
8176// The context must be non-nil and will be used for request cancellation. If
8177// the context is nil a panic will occur. In the future the SDK may create
8178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8179// for more information on using Contexts.
8180func (c *EC2) DeleteEgressOnlyInternetGatewayWithContext(ctx aws.Context, input *DeleteEgressOnlyInternetGatewayInput, opts ...request.Option) (*DeleteEgressOnlyInternetGatewayOutput, error) {
8181	req, out := c.DeleteEgressOnlyInternetGatewayRequest(input)
8182	req.SetContext(ctx)
8183	req.ApplyOptions(opts...)
8184	return out, req.Send()
8185}
8186
8187const opDeleteFleets = "DeleteFleets"
8188
8189// DeleteFleetsRequest generates a "aws/request.Request" representing the
8190// client's request for the DeleteFleets operation. The "output" return
8191// value will be populated with the request's response once the request completes
8192// successfully.
8193//
8194// Use "Send" method on the returned Request to send the API call to the service.
8195// the "output" return value is not valid until after Send returns without error.
8196//
8197// See DeleteFleets for more information on using the DeleteFleets
8198// API call, and error handling.
8199//
8200// This method is useful when you want to inject custom logic or configuration
8201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8202//
8203//
8204//    // Example sending a request using the DeleteFleetsRequest method.
8205//    req, resp := client.DeleteFleetsRequest(params)
8206//
8207//    err := req.Send()
8208//    if err == nil { // resp is now filled
8209//        fmt.Println(resp)
8210//    }
8211//
8212// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
8213func (c *EC2) DeleteFleetsRequest(input *DeleteFleetsInput) (req *request.Request, output *DeleteFleetsOutput) {
8214	op := &request.Operation{
8215		Name:       opDeleteFleets,
8216		HTTPMethod: "POST",
8217		HTTPPath:   "/",
8218	}
8219
8220	if input == nil {
8221		input = &DeleteFleetsInput{}
8222	}
8223
8224	output = &DeleteFleetsOutput{}
8225	req = c.newRequest(op, input, output)
8226	return
8227}
8228
8229// DeleteFleets API operation for Amazon Elastic Compute Cloud.
8230//
8231// Deletes the specified EC2 Fleet.
8232//
8233// After you delete an EC2 Fleet, it launches no new instances. You must specify
8234// whether an EC2 Fleet should also terminate its instances. If you terminate
8235// the instances, the EC2 Fleet enters the deleted_terminating state. Otherwise,
8236// the EC2 Fleet enters the deleted_running state, and the instances continue
8237// to run until they are interrupted or you terminate them manually.
8238//
8239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8240// with awserr.Error's Code and Message methods to get detailed information about
8241// the error.
8242//
8243// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8244// API operation DeleteFleets for usage and error information.
8245// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFleets
8246func (c *EC2) DeleteFleets(input *DeleteFleetsInput) (*DeleteFleetsOutput, error) {
8247	req, out := c.DeleteFleetsRequest(input)
8248	return out, req.Send()
8249}
8250
8251// DeleteFleetsWithContext is the same as DeleteFleets with the addition of
8252// the ability to pass a context and additional request options.
8253//
8254// See DeleteFleets for details on how to use this API operation.
8255//
8256// The context must be non-nil and will be used for request cancellation. If
8257// the context is nil a panic will occur. In the future the SDK may create
8258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8259// for more information on using Contexts.
8260func (c *EC2) DeleteFleetsWithContext(ctx aws.Context, input *DeleteFleetsInput, opts ...request.Option) (*DeleteFleetsOutput, error) {
8261	req, out := c.DeleteFleetsRequest(input)
8262	req.SetContext(ctx)
8263	req.ApplyOptions(opts...)
8264	return out, req.Send()
8265}
8266
8267const opDeleteFlowLogs = "DeleteFlowLogs"
8268
8269// DeleteFlowLogsRequest generates a "aws/request.Request" representing the
8270// client's request for the DeleteFlowLogs operation. The "output" return
8271// value will be populated with the request's response once the request completes
8272// successfully.
8273//
8274// Use "Send" method on the returned Request to send the API call to the service.
8275// the "output" return value is not valid until after Send returns without error.
8276//
8277// See DeleteFlowLogs for more information on using the DeleteFlowLogs
8278// API call, and error handling.
8279//
8280// This method is useful when you want to inject custom logic or configuration
8281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8282//
8283//
8284//    // Example sending a request using the DeleteFlowLogsRequest method.
8285//    req, resp := client.DeleteFlowLogsRequest(params)
8286//
8287//    err := req.Send()
8288//    if err == nil { // resp is now filled
8289//        fmt.Println(resp)
8290//    }
8291//
8292// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
8293func (c *EC2) DeleteFlowLogsRequest(input *DeleteFlowLogsInput) (req *request.Request, output *DeleteFlowLogsOutput) {
8294	op := &request.Operation{
8295		Name:       opDeleteFlowLogs,
8296		HTTPMethod: "POST",
8297		HTTPPath:   "/",
8298	}
8299
8300	if input == nil {
8301		input = &DeleteFlowLogsInput{}
8302	}
8303
8304	output = &DeleteFlowLogsOutput{}
8305	req = c.newRequest(op, input, output)
8306	return
8307}
8308
8309// DeleteFlowLogs API operation for Amazon Elastic Compute Cloud.
8310//
8311// Deletes one or more flow logs.
8312//
8313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8314// with awserr.Error's Code and Message methods to get detailed information about
8315// the error.
8316//
8317// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8318// API operation DeleteFlowLogs for usage and error information.
8319// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFlowLogs
8320func (c *EC2) DeleteFlowLogs(input *DeleteFlowLogsInput) (*DeleteFlowLogsOutput, error) {
8321	req, out := c.DeleteFlowLogsRequest(input)
8322	return out, req.Send()
8323}
8324
8325// DeleteFlowLogsWithContext is the same as DeleteFlowLogs with the addition of
8326// the ability to pass a context and additional request options.
8327//
8328// See DeleteFlowLogs for details on how to use this API operation.
8329//
8330// The context must be non-nil and will be used for request cancellation. If
8331// the context is nil a panic will occur. In the future the SDK may create
8332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8333// for more information on using Contexts.
8334func (c *EC2) DeleteFlowLogsWithContext(ctx aws.Context, input *DeleteFlowLogsInput, opts ...request.Option) (*DeleteFlowLogsOutput, error) {
8335	req, out := c.DeleteFlowLogsRequest(input)
8336	req.SetContext(ctx)
8337	req.ApplyOptions(opts...)
8338	return out, req.Send()
8339}
8340
8341const opDeleteFpgaImage = "DeleteFpgaImage"
8342
8343// DeleteFpgaImageRequest generates a "aws/request.Request" representing the
8344// client's request for the DeleteFpgaImage operation. The "output" return
8345// value will be populated with the request's response once the request completes
8346// successfully.
8347//
8348// Use "Send" method on the returned Request to send the API call to the service.
8349// the "output" return value is not valid until after Send returns without error.
8350//
8351// See DeleteFpgaImage for more information on using the DeleteFpgaImage
8352// API call, and error handling.
8353//
8354// This method is useful when you want to inject custom logic or configuration
8355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8356//
8357//
8358//    // Example sending a request using the DeleteFpgaImageRequest method.
8359//    req, resp := client.DeleteFpgaImageRequest(params)
8360//
8361//    err := req.Send()
8362//    if err == nil { // resp is now filled
8363//        fmt.Println(resp)
8364//    }
8365//
8366// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
8367func (c *EC2) DeleteFpgaImageRequest(input *DeleteFpgaImageInput) (req *request.Request, output *DeleteFpgaImageOutput) {
8368	op := &request.Operation{
8369		Name:       opDeleteFpgaImage,
8370		HTTPMethod: "POST",
8371		HTTPPath:   "/",
8372	}
8373
8374	if input == nil {
8375		input = &DeleteFpgaImageInput{}
8376	}
8377
8378	output = &DeleteFpgaImageOutput{}
8379	req = c.newRequest(op, input, output)
8380	return
8381}
8382
8383// DeleteFpgaImage API operation for Amazon Elastic Compute Cloud.
8384//
8385// Deletes the specified Amazon FPGA Image (AFI).
8386//
8387// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8388// with awserr.Error's Code and Message methods to get detailed information about
8389// the error.
8390//
8391// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8392// API operation DeleteFpgaImage for usage and error information.
8393// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteFpgaImage
8394func (c *EC2) DeleteFpgaImage(input *DeleteFpgaImageInput) (*DeleteFpgaImageOutput, error) {
8395	req, out := c.DeleteFpgaImageRequest(input)
8396	return out, req.Send()
8397}
8398
8399// DeleteFpgaImageWithContext is the same as DeleteFpgaImage with the addition of
8400// the ability to pass a context and additional request options.
8401//
8402// See DeleteFpgaImage for details on how to use this API operation.
8403//
8404// The context must be non-nil and will be used for request cancellation. If
8405// the context is nil a panic will occur. In the future the SDK may create
8406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8407// for more information on using Contexts.
8408func (c *EC2) DeleteFpgaImageWithContext(ctx aws.Context, input *DeleteFpgaImageInput, opts ...request.Option) (*DeleteFpgaImageOutput, error) {
8409	req, out := c.DeleteFpgaImageRequest(input)
8410	req.SetContext(ctx)
8411	req.ApplyOptions(opts...)
8412	return out, req.Send()
8413}
8414
8415const opDeleteInternetGateway = "DeleteInternetGateway"
8416
8417// DeleteInternetGatewayRequest generates a "aws/request.Request" representing the
8418// client's request for the DeleteInternetGateway operation. The "output" return
8419// value will be populated with the request's response once the request completes
8420// successfully.
8421//
8422// Use "Send" method on the returned Request to send the API call to the service.
8423// the "output" return value is not valid until after Send returns without error.
8424//
8425// See DeleteInternetGateway for more information on using the DeleteInternetGateway
8426// API call, and error handling.
8427//
8428// This method is useful when you want to inject custom logic or configuration
8429// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8430//
8431//
8432//    // Example sending a request using the DeleteInternetGatewayRequest method.
8433//    req, resp := client.DeleteInternetGatewayRequest(params)
8434//
8435//    err := req.Send()
8436//    if err == nil { // resp is now filled
8437//        fmt.Println(resp)
8438//    }
8439//
8440// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
8441func (c *EC2) DeleteInternetGatewayRequest(input *DeleteInternetGatewayInput) (req *request.Request, output *DeleteInternetGatewayOutput) {
8442	op := &request.Operation{
8443		Name:       opDeleteInternetGateway,
8444		HTTPMethod: "POST",
8445		HTTPPath:   "/",
8446	}
8447
8448	if input == nil {
8449		input = &DeleteInternetGatewayInput{}
8450	}
8451
8452	output = &DeleteInternetGatewayOutput{}
8453	req = c.newRequest(op, input, output)
8454	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8455	return
8456}
8457
8458// DeleteInternetGateway API operation for Amazon Elastic Compute Cloud.
8459//
8460// Deletes the specified internet gateway. You must detach the internet gateway
8461// from the VPC before you can delete it.
8462//
8463// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8464// with awserr.Error's Code and Message methods to get detailed information about
8465// the error.
8466//
8467// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8468// API operation DeleteInternetGateway for usage and error information.
8469// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteInternetGateway
8470func (c *EC2) DeleteInternetGateway(input *DeleteInternetGatewayInput) (*DeleteInternetGatewayOutput, error) {
8471	req, out := c.DeleteInternetGatewayRequest(input)
8472	return out, req.Send()
8473}
8474
8475// DeleteInternetGatewayWithContext is the same as DeleteInternetGateway with the addition of
8476// the ability to pass a context and additional request options.
8477//
8478// See DeleteInternetGateway for details on how to use this API operation.
8479//
8480// The context must be non-nil and will be used for request cancellation. If
8481// the context is nil a panic will occur. In the future the SDK may create
8482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8483// for more information on using Contexts.
8484func (c *EC2) DeleteInternetGatewayWithContext(ctx aws.Context, input *DeleteInternetGatewayInput, opts ...request.Option) (*DeleteInternetGatewayOutput, error) {
8485	req, out := c.DeleteInternetGatewayRequest(input)
8486	req.SetContext(ctx)
8487	req.ApplyOptions(opts...)
8488	return out, req.Send()
8489}
8490
8491const opDeleteKeyPair = "DeleteKeyPair"
8492
8493// DeleteKeyPairRequest generates a "aws/request.Request" representing the
8494// client's request for the DeleteKeyPair operation. The "output" return
8495// value will be populated with the request's response once the request completes
8496// successfully.
8497//
8498// Use "Send" method on the returned Request to send the API call to the service.
8499// the "output" return value is not valid until after Send returns without error.
8500//
8501// See DeleteKeyPair for more information on using the DeleteKeyPair
8502// API call, and error handling.
8503//
8504// This method is useful when you want to inject custom logic or configuration
8505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8506//
8507//
8508//    // Example sending a request using the DeleteKeyPairRequest method.
8509//    req, resp := client.DeleteKeyPairRequest(params)
8510//
8511//    err := req.Send()
8512//    if err == nil { // resp is now filled
8513//        fmt.Println(resp)
8514//    }
8515//
8516// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
8517func (c *EC2) DeleteKeyPairRequest(input *DeleteKeyPairInput) (req *request.Request, output *DeleteKeyPairOutput) {
8518	op := &request.Operation{
8519		Name:       opDeleteKeyPair,
8520		HTTPMethod: "POST",
8521		HTTPPath:   "/",
8522	}
8523
8524	if input == nil {
8525		input = &DeleteKeyPairInput{}
8526	}
8527
8528	output = &DeleteKeyPairOutput{}
8529	req = c.newRequest(op, input, output)
8530	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8531	return
8532}
8533
8534// DeleteKeyPair API operation for Amazon Elastic Compute Cloud.
8535//
8536// Deletes the specified key pair, by removing the public key from Amazon EC2.
8537//
8538// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8539// with awserr.Error's Code and Message methods to get detailed information about
8540// the error.
8541//
8542// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8543// API operation DeleteKeyPair for usage and error information.
8544// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteKeyPair
8545func (c *EC2) DeleteKeyPair(input *DeleteKeyPairInput) (*DeleteKeyPairOutput, error) {
8546	req, out := c.DeleteKeyPairRequest(input)
8547	return out, req.Send()
8548}
8549
8550// DeleteKeyPairWithContext is the same as DeleteKeyPair with the addition of
8551// the ability to pass a context and additional request options.
8552//
8553// See DeleteKeyPair for details on how to use this API operation.
8554//
8555// The context must be non-nil and will be used for request cancellation. If
8556// the context is nil a panic will occur. In the future the SDK may create
8557// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8558// for more information on using Contexts.
8559func (c *EC2) DeleteKeyPairWithContext(ctx aws.Context, input *DeleteKeyPairInput, opts ...request.Option) (*DeleteKeyPairOutput, error) {
8560	req, out := c.DeleteKeyPairRequest(input)
8561	req.SetContext(ctx)
8562	req.ApplyOptions(opts...)
8563	return out, req.Send()
8564}
8565
8566const opDeleteLaunchTemplate = "DeleteLaunchTemplate"
8567
8568// DeleteLaunchTemplateRequest generates a "aws/request.Request" representing the
8569// client's request for the DeleteLaunchTemplate operation. The "output" return
8570// value will be populated with the request's response once the request completes
8571// successfully.
8572//
8573// Use "Send" method on the returned Request to send the API call to the service.
8574// the "output" return value is not valid until after Send returns without error.
8575//
8576// See DeleteLaunchTemplate for more information on using the DeleteLaunchTemplate
8577// API call, and error handling.
8578//
8579// This method is useful when you want to inject custom logic or configuration
8580// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8581//
8582//
8583//    // Example sending a request using the DeleteLaunchTemplateRequest method.
8584//    req, resp := client.DeleteLaunchTemplateRequest(params)
8585//
8586//    err := req.Send()
8587//    if err == nil { // resp is now filled
8588//        fmt.Println(resp)
8589//    }
8590//
8591// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
8592func (c *EC2) DeleteLaunchTemplateRequest(input *DeleteLaunchTemplateInput) (req *request.Request, output *DeleteLaunchTemplateOutput) {
8593	op := &request.Operation{
8594		Name:       opDeleteLaunchTemplate,
8595		HTTPMethod: "POST",
8596		HTTPPath:   "/",
8597	}
8598
8599	if input == nil {
8600		input = &DeleteLaunchTemplateInput{}
8601	}
8602
8603	output = &DeleteLaunchTemplateOutput{}
8604	req = c.newRequest(op, input, output)
8605	return
8606}
8607
8608// DeleteLaunchTemplate API operation for Amazon Elastic Compute Cloud.
8609//
8610// Deletes a launch template. Deleting a launch template deletes all of its
8611// versions.
8612//
8613// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8614// with awserr.Error's Code and Message methods to get detailed information about
8615// the error.
8616//
8617// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8618// API operation DeleteLaunchTemplate for usage and error information.
8619// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplate
8620func (c *EC2) DeleteLaunchTemplate(input *DeleteLaunchTemplateInput) (*DeleteLaunchTemplateOutput, error) {
8621	req, out := c.DeleteLaunchTemplateRequest(input)
8622	return out, req.Send()
8623}
8624
8625// DeleteLaunchTemplateWithContext is the same as DeleteLaunchTemplate with the addition of
8626// the ability to pass a context and additional request options.
8627//
8628// See DeleteLaunchTemplate for details on how to use this API operation.
8629//
8630// The context must be non-nil and will be used for request cancellation. If
8631// the context is nil a panic will occur. In the future the SDK may create
8632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8633// for more information on using Contexts.
8634func (c *EC2) DeleteLaunchTemplateWithContext(ctx aws.Context, input *DeleteLaunchTemplateInput, opts ...request.Option) (*DeleteLaunchTemplateOutput, error) {
8635	req, out := c.DeleteLaunchTemplateRequest(input)
8636	req.SetContext(ctx)
8637	req.ApplyOptions(opts...)
8638	return out, req.Send()
8639}
8640
8641const opDeleteLaunchTemplateVersions = "DeleteLaunchTemplateVersions"
8642
8643// DeleteLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
8644// client's request for the DeleteLaunchTemplateVersions operation. The "output" return
8645// value will be populated with the request's response once the request completes
8646// successfully.
8647//
8648// Use "Send" method on the returned Request to send the API call to the service.
8649// the "output" return value is not valid until after Send returns without error.
8650//
8651// See DeleteLaunchTemplateVersions for more information on using the DeleteLaunchTemplateVersions
8652// API call, and error handling.
8653//
8654// This method is useful when you want to inject custom logic or configuration
8655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8656//
8657//
8658//    // Example sending a request using the DeleteLaunchTemplateVersionsRequest method.
8659//    req, resp := client.DeleteLaunchTemplateVersionsRequest(params)
8660//
8661//    err := req.Send()
8662//    if err == nil { // resp is now filled
8663//        fmt.Println(resp)
8664//    }
8665//
8666// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
8667func (c *EC2) DeleteLaunchTemplateVersionsRequest(input *DeleteLaunchTemplateVersionsInput) (req *request.Request, output *DeleteLaunchTemplateVersionsOutput) {
8668	op := &request.Operation{
8669		Name:       opDeleteLaunchTemplateVersions,
8670		HTTPMethod: "POST",
8671		HTTPPath:   "/",
8672	}
8673
8674	if input == nil {
8675		input = &DeleteLaunchTemplateVersionsInput{}
8676	}
8677
8678	output = &DeleteLaunchTemplateVersionsOutput{}
8679	req = c.newRequest(op, input, output)
8680	return
8681}
8682
8683// DeleteLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
8684//
8685// Deletes one or more versions of a launch template. You cannot delete the
8686// default version of a launch template; you must first assign a different version
8687// as the default. If the default version is the only version for the launch
8688// template, you must delete the entire launch template using DeleteLaunchTemplate.
8689//
8690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8691// with awserr.Error's Code and Message methods to get detailed information about
8692// the error.
8693//
8694// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8695// API operation DeleteLaunchTemplateVersions for usage and error information.
8696// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLaunchTemplateVersions
8697func (c *EC2) DeleteLaunchTemplateVersions(input *DeleteLaunchTemplateVersionsInput) (*DeleteLaunchTemplateVersionsOutput, error) {
8698	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
8699	return out, req.Send()
8700}
8701
8702// DeleteLaunchTemplateVersionsWithContext is the same as DeleteLaunchTemplateVersions with the addition of
8703// the ability to pass a context and additional request options.
8704//
8705// See DeleteLaunchTemplateVersions for details on how to use this API operation.
8706//
8707// The context must be non-nil and will be used for request cancellation. If
8708// the context is nil a panic will occur. In the future the SDK may create
8709// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8710// for more information on using Contexts.
8711func (c *EC2) DeleteLaunchTemplateVersionsWithContext(ctx aws.Context, input *DeleteLaunchTemplateVersionsInput, opts ...request.Option) (*DeleteLaunchTemplateVersionsOutput, error) {
8712	req, out := c.DeleteLaunchTemplateVersionsRequest(input)
8713	req.SetContext(ctx)
8714	req.ApplyOptions(opts...)
8715	return out, req.Send()
8716}
8717
8718const opDeleteLocalGatewayRoute = "DeleteLocalGatewayRoute"
8719
8720// DeleteLocalGatewayRouteRequest generates a "aws/request.Request" representing the
8721// client's request for the DeleteLocalGatewayRoute operation. The "output" return
8722// value will be populated with the request's response once the request completes
8723// successfully.
8724//
8725// Use "Send" method on the returned Request to send the API call to the service.
8726// the "output" return value is not valid until after Send returns without error.
8727//
8728// See DeleteLocalGatewayRoute for more information on using the DeleteLocalGatewayRoute
8729// API call, and error handling.
8730//
8731// This method is useful when you want to inject custom logic or configuration
8732// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8733//
8734//
8735//    // Example sending a request using the DeleteLocalGatewayRouteRequest method.
8736//    req, resp := client.DeleteLocalGatewayRouteRequest(params)
8737//
8738//    err := req.Send()
8739//    if err == nil { // resp is now filled
8740//        fmt.Println(resp)
8741//    }
8742//
8743// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
8744func (c *EC2) DeleteLocalGatewayRouteRequest(input *DeleteLocalGatewayRouteInput) (req *request.Request, output *DeleteLocalGatewayRouteOutput) {
8745	op := &request.Operation{
8746		Name:       opDeleteLocalGatewayRoute,
8747		HTTPMethod: "POST",
8748		HTTPPath:   "/",
8749	}
8750
8751	if input == nil {
8752		input = &DeleteLocalGatewayRouteInput{}
8753	}
8754
8755	output = &DeleteLocalGatewayRouteOutput{}
8756	req = c.newRequest(op, input, output)
8757	return
8758}
8759
8760// DeleteLocalGatewayRoute API operation for Amazon Elastic Compute Cloud.
8761//
8762// Deletes the specified route from the specified local gateway route table.
8763//
8764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8765// with awserr.Error's Code and Message methods to get detailed information about
8766// the error.
8767//
8768// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8769// API operation DeleteLocalGatewayRoute for usage and error information.
8770// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRoute
8771func (c *EC2) DeleteLocalGatewayRoute(input *DeleteLocalGatewayRouteInput) (*DeleteLocalGatewayRouteOutput, error) {
8772	req, out := c.DeleteLocalGatewayRouteRequest(input)
8773	return out, req.Send()
8774}
8775
8776// DeleteLocalGatewayRouteWithContext is the same as DeleteLocalGatewayRoute with the addition of
8777// the ability to pass a context and additional request options.
8778//
8779// See DeleteLocalGatewayRoute for details on how to use this API operation.
8780//
8781// The context must be non-nil and will be used for request cancellation. If
8782// the context is nil a panic will occur. In the future the SDK may create
8783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8784// for more information on using Contexts.
8785func (c *EC2) DeleteLocalGatewayRouteWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteInput, opts ...request.Option) (*DeleteLocalGatewayRouteOutput, error) {
8786	req, out := c.DeleteLocalGatewayRouteRequest(input)
8787	req.SetContext(ctx)
8788	req.ApplyOptions(opts...)
8789	return out, req.Send()
8790}
8791
8792const opDeleteLocalGatewayRouteTableVpcAssociation = "DeleteLocalGatewayRouteTableVpcAssociation"
8793
8794// DeleteLocalGatewayRouteTableVpcAssociationRequest generates a "aws/request.Request" representing the
8795// client's request for the DeleteLocalGatewayRouteTableVpcAssociation operation. The "output" return
8796// value will be populated with the request's response once the request completes
8797// successfully.
8798//
8799// Use "Send" method on the returned Request to send the API call to the service.
8800// the "output" return value is not valid until after Send returns without error.
8801//
8802// See DeleteLocalGatewayRouteTableVpcAssociation for more information on using the DeleteLocalGatewayRouteTableVpcAssociation
8803// API call, and error handling.
8804//
8805// This method is useful when you want to inject custom logic or configuration
8806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8807//
8808//
8809//    // Example sending a request using the DeleteLocalGatewayRouteTableVpcAssociationRequest method.
8810//    req, resp := client.DeleteLocalGatewayRouteTableVpcAssociationRequest(params)
8811//
8812//    err := req.Send()
8813//    if err == nil { // resp is now filled
8814//        fmt.Println(resp)
8815//    }
8816//
8817// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
8818func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationRequest(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (req *request.Request, output *DeleteLocalGatewayRouteTableVpcAssociationOutput) {
8819	op := &request.Operation{
8820		Name:       opDeleteLocalGatewayRouteTableVpcAssociation,
8821		HTTPMethod: "POST",
8822		HTTPPath:   "/",
8823	}
8824
8825	if input == nil {
8826		input = &DeleteLocalGatewayRouteTableVpcAssociationInput{}
8827	}
8828
8829	output = &DeleteLocalGatewayRouteTableVpcAssociationOutput{}
8830	req = c.newRequest(op, input, output)
8831	return
8832}
8833
8834// DeleteLocalGatewayRouteTableVpcAssociation API operation for Amazon Elastic Compute Cloud.
8835//
8836// Deletes the specified association between a VPC and local gateway route table.
8837//
8838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8839// with awserr.Error's Code and Message methods to get detailed information about
8840// the error.
8841//
8842// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8843// API operation DeleteLocalGatewayRouteTableVpcAssociation for usage and error information.
8844// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteLocalGatewayRouteTableVpcAssociation
8845func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociation(input *DeleteLocalGatewayRouteTableVpcAssociationInput) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
8846	req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
8847	return out, req.Send()
8848}
8849
8850// DeleteLocalGatewayRouteTableVpcAssociationWithContext is the same as DeleteLocalGatewayRouteTableVpcAssociation with the addition of
8851// the ability to pass a context and additional request options.
8852//
8853// See DeleteLocalGatewayRouteTableVpcAssociation for details on how to use this API operation.
8854//
8855// The context must be non-nil and will be used for request cancellation. If
8856// the context is nil a panic will occur. In the future the SDK may create
8857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8858// for more information on using Contexts.
8859func (c *EC2) DeleteLocalGatewayRouteTableVpcAssociationWithContext(ctx aws.Context, input *DeleteLocalGatewayRouteTableVpcAssociationInput, opts ...request.Option) (*DeleteLocalGatewayRouteTableVpcAssociationOutput, error) {
8860	req, out := c.DeleteLocalGatewayRouteTableVpcAssociationRequest(input)
8861	req.SetContext(ctx)
8862	req.ApplyOptions(opts...)
8863	return out, req.Send()
8864}
8865
8866const opDeleteNatGateway = "DeleteNatGateway"
8867
8868// DeleteNatGatewayRequest generates a "aws/request.Request" representing the
8869// client's request for the DeleteNatGateway operation. The "output" return
8870// value will be populated with the request's response once the request completes
8871// successfully.
8872//
8873// Use "Send" method on the returned Request to send the API call to the service.
8874// the "output" return value is not valid until after Send returns without error.
8875//
8876// See DeleteNatGateway for more information on using the DeleteNatGateway
8877// API call, and error handling.
8878//
8879// This method is useful when you want to inject custom logic or configuration
8880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8881//
8882//
8883//    // Example sending a request using the DeleteNatGatewayRequest method.
8884//    req, resp := client.DeleteNatGatewayRequest(params)
8885//
8886//    err := req.Send()
8887//    if err == nil { // resp is now filled
8888//        fmt.Println(resp)
8889//    }
8890//
8891// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
8892func (c *EC2) DeleteNatGatewayRequest(input *DeleteNatGatewayInput) (req *request.Request, output *DeleteNatGatewayOutput) {
8893	op := &request.Operation{
8894		Name:       opDeleteNatGateway,
8895		HTTPMethod: "POST",
8896		HTTPPath:   "/",
8897	}
8898
8899	if input == nil {
8900		input = &DeleteNatGatewayInput{}
8901	}
8902
8903	output = &DeleteNatGatewayOutput{}
8904	req = c.newRequest(op, input, output)
8905	return
8906}
8907
8908// DeleteNatGateway API operation for Amazon Elastic Compute Cloud.
8909//
8910// Deletes the specified NAT gateway. Deleting a NAT gateway disassociates its
8911// Elastic IP address, but does not release the address from your account. Deleting
8912// a NAT gateway does not delete any NAT gateway routes in your route tables.
8913//
8914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8915// with awserr.Error's Code and Message methods to get detailed information about
8916// the error.
8917//
8918// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8919// API operation DeleteNatGateway for usage and error information.
8920// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNatGateway
8921func (c *EC2) DeleteNatGateway(input *DeleteNatGatewayInput) (*DeleteNatGatewayOutput, error) {
8922	req, out := c.DeleteNatGatewayRequest(input)
8923	return out, req.Send()
8924}
8925
8926// DeleteNatGatewayWithContext is the same as DeleteNatGateway with the addition of
8927// the ability to pass a context and additional request options.
8928//
8929// See DeleteNatGateway for details on how to use this API operation.
8930//
8931// The context must be non-nil and will be used for request cancellation. If
8932// the context is nil a panic will occur. In the future the SDK may create
8933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8934// for more information on using Contexts.
8935func (c *EC2) DeleteNatGatewayWithContext(ctx aws.Context, input *DeleteNatGatewayInput, opts ...request.Option) (*DeleteNatGatewayOutput, error) {
8936	req, out := c.DeleteNatGatewayRequest(input)
8937	req.SetContext(ctx)
8938	req.ApplyOptions(opts...)
8939	return out, req.Send()
8940}
8941
8942const opDeleteNetworkAcl = "DeleteNetworkAcl"
8943
8944// DeleteNetworkAclRequest generates a "aws/request.Request" representing the
8945// client's request for the DeleteNetworkAcl operation. The "output" return
8946// value will be populated with the request's response once the request completes
8947// successfully.
8948//
8949// Use "Send" method on the returned Request to send the API call to the service.
8950// the "output" return value is not valid until after Send returns without error.
8951//
8952// See DeleteNetworkAcl for more information on using the DeleteNetworkAcl
8953// API call, and error handling.
8954//
8955// This method is useful when you want to inject custom logic or configuration
8956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8957//
8958//
8959//    // Example sending a request using the DeleteNetworkAclRequest method.
8960//    req, resp := client.DeleteNetworkAclRequest(params)
8961//
8962//    err := req.Send()
8963//    if err == nil { // resp is now filled
8964//        fmt.Println(resp)
8965//    }
8966//
8967// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
8968func (c *EC2) DeleteNetworkAclRequest(input *DeleteNetworkAclInput) (req *request.Request, output *DeleteNetworkAclOutput) {
8969	op := &request.Operation{
8970		Name:       opDeleteNetworkAcl,
8971		HTTPMethod: "POST",
8972		HTTPPath:   "/",
8973	}
8974
8975	if input == nil {
8976		input = &DeleteNetworkAclInput{}
8977	}
8978
8979	output = &DeleteNetworkAclOutput{}
8980	req = c.newRequest(op, input, output)
8981	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
8982	return
8983}
8984
8985// DeleteNetworkAcl API operation for Amazon Elastic Compute Cloud.
8986//
8987// Deletes the specified network ACL. You can't delete the ACL if it's associated
8988// with any subnets. You can't delete the default network ACL.
8989//
8990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8991// with awserr.Error's Code and Message methods to get detailed information about
8992// the error.
8993//
8994// See the AWS API reference guide for Amazon Elastic Compute Cloud's
8995// API operation DeleteNetworkAcl for usage and error information.
8996// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAcl
8997func (c *EC2) DeleteNetworkAcl(input *DeleteNetworkAclInput) (*DeleteNetworkAclOutput, error) {
8998	req, out := c.DeleteNetworkAclRequest(input)
8999	return out, req.Send()
9000}
9001
9002// DeleteNetworkAclWithContext is the same as DeleteNetworkAcl with the addition of
9003// the ability to pass a context and additional request options.
9004//
9005// See DeleteNetworkAcl for details on how to use this API operation.
9006//
9007// The context must be non-nil and will be used for request cancellation. If
9008// the context is nil a panic will occur. In the future the SDK may create
9009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9010// for more information on using Contexts.
9011func (c *EC2) DeleteNetworkAclWithContext(ctx aws.Context, input *DeleteNetworkAclInput, opts ...request.Option) (*DeleteNetworkAclOutput, error) {
9012	req, out := c.DeleteNetworkAclRequest(input)
9013	req.SetContext(ctx)
9014	req.ApplyOptions(opts...)
9015	return out, req.Send()
9016}
9017
9018const opDeleteNetworkAclEntry = "DeleteNetworkAclEntry"
9019
9020// DeleteNetworkAclEntryRequest generates a "aws/request.Request" representing the
9021// client's request for the DeleteNetworkAclEntry operation. The "output" return
9022// value will be populated with the request's response once the request completes
9023// successfully.
9024//
9025// Use "Send" method on the returned Request to send the API call to the service.
9026// the "output" return value is not valid until after Send returns without error.
9027//
9028// See DeleteNetworkAclEntry for more information on using the DeleteNetworkAclEntry
9029// API call, and error handling.
9030//
9031// This method is useful when you want to inject custom logic or configuration
9032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9033//
9034//
9035//    // Example sending a request using the DeleteNetworkAclEntryRequest method.
9036//    req, resp := client.DeleteNetworkAclEntryRequest(params)
9037//
9038//    err := req.Send()
9039//    if err == nil { // resp is now filled
9040//        fmt.Println(resp)
9041//    }
9042//
9043// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
9044func (c *EC2) DeleteNetworkAclEntryRequest(input *DeleteNetworkAclEntryInput) (req *request.Request, output *DeleteNetworkAclEntryOutput) {
9045	op := &request.Operation{
9046		Name:       opDeleteNetworkAclEntry,
9047		HTTPMethod: "POST",
9048		HTTPPath:   "/",
9049	}
9050
9051	if input == nil {
9052		input = &DeleteNetworkAclEntryInput{}
9053	}
9054
9055	output = &DeleteNetworkAclEntryOutput{}
9056	req = c.newRequest(op, input, output)
9057	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9058	return
9059}
9060
9061// DeleteNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
9062//
9063// Deletes the specified ingress or egress entry (rule) from the specified network
9064// ACL.
9065//
9066// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9067// with awserr.Error's Code and Message methods to get detailed information about
9068// the error.
9069//
9070// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9071// API operation DeleteNetworkAclEntry for usage and error information.
9072// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkAclEntry
9073func (c *EC2) DeleteNetworkAclEntry(input *DeleteNetworkAclEntryInput) (*DeleteNetworkAclEntryOutput, error) {
9074	req, out := c.DeleteNetworkAclEntryRequest(input)
9075	return out, req.Send()
9076}
9077
9078// DeleteNetworkAclEntryWithContext is the same as DeleteNetworkAclEntry with the addition of
9079// the ability to pass a context and additional request options.
9080//
9081// See DeleteNetworkAclEntry for details on how to use this API operation.
9082//
9083// The context must be non-nil and will be used for request cancellation. If
9084// the context is nil a panic will occur. In the future the SDK may create
9085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9086// for more information on using Contexts.
9087func (c *EC2) DeleteNetworkAclEntryWithContext(ctx aws.Context, input *DeleteNetworkAclEntryInput, opts ...request.Option) (*DeleteNetworkAclEntryOutput, error) {
9088	req, out := c.DeleteNetworkAclEntryRequest(input)
9089	req.SetContext(ctx)
9090	req.ApplyOptions(opts...)
9091	return out, req.Send()
9092}
9093
9094const opDeleteNetworkInterface = "DeleteNetworkInterface"
9095
9096// DeleteNetworkInterfaceRequest generates a "aws/request.Request" representing the
9097// client's request for the DeleteNetworkInterface operation. The "output" return
9098// value will be populated with the request's response once the request completes
9099// successfully.
9100//
9101// Use "Send" method on the returned Request to send the API call to the service.
9102// the "output" return value is not valid until after Send returns without error.
9103//
9104// See DeleteNetworkInterface for more information on using the DeleteNetworkInterface
9105// API call, and error handling.
9106//
9107// This method is useful when you want to inject custom logic or configuration
9108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9109//
9110//
9111//    // Example sending a request using the DeleteNetworkInterfaceRequest method.
9112//    req, resp := client.DeleteNetworkInterfaceRequest(params)
9113//
9114//    err := req.Send()
9115//    if err == nil { // resp is now filled
9116//        fmt.Println(resp)
9117//    }
9118//
9119// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
9120func (c *EC2) DeleteNetworkInterfaceRequest(input *DeleteNetworkInterfaceInput) (req *request.Request, output *DeleteNetworkInterfaceOutput) {
9121	op := &request.Operation{
9122		Name:       opDeleteNetworkInterface,
9123		HTTPMethod: "POST",
9124		HTTPPath:   "/",
9125	}
9126
9127	if input == nil {
9128		input = &DeleteNetworkInterfaceInput{}
9129	}
9130
9131	output = &DeleteNetworkInterfaceOutput{}
9132	req = c.newRequest(op, input, output)
9133	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9134	return
9135}
9136
9137// DeleteNetworkInterface API operation for Amazon Elastic Compute Cloud.
9138//
9139// Deletes the specified network interface. You must detach the network interface
9140// before you can delete it.
9141//
9142// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9143// with awserr.Error's Code and Message methods to get detailed information about
9144// the error.
9145//
9146// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9147// API operation DeleteNetworkInterface for usage and error information.
9148// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterface
9149func (c *EC2) DeleteNetworkInterface(input *DeleteNetworkInterfaceInput) (*DeleteNetworkInterfaceOutput, error) {
9150	req, out := c.DeleteNetworkInterfaceRequest(input)
9151	return out, req.Send()
9152}
9153
9154// DeleteNetworkInterfaceWithContext is the same as DeleteNetworkInterface with the addition of
9155// the ability to pass a context and additional request options.
9156//
9157// See DeleteNetworkInterface for details on how to use this API operation.
9158//
9159// The context must be non-nil and will be used for request cancellation. If
9160// the context is nil a panic will occur. In the future the SDK may create
9161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9162// for more information on using Contexts.
9163func (c *EC2) DeleteNetworkInterfaceWithContext(ctx aws.Context, input *DeleteNetworkInterfaceInput, opts ...request.Option) (*DeleteNetworkInterfaceOutput, error) {
9164	req, out := c.DeleteNetworkInterfaceRequest(input)
9165	req.SetContext(ctx)
9166	req.ApplyOptions(opts...)
9167	return out, req.Send()
9168}
9169
9170const opDeleteNetworkInterfacePermission = "DeleteNetworkInterfacePermission"
9171
9172// DeleteNetworkInterfacePermissionRequest generates a "aws/request.Request" representing the
9173// client's request for the DeleteNetworkInterfacePermission operation. The "output" return
9174// value will be populated with the request's response once the request completes
9175// successfully.
9176//
9177// Use "Send" method on the returned Request to send the API call to the service.
9178// the "output" return value is not valid until after Send returns without error.
9179//
9180// See DeleteNetworkInterfacePermission for more information on using the DeleteNetworkInterfacePermission
9181// API call, and error handling.
9182//
9183// This method is useful when you want to inject custom logic or configuration
9184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9185//
9186//
9187//    // Example sending a request using the DeleteNetworkInterfacePermissionRequest method.
9188//    req, resp := client.DeleteNetworkInterfacePermissionRequest(params)
9189//
9190//    err := req.Send()
9191//    if err == nil { // resp is now filled
9192//        fmt.Println(resp)
9193//    }
9194//
9195// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
9196func (c *EC2) DeleteNetworkInterfacePermissionRequest(input *DeleteNetworkInterfacePermissionInput) (req *request.Request, output *DeleteNetworkInterfacePermissionOutput) {
9197	op := &request.Operation{
9198		Name:       opDeleteNetworkInterfacePermission,
9199		HTTPMethod: "POST",
9200		HTTPPath:   "/",
9201	}
9202
9203	if input == nil {
9204		input = &DeleteNetworkInterfacePermissionInput{}
9205	}
9206
9207	output = &DeleteNetworkInterfacePermissionOutput{}
9208	req = c.newRequest(op, input, output)
9209	return
9210}
9211
9212// DeleteNetworkInterfacePermission API operation for Amazon Elastic Compute Cloud.
9213//
9214// Deletes a permission for a network interface. By default, you cannot delete
9215// the permission if the account for which you're removing the permission has
9216// attached the network interface to an instance. However, you can force delete
9217// the permission, regardless of any attachment.
9218//
9219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9220// with awserr.Error's Code and Message methods to get detailed information about
9221// the error.
9222//
9223// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9224// API operation DeleteNetworkInterfacePermission for usage and error information.
9225// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission
9226func (c *EC2) DeleteNetworkInterfacePermission(input *DeleteNetworkInterfacePermissionInput) (*DeleteNetworkInterfacePermissionOutput, error) {
9227	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
9228	return out, req.Send()
9229}
9230
9231// DeleteNetworkInterfacePermissionWithContext is the same as DeleteNetworkInterfacePermission with the addition of
9232// the ability to pass a context and additional request options.
9233//
9234// See DeleteNetworkInterfacePermission for details on how to use this API operation.
9235//
9236// The context must be non-nil and will be used for request cancellation. If
9237// the context is nil a panic will occur. In the future the SDK may create
9238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9239// for more information on using Contexts.
9240func (c *EC2) DeleteNetworkInterfacePermissionWithContext(ctx aws.Context, input *DeleteNetworkInterfacePermissionInput, opts ...request.Option) (*DeleteNetworkInterfacePermissionOutput, error) {
9241	req, out := c.DeleteNetworkInterfacePermissionRequest(input)
9242	req.SetContext(ctx)
9243	req.ApplyOptions(opts...)
9244	return out, req.Send()
9245}
9246
9247const opDeletePlacementGroup = "DeletePlacementGroup"
9248
9249// DeletePlacementGroupRequest generates a "aws/request.Request" representing the
9250// client's request for the DeletePlacementGroup operation. The "output" return
9251// value will be populated with the request's response once the request completes
9252// successfully.
9253//
9254// Use "Send" method on the returned Request to send the API call to the service.
9255// the "output" return value is not valid until after Send returns without error.
9256//
9257// See DeletePlacementGroup for more information on using the DeletePlacementGroup
9258// API call, and error handling.
9259//
9260// This method is useful when you want to inject custom logic or configuration
9261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9262//
9263//
9264//    // Example sending a request using the DeletePlacementGroupRequest method.
9265//    req, resp := client.DeletePlacementGroupRequest(params)
9266//
9267//    err := req.Send()
9268//    if err == nil { // resp is now filled
9269//        fmt.Println(resp)
9270//    }
9271//
9272// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
9273func (c *EC2) DeletePlacementGroupRequest(input *DeletePlacementGroupInput) (req *request.Request, output *DeletePlacementGroupOutput) {
9274	op := &request.Operation{
9275		Name:       opDeletePlacementGroup,
9276		HTTPMethod: "POST",
9277		HTTPPath:   "/",
9278	}
9279
9280	if input == nil {
9281		input = &DeletePlacementGroupInput{}
9282	}
9283
9284	output = &DeletePlacementGroupOutput{}
9285	req = c.newRequest(op, input, output)
9286	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9287	return
9288}
9289
9290// DeletePlacementGroup API operation for Amazon Elastic Compute Cloud.
9291//
9292// Deletes the specified placement group. You must terminate all instances in
9293// the placement group before you can delete the placement group. For more information,
9294// see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
9295// in the Amazon Elastic Compute Cloud User Guide.
9296//
9297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9298// with awserr.Error's Code and Message methods to get detailed information about
9299// the error.
9300//
9301// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9302// API operation DeletePlacementGroup for usage and error information.
9303// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeletePlacementGroup
9304func (c *EC2) DeletePlacementGroup(input *DeletePlacementGroupInput) (*DeletePlacementGroupOutput, error) {
9305	req, out := c.DeletePlacementGroupRequest(input)
9306	return out, req.Send()
9307}
9308
9309// DeletePlacementGroupWithContext is the same as DeletePlacementGroup with the addition of
9310// the ability to pass a context and additional request options.
9311//
9312// See DeletePlacementGroup for details on how to use this API operation.
9313//
9314// The context must be non-nil and will be used for request cancellation. If
9315// the context is nil a panic will occur. In the future the SDK may create
9316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9317// for more information on using Contexts.
9318func (c *EC2) DeletePlacementGroupWithContext(ctx aws.Context, input *DeletePlacementGroupInput, opts ...request.Option) (*DeletePlacementGroupOutput, error) {
9319	req, out := c.DeletePlacementGroupRequest(input)
9320	req.SetContext(ctx)
9321	req.ApplyOptions(opts...)
9322	return out, req.Send()
9323}
9324
9325const opDeleteQueuedReservedInstances = "DeleteQueuedReservedInstances"
9326
9327// DeleteQueuedReservedInstancesRequest generates a "aws/request.Request" representing the
9328// client's request for the DeleteQueuedReservedInstances operation. The "output" return
9329// value will be populated with the request's response once the request completes
9330// successfully.
9331//
9332// Use "Send" method on the returned Request to send the API call to the service.
9333// the "output" return value is not valid until after Send returns without error.
9334//
9335// See DeleteQueuedReservedInstances for more information on using the DeleteQueuedReservedInstances
9336// API call, and error handling.
9337//
9338// This method is useful when you want to inject custom logic or configuration
9339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9340//
9341//
9342//    // Example sending a request using the DeleteQueuedReservedInstancesRequest method.
9343//    req, resp := client.DeleteQueuedReservedInstancesRequest(params)
9344//
9345//    err := req.Send()
9346//    if err == nil { // resp is now filled
9347//        fmt.Println(resp)
9348//    }
9349//
9350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
9351func (c *EC2) DeleteQueuedReservedInstancesRequest(input *DeleteQueuedReservedInstancesInput) (req *request.Request, output *DeleteQueuedReservedInstancesOutput) {
9352	op := &request.Operation{
9353		Name:       opDeleteQueuedReservedInstances,
9354		HTTPMethod: "POST",
9355		HTTPPath:   "/",
9356	}
9357
9358	if input == nil {
9359		input = &DeleteQueuedReservedInstancesInput{}
9360	}
9361
9362	output = &DeleteQueuedReservedInstancesOutput{}
9363	req = c.newRequest(op, input, output)
9364	return
9365}
9366
9367// DeleteQueuedReservedInstances API operation for Amazon Elastic Compute Cloud.
9368//
9369// Deletes the queued purchases for the specified Reserved Instances.
9370//
9371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9372// with awserr.Error's Code and Message methods to get detailed information about
9373// the error.
9374//
9375// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9376// API operation DeleteQueuedReservedInstances for usage and error information.
9377// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteQueuedReservedInstances
9378func (c *EC2) DeleteQueuedReservedInstances(input *DeleteQueuedReservedInstancesInput) (*DeleteQueuedReservedInstancesOutput, error) {
9379	req, out := c.DeleteQueuedReservedInstancesRequest(input)
9380	return out, req.Send()
9381}
9382
9383// DeleteQueuedReservedInstancesWithContext is the same as DeleteQueuedReservedInstances with the addition of
9384// the ability to pass a context and additional request options.
9385//
9386// See DeleteQueuedReservedInstances for details on how to use this API operation.
9387//
9388// The context must be non-nil and will be used for request cancellation. If
9389// the context is nil a panic will occur. In the future the SDK may create
9390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9391// for more information on using Contexts.
9392func (c *EC2) DeleteQueuedReservedInstancesWithContext(ctx aws.Context, input *DeleteQueuedReservedInstancesInput, opts ...request.Option) (*DeleteQueuedReservedInstancesOutput, error) {
9393	req, out := c.DeleteQueuedReservedInstancesRequest(input)
9394	req.SetContext(ctx)
9395	req.ApplyOptions(opts...)
9396	return out, req.Send()
9397}
9398
9399const opDeleteRoute = "DeleteRoute"
9400
9401// DeleteRouteRequest generates a "aws/request.Request" representing the
9402// client's request for the DeleteRoute operation. The "output" return
9403// value will be populated with the request's response once the request completes
9404// successfully.
9405//
9406// Use "Send" method on the returned Request to send the API call to the service.
9407// the "output" return value is not valid until after Send returns without error.
9408//
9409// See DeleteRoute for more information on using the DeleteRoute
9410// API call, and error handling.
9411//
9412// This method is useful when you want to inject custom logic or configuration
9413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9414//
9415//
9416//    // Example sending a request using the DeleteRouteRequest method.
9417//    req, resp := client.DeleteRouteRequest(params)
9418//
9419//    err := req.Send()
9420//    if err == nil { // resp is now filled
9421//        fmt.Println(resp)
9422//    }
9423//
9424// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
9425func (c *EC2) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput) {
9426	op := &request.Operation{
9427		Name:       opDeleteRoute,
9428		HTTPMethod: "POST",
9429		HTTPPath:   "/",
9430	}
9431
9432	if input == nil {
9433		input = &DeleteRouteInput{}
9434	}
9435
9436	output = &DeleteRouteOutput{}
9437	req = c.newRequest(op, input, output)
9438	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9439	return
9440}
9441
9442// DeleteRoute API operation for Amazon Elastic Compute Cloud.
9443//
9444// Deletes the specified route from the specified route table.
9445//
9446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9447// with awserr.Error's Code and Message methods to get detailed information about
9448// the error.
9449//
9450// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9451// API operation DeleteRoute for usage and error information.
9452// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRoute
9453func (c *EC2) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error) {
9454	req, out := c.DeleteRouteRequest(input)
9455	return out, req.Send()
9456}
9457
9458// DeleteRouteWithContext is the same as DeleteRoute with the addition of
9459// the ability to pass a context and additional request options.
9460//
9461// See DeleteRoute for details on how to use this API operation.
9462//
9463// The context must be non-nil and will be used for request cancellation. If
9464// the context is nil a panic will occur. In the future the SDK may create
9465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9466// for more information on using Contexts.
9467func (c *EC2) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error) {
9468	req, out := c.DeleteRouteRequest(input)
9469	req.SetContext(ctx)
9470	req.ApplyOptions(opts...)
9471	return out, req.Send()
9472}
9473
9474const opDeleteRouteTable = "DeleteRouteTable"
9475
9476// DeleteRouteTableRequest generates a "aws/request.Request" representing the
9477// client's request for the DeleteRouteTable operation. The "output" return
9478// value will be populated with the request's response once the request completes
9479// successfully.
9480//
9481// Use "Send" method on the returned Request to send the API call to the service.
9482// the "output" return value is not valid until after Send returns without error.
9483//
9484// See DeleteRouteTable for more information on using the DeleteRouteTable
9485// API call, and error handling.
9486//
9487// This method is useful when you want to inject custom logic or configuration
9488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9489//
9490//
9491//    // Example sending a request using the DeleteRouteTableRequest method.
9492//    req, resp := client.DeleteRouteTableRequest(params)
9493//
9494//    err := req.Send()
9495//    if err == nil { // resp is now filled
9496//        fmt.Println(resp)
9497//    }
9498//
9499// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
9500func (c *EC2) DeleteRouteTableRequest(input *DeleteRouteTableInput) (req *request.Request, output *DeleteRouteTableOutput) {
9501	op := &request.Operation{
9502		Name:       opDeleteRouteTable,
9503		HTTPMethod: "POST",
9504		HTTPPath:   "/",
9505	}
9506
9507	if input == nil {
9508		input = &DeleteRouteTableInput{}
9509	}
9510
9511	output = &DeleteRouteTableOutput{}
9512	req = c.newRequest(op, input, output)
9513	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9514	return
9515}
9516
9517// DeleteRouteTable API operation for Amazon Elastic Compute Cloud.
9518//
9519// Deletes the specified route table. You must disassociate the route table
9520// from any subnets before you can delete it. You can't delete the main route
9521// table.
9522//
9523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9524// with awserr.Error's Code and Message methods to get detailed information about
9525// the error.
9526//
9527// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9528// API operation DeleteRouteTable for usage and error information.
9529// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteRouteTable
9530func (c *EC2) DeleteRouteTable(input *DeleteRouteTableInput) (*DeleteRouteTableOutput, error) {
9531	req, out := c.DeleteRouteTableRequest(input)
9532	return out, req.Send()
9533}
9534
9535// DeleteRouteTableWithContext is the same as DeleteRouteTable with the addition of
9536// the ability to pass a context and additional request options.
9537//
9538// See DeleteRouteTable for details on how to use this API operation.
9539//
9540// The context must be non-nil and will be used for request cancellation. If
9541// the context is nil a panic will occur. In the future the SDK may create
9542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9543// for more information on using Contexts.
9544func (c *EC2) DeleteRouteTableWithContext(ctx aws.Context, input *DeleteRouteTableInput, opts ...request.Option) (*DeleteRouteTableOutput, error) {
9545	req, out := c.DeleteRouteTableRequest(input)
9546	req.SetContext(ctx)
9547	req.ApplyOptions(opts...)
9548	return out, req.Send()
9549}
9550
9551const opDeleteSecurityGroup = "DeleteSecurityGroup"
9552
9553// DeleteSecurityGroupRequest generates a "aws/request.Request" representing the
9554// client's request for the DeleteSecurityGroup operation. The "output" return
9555// value will be populated with the request's response once the request completes
9556// successfully.
9557//
9558// Use "Send" method on the returned Request to send the API call to the service.
9559// the "output" return value is not valid until after Send returns without error.
9560//
9561// See DeleteSecurityGroup for more information on using the DeleteSecurityGroup
9562// API call, and error handling.
9563//
9564// This method is useful when you want to inject custom logic or configuration
9565// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9566//
9567//
9568//    // Example sending a request using the DeleteSecurityGroupRequest method.
9569//    req, resp := client.DeleteSecurityGroupRequest(params)
9570//
9571//    err := req.Send()
9572//    if err == nil { // resp is now filled
9573//        fmt.Println(resp)
9574//    }
9575//
9576// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
9577func (c *EC2) DeleteSecurityGroupRequest(input *DeleteSecurityGroupInput) (req *request.Request, output *DeleteSecurityGroupOutput) {
9578	op := &request.Operation{
9579		Name:       opDeleteSecurityGroup,
9580		HTTPMethod: "POST",
9581		HTTPPath:   "/",
9582	}
9583
9584	if input == nil {
9585		input = &DeleteSecurityGroupInput{}
9586	}
9587
9588	output = &DeleteSecurityGroupOutput{}
9589	req = c.newRequest(op, input, output)
9590	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9591	return
9592}
9593
9594// DeleteSecurityGroup API operation for Amazon Elastic Compute Cloud.
9595//
9596// Deletes a security group.
9597//
9598// If you attempt to delete a security group that is associated with an instance,
9599// or is referenced by another security group, the operation fails with InvalidGroup.InUse
9600// in EC2-Classic or DependencyViolation in EC2-VPC.
9601//
9602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9603// with awserr.Error's Code and Message methods to get detailed information about
9604// the error.
9605//
9606// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9607// API operation DeleteSecurityGroup for usage and error information.
9608// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSecurityGroup
9609func (c *EC2) DeleteSecurityGroup(input *DeleteSecurityGroupInput) (*DeleteSecurityGroupOutput, error) {
9610	req, out := c.DeleteSecurityGroupRequest(input)
9611	return out, req.Send()
9612}
9613
9614// DeleteSecurityGroupWithContext is the same as DeleteSecurityGroup with the addition of
9615// the ability to pass a context and additional request options.
9616//
9617// See DeleteSecurityGroup for details on how to use this API operation.
9618//
9619// The context must be non-nil and will be used for request cancellation. If
9620// the context is nil a panic will occur. In the future the SDK may create
9621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9622// for more information on using Contexts.
9623func (c *EC2) DeleteSecurityGroupWithContext(ctx aws.Context, input *DeleteSecurityGroupInput, opts ...request.Option) (*DeleteSecurityGroupOutput, error) {
9624	req, out := c.DeleteSecurityGroupRequest(input)
9625	req.SetContext(ctx)
9626	req.ApplyOptions(opts...)
9627	return out, req.Send()
9628}
9629
9630const opDeleteSnapshot = "DeleteSnapshot"
9631
9632// DeleteSnapshotRequest generates a "aws/request.Request" representing the
9633// client's request for the DeleteSnapshot operation. The "output" return
9634// value will be populated with the request's response once the request completes
9635// successfully.
9636//
9637// Use "Send" method on the returned Request to send the API call to the service.
9638// the "output" return value is not valid until after Send returns without error.
9639//
9640// See DeleteSnapshot for more information on using the DeleteSnapshot
9641// API call, and error handling.
9642//
9643// This method is useful when you want to inject custom logic or configuration
9644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9645//
9646//
9647//    // Example sending a request using the DeleteSnapshotRequest method.
9648//    req, resp := client.DeleteSnapshotRequest(params)
9649//
9650//    err := req.Send()
9651//    if err == nil { // resp is now filled
9652//        fmt.Println(resp)
9653//    }
9654//
9655// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
9656func (c *EC2) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) {
9657	op := &request.Operation{
9658		Name:       opDeleteSnapshot,
9659		HTTPMethod: "POST",
9660		HTTPPath:   "/",
9661	}
9662
9663	if input == nil {
9664		input = &DeleteSnapshotInput{}
9665	}
9666
9667	output = &DeleteSnapshotOutput{}
9668	req = c.newRequest(op, input, output)
9669	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9670	return
9671}
9672
9673// DeleteSnapshot API operation for Amazon Elastic Compute Cloud.
9674//
9675// Deletes the specified snapshot.
9676//
9677// When you make periodic snapshots of a volume, the snapshots are incremental,
9678// and only the blocks on the device that have changed since your last snapshot
9679// are saved in the new snapshot. When you delete a snapshot, only the data
9680// not needed for any other snapshot is removed. So regardless of which prior
9681// snapshots have been deleted, all active snapshots will have access to all
9682// the information needed to restore the volume.
9683//
9684// You cannot delete a snapshot of the root device of an EBS volume used by
9685// a registered AMI. You must first de-register the AMI before you can delete
9686// the snapshot.
9687//
9688// For more information, see Deleting an Amazon EBS Snapshot (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-snapshot.html)
9689// in the Amazon Elastic Compute Cloud User Guide.
9690//
9691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9692// with awserr.Error's Code and Message methods to get detailed information about
9693// the error.
9694//
9695// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9696// API operation DeleteSnapshot for usage and error information.
9697// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSnapshot
9698func (c *EC2) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) {
9699	req, out := c.DeleteSnapshotRequest(input)
9700	return out, req.Send()
9701}
9702
9703// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of
9704// the ability to pass a context and additional request options.
9705//
9706// See DeleteSnapshot for details on how to use this API operation.
9707//
9708// The context must be non-nil and will be used for request cancellation. If
9709// the context is nil a panic will occur. In the future the SDK may create
9710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9711// for more information on using Contexts.
9712func (c *EC2) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) {
9713	req, out := c.DeleteSnapshotRequest(input)
9714	req.SetContext(ctx)
9715	req.ApplyOptions(opts...)
9716	return out, req.Send()
9717}
9718
9719const opDeleteSpotDatafeedSubscription = "DeleteSpotDatafeedSubscription"
9720
9721// DeleteSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
9722// client's request for the DeleteSpotDatafeedSubscription operation. The "output" return
9723// value will be populated with the request's response once the request completes
9724// successfully.
9725//
9726// Use "Send" method on the returned Request to send the API call to the service.
9727// the "output" return value is not valid until after Send returns without error.
9728//
9729// See DeleteSpotDatafeedSubscription for more information on using the DeleteSpotDatafeedSubscription
9730// API call, and error handling.
9731//
9732// This method is useful when you want to inject custom logic or configuration
9733// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9734//
9735//
9736//    // Example sending a request using the DeleteSpotDatafeedSubscriptionRequest method.
9737//    req, resp := client.DeleteSpotDatafeedSubscriptionRequest(params)
9738//
9739//    err := req.Send()
9740//    if err == nil { // resp is now filled
9741//        fmt.Println(resp)
9742//    }
9743//
9744// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
9745func (c *EC2) DeleteSpotDatafeedSubscriptionRequest(input *DeleteSpotDatafeedSubscriptionInput) (req *request.Request, output *DeleteSpotDatafeedSubscriptionOutput) {
9746	op := &request.Operation{
9747		Name:       opDeleteSpotDatafeedSubscription,
9748		HTTPMethod: "POST",
9749		HTTPPath:   "/",
9750	}
9751
9752	if input == nil {
9753		input = &DeleteSpotDatafeedSubscriptionInput{}
9754	}
9755
9756	output = &DeleteSpotDatafeedSubscriptionOutput{}
9757	req = c.newRequest(op, input, output)
9758	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9759	return
9760}
9761
9762// DeleteSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
9763//
9764// Deletes the data feed for Spot Instances.
9765//
9766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9767// with awserr.Error's Code and Message methods to get detailed information about
9768// the error.
9769//
9770// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9771// API operation DeleteSpotDatafeedSubscription for usage and error information.
9772// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSpotDatafeedSubscription
9773func (c *EC2) DeleteSpotDatafeedSubscription(input *DeleteSpotDatafeedSubscriptionInput) (*DeleteSpotDatafeedSubscriptionOutput, error) {
9774	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
9775	return out, req.Send()
9776}
9777
9778// DeleteSpotDatafeedSubscriptionWithContext is the same as DeleteSpotDatafeedSubscription with the addition of
9779// the ability to pass a context and additional request options.
9780//
9781// See DeleteSpotDatafeedSubscription for details on how to use this API operation.
9782//
9783// The context must be non-nil and will be used for request cancellation. If
9784// the context is nil a panic will occur. In the future the SDK may create
9785// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9786// for more information on using Contexts.
9787func (c *EC2) DeleteSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DeleteSpotDatafeedSubscriptionInput, opts ...request.Option) (*DeleteSpotDatafeedSubscriptionOutput, error) {
9788	req, out := c.DeleteSpotDatafeedSubscriptionRequest(input)
9789	req.SetContext(ctx)
9790	req.ApplyOptions(opts...)
9791	return out, req.Send()
9792}
9793
9794const opDeleteSubnet = "DeleteSubnet"
9795
9796// DeleteSubnetRequest generates a "aws/request.Request" representing the
9797// client's request for the DeleteSubnet operation. The "output" return
9798// value will be populated with the request's response once the request completes
9799// successfully.
9800//
9801// Use "Send" method on the returned Request to send the API call to the service.
9802// the "output" return value is not valid until after Send returns without error.
9803//
9804// See DeleteSubnet for more information on using the DeleteSubnet
9805// API call, and error handling.
9806//
9807// This method is useful when you want to inject custom logic or configuration
9808// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9809//
9810//
9811//    // Example sending a request using the DeleteSubnetRequest method.
9812//    req, resp := client.DeleteSubnetRequest(params)
9813//
9814//    err := req.Send()
9815//    if err == nil { // resp is now filled
9816//        fmt.Println(resp)
9817//    }
9818//
9819// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
9820func (c *EC2) DeleteSubnetRequest(input *DeleteSubnetInput) (req *request.Request, output *DeleteSubnetOutput) {
9821	op := &request.Operation{
9822		Name:       opDeleteSubnet,
9823		HTTPMethod: "POST",
9824		HTTPPath:   "/",
9825	}
9826
9827	if input == nil {
9828		input = &DeleteSubnetInput{}
9829	}
9830
9831	output = &DeleteSubnetOutput{}
9832	req = c.newRequest(op, input, output)
9833	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9834	return
9835}
9836
9837// DeleteSubnet API operation for Amazon Elastic Compute Cloud.
9838//
9839// Deletes the specified subnet. You must terminate all running instances in
9840// the subnet before you can delete the subnet.
9841//
9842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9843// with awserr.Error's Code and Message methods to get detailed information about
9844// the error.
9845//
9846// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9847// API operation DeleteSubnet for usage and error information.
9848// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteSubnet
9849func (c *EC2) DeleteSubnet(input *DeleteSubnetInput) (*DeleteSubnetOutput, error) {
9850	req, out := c.DeleteSubnetRequest(input)
9851	return out, req.Send()
9852}
9853
9854// DeleteSubnetWithContext is the same as DeleteSubnet with the addition of
9855// the ability to pass a context and additional request options.
9856//
9857// See DeleteSubnet for details on how to use this API operation.
9858//
9859// The context must be non-nil and will be used for request cancellation. If
9860// the context is nil a panic will occur. In the future the SDK may create
9861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9862// for more information on using Contexts.
9863func (c *EC2) DeleteSubnetWithContext(ctx aws.Context, input *DeleteSubnetInput, opts ...request.Option) (*DeleteSubnetOutput, error) {
9864	req, out := c.DeleteSubnetRequest(input)
9865	req.SetContext(ctx)
9866	req.ApplyOptions(opts...)
9867	return out, req.Send()
9868}
9869
9870const opDeleteTags = "DeleteTags"
9871
9872// DeleteTagsRequest generates a "aws/request.Request" representing the
9873// client's request for the DeleteTags operation. The "output" return
9874// value will be populated with the request's response once the request completes
9875// successfully.
9876//
9877// Use "Send" method on the returned Request to send the API call to the service.
9878// the "output" return value is not valid until after Send returns without error.
9879//
9880// See DeleteTags for more information on using the DeleteTags
9881// API call, and error handling.
9882//
9883// This method is useful when you want to inject custom logic or configuration
9884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9885//
9886//
9887//    // Example sending a request using the DeleteTagsRequest method.
9888//    req, resp := client.DeleteTagsRequest(params)
9889//
9890//    err := req.Send()
9891//    if err == nil { // resp is now filled
9892//        fmt.Println(resp)
9893//    }
9894//
9895// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
9896func (c *EC2) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) {
9897	op := &request.Operation{
9898		Name:       opDeleteTags,
9899		HTTPMethod: "POST",
9900		HTTPPath:   "/",
9901	}
9902
9903	if input == nil {
9904		input = &DeleteTagsInput{}
9905	}
9906
9907	output = &DeleteTagsOutput{}
9908	req = c.newRequest(op, input, output)
9909	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
9910	return
9911}
9912
9913// DeleteTags API operation for Amazon Elastic Compute Cloud.
9914//
9915// Deletes the specified set of tags from the specified set of resources.
9916//
9917// To list the current tags, use DescribeTags. For more information about tags,
9918// see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
9919// in the Amazon Elastic Compute Cloud User Guide.
9920//
9921// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9922// with awserr.Error's Code and Message methods to get detailed information about
9923// the error.
9924//
9925// See the AWS API reference guide for Amazon Elastic Compute Cloud's
9926// API operation DeleteTags for usage and error information.
9927// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTags
9928func (c *EC2) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) {
9929	req, out := c.DeleteTagsRequest(input)
9930	return out, req.Send()
9931}
9932
9933// DeleteTagsWithContext is the same as DeleteTags with the addition of
9934// the ability to pass a context and additional request options.
9935//
9936// See DeleteTags for details on how to use this API operation.
9937//
9938// The context must be non-nil and will be used for request cancellation. If
9939// the context is nil a panic will occur. In the future the SDK may create
9940// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9941// for more information on using Contexts.
9942func (c *EC2) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) {
9943	req, out := c.DeleteTagsRequest(input)
9944	req.SetContext(ctx)
9945	req.ApplyOptions(opts...)
9946	return out, req.Send()
9947}
9948
9949const opDeleteTrafficMirrorFilter = "DeleteTrafficMirrorFilter"
9950
9951// DeleteTrafficMirrorFilterRequest generates a "aws/request.Request" representing the
9952// client's request for the DeleteTrafficMirrorFilter operation. The "output" return
9953// value will be populated with the request's response once the request completes
9954// successfully.
9955//
9956// Use "Send" method on the returned Request to send the API call to the service.
9957// the "output" return value is not valid until after Send returns without error.
9958//
9959// See DeleteTrafficMirrorFilter for more information on using the DeleteTrafficMirrorFilter
9960// API call, and error handling.
9961//
9962// This method is useful when you want to inject custom logic or configuration
9963// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9964//
9965//
9966//    // Example sending a request using the DeleteTrafficMirrorFilterRequest method.
9967//    req, resp := client.DeleteTrafficMirrorFilterRequest(params)
9968//
9969//    err := req.Send()
9970//    if err == nil { // resp is now filled
9971//        fmt.Println(resp)
9972//    }
9973//
9974// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
9975func (c *EC2) DeleteTrafficMirrorFilterRequest(input *DeleteTrafficMirrorFilterInput) (req *request.Request, output *DeleteTrafficMirrorFilterOutput) {
9976	op := &request.Operation{
9977		Name:       opDeleteTrafficMirrorFilter,
9978		HTTPMethod: "POST",
9979		HTTPPath:   "/",
9980	}
9981
9982	if input == nil {
9983		input = &DeleteTrafficMirrorFilterInput{}
9984	}
9985
9986	output = &DeleteTrafficMirrorFilterOutput{}
9987	req = c.newRequest(op, input, output)
9988	return
9989}
9990
9991// DeleteTrafficMirrorFilter API operation for Amazon Elastic Compute Cloud.
9992//
9993// Deletes the specified Traffic Mirror filter.
9994//
9995// You cannot delete a Traffic Mirror filter that is in use by a Traffic Mirror
9996// session.
9997//
9998// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9999// with awserr.Error's Code and Message methods to get detailed information about
10000// the error.
10001//
10002// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10003// API operation DeleteTrafficMirrorFilter for usage and error information.
10004// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilter
10005func (c *EC2) DeleteTrafficMirrorFilter(input *DeleteTrafficMirrorFilterInput) (*DeleteTrafficMirrorFilterOutput, error) {
10006	req, out := c.DeleteTrafficMirrorFilterRequest(input)
10007	return out, req.Send()
10008}
10009
10010// DeleteTrafficMirrorFilterWithContext is the same as DeleteTrafficMirrorFilter with the addition of
10011// the ability to pass a context and additional request options.
10012//
10013// See DeleteTrafficMirrorFilter for details on how to use this API operation.
10014//
10015// The context must be non-nil and will be used for request cancellation. If
10016// the context is nil a panic will occur. In the future the SDK may create
10017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10018// for more information on using Contexts.
10019func (c *EC2) DeleteTrafficMirrorFilterWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterInput, opts ...request.Option) (*DeleteTrafficMirrorFilterOutput, error) {
10020	req, out := c.DeleteTrafficMirrorFilterRequest(input)
10021	req.SetContext(ctx)
10022	req.ApplyOptions(opts...)
10023	return out, req.Send()
10024}
10025
10026const opDeleteTrafficMirrorFilterRule = "DeleteTrafficMirrorFilterRule"
10027
10028// DeleteTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
10029// client's request for the DeleteTrafficMirrorFilterRule operation. The "output" return
10030// value will be populated with the request's response once the request completes
10031// successfully.
10032//
10033// Use "Send" method on the returned Request to send the API call to the service.
10034// the "output" return value is not valid until after Send returns without error.
10035//
10036// See DeleteTrafficMirrorFilterRule for more information on using the DeleteTrafficMirrorFilterRule
10037// API call, and error handling.
10038//
10039// This method is useful when you want to inject custom logic or configuration
10040// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10041//
10042//
10043//    // Example sending a request using the DeleteTrafficMirrorFilterRuleRequest method.
10044//    req, resp := client.DeleteTrafficMirrorFilterRuleRequest(params)
10045//
10046//    err := req.Send()
10047//    if err == nil { // resp is now filled
10048//        fmt.Println(resp)
10049//    }
10050//
10051// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
10052func (c *EC2) DeleteTrafficMirrorFilterRuleRequest(input *DeleteTrafficMirrorFilterRuleInput) (req *request.Request, output *DeleteTrafficMirrorFilterRuleOutput) {
10053	op := &request.Operation{
10054		Name:       opDeleteTrafficMirrorFilterRule,
10055		HTTPMethod: "POST",
10056		HTTPPath:   "/",
10057	}
10058
10059	if input == nil {
10060		input = &DeleteTrafficMirrorFilterRuleInput{}
10061	}
10062
10063	output = &DeleteTrafficMirrorFilterRuleOutput{}
10064	req = c.newRequest(op, input, output)
10065	return
10066}
10067
10068// DeleteTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
10069//
10070// Deletes the specified Traffic Mirror rule.
10071//
10072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10073// with awserr.Error's Code and Message methods to get detailed information about
10074// the error.
10075//
10076// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10077// API operation DeleteTrafficMirrorFilterRule for usage and error information.
10078// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorFilterRule
10079func (c *EC2) DeleteTrafficMirrorFilterRule(input *DeleteTrafficMirrorFilterRuleInput) (*DeleteTrafficMirrorFilterRuleOutput, error) {
10080	req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
10081	return out, req.Send()
10082}
10083
10084// DeleteTrafficMirrorFilterRuleWithContext is the same as DeleteTrafficMirrorFilterRule with the addition of
10085// the ability to pass a context and additional request options.
10086//
10087// See DeleteTrafficMirrorFilterRule for details on how to use this API operation.
10088//
10089// The context must be non-nil and will be used for request cancellation. If
10090// the context is nil a panic will occur. In the future the SDK may create
10091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10092// for more information on using Contexts.
10093func (c *EC2) DeleteTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *DeleteTrafficMirrorFilterRuleInput, opts ...request.Option) (*DeleteTrafficMirrorFilterRuleOutput, error) {
10094	req, out := c.DeleteTrafficMirrorFilterRuleRequest(input)
10095	req.SetContext(ctx)
10096	req.ApplyOptions(opts...)
10097	return out, req.Send()
10098}
10099
10100const opDeleteTrafficMirrorSession = "DeleteTrafficMirrorSession"
10101
10102// DeleteTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
10103// client's request for the DeleteTrafficMirrorSession operation. The "output" return
10104// value will be populated with the request's response once the request completes
10105// successfully.
10106//
10107// Use "Send" method on the returned Request to send the API call to the service.
10108// the "output" return value is not valid until after Send returns without error.
10109//
10110// See DeleteTrafficMirrorSession for more information on using the DeleteTrafficMirrorSession
10111// API call, and error handling.
10112//
10113// This method is useful when you want to inject custom logic or configuration
10114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10115//
10116//
10117//    // Example sending a request using the DeleteTrafficMirrorSessionRequest method.
10118//    req, resp := client.DeleteTrafficMirrorSessionRequest(params)
10119//
10120//    err := req.Send()
10121//    if err == nil { // resp is now filled
10122//        fmt.Println(resp)
10123//    }
10124//
10125// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
10126func (c *EC2) DeleteTrafficMirrorSessionRequest(input *DeleteTrafficMirrorSessionInput) (req *request.Request, output *DeleteTrafficMirrorSessionOutput) {
10127	op := &request.Operation{
10128		Name:       opDeleteTrafficMirrorSession,
10129		HTTPMethod: "POST",
10130		HTTPPath:   "/",
10131	}
10132
10133	if input == nil {
10134		input = &DeleteTrafficMirrorSessionInput{}
10135	}
10136
10137	output = &DeleteTrafficMirrorSessionOutput{}
10138	req = c.newRequest(op, input, output)
10139	return
10140}
10141
10142// DeleteTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
10143//
10144// Deletes the specified Traffic Mirror session.
10145//
10146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10147// with awserr.Error's Code and Message methods to get detailed information about
10148// the error.
10149//
10150// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10151// API operation DeleteTrafficMirrorSession for usage and error information.
10152// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorSession
10153func (c *EC2) DeleteTrafficMirrorSession(input *DeleteTrafficMirrorSessionInput) (*DeleteTrafficMirrorSessionOutput, error) {
10154	req, out := c.DeleteTrafficMirrorSessionRequest(input)
10155	return out, req.Send()
10156}
10157
10158// DeleteTrafficMirrorSessionWithContext is the same as DeleteTrafficMirrorSession with the addition of
10159// the ability to pass a context and additional request options.
10160//
10161// See DeleteTrafficMirrorSession for details on how to use this API operation.
10162//
10163// The context must be non-nil and will be used for request cancellation. If
10164// the context is nil a panic will occur. In the future the SDK may create
10165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10166// for more information on using Contexts.
10167func (c *EC2) DeleteTrafficMirrorSessionWithContext(ctx aws.Context, input *DeleteTrafficMirrorSessionInput, opts ...request.Option) (*DeleteTrafficMirrorSessionOutput, error) {
10168	req, out := c.DeleteTrafficMirrorSessionRequest(input)
10169	req.SetContext(ctx)
10170	req.ApplyOptions(opts...)
10171	return out, req.Send()
10172}
10173
10174const opDeleteTrafficMirrorTarget = "DeleteTrafficMirrorTarget"
10175
10176// DeleteTrafficMirrorTargetRequest generates a "aws/request.Request" representing the
10177// client's request for the DeleteTrafficMirrorTarget operation. The "output" return
10178// value will be populated with the request's response once the request completes
10179// successfully.
10180//
10181// Use "Send" method on the returned Request to send the API call to the service.
10182// the "output" return value is not valid until after Send returns without error.
10183//
10184// See DeleteTrafficMirrorTarget for more information on using the DeleteTrafficMirrorTarget
10185// API call, and error handling.
10186//
10187// This method is useful when you want to inject custom logic or configuration
10188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10189//
10190//
10191//    // Example sending a request using the DeleteTrafficMirrorTargetRequest method.
10192//    req, resp := client.DeleteTrafficMirrorTargetRequest(params)
10193//
10194//    err := req.Send()
10195//    if err == nil { // resp is now filled
10196//        fmt.Println(resp)
10197//    }
10198//
10199// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
10200func (c *EC2) DeleteTrafficMirrorTargetRequest(input *DeleteTrafficMirrorTargetInput) (req *request.Request, output *DeleteTrafficMirrorTargetOutput) {
10201	op := &request.Operation{
10202		Name:       opDeleteTrafficMirrorTarget,
10203		HTTPMethod: "POST",
10204		HTTPPath:   "/",
10205	}
10206
10207	if input == nil {
10208		input = &DeleteTrafficMirrorTargetInput{}
10209	}
10210
10211	output = &DeleteTrafficMirrorTargetOutput{}
10212	req = c.newRequest(op, input, output)
10213	return
10214}
10215
10216// DeleteTrafficMirrorTarget API operation for Amazon Elastic Compute Cloud.
10217//
10218// Deletes the specified Traffic Mirror target.
10219//
10220// You cannot delete a Traffic Mirror target that is in use by a Traffic Mirror
10221// session.
10222//
10223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10224// with awserr.Error's Code and Message methods to get detailed information about
10225// the error.
10226//
10227// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10228// API operation DeleteTrafficMirrorTarget for usage and error information.
10229// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTrafficMirrorTarget
10230func (c *EC2) DeleteTrafficMirrorTarget(input *DeleteTrafficMirrorTargetInput) (*DeleteTrafficMirrorTargetOutput, error) {
10231	req, out := c.DeleteTrafficMirrorTargetRequest(input)
10232	return out, req.Send()
10233}
10234
10235// DeleteTrafficMirrorTargetWithContext is the same as DeleteTrafficMirrorTarget with the addition of
10236// the ability to pass a context and additional request options.
10237//
10238// See DeleteTrafficMirrorTarget for details on how to use this API operation.
10239//
10240// The context must be non-nil and will be used for request cancellation. If
10241// the context is nil a panic will occur. In the future the SDK may create
10242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10243// for more information on using Contexts.
10244func (c *EC2) DeleteTrafficMirrorTargetWithContext(ctx aws.Context, input *DeleteTrafficMirrorTargetInput, opts ...request.Option) (*DeleteTrafficMirrorTargetOutput, error) {
10245	req, out := c.DeleteTrafficMirrorTargetRequest(input)
10246	req.SetContext(ctx)
10247	req.ApplyOptions(opts...)
10248	return out, req.Send()
10249}
10250
10251const opDeleteTransitGateway = "DeleteTransitGateway"
10252
10253// DeleteTransitGatewayRequest generates a "aws/request.Request" representing the
10254// client's request for the DeleteTransitGateway operation. The "output" return
10255// value will be populated with the request's response once the request completes
10256// successfully.
10257//
10258// Use "Send" method on the returned Request to send the API call to the service.
10259// the "output" return value is not valid until after Send returns without error.
10260//
10261// See DeleteTransitGateway for more information on using the DeleteTransitGateway
10262// API call, and error handling.
10263//
10264// This method is useful when you want to inject custom logic or configuration
10265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10266//
10267//
10268//    // Example sending a request using the DeleteTransitGatewayRequest method.
10269//    req, resp := client.DeleteTransitGatewayRequest(params)
10270//
10271//    err := req.Send()
10272//    if err == nil { // resp is now filled
10273//        fmt.Println(resp)
10274//    }
10275//
10276// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
10277func (c *EC2) DeleteTransitGatewayRequest(input *DeleteTransitGatewayInput) (req *request.Request, output *DeleteTransitGatewayOutput) {
10278	op := &request.Operation{
10279		Name:       opDeleteTransitGateway,
10280		HTTPMethod: "POST",
10281		HTTPPath:   "/",
10282	}
10283
10284	if input == nil {
10285		input = &DeleteTransitGatewayInput{}
10286	}
10287
10288	output = &DeleteTransitGatewayOutput{}
10289	req = c.newRequest(op, input, output)
10290	return
10291}
10292
10293// DeleteTransitGateway API operation for Amazon Elastic Compute Cloud.
10294//
10295// Deletes the specified transit gateway.
10296//
10297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10298// with awserr.Error's Code and Message methods to get detailed information about
10299// the error.
10300//
10301// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10302// API operation DeleteTransitGateway for usage and error information.
10303// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGateway
10304func (c *EC2) DeleteTransitGateway(input *DeleteTransitGatewayInput) (*DeleteTransitGatewayOutput, error) {
10305	req, out := c.DeleteTransitGatewayRequest(input)
10306	return out, req.Send()
10307}
10308
10309// DeleteTransitGatewayWithContext is the same as DeleteTransitGateway with the addition of
10310// the ability to pass a context and additional request options.
10311//
10312// See DeleteTransitGateway for details on how to use this API operation.
10313//
10314// The context must be non-nil and will be used for request cancellation. If
10315// the context is nil a panic will occur. In the future the SDK may create
10316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10317// for more information on using Contexts.
10318func (c *EC2) DeleteTransitGatewayWithContext(ctx aws.Context, input *DeleteTransitGatewayInput, opts ...request.Option) (*DeleteTransitGatewayOutput, error) {
10319	req, out := c.DeleteTransitGatewayRequest(input)
10320	req.SetContext(ctx)
10321	req.ApplyOptions(opts...)
10322	return out, req.Send()
10323}
10324
10325const opDeleteTransitGatewayMulticastDomain = "DeleteTransitGatewayMulticastDomain"
10326
10327// DeleteTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
10328// client's request for the DeleteTransitGatewayMulticastDomain operation. The "output" return
10329// value will be populated with the request's response once the request completes
10330// successfully.
10331//
10332// Use "Send" method on the returned Request to send the API call to the service.
10333// the "output" return value is not valid until after Send returns without error.
10334//
10335// See DeleteTransitGatewayMulticastDomain for more information on using the DeleteTransitGatewayMulticastDomain
10336// API call, and error handling.
10337//
10338// This method is useful when you want to inject custom logic or configuration
10339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10340//
10341//
10342//    // Example sending a request using the DeleteTransitGatewayMulticastDomainRequest method.
10343//    req, resp := client.DeleteTransitGatewayMulticastDomainRequest(params)
10344//
10345//    err := req.Send()
10346//    if err == nil { // resp is now filled
10347//        fmt.Println(resp)
10348//    }
10349//
10350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
10351func (c *EC2) DeleteTransitGatewayMulticastDomainRequest(input *DeleteTransitGatewayMulticastDomainInput) (req *request.Request, output *DeleteTransitGatewayMulticastDomainOutput) {
10352	op := &request.Operation{
10353		Name:       opDeleteTransitGatewayMulticastDomain,
10354		HTTPMethod: "POST",
10355		HTTPPath:   "/",
10356	}
10357
10358	if input == nil {
10359		input = &DeleteTransitGatewayMulticastDomainInput{}
10360	}
10361
10362	output = &DeleteTransitGatewayMulticastDomainOutput{}
10363	req = c.newRequest(op, input, output)
10364	return
10365}
10366
10367// DeleteTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
10368//
10369// Deletes the specified transit gateway multicast domain.
10370//
10371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10372// with awserr.Error's Code and Message methods to get detailed information about
10373// the error.
10374//
10375// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10376// API operation DeleteTransitGatewayMulticastDomain for usage and error information.
10377// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayMulticastDomain
10378func (c *EC2) DeleteTransitGatewayMulticastDomain(input *DeleteTransitGatewayMulticastDomainInput) (*DeleteTransitGatewayMulticastDomainOutput, error) {
10379	req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
10380	return out, req.Send()
10381}
10382
10383// DeleteTransitGatewayMulticastDomainWithContext is the same as DeleteTransitGatewayMulticastDomain with the addition of
10384// the ability to pass a context and additional request options.
10385//
10386// See DeleteTransitGatewayMulticastDomain for details on how to use this API operation.
10387//
10388// The context must be non-nil and will be used for request cancellation. If
10389// the context is nil a panic will occur. In the future the SDK may create
10390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10391// for more information on using Contexts.
10392func (c *EC2) DeleteTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DeleteTransitGatewayMulticastDomainInput, opts ...request.Option) (*DeleteTransitGatewayMulticastDomainOutput, error) {
10393	req, out := c.DeleteTransitGatewayMulticastDomainRequest(input)
10394	req.SetContext(ctx)
10395	req.ApplyOptions(opts...)
10396	return out, req.Send()
10397}
10398
10399const opDeleteTransitGatewayPeeringAttachment = "DeleteTransitGatewayPeeringAttachment"
10400
10401// DeleteTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
10402// client's request for the DeleteTransitGatewayPeeringAttachment operation. The "output" return
10403// value will be populated with the request's response once the request completes
10404// successfully.
10405//
10406// Use "Send" method on the returned Request to send the API call to the service.
10407// the "output" return value is not valid until after Send returns without error.
10408//
10409// See DeleteTransitGatewayPeeringAttachment for more information on using the DeleteTransitGatewayPeeringAttachment
10410// API call, and error handling.
10411//
10412// This method is useful when you want to inject custom logic or configuration
10413// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10414//
10415//
10416//    // Example sending a request using the DeleteTransitGatewayPeeringAttachmentRequest method.
10417//    req, resp := client.DeleteTransitGatewayPeeringAttachmentRequest(params)
10418//
10419//    err := req.Send()
10420//    if err == nil { // resp is now filled
10421//        fmt.Println(resp)
10422//    }
10423//
10424// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
10425func (c *EC2) DeleteTransitGatewayPeeringAttachmentRequest(input *DeleteTransitGatewayPeeringAttachmentInput) (req *request.Request, output *DeleteTransitGatewayPeeringAttachmentOutput) {
10426	op := &request.Operation{
10427		Name:       opDeleteTransitGatewayPeeringAttachment,
10428		HTTPMethod: "POST",
10429		HTTPPath:   "/",
10430	}
10431
10432	if input == nil {
10433		input = &DeleteTransitGatewayPeeringAttachmentInput{}
10434	}
10435
10436	output = &DeleteTransitGatewayPeeringAttachmentOutput{}
10437	req = c.newRequest(op, input, output)
10438	return
10439}
10440
10441// DeleteTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
10442//
10443// Deletes a transit gateway peering attachment.
10444//
10445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10446// with awserr.Error's Code and Message methods to get detailed information about
10447// the error.
10448//
10449// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10450// API operation DeleteTransitGatewayPeeringAttachment for usage and error information.
10451// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayPeeringAttachment
10452func (c *EC2) DeleteTransitGatewayPeeringAttachment(input *DeleteTransitGatewayPeeringAttachmentInput) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
10453	req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
10454	return out, req.Send()
10455}
10456
10457// DeleteTransitGatewayPeeringAttachmentWithContext is the same as DeleteTransitGatewayPeeringAttachment with the addition of
10458// the ability to pass a context and additional request options.
10459//
10460// See DeleteTransitGatewayPeeringAttachment for details on how to use this API operation.
10461//
10462// The context must be non-nil and will be used for request cancellation. If
10463// the context is nil a panic will occur. In the future the SDK may create
10464// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10465// for more information on using Contexts.
10466func (c *EC2) DeleteTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayPeeringAttachmentOutput, error) {
10467	req, out := c.DeleteTransitGatewayPeeringAttachmentRequest(input)
10468	req.SetContext(ctx)
10469	req.ApplyOptions(opts...)
10470	return out, req.Send()
10471}
10472
10473const opDeleteTransitGatewayRoute = "DeleteTransitGatewayRoute"
10474
10475// DeleteTransitGatewayRouteRequest generates a "aws/request.Request" representing the
10476// client's request for the DeleteTransitGatewayRoute operation. The "output" return
10477// value will be populated with the request's response once the request completes
10478// successfully.
10479//
10480// Use "Send" method on the returned Request to send the API call to the service.
10481// the "output" return value is not valid until after Send returns without error.
10482//
10483// See DeleteTransitGatewayRoute for more information on using the DeleteTransitGatewayRoute
10484// API call, and error handling.
10485//
10486// This method is useful when you want to inject custom logic or configuration
10487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10488//
10489//
10490//    // Example sending a request using the DeleteTransitGatewayRouteRequest method.
10491//    req, resp := client.DeleteTransitGatewayRouteRequest(params)
10492//
10493//    err := req.Send()
10494//    if err == nil { // resp is now filled
10495//        fmt.Println(resp)
10496//    }
10497//
10498// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
10499func (c *EC2) DeleteTransitGatewayRouteRequest(input *DeleteTransitGatewayRouteInput) (req *request.Request, output *DeleteTransitGatewayRouteOutput) {
10500	op := &request.Operation{
10501		Name:       opDeleteTransitGatewayRoute,
10502		HTTPMethod: "POST",
10503		HTTPPath:   "/",
10504	}
10505
10506	if input == nil {
10507		input = &DeleteTransitGatewayRouteInput{}
10508	}
10509
10510	output = &DeleteTransitGatewayRouteOutput{}
10511	req = c.newRequest(op, input, output)
10512	return
10513}
10514
10515// DeleteTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
10516//
10517// Deletes the specified route from the specified transit gateway route table.
10518//
10519// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10520// with awserr.Error's Code and Message methods to get detailed information about
10521// the error.
10522//
10523// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10524// API operation DeleteTransitGatewayRoute for usage and error information.
10525// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRoute
10526func (c *EC2) DeleteTransitGatewayRoute(input *DeleteTransitGatewayRouteInput) (*DeleteTransitGatewayRouteOutput, error) {
10527	req, out := c.DeleteTransitGatewayRouteRequest(input)
10528	return out, req.Send()
10529}
10530
10531// DeleteTransitGatewayRouteWithContext is the same as DeleteTransitGatewayRoute with the addition of
10532// the ability to pass a context and additional request options.
10533//
10534// See DeleteTransitGatewayRoute for details on how to use this API operation.
10535//
10536// The context must be non-nil and will be used for request cancellation. If
10537// the context is nil a panic will occur. In the future the SDK may create
10538// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10539// for more information on using Contexts.
10540func (c *EC2) DeleteTransitGatewayRouteWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteInput, opts ...request.Option) (*DeleteTransitGatewayRouteOutput, error) {
10541	req, out := c.DeleteTransitGatewayRouteRequest(input)
10542	req.SetContext(ctx)
10543	req.ApplyOptions(opts...)
10544	return out, req.Send()
10545}
10546
10547const opDeleteTransitGatewayRouteTable = "DeleteTransitGatewayRouteTable"
10548
10549// DeleteTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
10550// client's request for the DeleteTransitGatewayRouteTable operation. The "output" return
10551// value will be populated with the request's response once the request completes
10552// successfully.
10553//
10554// Use "Send" method on the returned Request to send the API call to the service.
10555// the "output" return value is not valid until after Send returns without error.
10556//
10557// See DeleteTransitGatewayRouteTable for more information on using the DeleteTransitGatewayRouteTable
10558// API call, and error handling.
10559//
10560// This method is useful when you want to inject custom logic or configuration
10561// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10562//
10563//
10564//    // Example sending a request using the DeleteTransitGatewayRouteTableRequest method.
10565//    req, resp := client.DeleteTransitGatewayRouteTableRequest(params)
10566//
10567//    err := req.Send()
10568//    if err == nil { // resp is now filled
10569//        fmt.Println(resp)
10570//    }
10571//
10572// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
10573func (c *EC2) DeleteTransitGatewayRouteTableRequest(input *DeleteTransitGatewayRouteTableInput) (req *request.Request, output *DeleteTransitGatewayRouteTableOutput) {
10574	op := &request.Operation{
10575		Name:       opDeleteTransitGatewayRouteTable,
10576		HTTPMethod: "POST",
10577		HTTPPath:   "/",
10578	}
10579
10580	if input == nil {
10581		input = &DeleteTransitGatewayRouteTableInput{}
10582	}
10583
10584	output = &DeleteTransitGatewayRouteTableOutput{}
10585	req = c.newRequest(op, input, output)
10586	return
10587}
10588
10589// DeleteTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
10590//
10591// Deletes the specified transit gateway route table. You must disassociate
10592// the route table from any transit gateway route tables before you can delete
10593// it.
10594//
10595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10596// with awserr.Error's Code and Message methods to get detailed information about
10597// the error.
10598//
10599// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10600// API operation DeleteTransitGatewayRouteTable for usage and error information.
10601// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayRouteTable
10602func (c *EC2) DeleteTransitGatewayRouteTable(input *DeleteTransitGatewayRouteTableInput) (*DeleteTransitGatewayRouteTableOutput, error) {
10603	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
10604	return out, req.Send()
10605}
10606
10607// DeleteTransitGatewayRouteTableWithContext is the same as DeleteTransitGatewayRouteTable with the addition of
10608// the ability to pass a context and additional request options.
10609//
10610// See DeleteTransitGatewayRouteTable for details on how to use this API operation.
10611//
10612// The context must be non-nil and will be used for request cancellation. If
10613// the context is nil a panic will occur. In the future the SDK may create
10614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10615// for more information on using Contexts.
10616func (c *EC2) DeleteTransitGatewayRouteTableWithContext(ctx aws.Context, input *DeleteTransitGatewayRouteTableInput, opts ...request.Option) (*DeleteTransitGatewayRouteTableOutput, error) {
10617	req, out := c.DeleteTransitGatewayRouteTableRequest(input)
10618	req.SetContext(ctx)
10619	req.ApplyOptions(opts...)
10620	return out, req.Send()
10621}
10622
10623const opDeleteTransitGatewayVpcAttachment = "DeleteTransitGatewayVpcAttachment"
10624
10625// DeleteTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
10626// client's request for the DeleteTransitGatewayVpcAttachment operation. The "output" return
10627// value will be populated with the request's response once the request completes
10628// successfully.
10629//
10630// Use "Send" method on the returned Request to send the API call to the service.
10631// the "output" return value is not valid until after Send returns without error.
10632//
10633// See DeleteTransitGatewayVpcAttachment for more information on using the DeleteTransitGatewayVpcAttachment
10634// API call, and error handling.
10635//
10636// This method is useful when you want to inject custom logic or configuration
10637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10638//
10639//
10640//    // Example sending a request using the DeleteTransitGatewayVpcAttachmentRequest method.
10641//    req, resp := client.DeleteTransitGatewayVpcAttachmentRequest(params)
10642//
10643//    err := req.Send()
10644//    if err == nil { // resp is now filled
10645//        fmt.Println(resp)
10646//    }
10647//
10648// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
10649func (c *EC2) DeleteTransitGatewayVpcAttachmentRequest(input *DeleteTransitGatewayVpcAttachmentInput) (req *request.Request, output *DeleteTransitGatewayVpcAttachmentOutput) {
10650	op := &request.Operation{
10651		Name:       opDeleteTransitGatewayVpcAttachment,
10652		HTTPMethod: "POST",
10653		HTTPPath:   "/",
10654	}
10655
10656	if input == nil {
10657		input = &DeleteTransitGatewayVpcAttachmentInput{}
10658	}
10659
10660	output = &DeleteTransitGatewayVpcAttachmentOutput{}
10661	req = c.newRequest(op, input, output)
10662	return
10663}
10664
10665// DeleteTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
10666//
10667// Deletes the specified VPC attachment.
10668//
10669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10670// with awserr.Error's Code and Message methods to get detailed information about
10671// the error.
10672//
10673// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10674// API operation DeleteTransitGatewayVpcAttachment for usage and error information.
10675// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteTransitGatewayVpcAttachment
10676func (c *EC2) DeleteTransitGatewayVpcAttachment(input *DeleteTransitGatewayVpcAttachmentInput) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
10677	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
10678	return out, req.Send()
10679}
10680
10681// DeleteTransitGatewayVpcAttachmentWithContext is the same as DeleteTransitGatewayVpcAttachment with the addition of
10682// the ability to pass a context and additional request options.
10683//
10684// See DeleteTransitGatewayVpcAttachment for details on how to use this API operation.
10685//
10686// The context must be non-nil and will be used for request cancellation. If
10687// the context is nil a panic will occur. In the future the SDK may create
10688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10689// for more information on using Contexts.
10690func (c *EC2) DeleteTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *DeleteTransitGatewayVpcAttachmentInput, opts ...request.Option) (*DeleteTransitGatewayVpcAttachmentOutput, error) {
10691	req, out := c.DeleteTransitGatewayVpcAttachmentRequest(input)
10692	req.SetContext(ctx)
10693	req.ApplyOptions(opts...)
10694	return out, req.Send()
10695}
10696
10697const opDeleteVolume = "DeleteVolume"
10698
10699// DeleteVolumeRequest generates a "aws/request.Request" representing the
10700// client's request for the DeleteVolume operation. The "output" return
10701// value will be populated with the request's response once the request completes
10702// successfully.
10703//
10704// Use "Send" method on the returned Request to send the API call to the service.
10705// the "output" return value is not valid until after Send returns without error.
10706//
10707// See DeleteVolume for more information on using the DeleteVolume
10708// API call, and error handling.
10709//
10710// This method is useful when you want to inject custom logic or configuration
10711// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10712//
10713//
10714//    // Example sending a request using the DeleteVolumeRequest method.
10715//    req, resp := client.DeleteVolumeRequest(params)
10716//
10717//    err := req.Send()
10718//    if err == nil { // resp is now filled
10719//        fmt.Println(resp)
10720//    }
10721//
10722// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
10723func (c *EC2) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
10724	op := &request.Operation{
10725		Name:       opDeleteVolume,
10726		HTTPMethod: "POST",
10727		HTTPPath:   "/",
10728	}
10729
10730	if input == nil {
10731		input = &DeleteVolumeInput{}
10732	}
10733
10734	output = &DeleteVolumeOutput{}
10735	req = c.newRequest(op, input, output)
10736	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10737	return
10738}
10739
10740// DeleteVolume API operation for Amazon Elastic Compute Cloud.
10741//
10742// Deletes the specified EBS volume. The volume must be in the available state
10743// (not attached to an instance).
10744//
10745// The volume can remain in the deleting state for several minutes.
10746//
10747// For more information, see Deleting an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-deleting-volume.html)
10748// in the Amazon Elastic Compute Cloud User Guide.
10749//
10750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10751// with awserr.Error's Code and Message methods to get detailed information about
10752// the error.
10753//
10754// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10755// API operation DeleteVolume for usage and error information.
10756// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVolume
10757func (c *EC2) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
10758	req, out := c.DeleteVolumeRequest(input)
10759	return out, req.Send()
10760}
10761
10762// DeleteVolumeWithContext is the same as DeleteVolume with the addition of
10763// the ability to pass a context and additional request options.
10764//
10765// See DeleteVolume for details on how to use this API operation.
10766//
10767// The context must be non-nil and will be used for request cancellation. If
10768// the context is nil a panic will occur. In the future the SDK may create
10769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10770// for more information on using Contexts.
10771func (c *EC2) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
10772	req, out := c.DeleteVolumeRequest(input)
10773	req.SetContext(ctx)
10774	req.ApplyOptions(opts...)
10775	return out, req.Send()
10776}
10777
10778const opDeleteVpc = "DeleteVpc"
10779
10780// DeleteVpcRequest generates a "aws/request.Request" representing the
10781// client's request for the DeleteVpc operation. The "output" return
10782// value will be populated with the request's response once the request completes
10783// successfully.
10784//
10785// Use "Send" method on the returned Request to send the API call to the service.
10786// the "output" return value is not valid until after Send returns without error.
10787//
10788// See DeleteVpc for more information on using the DeleteVpc
10789// API call, and error handling.
10790//
10791// This method is useful when you want to inject custom logic or configuration
10792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10793//
10794//
10795//    // Example sending a request using the DeleteVpcRequest method.
10796//    req, resp := client.DeleteVpcRequest(params)
10797//
10798//    err := req.Send()
10799//    if err == nil { // resp is now filled
10800//        fmt.Println(resp)
10801//    }
10802//
10803// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
10804func (c *EC2) DeleteVpcRequest(input *DeleteVpcInput) (req *request.Request, output *DeleteVpcOutput) {
10805	op := &request.Operation{
10806		Name:       opDeleteVpc,
10807		HTTPMethod: "POST",
10808		HTTPPath:   "/",
10809	}
10810
10811	if input == nil {
10812		input = &DeleteVpcInput{}
10813	}
10814
10815	output = &DeleteVpcOutput{}
10816	req = c.newRequest(op, input, output)
10817	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
10818	return
10819}
10820
10821// DeleteVpc API operation for Amazon Elastic Compute Cloud.
10822//
10823// Deletes the specified VPC. You must detach or delete all gateways and resources
10824// that are associated with the VPC before you can delete it. For example, you
10825// must terminate all instances running in the VPC, delete all security groups
10826// associated with the VPC (except the default one), delete all route tables
10827// associated with the VPC (except the default one), and so on.
10828//
10829// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10830// with awserr.Error's Code and Message methods to get detailed information about
10831// the error.
10832//
10833// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10834// API operation DeleteVpc for usage and error information.
10835// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpc
10836func (c *EC2) DeleteVpc(input *DeleteVpcInput) (*DeleteVpcOutput, error) {
10837	req, out := c.DeleteVpcRequest(input)
10838	return out, req.Send()
10839}
10840
10841// DeleteVpcWithContext is the same as DeleteVpc with the addition of
10842// the ability to pass a context and additional request options.
10843//
10844// See DeleteVpc for details on how to use this API operation.
10845//
10846// The context must be non-nil and will be used for request cancellation. If
10847// the context is nil a panic will occur. In the future the SDK may create
10848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10849// for more information on using Contexts.
10850func (c *EC2) DeleteVpcWithContext(ctx aws.Context, input *DeleteVpcInput, opts ...request.Option) (*DeleteVpcOutput, error) {
10851	req, out := c.DeleteVpcRequest(input)
10852	req.SetContext(ctx)
10853	req.ApplyOptions(opts...)
10854	return out, req.Send()
10855}
10856
10857const opDeleteVpcEndpointConnectionNotifications = "DeleteVpcEndpointConnectionNotifications"
10858
10859// DeleteVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
10860// client's request for the DeleteVpcEndpointConnectionNotifications operation. The "output" return
10861// value will be populated with the request's response once the request completes
10862// successfully.
10863//
10864// Use "Send" method on the returned Request to send the API call to the service.
10865// the "output" return value is not valid until after Send returns without error.
10866//
10867// See DeleteVpcEndpointConnectionNotifications for more information on using the DeleteVpcEndpointConnectionNotifications
10868// API call, and error handling.
10869//
10870// This method is useful when you want to inject custom logic or configuration
10871// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10872//
10873//
10874//    // Example sending a request using the DeleteVpcEndpointConnectionNotificationsRequest method.
10875//    req, resp := client.DeleteVpcEndpointConnectionNotificationsRequest(params)
10876//
10877//    err := req.Send()
10878//    if err == nil { // resp is now filled
10879//        fmt.Println(resp)
10880//    }
10881//
10882// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
10883func (c *EC2) DeleteVpcEndpointConnectionNotificationsRequest(input *DeleteVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DeleteVpcEndpointConnectionNotificationsOutput) {
10884	op := &request.Operation{
10885		Name:       opDeleteVpcEndpointConnectionNotifications,
10886		HTTPMethod: "POST",
10887		HTTPPath:   "/",
10888	}
10889
10890	if input == nil {
10891		input = &DeleteVpcEndpointConnectionNotificationsInput{}
10892	}
10893
10894	output = &DeleteVpcEndpointConnectionNotificationsOutput{}
10895	req = c.newRequest(op, input, output)
10896	return
10897}
10898
10899// DeleteVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
10900//
10901// Deletes one or more VPC endpoint connection notifications.
10902//
10903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10904// with awserr.Error's Code and Message methods to get detailed information about
10905// the error.
10906//
10907// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10908// API operation DeleteVpcEndpointConnectionNotifications for usage and error information.
10909// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointConnectionNotifications
10910func (c *EC2) DeleteVpcEndpointConnectionNotifications(input *DeleteVpcEndpointConnectionNotificationsInput) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
10911	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
10912	return out, req.Send()
10913}
10914
10915// DeleteVpcEndpointConnectionNotificationsWithContext is the same as DeleteVpcEndpointConnectionNotifications with the addition of
10916// the ability to pass a context and additional request options.
10917//
10918// See DeleteVpcEndpointConnectionNotifications for details on how to use this API operation.
10919//
10920// The context must be non-nil and will be used for request cancellation. If
10921// the context is nil a panic will occur. In the future the SDK may create
10922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10923// for more information on using Contexts.
10924func (c *EC2) DeleteVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DeleteVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DeleteVpcEndpointConnectionNotificationsOutput, error) {
10925	req, out := c.DeleteVpcEndpointConnectionNotificationsRequest(input)
10926	req.SetContext(ctx)
10927	req.ApplyOptions(opts...)
10928	return out, req.Send()
10929}
10930
10931const opDeleteVpcEndpointServiceConfigurations = "DeleteVpcEndpointServiceConfigurations"
10932
10933// DeleteVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
10934// client's request for the DeleteVpcEndpointServiceConfigurations operation. The "output" return
10935// value will be populated with the request's response once the request completes
10936// successfully.
10937//
10938// Use "Send" method on the returned Request to send the API call to the service.
10939// the "output" return value is not valid until after Send returns without error.
10940//
10941// See DeleteVpcEndpointServiceConfigurations for more information on using the DeleteVpcEndpointServiceConfigurations
10942// API call, and error handling.
10943//
10944// This method is useful when you want to inject custom logic or configuration
10945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10946//
10947//
10948//    // Example sending a request using the DeleteVpcEndpointServiceConfigurationsRequest method.
10949//    req, resp := client.DeleteVpcEndpointServiceConfigurationsRequest(params)
10950//
10951//    err := req.Send()
10952//    if err == nil { // resp is now filled
10953//        fmt.Println(resp)
10954//    }
10955//
10956// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
10957func (c *EC2) DeleteVpcEndpointServiceConfigurationsRequest(input *DeleteVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DeleteVpcEndpointServiceConfigurationsOutput) {
10958	op := &request.Operation{
10959		Name:       opDeleteVpcEndpointServiceConfigurations,
10960		HTTPMethod: "POST",
10961		HTTPPath:   "/",
10962	}
10963
10964	if input == nil {
10965		input = &DeleteVpcEndpointServiceConfigurationsInput{}
10966	}
10967
10968	output = &DeleteVpcEndpointServiceConfigurationsOutput{}
10969	req = c.newRequest(op, input, output)
10970	return
10971}
10972
10973// DeleteVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
10974//
10975// Deletes one or more VPC endpoint service configurations in your account.
10976// Before you delete the endpoint service configuration, you must reject any
10977// Available or PendingAcceptance interface endpoint connections that are attached
10978// to the service.
10979//
10980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10981// with awserr.Error's Code and Message methods to get detailed information about
10982// the error.
10983//
10984// See the AWS API reference guide for Amazon Elastic Compute Cloud's
10985// API operation DeleteVpcEndpointServiceConfigurations for usage and error information.
10986// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpointServiceConfigurations
10987func (c *EC2) DeleteVpcEndpointServiceConfigurations(input *DeleteVpcEndpointServiceConfigurationsInput) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
10988	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
10989	return out, req.Send()
10990}
10991
10992// DeleteVpcEndpointServiceConfigurationsWithContext is the same as DeleteVpcEndpointServiceConfigurations with the addition of
10993// the ability to pass a context and additional request options.
10994//
10995// See DeleteVpcEndpointServiceConfigurations for details on how to use this API operation.
10996//
10997// The context must be non-nil and will be used for request cancellation. If
10998// the context is nil a panic will occur. In the future the SDK may create
10999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11000// for more information on using Contexts.
11001func (c *EC2) DeleteVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DeleteVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DeleteVpcEndpointServiceConfigurationsOutput, error) {
11002	req, out := c.DeleteVpcEndpointServiceConfigurationsRequest(input)
11003	req.SetContext(ctx)
11004	req.ApplyOptions(opts...)
11005	return out, req.Send()
11006}
11007
11008const opDeleteVpcEndpoints = "DeleteVpcEndpoints"
11009
11010// DeleteVpcEndpointsRequest generates a "aws/request.Request" representing the
11011// client's request for the DeleteVpcEndpoints operation. The "output" return
11012// value will be populated with the request's response once the request completes
11013// successfully.
11014//
11015// Use "Send" method on the returned Request to send the API call to the service.
11016// the "output" return value is not valid until after Send returns without error.
11017//
11018// See DeleteVpcEndpoints for more information on using the DeleteVpcEndpoints
11019// API call, and error handling.
11020//
11021// This method is useful when you want to inject custom logic or configuration
11022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11023//
11024//
11025//    // Example sending a request using the DeleteVpcEndpointsRequest method.
11026//    req, resp := client.DeleteVpcEndpointsRequest(params)
11027//
11028//    err := req.Send()
11029//    if err == nil { // resp is now filled
11030//        fmt.Println(resp)
11031//    }
11032//
11033// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
11034func (c *EC2) DeleteVpcEndpointsRequest(input *DeleteVpcEndpointsInput) (req *request.Request, output *DeleteVpcEndpointsOutput) {
11035	op := &request.Operation{
11036		Name:       opDeleteVpcEndpoints,
11037		HTTPMethod: "POST",
11038		HTTPPath:   "/",
11039	}
11040
11041	if input == nil {
11042		input = &DeleteVpcEndpointsInput{}
11043	}
11044
11045	output = &DeleteVpcEndpointsOutput{}
11046	req = c.newRequest(op, input, output)
11047	return
11048}
11049
11050// DeleteVpcEndpoints API operation for Amazon Elastic Compute Cloud.
11051//
11052// Deletes one or more specified VPC endpoints. Deleting a gateway endpoint
11053// also deletes the endpoint routes in the route tables that were associated
11054// with the endpoint. Deleting an interface endpoint deletes the endpoint network
11055// interfaces.
11056//
11057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11058// with awserr.Error's Code and Message methods to get detailed information about
11059// the error.
11060//
11061// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11062// API operation DeleteVpcEndpoints for usage and error information.
11063// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcEndpoints
11064func (c *EC2) DeleteVpcEndpoints(input *DeleteVpcEndpointsInput) (*DeleteVpcEndpointsOutput, error) {
11065	req, out := c.DeleteVpcEndpointsRequest(input)
11066	return out, req.Send()
11067}
11068
11069// DeleteVpcEndpointsWithContext is the same as DeleteVpcEndpoints with the addition of
11070// the ability to pass a context and additional request options.
11071//
11072// See DeleteVpcEndpoints for details on how to use this API operation.
11073//
11074// The context must be non-nil and will be used for request cancellation. If
11075// the context is nil a panic will occur. In the future the SDK may create
11076// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11077// for more information on using Contexts.
11078func (c *EC2) DeleteVpcEndpointsWithContext(ctx aws.Context, input *DeleteVpcEndpointsInput, opts ...request.Option) (*DeleteVpcEndpointsOutput, error) {
11079	req, out := c.DeleteVpcEndpointsRequest(input)
11080	req.SetContext(ctx)
11081	req.ApplyOptions(opts...)
11082	return out, req.Send()
11083}
11084
11085const opDeleteVpcPeeringConnection = "DeleteVpcPeeringConnection"
11086
11087// DeleteVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
11088// client's request for the DeleteVpcPeeringConnection operation. The "output" return
11089// value will be populated with the request's response once the request completes
11090// successfully.
11091//
11092// Use "Send" method on the returned Request to send the API call to the service.
11093// the "output" return value is not valid until after Send returns without error.
11094//
11095// See DeleteVpcPeeringConnection for more information on using the DeleteVpcPeeringConnection
11096// API call, and error handling.
11097//
11098// This method is useful when you want to inject custom logic or configuration
11099// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11100//
11101//
11102//    // Example sending a request using the DeleteVpcPeeringConnectionRequest method.
11103//    req, resp := client.DeleteVpcPeeringConnectionRequest(params)
11104//
11105//    err := req.Send()
11106//    if err == nil { // resp is now filled
11107//        fmt.Println(resp)
11108//    }
11109//
11110// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
11111func (c *EC2) DeleteVpcPeeringConnectionRequest(input *DeleteVpcPeeringConnectionInput) (req *request.Request, output *DeleteVpcPeeringConnectionOutput) {
11112	op := &request.Operation{
11113		Name:       opDeleteVpcPeeringConnection,
11114		HTTPMethod: "POST",
11115		HTTPPath:   "/",
11116	}
11117
11118	if input == nil {
11119		input = &DeleteVpcPeeringConnectionInput{}
11120	}
11121
11122	output = &DeleteVpcPeeringConnectionOutput{}
11123	req = c.newRequest(op, input, output)
11124	return
11125}
11126
11127// DeleteVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
11128//
11129// Deletes a VPC peering connection. Either the owner of the requester VPC or
11130// the owner of the accepter VPC can delete the VPC peering connection if it's
11131// in the active state. The owner of the requester VPC can delete a VPC peering
11132// connection in the pending-acceptance state. You cannot delete a VPC peering
11133// connection that's in the failed state.
11134//
11135// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11136// with awserr.Error's Code and Message methods to get detailed information about
11137// the error.
11138//
11139// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11140// API operation DeleteVpcPeeringConnection for usage and error information.
11141// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpcPeeringConnection
11142func (c *EC2) DeleteVpcPeeringConnection(input *DeleteVpcPeeringConnectionInput) (*DeleteVpcPeeringConnectionOutput, error) {
11143	req, out := c.DeleteVpcPeeringConnectionRequest(input)
11144	return out, req.Send()
11145}
11146
11147// DeleteVpcPeeringConnectionWithContext is the same as DeleteVpcPeeringConnection with the addition of
11148// the ability to pass a context and additional request options.
11149//
11150// See DeleteVpcPeeringConnection for details on how to use this API operation.
11151//
11152// The context must be non-nil and will be used for request cancellation. If
11153// the context is nil a panic will occur. In the future the SDK may create
11154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11155// for more information on using Contexts.
11156func (c *EC2) DeleteVpcPeeringConnectionWithContext(ctx aws.Context, input *DeleteVpcPeeringConnectionInput, opts ...request.Option) (*DeleteVpcPeeringConnectionOutput, error) {
11157	req, out := c.DeleteVpcPeeringConnectionRequest(input)
11158	req.SetContext(ctx)
11159	req.ApplyOptions(opts...)
11160	return out, req.Send()
11161}
11162
11163const opDeleteVpnConnection = "DeleteVpnConnection"
11164
11165// DeleteVpnConnectionRequest generates a "aws/request.Request" representing the
11166// client's request for the DeleteVpnConnection operation. The "output" return
11167// value will be populated with the request's response once the request completes
11168// successfully.
11169//
11170// Use "Send" method on the returned Request to send the API call to the service.
11171// the "output" return value is not valid until after Send returns without error.
11172//
11173// See DeleteVpnConnection for more information on using the DeleteVpnConnection
11174// API call, and error handling.
11175//
11176// This method is useful when you want to inject custom logic or configuration
11177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11178//
11179//
11180//    // Example sending a request using the DeleteVpnConnectionRequest method.
11181//    req, resp := client.DeleteVpnConnectionRequest(params)
11182//
11183//    err := req.Send()
11184//    if err == nil { // resp is now filled
11185//        fmt.Println(resp)
11186//    }
11187//
11188// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
11189func (c *EC2) DeleteVpnConnectionRequest(input *DeleteVpnConnectionInput) (req *request.Request, output *DeleteVpnConnectionOutput) {
11190	op := &request.Operation{
11191		Name:       opDeleteVpnConnection,
11192		HTTPMethod: "POST",
11193		HTTPPath:   "/",
11194	}
11195
11196	if input == nil {
11197		input = &DeleteVpnConnectionInput{}
11198	}
11199
11200	output = &DeleteVpnConnectionOutput{}
11201	req = c.newRequest(op, input, output)
11202	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11203	return
11204}
11205
11206// DeleteVpnConnection API operation for Amazon Elastic Compute Cloud.
11207//
11208// Deletes the specified VPN connection.
11209//
11210// If you're deleting the VPC and its associated components, we recommend that
11211// you detach the virtual private gateway from the VPC and delete the VPC before
11212// deleting the VPN connection. If you believe that the tunnel credentials for
11213// your VPN connection have been compromised, you can delete the VPN connection
11214// and create a new one that has new keys, without needing to delete the VPC
11215// or virtual private gateway. If you create a new VPN connection, you must
11216// reconfigure the customer gateway using the new configuration information
11217// returned with the new VPN connection ID.
11218//
11219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11220// with awserr.Error's Code and Message methods to get detailed information about
11221// the error.
11222//
11223// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11224// API operation DeleteVpnConnection for usage and error information.
11225// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnection
11226func (c *EC2) DeleteVpnConnection(input *DeleteVpnConnectionInput) (*DeleteVpnConnectionOutput, error) {
11227	req, out := c.DeleteVpnConnectionRequest(input)
11228	return out, req.Send()
11229}
11230
11231// DeleteVpnConnectionWithContext is the same as DeleteVpnConnection with the addition of
11232// the ability to pass a context and additional request options.
11233//
11234// See DeleteVpnConnection for details on how to use this API operation.
11235//
11236// The context must be non-nil and will be used for request cancellation. If
11237// the context is nil a panic will occur. In the future the SDK may create
11238// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11239// for more information on using Contexts.
11240func (c *EC2) DeleteVpnConnectionWithContext(ctx aws.Context, input *DeleteVpnConnectionInput, opts ...request.Option) (*DeleteVpnConnectionOutput, error) {
11241	req, out := c.DeleteVpnConnectionRequest(input)
11242	req.SetContext(ctx)
11243	req.ApplyOptions(opts...)
11244	return out, req.Send()
11245}
11246
11247const opDeleteVpnConnectionRoute = "DeleteVpnConnectionRoute"
11248
11249// DeleteVpnConnectionRouteRequest generates a "aws/request.Request" representing the
11250// client's request for the DeleteVpnConnectionRoute operation. The "output" return
11251// value will be populated with the request's response once the request completes
11252// successfully.
11253//
11254// Use "Send" method on the returned Request to send the API call to the service.
11255// the "output" return value is not valid until after Send returns without error.
11256//
11257// See DeleteVpnConnectionRoute for more information on using the DeleteVpnConnectionRoute
11258// API call, and error handling.
11259//
11260// This method is useful when you want to inject custom logic or configuration
11261// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11262//
11263//
11264//    // Example sending a request using the DeleteVpnConnectionRouteRequest method.
11265//    req, resp := client.DeleteVpnConnectionRouteRequest(params)
11266//
11267//    err := req.Send()
11268//    if err == nil { // resp is now filled
11269//        fmt.Println(resp)
11270//    }
11271//
11272// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
11273func (c *EC2) DeleteVpnConnectionRouteRequest(input *DeleteVpnConnectionRouteInput) (req *request.Request, output *DeleteVpnConnectionRouteOutput) {
11274	op := &request.Operation{
11275		Name:       opDeleteVpnConnectionRoute,
11276		HTTPMethod: "POST",
11277		HTTPPath:   "/",
11278	}
11279
11280	if input == nil {
11281		input = &DeleteVpnConnectionRouteInput{}
11282	}
11283
11284	output = &DeleteVpnConnectionRouteOutput{}
11285	req = c.newRequest(op, input, output)
11286	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11287	return
11288}
11289
11290// DeleteVpnConnectionRoute API operation for Amazon Elastic Compute Cloud.
11291//
11292// Deletes the specified static route associated with a VPN connection between
11293// an existing virtual private gateway and a VPN customer gateway. The static
11294// route allows traffic to be routed from the virtual private gateway to the
11295// VPN customer gateway.
11296//
11297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11298// with awserr.Error's Code and Message methods to get detailed information about
11299// the error.
11300//
11301// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11302// API operation DeleteVpnConnectionRoute for usage and error information.
11303// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnConnectionRoute
11304func (c *EC2) DeleteVpnConnectionRoute(input *DeleteVpnConnectionRouteInput) (*DeleteVpnConnectionRouteOutput, error) {
11305	req, out := c.DeleteVpnConnectionRouteRequest(input)
11306	return out, req.Send()
11307}
11308
11309// DeleteVpnConnectionRouteWithContext is the same as DeleteVpnConnectionRoute with the addition of
11310// the ability to pass a context and additional request options.
11311//
11312// See DeleteVpnConnectionRoute for details on how to use this API operation.
11313//
11314// The context must be non-nil and will be used for request cancellation. If
11315// the context is nil a panic will occur. In the future the SDK may create
11316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11317// for more information on using Contexts.
11318func (c *EC2) DeleteVpnConnectionRouteWithContext(ctx aws.Context, input *DeleteVpnConnectionRouteInput, opts ...request.Option) (*DeleteVpnConnectionRouteOutput, error) {
11319	req, out := c.DeleteVpnConnectionRouteRequest(input)
11320	req.SetContext(ctx)
11321	req.ApplyOptions(opts...)
11322	return out, req.Send()
11323}
11324
11325const opDeleteVpnGateway = "DeleteVpnGateway"
11326
11327// DeleteVpnGatewayRequest generates a "aws/request.Request" representing the
11328// client's request for the DeleteVpnGateway operation. The "output" return
11329// value will be populated with the request's response once the request completes
11330// successfully.
11331//
11332// Use "Send" method on the returned Request to send the API call to the service.
11333// the "output" return value is not valid until after Send returns without error.
11334//
11335// See DeleteVpnGateway for more information on using the DeleteVpnGateway
11336// API call, and error handling.
11337//
11338// This method is useful when you want to inject custom logic or configuration
11339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11340//
11341//
11342//    // Example sending a request using the DeleteVpnGatewayRequest method.
11343//    req, resp := client.DeleteVpnGatewayRequest(params)
11344//
11345//    err := req.Send()
11346//    if err == nil { // resp is now filled
11347//        fmt.Println(resp)
11348//    }
11349//
11350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
11351func (c *EC2) DeleteVpnGatewayRequest(input *DeleteVpnGatewayInput) (req *request.Request, output *DeleteVpnGatewayOutput) {
11352	op := &request.Operation{
11353		Name:       opDeleteVpnGateway,
11354		HTTPMethod: "POST",
11355		HTTPPath:   "/",
11356	}
11357
11358	if input == nil {
11359		input = &DeleteVpnGatewayInput{}
11360	}
11361
11362	output = &DeleteVpnGatewayOutput{}
11363	req = c.newRequest(op, input, output)
11364	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11365	return
11366}
11367
11368// DeleteVpnGateway API operation for Amazon Elastic Compute Cloud.
11369//
11370// Deletes the specified virtual private gateway. We recommend that before you
11371// delete a virtual private gateway, you detach it from the VPC and delete the
11372// VPN connection. Note that you don't need to delete the virtual private gateway
11373// if you plan to delete and recreate the VPN connection between your VPC and
11374// your network.
11375//
11376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11377// with awserr.Error's Code and Message methods to get detailed information about
11378// the error.
11379//
11380// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11381// API operation DeleteVpnGateway for usage and error information.
11382// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteVpnGateway
11383func (c *EC2) DeleteVpnGateway(input *DeleteVpnGatewayInput) (*DeleteVpnGatewayOutput, error) {
11384	req, out := c.DeleteVpnGatewayRequest(input)
11385	return out, req.Send()
11386}
11387
11388// DeleteVpnGatewayWithContext is the same as DeleteVpnGateway with the addition of
11389// the ability to pass a context and additional request options.
11390//
11391// See DeleteVpnGateway for details on how to use this API operation.
11392//
11393// The context must be non-nil and will be used for request cancellation. If
11394// the context is nil a panic will occur. In the future the SDK may create
11395// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11396// for more information on using Contexts.
11397func (c *EC2) DeleteVpnGatewayWithContext(ctx aws.Context, input *DeleteVpnGatewayInput, opts ...request.Option) (*DeleteVpnGatewayOutput, error) {
11398	req, out := c.DeleteVpnGatewayRequest(input)
11399	req.SetContext(ctx)
11400	req.ApplyOptions(opts...)
11401	return out, req.Send()
11402}
11403
11404const opDeprovisionByoipCidr = "DeprovisionByoipCidr"
11405
11406// DeprovisionByoipCidrRequest generates a "aws/request.Request" representing the
11407// client's request for the DeprovisionByoipCidr operation. The "output" return
11408// value will be populated with the request's response once the request completes
11409// successfully.
11410//
11411// Use "Send" method on the returned Request to send the API call to the service.
11412// the "output" return value is not valid until after Send returns without error.
11413//
11414// See DeprovisionByoipCidr for more information on using the DeprovisionByoipCidr
11415// API call, and error handling.
11416//
11417// This method is useful when you want to inject custom logic or configuration
11418// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11419//
11420//
11421//    // Example sending a request using the DeprovisionByoipCidrRequest method.
11422//    req, resp := client.DeprovisionByoipCidrRequest(params)
11423//
11424//    err := req.Send()
11425//    if err == nil { // resp is now filled
11426//        fmt.Println(resp)
11427//    }
11428//
11429// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
11430func (c *EC2) DeprovisionByoipCidrRequest(input *DeprovisionByoipCidrInput) (req *request.Request, output *DeprovisionByoipCidrOutput) {
11431	op := &request.Operation{
11432		Name:       opDeprovisionByoipCidr,
11433		HTTPMethod: "POST",
11434		HTTPPath:   "/",
11435	}
11436
11437	if input == nil {
11438		input = &DeprovisionByoipCidrInput{}
11439	}
11440
11441	output = &DeprovisionByoipCidrOutput{}
11442	req = c.newRequest(op, input, output)
11443	return
11444}
11445
11446// DeprovisionByoipCidr API operation for Amazon Elastic Compute Cloud.
11447//
11448// Releases the specified address range that you provisioned for use with your
11449// AWS resources through bring your own IP addresses (BYOIP) and deletes the
11450// corresponding address pool.
11451//
11452// Before you can release an address range, you must stop advertising it using
11453// WithdrawByoipCidr and you must not have any IP addresses allocated from its
11454// address range.
11455//
11456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11457// with awserr.Error's Code and Message methods to get detailed information about
11458// the error.
11459//
11460// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11461// API operation DeprovisionByoipCidr for usage and error information.
11462// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeprovisionByoipCidr
11463func (c *EC2) DeprovisionByoipCidr(input *DeprovisionByoipCidrInput) (*DeprovisionByoipCidrOutput, error) {
11464	req, out := c.DeprovisionByoipCidrRequest(input)
11465	return out, req.Send()
11466}
11467
11468// DeprovisionByoipCidrWithContext is the same as DeprovisionByoipCidr with the addition of
11469// the ability to pass a context and additional request options.
11470//
11471// See DeprovisionByoipCidr for details on how to use this API operation.
11472//
11473// The context must be non-nil and will be used for request cancellation. If
11474// the context is nil a panic will occur. In the future the SDK may create
11475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11476// for more information on using Contexts.
11477func (c *EC2) DeprovisionByoipCidrWithContext(ctx aws.Context, input *DeprovisionByoipCidrInput, opts ...request.Option) (*DeprovisionByoipCidrOutput, error) {
11478	req, out := c.DeprovisionByoipCidrRequest(input)
11479	req.SetContext(ctx)
11480	req.ApplyOptions(opts...)
11481	return out, req.Send()
11482}
11483
11484const opDeregisterImage = "DeregisterImage"
11485
11486// DeregisterImageRequest generates a "aws/request.Request" representing the
11487// client's request for the DeregisterImage operation. The "output" return
11488// value will be populated with the request's response once the request completes
11489// successfully.
11490//
11491// Use "Send" method on the returned Request to send the API call to the service.
11492// the "output" return value is not valid until after Send returns without error.
11493//
11494// See DeregisterImage for more information on using the DeregisterImage
11495// API call, and error handling.
11496//
11497// This method is useful when you want to inject custom logic or configuration
11498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11499//
11500//
11501//    // Example sending a request using the DeregisterImageRequest method.
11502//    req, resp := client.DeregisterImageRequest(params)
11503//
11504//    err := req.Send()
11505//    if err == nil { // resp is now filled
11506//        fmt.Println(resp)
11507//    }
11508//
11509// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
11510func (c *EC2) DeregisterImageRequest(input *DeregisterImageInput) (req *request.Request, output *DeregisterImageOutput) {
11511	op := &request.Operation{
11512		Name:       opDeregisterImage,
11513		HTTPMethod: "POST",
11514		HTTPPath:   "/",
11515	}
11516
11517	if input == nil {
11518		input = &DeregisterImageInput{}
11519	}
11520
11521	output = &DeregisterImageOutput{}
11522	req = c.newRequest(op, input, output)
11523	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11524	return
11525}
11526
11527// DeregisterImage API operation for Amazon Elastic Compute Cloud.
11528//
11529// Deregisters the specified AMI. After you deregister an AMI, it can't be used
11530// to launch new instances; however, it doesn't affect any instances that you've
11531// already launched from the AMI. You'll continue to incur usage costs for those
11532// instances until you terminate them.
11533//
11534// When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot
11535// that was created for the root volume of the instance during the AMI creation
11536// process. When you deregister an instance store-backed AMI, it doesn't affect
11537// the files that you uploaded to Amazon S3 when you created the AMI.
11538//
11539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11540// with awserr.Error's Code and Message methods to get detailed information about
11541// the error.
11542//
11543// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11544// API operation DeregisterImage for usage and error information.
11545// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterImage
11546func (c *EC2) DeregisterImage(input *DeregisterImageInput) (*DeregisterImageOutput, error) {
11547	req, out := c.DeregisterImageRequest(input)
11548	return out, req.Send()
11549}
11550
11551// DeregisterImageWithContext is the same as DeregisterImage with the addition of
11552// the ability to pass a context and additional request options.
11553//
11554// See DeregisterImage for details on how to use this API operation.
11555//
11556// The context must be non-nil and will be used for request cancellation. If
11557// the context is nil a panic will occur. In the future the SDK may create
11558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11559// for more information on using Contexts.
11560func (c *EC2) DeregisterImageWithContext(ctx aws.Context, input *DeregisterImageInput, opts ...request.Option) (*DeregisterImageOutput, error) {
11561	req, out := c.DeregisterImageRequest(input)
11562	req.SetContext(ctx)
11563	req.ApplyOptions(opts...)
11564	return out, req.Send()
11565}
11566
11567const opDeregisterTransitGatewayMulticastGroupMembers = "DeregisterTransitGatewayMulticastGroupMembers"
11568
11569// DeregisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
11570// client's request for the DeregisterTransitGatewayMulticastGroupMembers operation. The "output" return
11571// value will be populated with the request's response once the request completes
11572// successfully.
11573//
11574// Use "Send" method on the returned Request to send the API call to the service.
11575// the "output" return value is not valid until after Send returns without error.
11576//
11577// See DeregisterTransitGatewayMulticastGroupMembers for more information on using the DeregisterTransitGatewayMulticastGroupMembers
11578// API call, and error handling.
11579//
11580// This method is useful when you want to inject custom logic or configuration
11581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11582//
11583//
11584//    // Example sending a request using the DeregisterTransitGatewayMulticastGroupMembersRequest method.
11585//    req, resp := client.DeregisterTransitGatewayMulticastGroupMembersRequest(params)
11586//
11587//    err := req.Send()
11588//    if err == nil { // resp is now filled
11589//        fmt.Println(resp)
11590//    }
11591//
11592// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
11593func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersRequest(input *DeregisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupMembersOutput) {
11594	op := &request.Operation{
11595		Name:       opDeregisterTransitGatewayMulticastGroupMembers,
11596		HTTPMethod: "POST",
11597		HTTPPath:   "/",
11598	}
11599
11600	if input == nil {
11601		input = &DeregisterTransitGatewayMulticastGroupMembersInput{}
11602	}
11603
11604	output = &DeregisterTransitGatewayMulticastGroupMembersOutput{}
11605	req = c.newRequest(op, input, output)
11606	return
11607}
11608
11609// DeregisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
11610//
11611// Deregisters the specified members (network interfaces) from the transit gateway
11612// multicast group.
11613//
11614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11615// with awserr.Error's Code and Message methods to get detailed information about
11616// the error.
11617//
11618// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11619// API operation DeregisterTransitGatewayMulticastGroupMembers for usage and error information.
11620// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupMembers
11621func (c *EC2) DeregisterTransitGatewayMulticastGroupMembers(input *DeregisterTransitGatewayMulticastGroupMembersInput) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
11622	req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
11623	return out, req.Send()
11624}
11625
11626// DeregisterTransitGatewayMulticastGroupMembersWithContext is the same as DeregisterTransitGatewayMulticastGroupMembers with the addition of
11627// the ability to pass a context and additional request options.
11628//
11629// See DeregisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
11630//
11631// The context must be non-nil and will be used for request cancellation. If
11632// the context is nil a panic will occur. In the future the SDK may create
11633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11634// for more information on using Contexts.
11635func (c *EC2) DeregisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupMembersOutput, error) {
11636	req, out := c.DeregisterTransitGatewayMulticastGroupMembersRequest(input)
11637	req.SetContext(ctx)
11638	req.ApplyOptions(opts...)
11639	return out, req.Send()
11640}
11641
11642const opDeregisterTransitGatewayMulticastGroupSources = "DeregisterTransitGatewayMulticastGroupSources"
11643
11644// DeregisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
11645// client's request for the DeregisterTransitGatewayMulticastGroupSources operation. The "output" return
11646// value will be populated with the request's response once the request completes
11647// successfully.
11648//
11649// Use "Send" method on the returned Request to send the API call to the service.
11650// the "output" return value is not valid until after Send returns without error.
11651//
11652// See DeregisterTransitGatewayMulticastGroupSources for more information on using the DeregisterTransitGatewayMulticastGroupSources
11653// API call, and error handling.
11654//
11655// This method is useful when you want to inject custom logic or configuration
11656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11657//
11658//
11659//    // Example sending a request using the DeregisterTransitGatewayMulticastGroupSourcesRequest method.
11660//    req, resp := client.DeregisterTransitGatewayMulticastGroupSourcesRequest(params)
11661//
11662//    err := req.Send()
11663//    if err == nil { // resp is now filled
11664//        fmt.Println(resp)
11665//    }
11666//
11667// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
11668func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesRequest(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *DeregisterTransitGatewayMulticastGroupSourcesOutput) {
11669	op := &request.Operation{
11670		Name:       opDeregisterTransitGatewayMulticastGroupSources,
11671		HTTPMethod: "POST",
11672		HTTPPath:   "/",
11673	}
11674
11675	if input == nil {
11676		input = &DeregisterTransitGatewayMulticastGroupSourcesInput{}
11677	}
11678
11679	output = &DeregisterTransitGatewayMulticastGroupSourcesOutput{}
11680	req = c.newRequest(op, input, output)
11681	return
11682}
11683
11684// DeregisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
11685//
11686// Deregisters the specified sources (network interfaces) from the transit gateway
11687// multicast group.
11688//
11689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11690// with awserr.Error's Code and Message methods to get detailed information about
11691// the error.
11692//
11693// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11694// API operation DeregisterTransitGatewayMulticastGroupSources for usage and error information.
11695// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeregisterTransitGatewayMulticastGroupSources
11696func (c *EC2) DeregisterTransitGatewayMulticastGroupSources(input *DeregisterTransitGatewayMulticastGroupSourcesInput) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
11697	req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
11698	return out, req.Send()
11699}
11700
11701// DeregisterTransitGatewayMulticastGroupSourcesWithContext is the same as DeregisterTransitGatewayMulticastGroupSources with the addition of
11702// the ability to pass a context and additional request options.
11703//
11704// See DeregisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
11705//
11706// The context must be non-nil and will be used for request cancellation. If
11707// the context is nil a panic will occur. In the future the SDK may create
11708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11709// for more information on using Contexts.
11710func (c *EC2) DeregisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *DeregisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*DeregisterTransitGatewayMulticastGroupSourcesOutput, error) {
11711	req, out := c.DeregisterTransitGatewayMulticastGroupSourcesRequest(input)
11712	req.SetContext(ctx)
11713	req.ApplyOptions(opts...)
11714	return out, req.Send()
11715}
11716
11717const opDescribeAccountAttributes = "DescribeAccountAttributes"
11718
11719// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
11720// client's request for the DescribeAccountAttributes operation. The "output" return
11721// value will be populated with the request's response once the request completes
11722// successfully.
11723//
11724// Use "Send" method on the returned Request to send the API call to the service.
11725// the "output" return value is not valid until after Send returns without error.
11726//
11727// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
11728// API call, and error handling.
11729//
11730// This method is useful when you want to inject custom logic or configuration
11731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11732//
11733//
11734//    // Example sending a request using the DescribeAccountAttributesRequest method.
11735//    req, resp := client.DescribeAccountAttributesRequest(params)
11736//
11737//    err := req.Send()
11738//    if err == nil { // resp is now filled
11739//        fmt.Println(resp)
11740//    }
11741//
11742// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
11743func (c *EC2) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
11744	op := &request.Operation{
11745		Name:       opDescribeAccountAttributes,
11746		HTTPMethod: "POST",
11747		HTTPPath:   "/",
11748	}
11749
11750	if input == nil {
11751		input = &DescribeAccountAttributesInput{}
11752	}
11753
11754	output = &DescribeAccountAttributesOutput{}
11755	req = c.newRequest(op, input, output)
11756	return
11757}
11758
11759// DescribeAccountAttributes API operation for Amazon Elastic Compute Cloud.
11760//
11761// Describes attributes of your AWS account. The following are the supported
11762// account attributes:
11763//
11764//    * supported-platforms: Indicates whether your account can launch instances
11765//    into EC2-Classic and EC2-VPC, or only into EC2-VPC.
11766//
11767//    * default-vpc: The ID of the default VPC for your account, or none.
11768//
11769//    * max-instances: This attribute is no longer supported. The returned value
11770//    does not reflect your actual vCPU limit for running On-Demand Instances.
11771//    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)
11772//    in the Amazon Elastic Compute Cloud User Guide.
11773//
11774//    * vpc-max-security-groups-per-interface: The maximum number of security
11775//    groups that you can assign to a network interface.
11776//
11777//    * max-elastic-ips: The maximum number of Elastic IP addresses that you
11778//    can allocate for use with EC2-Classic.
11779//
11780//    * vpc-max-elastic-ips: The maximum number of Elastic IP addresses that
11781//    you can allocate for use with EC2-VPC.
11782//
11783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11784// with awserr.Error's Code and Message methods to get detailed information about
11785// the error.
11786//
11787// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11788// API operation DescribeAccountAttributes for usage and error information.
11789// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAccountAttributes
11790func (c *EC2) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
11791	req, out := c.DescribeAccountAttributesRequest(input)
11792	return out, req.Send()
11793}
11794
11795// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
11796// the ability to pass a context and additional request options.
11797//
11798// See DescribeAccountAttributes for details on how to use this API operation.
11799//
11800// The context must be non-nil and will be used for request cancellation. If
11801// the context is nil a panic will occur. In the future the SDK may create
11802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11803// for more information on using Contexts.
11804func (c *EC2) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
11805	req, out := c.DescribeAccountAttributesRequest(input)
11806	req.SetContext(ctx)
11807	req.ApplyOptions(opts...)
11808	return out, req.Send()
11809}
11810
11811const opDescribeAddresses = "DescribeAddresses"
11812
11813// DescribeAddressesRequest generates a "aws/request.Request" representing the
11814// client's request for the DescribeAddresses operation. The "output" return
11815// value will be populated with the request's response once the request completes
11816// successfully.
11817//
11818// Use "Send" method on the returned Request to send the API call to the service.
11819// the "output" return value is not valid until after Send returns without error.
11820//
11821// See DescribeAddresses for more information on using the DescribeAddresses
11822// API call, and error handling.
11823//
11824// This method is useful when you want to inject custom logic or configuration
11825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11826//
11827//
11828//    // Example sending a request using the DescribeAddressesRequest method.
11829//    req, resp := client.DescribeAddressesRequest(params)
11830//
11831//    err := req.Send()
11832//    if err == nil { // resp is now filled
11833//        fmt.Println(resp)
11834//    }
11835//
11836// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
11837func (c *EC2) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
11838	op := &request.Operation{
11839		Name:       opDescribeAddresses,
11840		HTTPMethod: "POST",
11841		HTTPPath:   "/",
11842	}
11843
11844	if input == nil {
11845		input = &DescribeAddressesInput{}
11846	}
11847
11848	output = &DescribeAddressesOutput{}
11849	req = c.newRequest(op, input, output)
11850	return
11851}
11852
11853// DescribeAddresses API operation for Amazon Elastic Compute Cloud.
11854//
11855// Describes the specified Elastic IP addresses or all of your Elastic IP addresses.
11856//
11857// An Elastic IP address is for use in either the EC2-Classic platform or in
11858// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
11859// in the Amazon Elastic Compute Cloud User Guide.
11860//
11861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11862// with awserr.Error's Code and Message methods to get detailed information about
11863// the error.
11864//
11865// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11866// API operation DescribeAddresses for usage and error information.
11867// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAddresses
11868func (c *EC2) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
11869	req, out := c.DescribeAddressesRequest(input)
11870	return out, req.Send()
11871}
11872
11873// DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
11874// the ability to pass a context and additional request options.
11875//
11876// See DescribeAddresses for details on how to use this API operation.
11877//
11878// The context must be non-nil and will be used for request cancellation. If
11879// the context is nil a panic will occur. In the future the SDK may create
11880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11881// for more information on using Contexts.
11882func (c *EC2) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
11883	req, out := c.DescribeAddressesRequest(input)
11884	req.SetContext(ctx)
11885	req.ApplyOptions(opts...)
11886	return out, req.Send()
11887}
11888
11889const opDescribeAggregateIdFormat = "DescribeAggregateIdFormat"
11890
11891// DescribeAggregateIdFormatRequest generates a "aws/request.Request" representing the
11892// client's request for the DescribeAggregateIdFormat operation. The "output" return
11893// value will be populated with the request's response once the request completes
11894// successfully.
11895//
11896// Use "Send" method on the returned Request to send the API call to the service.
11897// the "output" return value is not valid until after Send returns without error.
11898//
11899// See DescribeAggregateIdFormat for more information on using the DescribeAggregateIdFormat
11900// API call, and error handling.
11901//
11902// This method is useful when you want to inject custom logic or configuration
11903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11904//
11905//
11906//    // Example sending a request using the DescribeAggregateIdFormatRequest method.
11907//    req, resp := client.DescribeAggregateIdFormatRequest(params)
11908//
11909//    err := req.Send()
11910//    if err == nil { // resp is now filled
11911//        fmt.Println(resp)
11912//    }
11913//
11914// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
11915func (c *EC2) DescribeAggregateIdFormatRequest(input *DescribeAggregateIdFormatInput) (req *request.Request, output *DescribeAggregateIdFormatOutput) {
11916	op := &request.Operation{
11917		Name:       opDescribeAggregateIdFormat,
11918		HTTPMethod: "POST",
11919		HTTPPath:   "/",
11920	}
11921
11922	if input == nil {
11923		input = &DescribeAggregateIdFormatInput{}
11924	}
11925
11926	output = &DescribeAggregateIdFormatOutput{}
11927	req = c.newRequest(op, input, output)
11928	return
11929}
11930
11931// DescribeAggregateIdFormat API operation for Amazon Elastic Compute Cloud.
11932//
11933// Describes the longer ID format settings for all resource types in a specific
11934// Region. This request is useful for performing a quick audit to determine
11935// whether a specific Region is fully opted in for longer IDs (17-character
11936// IDs).
11937//
11938// This request only returns information about resource types that support longer
11939// IDs.
11940//
11941// The following resource types support longer IDs: bundle | conversion-task
11942// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
11943// | export-task | flow-log | image | import-task | instance | internet-gateway
11944// | network-acl | network-acl-association | network-interface | network-interface-attachment
11945// | prefix-list | reservation | route-table | route-table-association | security-group
11946// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
11947// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
11948//
11949// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11950// with awserr.Error's Code and Message methods to get detailed information about
11951// the error.
11952//
11953// See the AWS API reference guide for Amazon Elastic Compute Cloud's
11954// API operation DescribeAggregateIdFormat for usage and error information.
11955// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAggregateIdFormat
11956func (c *EC2) DescribeAggregateIdFormat(input *DescribeAggregateIdFormatInput) (*DescribeAggregateIdFormatOutput, error) {
11957	req, out := c.DescribeAggregateIdFormatRequest(input)
11958	return out, req.Send()
11959}
11960
11961// DescribeAggregateIdFormatWithContext is the same as DescribeAggregateIdFormat with the addition of
11962// the ability to pass a context and additional request options.
11963//
11964// See DescribeAggregateIdFormat for details on how to use this API operation.
11965//
11966// The context must be non-nil and will be used for request cancellation. If
11967// the context is nil a panic will occur. In the future the SDK may create
11968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11969// for more information on using Contexts.
11970func (c *EC2) DescribeAggregateIdFormatWithContext(ctx aws.Context, input *DescribeAggregateIdFormatInput, opts ...request.Option) (*DescribeAggregateIdFormatOutput, error) {
11971	req, out := c.DescribeAggregateIdFormatRequest(input)
11972	req.SetContext(ctx)
11973	req.ApplyOptions(opts...)
11974	return out, req.Send()
11975}
11976
11977const opDescribeAvailabilityZones = "DescribeAvailabilityZones"
11978
11979// DescribeAvailabilityZonesRequest generates a "aws/request.Request" representing the
11980// client's request for the DescribeAvailabilityZones operation. The "output" return
11981// value will be populated with the request's response once the request completes
11982// successfully.
11983//
11984// Use "Send" method on the returned Request to send the API call to the service.
11985// the "output" return value is not valid until after Send returns without error.
11986//
11987// See DescribeAvailabilityZones for more information on using the DescribeAvailabilityZones
11988// API call, and error handling.
11989//
11990// This method is useful when you want to inject custom logic or configuration
11991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11992//
11993//
11994//    // Example sending a request using the DescribeAvailabilityZonesRequest method.
11995//    req, resp := client.DescribeAvailabilityZonesRequest(params)
11996//
11997//    err := req.Send()
11998//    if err == nil { // resp is now filled
11999//        fmt.Println(resp)
12000//    }
12001//
12002// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
12003func (c *EC2) DescribeAvailabilityZonesRequest(input *DescribeAvailabilityZonesInput) (req *request.Request, output *DescribeAvailabilityZonesOutput) {
12004	op := &request.Operation{
12005		Name:       opDescribeAvailabilityZones,
12006		HTTPMethod: "POST",
12007		HTTPPath:   "/",
12008	}
12009
12010	if input == nil {
12011		input = &DescribeAvailabilityZonesInput{}
12012	}
12013
12014	output = &DescribeAvailabilityZonesOutput{}
12015	req = c.newRequest(op, input, output)
12016	return
12017}
12018
12019// DescribeAvailabilityZones API operation for Amazon Elastic Compute Cloud.
12020//
12021// Describes the Availability Zones and Local Zones that are available to you.
12022// If there is an event impacting an Availability Zone or Local Zone, you can
12023// use this request to view the state and any provided messages for that Availability
12024// Zone or Local Zone.
12025//
12026// For more information about Availability Zones and Local Zones, see Regions
12027// and Availability Zones (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)
12028// in the Amazon Elastic Compute Cloud User Guide.
12029//
12030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12031// with awserr.Error's Code and Message methods to get detailed information about
12032// the error.
12033//
12034// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12035// API operation DescribeAvailabilityZones for usage and error information.
12036// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeAvailabilityZones
12037func (c *EC2) DescribeAvailabilityZones(input *DescribeAvailabilityZonesInput) (*DescribeAvailabilityZonesOutput, error) {
12038	req, out := c.DescribeAvailabilityZonesRequest(input)
12039	return out, req.Send()
12040}
12041
12042// DescribeAvailabilityZonesWithContext is the same as DescribeAvailabilityZones with the addition of
12043// the ability to pass a context and additional request options.
12044//
12045// See DescribeAvailabilityZones for details on how to use this API operation.
12046//
12047// The context must be non-nil and will be used for request cancellation. If
12048// the context is nil a panic will occur. In the future the SDK may create
12049// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12050// for more information on using Contexts.
12051func (c *EC2) DescribeAvailabilityZonesWithContext(ctx aws.Context, input *DescribeAvailabilityZonesInput, opts ...request.Option) (*DescribeAvailabilityZonesOutput, error) {
12052	req, out := c.DescribeAvailabilityZonesRequest(input)
12053	req.SetContext(ctx)
12054	req.ApplyOptions(opts...)
12055	return out, req.Send()
12056}
12057
12058const opDescribeBundleTasks = "DescribeBundleTasks"
12059
12060// DescribeBundleTasksRequest generates a "aws/request.Request" representing the
12061// client's request for the DescribeBundleTasks operation. The "output" return
12062// value will be populated with the request's response once the request completes
12063// successfully.
12064//
12065// Use "Send" method on the returned Request to send the API call to the service.
12066// the "output" return value is not valid until after Send returns without error.
12067//
12068// See DescribeBundleTasks for more information on using the DescribeBundleTasks
12069// API call, and error handling.
12070//
12071// This method is useful when you want to inject custom logic or configuration
12072// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12073//
12074//
12075//    // Example sending a request using the DescribeBundleTasksRequest method.
12076//    req, resp := client.DescribeBundleTasksRequest(params)
12077//
12078//    err := req.Send()
12079//    if err == nil { // resp is now filled
12080//        fmt.Println(resp)
12081//    }
12082//
12083// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
12084func (c *EC2) DescribeBundleTasksRequest(input *DescribeBundleTasksInput) (req *request.Request, output *DescribeBundleTasksOutput) {
12085	op := &request.Operation{
12086		Name:       opDescribeBundleTasks,
12087		HTTPMethod: "POST",
12088		HTTPPath:   "/",
12089	}
12090
12091	if input == nil {
12092		input = &DescribeBundleTasksInput{}
12093	}
12094
12095	output = &DescribeBundleTasksOutput{}
12096	req = c.newRequest(op, input, output)
12097	return
12098}
12099
12100// DescribeBundleTasks API operation for Amazon Elastic Compute Cloud.
12101//
12102// Describes the specified bundle tasks or all of your bundle tasks.
12103//
12104// Completed bundle tasks are listed for only a limited time. If your bundle
12105// task is no longer in the list, you can still register an AMI from it. Just
12106// use RegisterImage with the Amazon S3 bucket name and image manifest name
12107// you provided to the bundle task.
12108//
12109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12110// with awserr.Error's Code and Message methods to get detailed information about
12111// the error.
12112//
12113// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12114// API operation DescribeBundleTasks for usage and error information.
12115// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeBundleTasks
12116func (c *EC2) DescribeBundleTasks(input *DescribeBundleTasksInput) (*DescribeBundleTasksOutput, error) {
12117	req, out := c.DescribeBundleTasksRequest(input)
12118	return out, req.Send()
12119}
12120
12121// DescribeBundleTasksWithContext is the same as DescribeBundleTasks with the addition of
12122// the ability to pass a context and additional request options.
12123//
12124// See DescribeBundleTasks for details on how to use this API operation.
12125//
12126// The context must be non-nil and will be used for request cancellation. If
12127// the context is nil a panic will occur. In the future the SDK may create
12128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12129// for more information on using Contexts.
12130func (c *EC2) DescribeBundleTasksWithContext(ctx aws.Context, input *DescribeBundleTasksInput, opts ...request.Option) (*DescribeBundleTasksOutput, error) {
12131	req, out := c.DescribeBundleTasksRequest(input)
12132	req.SetContext(ctx)
12133	req.ApplyOptions(opts...)
12134	return out, req.Send()
12135}
12136
12137const opDescribeByoipCidrs = "DescribeByoipCidrs"
12138
12139// DescribeByoipCidrsRequest generates a "aws/request.Request" representing the
12140// client's request for the DescribeByoipCidrs operation. The "output" return
12141// value will be populated with the request's response once the request completes
12142// successfully.
12143//
12144// Use "Send" method on the returned Request to send the API call to the service.
12145// the "output" return value is not valid until after Send returns without error.
12146//
12147// See DescribeByoipCidrs for more information on using the DescribeByoipCidrs
12148// API call, and error handling.
12149//
12150// This method is useful when you want to inject custom logic or configuration
12151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12152//
12153//
12154//    // Example sending a request using the DescribeByoipCidrsRequest method.
12155//    req, resp := client.DescribeByoipCidrsRequest(params)
12156//
12157//    err := req.Send()
12158//    if err == nil { // resp is now filled
12159//        fmt.Println(resp)
12160//    }
12161//
12162// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
12163func (c *EC2) DescribeByoipCidrsRequest(input *DescribeByoipCidrsInput) (req *request.Request, output *DescribeByoipCidrsOutput) {
12164	op := &request.Operation{
12165		Name:       opDescribeByoipCidrs,
12166		HTTPMethod: "POST",
12167		HTTPPath:   "/",
12168		Paginator: &request.Paginator{
12169			InputTokens:     []string{"NextToken"},
12170			OutputTokens:    []string{"NextToken"},
12171			LimitToken:      "MaxResults",
12172			TruncationToken: "",
12173		},
12174	}
12175
12176	if input == nil {
12177		input = &DescribeByoipCidrsInput{}
12178	}
12179
12180	output = &DescribeByoipCidrsOutput{}
12181	req = c.newRequest(op, input, output)
12182	return
12183}
12184
12185// DescribeByoipCidrs API operation for Amazon Elastic Compute Cloud.
12186//
12187// Describes the IP address ranges that were specified in calls to ProvisionByoipCidr.
12188//
12189// To describe the address pools that were created when you provisioned the
12190// address ranges, use DescribePublicIpv4Pools.
12191//
12192// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12193// with awserr.Error's Code and Message methods to get detailed information about
12194// the error.
12195//
12196// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12197// API operation DescribeByoipCidrs for usage and error information.
12198// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeByoipCidrs
12199func (c *EC2) DescribeByoipCidrs(input *DescribeByoipCidrsInput) (*DescribeByoipCidrsOutput, error) {
12200	req, out := c.DescribeByoipCidrsRequest(input)
12201	return out, req.Send()
12202}
12203
12204// DescribeByoipCidrsWithContext is the same as DescribeByoipCidrs with the addition of
12205// the ability to pass a context and additional request options.
12206//
12207// See DescribeByoipCidrs for details on how to use this API operation.
12208//
12209// The context must be non-nil and will be used for request cancellation. If
12210// the context is nil a panic will occur. In the future the SDK may create
12211// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12212// for more information on using Contexts.
12213func (c *EC2) DescribeByoipCidrsWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, opts ...request.Option) (*DescribeByoipCidrsOutput, error) {
12214	req, out := c.DescribeByoipCidrsRequest(input)
12215	req.SetContext(ctx)
12216	req.ApplyOptions(opts...)
12217	return out, req.Send()
12218}
12219
12220// DescribeByoipCidrsPages iterates over the pages of a DescribeByoipCidrs operation,
12221// calling the "fn" function with the response data for each page. To stop
12222// iterating, return false from the fn function.
12223//
12224// See DescribeByoipCidrs method for more information on how to use this operation.
12225//
12226// Note: This operation can generate multiple requests to a service.
12227//
12228//    // Example iterating over at most 3 pages of a DescribeByoipCidrs operation.
12229//    pageNum := 0
12230//    err := client.DescribeByoipCidrsPages(params,
12231//        func(page *ec2.DescribeByoipCidrsOutput, lastPage bool) bool {
12232//            pageNum++
12233//            fmt.Println(page)
12234//            return pageNum <= 3
12235//        })
12236//
12237func (c *EC2) DescribeByoipCidrsPages(input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool) error {
12238	return c.DescribeByoipCidrsPagesWithContext(aws.BackgroundContext(), input, fn)
12239}
12240
12241// DescribeByoipCidrsPagesWithContext same as DescribeByoipCidrsPages except
12242// it takes a Context and allows setting request options on the pages.
12243//
12244// The context must be non-nil and will be used for request cancellation. If
12245// the context is nil a panic will occur. In the future the SDK may create
12246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12247// for more information on using Contexts.
12248func (c *EC2) DescribeByoipCidrsPagesWithContext(ctx aws.Context, input *DescribeByoipCidrsInput, fn func(*DescribeByoipCidrsOutput, bool) bool, opts ...request.Option) error {
12249	p := request.Pagination{
12250		NewRequest: func() (*request.Request, error) {
12251			var inCpy *DescribeByoipCidrsInput
12252			if input != nil {
12253				tmp := *input
12254				inCpy = &tmp
12255			}
12256			req, _ := c.DescribeByoipCidrsRequest(inCpy)
12257			req.SetContext(ctx)
12258			req.ApplyOptions(opts...)
12259			return req, nil
12260		},
12261	}
12262
12263	for p.Next() {
12264		if !fn(p.Page().(*DescribeByoipCidrsOutput), !p.HasNextPage()) {
12265			break
12266		}
12267	}
12268
12269	return p.Err()
12270}
12271
12272const opDescribeCapacityReservations = "DescribeCapacityReservations"
12273
12274// DescribeCapacityReservationsRequest generates a "aws/request.Request" representing the
12275// client's request for the DescribeCapacityReservations operation. The "output" return
12276// value will be populated with the request's response once the request completes
12277// successfully.
12278//
12279// Use "Send" method on the returned Request to send the API call to the service.
12280// the "output" return value is not valid until after Send returns without error.
12281//
12282// See DescribeCapacityReservations for more information on using the DescribeCapacityReservations
12283// API call, and error handling.
12284//
12285// This method is useful when you want to inject custom logic or configuration
12286// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12287//
12288//
12289//    // Example sending a request using the DescribeCapacityReservationsRequest method.
12290//    req, resp := client.DescribeCapacityReservationsRequest(params)
12291//
12292//    err := req.Send()
12293//    if err == nil { // resp is now filled
12294//        fmt.Println(resp)
12295//    }
12296//
12297// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
12298func (c *EC2) DescribeCapacityReservationsRequest(input *DescribeCapacityReservationsInput) (req *request.Request, output *DescribeCapacityReservationsOutput) {
12299	op := &request.Operation{
12300		Name:       opDescribeCapacityReservations,
12301		HTTPMethod: "POST",
12302		HTTPPath:   "/",
12303		Paginator: &request.Paginator{
12304			InputTokens:     []string{"NextToken"},
12305			OutputTokens:    []string{"NextToken"},
12306			LimitToken:      "MaxResults",
12307			TruncationToken: "",
12308		},
12309	}
12310
12311	if input == nil {
12312		input = &DescribeCapacityReservationsInput{}
12313	}
12314
12315	output = &DescribeCapacityReservationsOutput{}
12316	req = c.newRequest(op, input, output)
12317	return
12318}
12319
12320// DescribeCapacityReservations API operation for Amazon Elastic Compute Cloud.
12321//
12322// Describes one or more of your Capacity Reservations. The results describe
12323// only the Capacity Reservations in the AWS Region that you're currently using.
12324//
12325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12326// with awserr.Error's Code and Message methods to get detailed information about
12327// the error.
12328//
12329// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12330// API operation DescribeCapacityReservations for usage and error information.
12331// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCapacityReservations
12332func (c *EC2) DescribeCapacityReservations(input *DescribeCapacityReservationsInput) (*DescribeCapacityReservationsOutput, error) {
12333	req, out := c.DescribeCapacityReservationsRequest(input)
12334	return out, req.Send()
12335}
12336
12337// DescribeCapacityReservationsWithContext is the same as DescribeCapacityReservations with the addition of
12338// the ability to pass a context and additional request options.
12339//
12340// See DescribeCapacityReservations for details on how to use this API operation.
12341//
12342// The context must be non-nil and will be used for request cancellation. If
12343// the context is nil a panic will occur. In the future the SDK may create
12344// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12345// for more information on using Contexts.
12346func (c *EC2) DescribeCapacityReservationsWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, opts ...request.Option) (*DescribeCapacityReservationsOutput, error) {
12347	req, out := c.DescribeCapacityReservationsRequest(input)
12348	req.SetContext(ctx)
12349	req.ApplyOptions(opts...)
12350	return out, req.Send()
12351}
12352
12353// DescribeCapacityReservationsPages iterates over the pages of a DescribeCapacityReservations operation,
12354// calling the "fn" function with the response data for each page. To stop
12355// iterating, return false from the fn function.
12356//
12357// See DescribeCapacityReservations method for more information on how to use this operation.
12358//
12359// Note: This operation can generate multiple requests to a service.
12360//
12361//    // Example iterating over at most 3 pages of a DescribeCapacityReservations operation.
12362//    pageNum := 0
12363//    err := client.DescribeCapacityReservationsPages(params,
12364//        func(page *ec2.DescribeCapacityReservationsOutput, lastPage bool) bool {
12365//            pageNum++
12366//            fmt.Println(page)
12367//            return pageNum <= 3
12368//        })
12369//
12370func (c *EC2) DescribeCapacityReservationsPages(input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool) error {
12371	return c.DescribeCapacityReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
12372}
12373
12374// DescribeCapacityReservationsPagesWithContext same as DescribeCapacityReservationsPages except
12375// it takes a Context and allows setting request options on the pages.
12376//
12377// The context must be non-nil and will be used for request cancellation. If
12378// the context is nil a panic will occur. In the future the SDK may create
12379// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12380// for more information on using Contexts.
12381func (c *EC2) DescribeCapacityReservationsPagesWithContext(ctx aws.Context, input *DescribeCapacityReservationsInput, fn func(*DescribeCapacityReservationsOutput, bool) bool, opts ...request.Option) error {
12382	p := request.Pagination{
12383		NewRequest: func() (*request.Request, error) {
12384			var inCpy *DescribeCapacityReservationsInput
12385			if input != nil {
12386				tmp := *input
12387				inCpy = &tmp
12388			}
12389			req, _ := c.DescribeCapacityReservationsRequest(inCpy)
12390			req.SetContext(ctx)
12391			req.ApplyOptions(opts...)
12392			return req, nil
12393		},
12394	}
12395
12396	for p.Next() {
12397		if !fn(p.Page().(*DescribeCapacityReservationsOutput), !p.HasNextPage()) {
12398			break
12399		}
12400	}
12401
12402	return p.Err()
12403}
12404
12405const opDescribeClassicLinkInstances = "DescribeClassicLinkInstances"
12406
12407// DescribeClassicLinkInstancesRequest generates a "aws/request.Request" representing the
12408// client's request for the DescribeClassicLinkInstances operation. The "output" return
12409// value will be populated with the request's response once the request completes
12410// successfully.
12411//
12412// Use "Send" method on the returned Request to send the API call to the service.
12413// the "output" return value is not valid until after Send returns without error.
12414//
12415// See DescribeClassicLinkInstances for more information on using the DescribeClassicLinkInstances
12416// API call, and error handling.
12417//
12418// This method is useful when you want to inject custom logic or configuration
12419// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12420//
12421//
12422//    // Example sending a request using the DescribeClassicLinkInstancesRequest method.
12423//    req, resp := client.DescribeClassicLinkInstancesRequest(params)
12424//
12425//    err := req.Send()
12426//    if err == nil { // resp is now filled
12427//        fmt.Println(resp)
12428//    }
12429//
12430// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
12431func (c *EC2) DescribeClassicLinkInstancesRequest(input *DescribeClassicLinkInstancesInput) (req *request.Request, output *DescribeClassicLinkInstancesOutput) {
12432	op := &request.Operation{
12433		Name:       opDescribeClassicLinkInstances,
12434		HTTPMethod: "POST",
12435		HTTPPath:   "/",
12436		Paginator: &request.Paginator{
12437			InputTokens:     []string{"NextToken"},
12438			OutputTokens:    []string{"NextToken"},
12439			LimitToken:      "MaxResults",
12440			TruncationToken: "",
12441		},
12442	}
12443
12444	if input == nil {
12445		input = &DescribeClassicLinkInstancesInput{}
12446	}
12447
12448	output = &DescribeClassicLinkInstancesOutput{}
12449	req = c.newRequest(op, input, output)
12450	return
12451}
12452
12453// DescribeClassicLinkInstances API operation for Amazon Elastic Compute Cloud.
12454//
12455// Describes one or more of your linked EC2-Classic instances. This request
12456// only returns information about EC2-Classic instances linked to a VPC through
12457// ClassicLink. You cannot use this request to return information about other
12458// instances.
12459//
12460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12461// with awserr.Error's Code and Message methods to get detailed information about
12462// the error.
12463//
12464// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12465// API operation DescribeClassicLinkInstances for usage and error information.
12466// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClassicLinkInstances
12467func (c *EC2) DescribeClassicLinkInstances(input *DescribeClassicLinkInstancesInput) (*DescribeClassicLinkInstancesOutput, error) {
12468	req, out := c.DescribeClassicLinkInstancesRequest(input)
12469	return out, req.Send()
12470}
12471
12472// DescribeClassicLinkInstancesWithContext is the same as DescribeClassicLinkInstances with the addition of
12473// the ability to pass a context and additional request options.
12474//
12475// See DescribeClassicLinkInstances for details on how to use this API operation.
12476//
12477// The context must be non-nil and will be used for request cancellation. If
12478// the context is nil a panic will occur. In the future the SDK may create
12479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12480// for more information on using Contexts.
12481func (c *EC2) DescribeClassicLinkInstancesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, opts ...request.Option) (*DescribeClassicLinkInstancesOutput, error) {
12482	req, out := c.DescribeClassicLinkInstancesRequest(input)
12483	req.SetContext(ctx)
12484	req.ApplyOptions(opts...)
12485	return out, req.Send()
12486}
12487
12488// DescribeClassicLinkInstancesPages iterates over the pages of a DescribeClassicLinkInstances operation,
12489// calling the "fn" function with the response data for each page. To stop
12490// iterating, return false from the fn function.
12491//
12492// See DescribeClassicLinkInstances method for more information on how to use this operation.
12493//
12494// Note: This operation can generate multiple requests to a service.
12495//
12496//    // Example iterating over at most 3 pages of a DescribeClassicLinkInstances operation.
12497//    pageNum := 0
12498//    err := client.DescribeClassicLinkInstancesPages(params,
12499//        func(page *ec2.DescribeClassicLinkInstancesOutput, lastPage bool) bool {
12500//            pageNum++
12501//            fmt.Println(page)
12502//            return pageNum <= 3
12503//        })
12504//
12505func (c *EC2) DescribeClassicLinkInstancesPages(input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool) error {
12506	return c.DescribeClassicLinkInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
12507}
12508
12509// DescribeClassicLinkInstancesPagesWithContext same as DescribeClassicLinkInstancesPages except
12510// it takes a Context and allows setting request options on the pages.
12511//
12512// The context must be non-nil and will be used for request cancellation. If
12513// the context is nil a panic will occur. In the future the SDK may create
12514// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12515// for more information on using Contexts.
12516func (c *EC2) DescribeClassicLinkInstancesPagesWithContext(ctx aws.Context, input *DescribeClassicLinkInstancesInput, fn func(*DescribeClassicLinkInstancesOutput, bool) bool, opts ...request.Option) error {
12517	p := request.Pagination{
12518		NewRequest: func() (*request.Request, error) {
12519			var inCpy *DescribeClassicLinkInstancesInput
12520			if input != nil {
12521				tmp := *input
12522				inCpy = &tmp
12523			}
12524			req, _ := c.DescribeClassicLinkInstancesRequest(inCpy)
12525			req.SetContext(ctx)
12526			req.ApplyOptions(opts...)
12527			return req, nil
12528		},
12529	}
12530
12531	for p.Next() {
12532		if !fn(p.Page().(*DescribeClassicLinkInstancesOutput), !p.HasNextPage()) {
12533			break
12534		}
12535	}
12536
12537	return p.Err()
12538}
12539
12540const opDescribeClientVpnAuthorizationRules = "DescribeClientVpnAuthorizationRules"
12541
12542// DescribeClientVpnAuthorizationRulesRequest generates a "aws/request.Request" representing the
12543// client's request for the DescribeClientVpnAuthorizationRules operation. The "output" return
12544// value will be populated with the request's response once the request completes
12545// successfully.
12546//
12547// Use "Send" method on the returned Request to send the API call to the service.
12548// the "output" return value is not valid until after Send returns without error.
12549//
12550// See DescribeClientVpnAuthorizationRules for more information on using the DescribeClientVpnAuthorizationRules
12551// API call, and error handling.
12552//
12553// This method is useful when you want to inject custom logic or configuration
12554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12555//
12556//
12557//    // Example sending a request using the DescribeClientVpnAuthorizationRulesRequest method.
12558//    req, resp := client.DescribeClientVpnAuthorizationRulesRequest(params)
12559//
12560//    err := req.Send()
12561//    if err == nil { // resp is now filled
12562//        fmt.Println(resp)
12563//    }
12564//
12565// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
12566func (c *EC2) DescribeClientVpnAuthorizationRulesRequest(input *DescribeClientVpnAuthorizationRulesInput) (req *request.Request, output *DescribeClientVpnAuthorizationRulesOutput) {
12567	op := &request.Operation{
12568		Name:       opDescribeClientVpnAuthorizationRules,
12569		HTTPMethod: "POST",
12570		HTTPPath:   "/",
12571		Paginator: &request.Paginator{
12572			InputTokens:     []string{"NextToken"},
12573			OutputTokens:    []string{"NextToken"},
12574			LimitToken:      "MaxResults",
12575			TruncationToken: "",
12576		},
12577	}
12578
12579	if input == nil {
12580		input = &DescribeClientVpnAuthorizationRulesInput{}
12581	}
12582
12583	output = &DescribeClientVpnAuthorizationRulesOutput{}
12584	req = c.newRequest(op, input, output)
12585	return
12586}
12587
12588// DescribeClientVpnAuthorizationRules API operation for Amazon Elastic Compute Cloud.
12589//
12590// Describes the authorization rules for a specified Client VPN endpoint.
12591//
12592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12593// with awserr.Error's Code and Message methods to get detailed information about
12594// the error.
12595//
12596// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12597// API operation DescribeClientVpnAuthorizationRules for usage and error information.
12598// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnAuthorizationRules
12599func (c *EC2) DescribeClientVpnAuthorizationRules(input *DescribeClientVpnAuthorizationRulesInput) (*DescribeClientVpnAuthorizationRulesOutput, error) {
12600	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
12601	return out, req.Send()
12602}
12603
12604// DescribeClientVpnAuthorizationRulesWithContext is the same as DescribeClientVpnAuthorizationRules with the addition of
12605// the ability to pass a context and additional request options.
12606//
12607// See DescribeClientVpnAuthorizationRules for details on how to use this API operation.
12608//
12609// The context must be non-nil and will be used for request cancellation. If
12610// the context is nil a panic will occur. In the future the SDK may create
12611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12612// for more information on using Contexts.
12613func (c *EC2) DescribeClientVpnAuthorizationRulesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, opts ...request.Option) (*DescribeClientVpnAuthorizationRulesOutput, error) {
12614	req, out := c.DescribeClientVpnAuthorizationRulesRequest(input)
12615	req.SetContext(ctx)
12616	req.ApplyOptions(opts...)
12617	return out, req.Send()
12618}
12619
12620// DescribeClientVpnAuthorizationRulesPages iterates over the pages of a DescribeClientVpnAuthorizationRules operation,
12621// calling the "fn" function with the response data for each page. To stop
12622// iterating, return false from the fn function.
12623//
12624// See DescribeClientVpnAuthorizationRules method for more information on how to use this operation.
12625//
12626// Note: This operation can generate multiple requests to a service.
12627//
12628//    // Example iterating over at most 3 pages of a DescribeClientVpnAuthorizationRules operation.
12629//    pageNum := 0
12630//    err := client.DescribeClientVpnAuthorizationRulesPages(params,
12631//        func(page *ec2.DescribeClientVpnAuthorizationRulesOutput, lastPage bool) bool {
12632//            pageNum++
12633//            fmt.Println(page)
12634//            return pageNum <= 3
12635//        })
12636//
12637func (c *EC2) DescribeClientVpnAuthorizationRulesPages(input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool) error {
12638	return c.DescribeClientVpnAuthorizationRulesPagesWithContext(aws.BackgroundContext(), input, fn)
12639}
12640
12641// DescribeClientVpnAuthorizationRulesPagesWithContext same as DescribeClientVpnAuthorizationRulesPages except
12642// it takes a Context and allows setting request options on the pages.
12643//
12644// The context must be non-nil and will be used for request cancellation. If
12645// the context is nil a panic will occur. In the future the SDK may create
12646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12647// for more information on using Contexts.
12648func (c *EC2) DescribeClientVpnAuthorizationRulesPagesWithContext(ctx aws.Context, input *DescribeClientVpnAuthorizationRulesInput, fn func(*DescribeClientVpnAuthorizationRulesOutput, bool) bool, opts ...request.Option) error {
12649	p := request.Pagination{
12650		NewRequest: func() (*request.Request, error) {
12651			var inCpy *DescribeClientVpnAuthorizationRulesInput
12652			if input != nil {
12653				tmp := *input
12654				inCpy = &tmp
12655			}
12656			req, _ := c.DescribeClientVpnAuthorizationRulesRequest(inCpy)
12657			req.SetContext(ctx)
12658			req.ApplyOptions(opts...)
12659			return req, nil
12660		},
12661	}
12662
12663	for p.Next() {
12664		if !fn(p.Page().(*DescribeClientVpnAuthorizationRulesOutput), !p.HasNextPage()) {
12665			break
12666		}
12667	}
12668
12669	return p.Err()
12670}
12671
12672const opDescribeClientVpnConnections = "DescribeClientVpnConnections"
12673
12674// DescribeClientVpnConnectionsRequest generates a "aws/request.Request" representing the
12675// client's request for the DescribeClientVpnConnections operation. The "output" return
12676// value will be populated with the request's response once the request completes
12677// successfully.
12678//
12679// Use "Send" method on the returned Request to send the API call to the service.
12680// the "output" return value is not valid until after Send returns without error.
12681//
12682// See DescribeClientVpnConnections for more information on using the DescribeClientVpnConnections
12683// API call, and error handling.
12684//
12685// This method is useful when you want to inject custom logic or configuration
12686// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12687//
12688//
12689//    // Example sending a request using the DescribeClientVpnConnectionsRequest method.
12690//    req, resp := client.DescribeClientVpnConnectionsRequest(params)
12691//
12692//    err := req.Send()
12693//    if err == nil { // resp is now filled
12694//        fmt.Println(resp)
12695//    }
12696//
12697// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
12698func (c *EC2) DescribeClientVpnConnectionsRequest(input *DescribeClientVpnConnectionsInput) (req *request.Request, output *DescribeClientVpnConnectionsOutput) {
12699	op := &request.Operation{
12700		Name:       opDescribeClientVpnConnections,
12701		HTTPMethod: "POST",
12702		HTTPPath:   "/",
12703		Paginator: &request.Paginator{
12704			InputTokens:     []string{"NextToken"},
12705			OutputTokens:    []string{"NextToken"},
12706			LimitToken:      "MaxResults",
12707			TruncationToken: "",
12708		},
12709	}
12710
12711	if input == nil {
12712		input = &DescribeClientVpnConnectionsInput{}
12713	}
12714
12715	output = &DescribeClientVpnConnectionsOutput{}
12716	req = c.newRequest(op, input, output)
12717	return
12718}
12719
12720// DescribeClientVpnConnections API operation for Amazon Elastic Compute Cloud.
12721//
12722// Describes active client connections and connections that have been terminated
12723// within the last 60 minutes for the specified Client VPN endpoint.
12724//
12725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12726// with awserr.Error's Code and Message methods to get detailed information about
12727// the error.
12728//
12729// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12730// API operation DescribeClientVpnConnections for usage and error information.
12731// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnConnections
12732func (c *EC2) DescribeClientVpnConnections(input *DescribeClientVpnConnectionsInput) (*DescribeClientVpnConnectionsOutput, error) {
12733	req, out := c.DescribeClientVpnConnectionsRequest(input)
12734	return out, req.Send()
12735}
12736
12737// DescribeClientVpnConnectionsWithContext is the same as DescribeClientVpnConnections with the addition of
12738// the ability to pass a context and additional request options.
12739//
12740// See DescribeClientVpnConnections for details on how to use this API operation.
12741//
12742// The context must be non-nil and will be used for request cancellation. If
12743// the context is nil a panic will occur. In the future the SDK may create
12744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12745// for more information on using Contexts.
12746func (c *EC2) DescribeClientVpnConnectionsWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, opts ...request.Option) (*DescribeClientVpnConnectionsOutput, error) {
12747	req, out := c.DescribeClientVpnConnectionsRequest(input)
12748	req.SetContext(ctx)
12749	req.ApplyOptions(opts...)
12750	return out, req.Send()
12751}
12752
12753// DescribeClientVpnConnectionsPages iterates over the pages of a DescribeClientVpnConnections operation,
12754// calling the "fn" function with the response data for each page. To stop
12755// iterating, return false from the fn function.
12756//
12757// See DescribeClientVpnConnections method for more information on how to use this operation.
12758//
12759// Note: This operation can generate multiple requests to a service.
12760//
12761//    // Example iterating over at most 3 pages of a DescribeClientVpnConnections operation.
12762//    pageNum := 0
12763//    err := client.DescribeClientVpnConnectionsPages(params,
12764//        func(page *ec2.DescribeClientVpnConnectionsOutput, lastPage bool) bool {
12765//            pageNum++
12766//            fmt.Println(page)
12767//            return pageNum <= 3
12768//        })
12769//
12770func (c *EC2) DescribeClientVpnConnectionsPages(input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool) error {
12771	return c.DescribeClientVpnConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
12772}
12773
12774// DescribeClientVpnConnectionsPagesWithContext same as DescribeClientVpnConnectionsPages except
12775// it takes a Context and allows setting request options on the pages.
12776//
12777// The context must be non-nil and will be used for request cancellation. If
12778// the context is nil a panic will occur. In the future the SDK may create
12779// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12780// for more information on using Contexts.
12781func (c *EC2) DescribeClientVpnConnectionsPagesWithContext(ctx aws.Context, input *DescribeClientVpnConnectionsInput, fn func(*DescribeClientVpnConnectionsOutput, bool) bool, opts ...request.Option) error {
12782	p := request.Pagination{
12783		NewRequest: func() (*request.Request, error) {
12784			var inCpy *DescribeClientVpnConnectionsInput
12785			if input != nil {
12786				tmp := *input
12787				inCpy = &tmp
12788			}
12789			req, _ := c.DescribeClientVpnConnectionsRequest(inCpy)
12790			req.SetContext(ctx)
12791			req.ApplyOptions(opts...)
12792			return req, nil
12793		},
12794	}
12795
12796	for p.Next() {
12797		if !fn(p.Page().(*DescribeClientVpnConnectionsOutput), !p.HasNextPage()) {
12798			break
12799		}
12800	}
12801
12802	return p.Err()
12803}
12804
12805const opDescribeClientVpnEndpoints = "DescribeClientVpnEndpoints"
12806
12807// DescribeClientVpnEndpointsRequest generates a "aws/request.Request" representing the
12808// client's request for the DescribeClientVpnEndpoints operation. The "output" return
12809// value will be populated with the request's response once the request completes
12810// successfully.
12811//
12812// Use "Send" method on the returned Request to send the API call to the service.
12813// the "output" return value is not valid until after Send returns without error.
12814//
12815// See DescribeClientVpnEndpoints for more information on using the DescribeClientVpnEndpoints
12816// API call, and error handling.
12817//
12818// This method is useful when you want to inject custom logic or configuration
12819// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12820//
12821//
12822//    // Example sending a request using the DescribeClientVpnEndpointsRequest method.
12823//    req, resp := client.DescribeClientVpnEndpointsRequest(params)
12824//
12825//    err := req.Send()
12826//    if err == nil { // resp is now filled
12827//        fmt.Println(resp)
12828//    }
12829//
12830// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
12831func (c *EC2) DescribeClientVpnEndpointsRequest(input *DescribeClientVpnEndpointsInput) (req *request.Request, output *DescribeClientVpnEndpointsOutput) {
12832	op := &request.Operation{
12833		Name:       opDescribeClientVpnEndpoints,
12834		HTTPMethod: "POST",
12835		HTTPPath:   "/",
12836		Paginator: &request.Paginator{
12837			InputTokens:     []string{"NextToken"},
12838			OutputTokens:    []string{"NextToken"},
12839			LimitToken:      "MaxResults",
12840			TruncationToken: "",
12841		},
12842	}
12843
12844	if input == nil {
12845		input = &DescribeClientVpnEndpointsInput{}
12846	}
12847
12848	output = &DescribeClientVpnEndpointsOutput{}
12849	req = c.newRequest(op, input, output)
12850	return
12851}
12852
12853// DescribeClientVpnEndpoints API operation for Amazon Elastic Compute Cloud.
12854//
12855// Describes one or more Client VPN endpoints in the account.
12856//
12857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12858// with awserr.Error's Code and Message methods to get detailed information about
12859// the error.
12860//
12861// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12862// API operation DescribeClientVpnEndpoints for usage and error information.
12863// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnEndpoints
12864func (c *EC2) DescribeClientVpnEndpoints(input *DescribeClientVpnEndpointsInput) (*DescribeClientVpnEndpointsOutput, error) {
12865	req, out := c.DescribeClientVpnEndpointsRequest(input)
12866	return out, req.Send()
12867}
12868
12869// DescribeClientVpnEndpointsWithContext is the same as DescribeClientVpnEndpoints with the addition of
12870// the ability to pass a context and additional request options.
12871//
12872// See DescribeClientVpnEndpoints for details on how to use this API operation.
12873//
12874// The context must be non-nil and will be used for request cancellation. If
12875// the context is nil a panic will occur. In the future the SDK may create
12876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12877// for more information on using Contexts.
12878func (c *EC2) DescribeClientVpnEndpointsWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, opts ...request.Option) (*DescribeClientVpnEndpointsOutput, error) {
12879	req, out := c.DescribeClientVpnEndpointsRequest(input)
12880	req.SetContext(ctx)
12881	req.ApplyOptions(opts...)
12882	return out, req.Send()
12883}
12884
12885// DescribeClientVpnEndpointsPages iterates over the pages of a DescribeClientVpnEndpoints operation,
12886// calling the "fn" function with the response data for each page. To stop
12887// iterating, return false from the fn function.
12888//
12889// See DescribeClientVpnEndpoints method for more information on how to use this operation.
12890//
12891// Note: This operation can generate multiple requests to a service.
12892//
12893//    // Example iterating over at most 3 pages of a DescribeClientVpnEndpoints operation.
12894//    pageNum := 0
12895//    err := client.DescribeClientVpnEndpointsPages(params,
12896//        func(page *ec2.DescribeClientVpnEndpointsOutput, lastPage bool) bool {
12897//            pageNum++
12898//            fmt.Println(page)
12899//            return pageNum <= 3
12900//        })
12901//
12902func (c *EC2) DescribeClientVpnEndpointsPages(input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool) error {
12903	return c.DescribeClientVpnEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
12904}
12905
12906// DescribeClientVpnEndpointsPagesWithContext same as DescribeClientVpnEndpointsPages except
12907// it takes a Context and allows setting request options on the pages.
12908//
12909// The context must be non-nil and will be used for request cancellation. If
12910// the context is nil a panic will occur. In the future the SDK may create
12911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12912// for more information on using Contexts.
12913func (c *EC2) DescribeClientVpnEndpointsPagesWithContext(ctx aws.Context, input *DescribeClientVpnEndpointsInput, fn func(*DescribeClientVpnEndpointsOutput, bool) bool, opts ...request.Option) error {
12914	p := request.Pagination{
12915		NewRequest: func() (*request.Request, error) {
12916			var inCpy *DescribeClientVpnEndpointsInput
12917			if input != nil {
12918				tmp := *input
12919				inCpy = &tmp
12920			}
12921			req, _ := c.DescribeClientVpnEndpointsRequest(inCpy)
12922			req.SetContext(ctx)
12923			req.ApplyOptions(opts...)
12924			return req, nil
12925		},
12926	}
12927
12928	for p.Next() {
12929		if !fn(p.Page().(*DescribeClientVpnEndpointsOutput), !p.HasNextPage()) {
12930			break
12931		}
12932	}
12933
12934	return p.Err()
12935}
12936
12937const opDescribeClientVpnRoutes = "DescribeClientVpnRoutes"
12938
12939// DescribeClientVpnRoutesRequest generates a "aws/request.Request" representing the
12940// client's request for the DescribeClientVpnRoutes operation. The "output" return
12941// value will be populated with the request's response once the request completes
12942// successfully.
12943//
12944// Use "Send" method on the returned Request to send the API call to the service.
12945// the "output" return value is not valid until after Send returns without error.
12946//
12947// See DescribeClientVpnRoutes for more information on using the DescribeClientVpnRoutes
12948// API call, and error handling.
12949//
12950// This method is useful when you want to inject custom logic or configuration
12951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12952//
12953//
12954//    // Example sending a request using the DescribeClientVpnRoutesRequest method.
12955//    req, resp := client.DescribeClientVpnRoutesRequest(params)
12956//
12957//    err := req.Send()
12958//    if err == nil { // resp is now filled
12959//        fmt.Println(resp)
12960//    }
12961//
12962// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
12963func (c *EC2) DescribeClientVpnRoutesRequest(input *DescribeClientVpnRoutesInput) (req *request.Request, output *DescribeClientVpnRoutesOutput) {
12964	op := &request.Operation{
12965		Name:       opDescribeClientVpnRoutes,
12966		HTTPMethod: "POST",
12967		HTTPPath:   "/",
12968		Paginator: &request.Paginator{
12969			InputTokens:     []string{"NextToken"},
12970			OutputTokens:    []string{"NextToken"},
12971			LimitToken:      "MaxResults",
12972			TruncationToken: "",
12973		},
12974	}
12975
12976	if input == nil {
12977		input = &DescribeClientVpnRoutesInput{}
12978	}
12979
12980	output = &DescribeClientVpnRoutesOutput{}
12981	req = c.newRequest(op, input, output)
12982	return
12983}
12984
12985// DescribeClientVpnRoutes API operation for Amazon Elastic Compute Cloud.
12986//
12987// Describes the routes for the specified Client VPN endpoint.
12988//
12989// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12990// with awserr.Error's Code and Message methods to get detailed information about
12991// the error.
12992//
12993// See the AWS API reference guide for Amazon Elastic Compute Cloud's
12994// API operation DescribeClientVpnRoutes for usage and error information.
12995// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnRoutes
12996func (c *EC2) DescribeClientVpnRoutes(input *DescribeClientVpnRoutesInput) (*DescribeClientVpnRoutesOutput, error) {
12997	req, out := c.DescribeClientVpnRoutesRequest(input)
12998	return out, req.Send()
12999}
13000
13001// DescribeClientVpnRoutesWithContext is the same as DescribeClientVpnRoutes with the addition of
13002// the ability to pass a context and additional request options.
13003//
13004// See DescribeClientVpnRoutes for details on how to use this API operation.
13005//
13006// The context must be non-nil and will be used for request cancellation. If
13007// the context is nil a panic will occur. In the future the SDK may create
13008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13009// for more information on using Contexts.
13010func (c *EC2) DescribeClientVpnRoutesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, opts ...request.Option) (*DescribeClientVpnRoutesOutput, error) {
13011	req, out := c.DescribeClientVpnRoutesRequest(input)
13012	req.SetContext(ctx)
13013	req.ApplyOptions(opts...)
13014	return out, req.Send()
13015}
13016
13017// DescribeClientVpnRoutesPages iterates over the pages of a DescribeClientVpnRoutes operation,
13018// calling the "fn" function with the response data for each page. To stop
13019// iterating, return false from the fn function.
13020//
13021// See DescribeClientVpnRoutes method for more information on how to use this operation.
13022//
13023// Note: This operation can generate multiple requests to a service.
13024//
13025//    // Example iterating over at most 3 pages of a DescribeClientVpnRoutes operation.
13026//    pageNum := 0
13027//    err := client.DescribeClientVpnRoutesPages(params,
13028//        func(page *ec2.DescribeClientVpnRoutesOutput, lastPage bool) bool {
13029//            pageNum++
13030//            fmt.Println(page)
13031//            return pageNum <= 3
13032//        })
13033//
13034func (c *EC2) DescribeClientVpnRoutesPages(input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool) error {
13035	return c.DescribeClientVpnRoutesPagesWithContext(aws.BackgroundContext(), input, fn)
13036}
13037
13038// DescribeClientVpnRoutesPagesWithContext same as DescribeClientVpnRoutesPages except
13039// it takes a Context and allows setting request options on the pages.
13040//
13041// The context must be non-nil and will be used for request cancellation. If
13042// the context is nil a panic will occur. In the future the SDK may create
13043// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13044// for more information on using Contexts.
13045func (c *EC2) DescribeClientVpnRoutesPagesWithContext(ctx aws.Context, input *DescribeClientVpnRoutesInput, fn func(*DescribeClientVpnRoutesOutput, bool) bool, opts ...request.Option) error {
13046	p := request.Pagination{
13047		NewRequest: func() (*request.Request, error) {
13048			var inCpy *DescribeClientVpnRoutesInput
13049			if input != nil {
13050				tmp := *input
13051				inCpy = &tmp
13052			}
13053			req, _ := c.DescribeClientVpnRoutesRequest(inCpy)
13054			req.SetContext(ctx)
13055			req.ApplyOptions(opts...)
13056			return req, nil
13057		},
13058	}
13059
13060	for p.Next() {
13061		if !fn(p.Page().(*DescribeClientVpnRoutesOutput), !p.HasNextPage()) {
13062			break
13063		}
13064	}
13065
13066	return p.Err()
13067}
13068
13069const opDescribeClientVpnTargetNetworks = "DescribeClientVpnTargetNetworks"
13070
13071// DescribeClientVpnTargetNetworksRequest generates a "aws/request.Request" representing the
13072// client's request for the DescribeClientVpnTargetNetworks operation. The "output" return
13073// value will be populated with the request's response once the request completes
13074// successfully.
13075//
13076// Use "Send" method on the returned Request to send the API call to the service.
13077// the "output" return value is not valid until after Send returns without error.
13078//
13079// See DescribeClientVpnTargetNetworks for more information on using the DescribeClientVpnTargetNetworks
13080// API call, and error handling.
13081//
13082// This method is useful when you want to inject custom logic or configuration
13083// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13084//
13085//
13086//    // Example sending a request using the DescribeClientVpnTargetNetworksRequest method.
13087//    req, resp := client.DescribeClientVpnTargetNetworksRequest(params)
13088//
13089//    err := req.Send()
13090//    if err == nil { // resp is now filled
13091//        fmt.Println(resp)
13092//    }
13093//
13094// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
13095func (c *EC2) DescribeClientVpnTargetNetworksRequest(input *DescribeClientVpnTargetNetworksInput) (req *request.Request, output *DescribeClientVpnTargetNetworksOutput) {
13096	op := &request.Operation{
13097		Name:       opDescribeClientVpnTargetNetworks,
13098		HTTPMethod: "POST",
13099		HTTPPath:   "/",
13100		Paginator: &request.Paginator{
13101			InputTokens:     []string{"NextToken"},
13102			OutputTokens:    []string{"NextToken"},
13103			LimitToken:      "MaxResults",
13104			TruncationToken: "",
13105		},
13106	}
13107
13108	if input == nil {
13109		input = &DescribeClientVpnTargetNetworksInput{}
13110	}
13111
13112	output = &DescribeClientVpnTargetNetworksOutput{}
13113	req = c.newRequest(op, input, output)
13114	return
13115}
13116
13117// DescribeClientVpnTargetNetworks API operation for Amazon Elastic Compute Cloud.
13118//
13119// Describes the target networks associated with the specified Client VPN endpoint.
13120//
13121// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13122// with awserr.Error's Code and Message methods to get detailed information about
13123// the error.
13124//
13125// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13126// API operation DescribeClientVpnTargetNetworks for usage and error information.
13127// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeClientVpnTargetNetworks
13128func (c *EC2) DescribeClientVpnTargetNetworks(input *DescribeClientVpnTargetNetworksInput) (*DescribeClientVpnTargetNetworksOutput, error) {
13129	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
13130	return out, req.Send()
13131}
13132
13133// DescribeClientVpnTargetNetworksWithContext is the same as DescribeClientVpnTargetNetworks with the addition of
13134// the ability to pass a context and additional request options.
13135//
13136// See DescribeClientVpnTargetNetworks for details on how to use this API operation.
13137//
13138// The context must be non-nil and will be used for request cancellation. If
13139// the context is nil a panic will occur. In the future the SDK may create
13140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13141// for more information on using Contexts.
13142func (c *EC2) DescribeClientVpnTargetNetworksWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, opts ...request.Option) (*DescribeClientVpnTargetNetworksOutput, error) {
13143	req, out := c.DescribeClientVpnTargetNetworksRequest(input)
13144	req.SetContext(ctx)
13145	req.ApplyOptions(opts...)
13146	return out, req.Send()
13147}
13148
13149// DescribeClientVpnTargetNetworksPages iterates over the pages of a DescribeClientVpnTargetNetworks operation,
13150// calling the "fn" function with the response data for each page. To stop
13151// iterating, return false from the fn function.
13152//
13153// See DescribeClientVpnTargetNetworks method for more information on how to use this operation.
13154//
13155// Note: This operation can generate multiple requests to a service.
13156//
13157//    // Example iterating over at most 3 pages of a DescribeClientVpnTargetNetworks operation.
13158//    pageNum := 0
13159//    err := client.DescribeClientVpnTargetNetworksPages(params,
13160//        func(page *ec2.DescribeClientVpnTargetNetworksOutput, lastPage bool) bool {
13161//            pageNum++
13162//            fmt.Println(page)
13163//            return pageNum <= 3
13164//        })
13165//
13166func (c *EC2) DescribeClientVpnTargetNetworksPages(input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool) error {
13167	return c.DescribeClientVpnTargetNetworksPagesWithContext(aws.BackgroundContext(), input, fn)
13168}
13169
13170// DescribeClientVpnTargetNetworksPagesWithContext same as DescribeClientVpnTargetNetworksPages except
13171// it takes a Context and allows setting request options on the pages.
13172//
13173// The context must be non-nil and will be used for request cancellation. If
13174// the context is nil a panic will occur. In the future the SDK may create
13175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13176// for more information on using Contexts.
13177func (c *EC2) DescribeClientVpnTargetNetworksPagesWithContext(ctx aws.Context, input *DescribeClientVpnTargetNetworksInput, fn func(*DescribeClientVpnTargetNetworksOutput, bool) bool, opts ...request.Option) error {
13178	p := request.Pagination{
13179		NewRequest: func() (*request.Request, error) {
13180			var inCpy *DescribeClientVpnTargetNetworksInput
13181			if input != nil {
13182				tmp := *input
13183				inCpy = &tmp
13184			}
13185			req, _ := c.DescribeClientVpnTargetNetworksRequest(inCpy)
13186			req.SetContext(ctx)
13187			req.ApplyOptions(opts...)
13188			return req, nil
13189		},
13190	}
13191
13192	for p.Next() {
13193		if !fn(p.Page().(*DescribeClientVpnTargetNetworksOutput), !p.HasNextPage()) {
13194			break
13195		}
13196	}
13197
13198	return p.Err()
13199}
13200
13201const opDescribeCoipPools = "DescribeCoipPools"
13202
13203// DescribeCoipPoolsRequest generates a "aws/request.Request" representing the
13204// client's request for the DescribeCoipPools operation. The "output" return
13205// value will be populated with the request's response once the request completes
13206// successfully.
13207//
13208// Use "Send" method on the returned Request to send the API call to the service.
13209// the "output" return value is not valid until after Send returns without error.
13210//
13211// See DescribeCoipPools for more information on using the DescribeCoipPools
13212// API call, and error handling.
13213//
13214// This method is useful when you want to inject custom logic or configuration
13215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13216//
13217//
13218//    // Example sending a request using the DescribeCoipPoolsRequest method.
13219//    req, resp := client.DescribeCoipPoolsRequest(params)
13220//
13221//    err := req.Send()
13222//    if err == nil { // resp is now filled
13223//        fmt.Println(resp)
13224//    }
13225//
13226// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
13227func (c *EC2) DescribeCoipPoolsRequest(input *DescribeCoipPoolsInput) (req *request.Request, output *DescribeCoipPoolsOutput) {
13228	op := &request.Operation{
13229		Name:       opDescribeCoipPools,
13230		HTTPMethod: "POST",
13231		HTTPPath:   "/",
13232	}
13233
13234	if input == nil {
13235		input = &DescribeCoipPoolsInput{}
13236	}
13237
13238	output = &DescribeCoipPoolsOutput{}
13239	req = c.newRequest(op, input, output)
13240	return
13241}
13242
13243// DescribeCoipPools API operation for Amazon Elastic Compute Cloud.
13244//
13245// Describes the specified customer-owned address pools or all of your customer-owned
13246// address pools.
13247//
13248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13249// with awserr.Error's Code and Message methods to get detailed information about
13250// the error.
13251//
13252// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13253// API operation DescribeCoipPools for usage and error information.
13254// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCoipPools
13255func (c *EC2) DescribeCoipPools(input *DescribeCoipPoolsInput) (*DescribeCoipPoolsOutput, error) {
13256	req, out := c.DescribeCoipPoolsRequest(input)
13257	return out, req.Send()
13258}
13259
13260// DescribeCoipPoolsWithContext is the same as DescribeCoipPools with the addition of
13261// the ability to pass a context and additional request options.
13262//
13263// See DescribeCoipPools for details on how to use this API operation.
13264//
13265// The context must be non-nil and will be used for request cancellation. If
13266// the context is nil a panic will occur. In the future the SDK may create
13267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13268// for more information on using Contexts.
13269func (c *EC2) DescribeCoipPoolsWithContext(ctx aws.Context, input *DescribeCoipPoolsInput, opts ...request.Option) (*DescribeCoipPoolsOutput, error) {
13270	req, out := c.DescribeCoipPoolsRequest(input)
13271	req.SetContext(ctx)
13272	req.ApplyOptions(opts...)
13273	return out, req.Send()
13274}
13275
13276const opDescribeConversionTasks = "DescribeConversionTasks"
13277
13278// DescribeConversionTasksRequest generates a "aws/request.Request" representing the
13279// client's request for the DescribeConversionTasks operation. The "output" return
13280// value will be populated with the request's response once the request completes
13281// successfully.
13282//
13283// Use "Send" method on the returned Request to send the API call to the service.
13284// the "output" return value is not valid until after Send returns without error.
13285//
13286// See DescribeConversionTasks for more information on using the DescribeConversionTasks
13287// API call, and error handling.
13288//
13289// This method is useful when you want to inject custom logic or configuration
13290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13291//
13292//
13293//    // Example sending a request using the DescribeConversionTasksRequest method.
13294//    req, resp := client.DescribeConversionTasksRequest(params)
13295//
13296//    err := req.Send()
13297//    if err == nil { // resp is now filled
13298//        fmt.Println(resp)
13299//    }
13300//
13301// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
13302func (c *EC2) DescribeConversionTasksRequest(input *DescribeConversionTasksInput) (req *request.Request, output *DescribeConversionTasksOutput) {
13303	op := &request.Operation{
13304		Name:       opDescribeConversionTasks,
13305		HTTPMethod: "POST",
13306		HTTPPath:   "/",
13307	}
13308
13309	if input == nil {
13310		input = &DescribeConversionTasksInput{}
13311	}
13312
13313	output = &DescribeConversionTasksOutput{}
13314	req = c.newRequest(op, input, output)
13315	return
13316}
13317
13318// DescribeConversionTasks API operation for Amazon Elastic Compute Cloud.
13319//
13320// Describes the specified conversion tasks or all your conversion tasks. For
13321// more information, see the VM Import/Export User Guide (https://docs.aws.amazon.com/vm-import/latest/userguide/).
13322//
13323// For information about the import manifest referenced by this API action,
13324// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
13325//
13326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13327// with awserr.Error's Code and Message methods to get detailed information about
13328// the error.
13329//
13330// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13331// API operation DescribeConversionTasks for usage and error information.
13332// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeConversionTasks
13333func (c *EC2) DescribeConversionTasks(input *DescribeConversionTasksInput) (*DescribeConversionTasksOutput, error) {
13334	req, out := c.DescribeConversionTasksRequest(input)
13335	return out, req.Send()
13336}
13337
13338// DescribeConversionTasksWithContext is the same as DescribeConversionTasks with the addition of
13339// the ability to pass a context and additional request options.
13340//
13341// See DescribeConversionTasks for details on how to use this API operation.
13342//
13343// The context must be non-nil and will be used for request cancellation. If
13344// the context is nil a panic will occur. In the future the SDK may create
13345// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13346// for more information on using Contexts.
13347func (c *EC2) DescribeConversionTasksWithContext(ctx aws.Context, input *DescribeConversionTasksInput, opts ...request.Option) (*DescribeConversionTasksOutput, error) {
13348	req, out := c.DescribeConversionTasksRequest(input)
13349	req.SetContext(ctx)
13350	req.ApplyOptions(opts...)
13351	return out, req.Send()
13352}
13353
13354const opDescribeCustomerGateways = "DescribeCustomerGateways"
13355
13356// DescribeCustomerGatewaysRequest generates a "aws/request.Request" representing the
13357// client's request for the DescribeCustomerGateways operation. The "output" return
13358// value will be populated with the request's response once the request completes
13359// successfully.
13360//
13361// Use "Send" method on the returned Request to send the API call to the service.
13362// the "output" return value is not valid until after Send returns without error.
13363//
13364// See DescribeCustomerGateways for more information on using the DescribeCustomerGateways
13365// API call, and error handling.
13366//
13367// This method is useful when you want to inject custom logic or configuration
13368// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13369//
13370//
13371//    // Example sending a request using the DescribeCustomerGatewaysRequest method.
13372//    req, resp := client.DescribeCustomerGatewaysRequest(params)
13373//
13374//    err := req.Send()
13375//    if err == nil { // resp is now filled
13376//        fmt.Println(resp)
13377//    }
13378//
13379// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
13380func (c *EC2) DescribeCustomerGatewaysRequest(input *DescribeCustomerGatewaysInput) (req *request.Request, output *DescribeCustomerGatewaysOutput) {
13381	op := &request.Operation{
13382		Name:       opDescribeCustomerGateways,
13383		HTTPMethod: "POST",
13384		HTTPPath:   "/",
13385	}
13386
13387	if input == nil {
13388		input = &DescribeCustomerGatewaysInput{}
13389	}
13390
13391	output = &DescribeCustomerGatewaysOutput{}
13392	req = c.newRequest(op, input, output)
13393	return
13394}
13395
13396// DescribeCustomerGateways API operation for Amazon Elastic Compute Cloud.
13397//
13398// Describes one or more of your VPN customer gateways.
13399//
13400// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
13401// in the AWS Site-to-Site VPN User Guide.
13402//
13403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13404// with awserr.Error's Code and Message methods to get detailed information about
13405// the error.
13406//
13407// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13408// API operation DescribeCustomerGateways for usage and error information.
13409// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeCustomerGateways
13410func (c *EC2) DescribeCustomerGateways(input *DescribeCustomerGatewaysInput) (*DescribeCustomerGatewaysOutput, error) {
13411	req, out := c.DescribeCustomerGatewaysRequest(input)
13412	return out, req.Send()
13413}
13414
13415// DescribeCustomerGatewaysWithContext is the same as DescribeCustomerGateways with the addition of
13416// the ability to pass a context and additional request options.
13417//
13418// See DescribeCustomerGateways for details on how to use this API operation.
13419//
13420// The context must be non-nil and will be used for request cancellation. If
13421// the context is nil a panic will occur. In the future the SDK may create
13422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13423// for more information on using Contexts.
13424func (c *EC2) DescribeCustomerGatewaysWithContext(ctx aws.Context, input *DescribeCustomerGatewaysInput, opts ...request.Option) (*DescribeCustomerGatewaysOutput, error) {
13425	req, out := c.DescribeCustomerGatewaysRequest(input)
13426	req.SetContext(ctx)
13427	req.ApplyOptions(opts...)
13428	return out, req.Send()
13429}
13430
13431const opDescribeDhcpOptions = "DescribeDhcpOptions"
13432
13433// DescribeDhcpOptionsRequest generates a "aws/request.Request" representing the
13434// client's request for the DescribeDhcpOptions operation. The "output" return
13435// value will be populated with the request's response once the request completes
13436// successfully.
13437//
13438// Use "Send" method on the returned Request to send the API call to the service.
13439// the "output" return value is not valid until after Send returns without error.
13440//
13441// See DescribeDhcpOptions for more information on using the DescribeDhcpOptions
13442// API call, and error handling.
13443//
13444// This method is useful when you want to inject custom logic or configuration
13445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13446//
13447//
13448//    // Example sending a request using the DescribeDhcpOptionsRequest method.
13449//    req, resp := client.DescribeDhcpOptionsRequest(params)
13450//
13451//    err := req.Send()
13452//    if err == nil { // resp is now filled
13453//        fmt.Println(resp)
13454//    }
13455//
13456// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
13457func (c *EC2) DescribeDhcpOptionsRequest(input *DescribeDhcpOptionsInput) (req *request.Request, output *DescribeDhcpOptionsOutput) {
13458	op := &request.Operation{
13459		Name:       opDescribeDhcpOptions,
13460		HTTPMethod: "POST",
13461		HTTPPath:   "/",
13462		Paginator: &request.Paginator{
13463			InputTokens:     []string{"NextToken"},
13464			OutputTokens:    []string{"NextToken"},
13465			LimitToken:      "MaxResults",
13466			TruncationToken: "",
13467		},
13468	}
13469
13470	if input == nil {
13471		input = &DescribeDhcpOptionsInput{}
13472	}
13473
13474	output = &DescribeDhcpOptionsOutput{}
13475	req = c.newRequest(op, input, output)
13476	return
13477}
13478
13479// DescribeDhcpOptions API operation for Amazon Elastic Compute Cloud.
13480//
13481// Describes one or more of your DHCP options sets.
13482//
13483// For more information, see DHCP Options Sets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)
13484// in the Amazon Virtual Private Cloud User Guide.
13485//
13486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13487// with awserr.Error's Code and Message methods to get detailed information about
13488// the error.
13489//
13490// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13491// API operation DescribeDhcpOptions for usage and error information.
13492// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeDhcpOptions
13493func (c *EC2) DescribeDhcpOptions(input *DescribeDhcpOptionsInput) (*DescribeDhcpOptionsOutput, error) {
13494	req, out := c.DescribeDhcpOptionsRequest(input)
13495	return out, req.Send()
13496}
13497
13498// DescribeDhcpOptionsWithContext is the same as DescribeDhcpOptions with the addition of
13499// the ability to pass a context and additional request options.
13500//
13501// See DescribeDhcpOptions for details on how to use this API operation.
13502//
13503// The context must be non-nil and will be used for request cancellation. If
13504// the context is nil a panic will occur. In the future the SDK may create
13505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13506// for more information on using Contexts.
13507func (c *EC2) DescribeDhcpOptionsWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, opts ...request.Option) (*DescribeDhcpOptionsOutput, error) {
13508	req, out := c.DescribeDhcpOptionsRequest(input)
13509	req.SetContext(ctx)
13510	req.ApplyOptions(opts...)
13511	return out, req.Send()
13512}
13513
13514// DescribeDhcpOptionsPages iterates over the pages of a DescribeDhcpOptions operation,
13515// calling the "fn" function with the response data for each page. To stop
13516// iterating, return false from the fn function.
13517//
13518// See DescribeDhcpOptions method for more information on how to use this operation.
13519//
13520// Note: This operation can generate multiple requests to a service.
13521//
13522//    // Example iterating over at most 3 pages of a DescribeDhcpOptions operation.
13523//    pageNum := 0
13524//    err := client.DescribeDhcpOptionsPages(params,
13525//        func(page *ec2.DescribeDhcpOptionsOutput, lastPage bool) bool {
13526//            pageNum++
13527//            fmt.Println(page)
13528//            return pageNum <= 3
13529//        })
13530//
13531func (c *EC2) DescribeDhcpOptionsPages(input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool) error {
13532	return c.DescribeDhcpOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
13533}
13534
13535// DescribeDhcpOptionsPagesWithContext same as DescribeDhcpOptionsPages except
13536// it takes a Context and allows setting request options on the pages.
13537//
13538// The context must be non-nil and will be used for request cancellation. If
13539// the context is nil a panic will occur. In the future the SDK may create
13540// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13541// for more information on using Contexts.
13542func (c *EC2) DescribeDhcpOptionsPagesWithContext(ctx aws.Context, input *DescribeDhcpOptionsInput, fn func(*DescribeDhcpOptionsOutput, bool) bool, opts ...request.Option) error {
13543	p := request.Pagination{
13544		NewRequest: func() (*request.Request, error) {
13545			var inCpy *DescribeDhcpOptionsInput
13546			if input != nil {
13547				tmp := *input
13548				inCpy = &tmp
13549			}
13550			req, _ := c.DescribeDhcpOptionsRequest(inCpy)
13551			req.SetContext(ctx)
13552			req.ApplyOptions(opts...)
13553			return req, nil
13554		},
13555	}
13556
13557	for p.Next() {
13558		if !fn(p.Page().(*DescribeDhcpOptionsOutput), !p.HasNextPage()) {
13559			break
13560		}
13561	}
13562
13563	return p.Err()
13564}
13565
13566const opDescribeEgressOnlyInternetGateways = "DescribeEgressOnlyInternetGateways"
13567
13568// DescribeEgressOnlyInternetGatewaysRequest generates a "aws/request.Request" representing the
13569// client's request for the DescribeEgressOnlyInternetGateways operation. The "output" return
13570// value will be populated with the request's response once the request completes
13571// successfully.
13572//
13573// Use "Send" method on the returned Request to send the API call to the service.
13574// the "output" return value is not valid until after Send returns without error.
13575//
13576// See DescribeEgressOnlyInternetGateways for more information on using the DescribeEgressOnlyInternetGateways
13577// API call, and error handling.
13578//
13579// This method is useful when you want to inject custom logic or configuration
13580// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13581//
13582//
13583//    // Example sending a request using the DescribeEgressOnlyInternetGatewaysRequest method.
13584//    req, resp := client.DescribeEgressOnlyInternetGatewaysRequest(params)
13585//
13586//    err := req.Send()
13587//    if err == nil { // resp is now filled
13588//        fmt.Println(resp)
13589//    }
13590//
13591// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
13592func (c *EC2) DescribeEgressOnlyInternetGatewaysRequest(input *DescribeEgressOnlyInternetGatewaysInput) (req *request.Request, output *DescribeEgressOnlyInternetGatewaysOutput) {
13593	op := &request.Operation{
13594		Name:       opDescribeEgressOnlyInternetGateways,
13595		HTTPMethod: "POST",
13596		HTTPPath:   "/",
13597		Paginator: &request.Paginator{
13598			InputTokens:     []string{"NextToken"},
13599			OutputTokens:    []string{"NextToken"},
13600			LimitToken:      "MaxResults",
13601			TruncationToken: "",
13602		},
13603	}
13604
13605	if input == nil {
13606		input = &DescribeEgressOnlyInternetGatewaysInput{}
13607	}
13608
13609	output = &DescribeEgressOnlyInternetGatewaysOutput{}
13610	req = c.newRequest(op, input, output)
13611	return
13612}
13613
13614// DescribeEgressOnlyInternetGateways API operation for Amazon Elastic Compute Cloud.
13615//
13616// Describes one or more of your egress-only internet gateways.
13617//
13618// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13619// with awserr.Error's Code and Message methods to get detailed information about
13620// the error.
13621//
13622// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13623// API operation DescribeEgressOnlyInternetGateways for usage and error information.
13624// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeEgressOnlyInternetGateways
13625func (c *EC2) DescribeEgressOnlyInternetGateways(input *DescribeEgressOnlyInternetGatewaysInput) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
13626	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
13627	return out, req.Send()
13628}
13629
13630// DescribeEgressOnlyInternetGatewaysWithContext is the same as DescribeEgressOnlyInternetGateways with the addition of
13631// the ability to pass a context and additional request options.
13632//
13633// See DescribeEgressOnlyInternetGateways for details on how to use this API operation.
13634//
13635// The context must be non-nil and will be used for request cancellation. If
13636// the context is nil a panic will occur. In the future the SDK may create
13637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13638// for more information on using Contexts.
13639func (c *EC2) DescribeEgressOnlyInternetGatewaysWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, opts ...request.Option) (*DescribeEgressOnlyInternetGatewaysOutput, error) {
13640	req, out := c.DescribeEgressOnlyInternetGatewaysRequest(input)
13641	req.SetContext(ctx)
13642	req.ApplyOptions(opts...)
13643	return out, req.Send()
13644}
13645
13646// DescribeEgressOnlyInternetGatewaysPages iterates over the pages of a DescribeEgressOnlyInternetGateways operation,
13647// calling the "fn" function with the response data for each page. To stop
13648// iterating, return false from the fn function.
13649//
13650// See DescribeEgressOnlyInternetGateways method for more information on how to use this operation.
13651//
13652// Note: This operation can generate multiple requests to a service.
13653//
13654//    // Example iterating over at most 3 pages of a DescribeEgressOnlyInternetGateways operation.
13655//    pageNum := 0
13656//    err := client.DescribeEgressOnlyInternetGatewaysPages(params,
13657//        func(page *ec2.DescribeEgressOnlyInternetGatewaysOutput, lastPage bool) bool {
13658//            pageNum++
13659//            fmt.Println(page)
13660//            return pageNum <= 3
13661//        })
13662//
13663func (c *EC2) DescribeEgressOnlyInternetGatewaysPages(input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool) error {
13664	return c.DescribeEgressOnlyInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
13665}
13666
13667// DescribeEgressOnlyInternetGatewaysPagesWithContext same as DescribeEgressOnlyInternetGatewaysPages except
13668// it takes a Context and allows setting request options on the pages.
13669//
13670// The context must be non-nil and will be used for request cancellation. If
13671// the context is nil a panic will occur. In the future the SDK may create
13672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13673// for more information on using Contexts.
13674func (c *EC2) DescribeEgressOnlyInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeEgressOnlyInternetGatewaysInput, fn func(*DescribeEgressOnlyInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
13675	p := request.Pagination{
13676		NewRequest: func() (*request.Request, error) {
13677			var inCpy *DescribeEgressOnlyInternetGatewaysInput
13678			if input != nil {
13679				tmp := *input
13680				inCpy = &tmp
13681			}
13682			req, _ := c.DescribeEgressOnlyInternetGatewaysRequest(inCpy)
13683			req.SetContext(ctx)
13684			req.ApplyOptions(opts...)
13685			return req, nil
13686		},
13687	}
13688
13689	for p.Next() {
13690		if !fn(p.Page().(*DescribeEgressOnlyInternetGatewaysOutput), !p.HasNextPage()) {
13691			break
13692		}
13693	}
13694
13695	return p.Err()
13696}
13697
13698const opDescribeElasticGpus = "DescribeElasticGpus"
13699
13700// DescribeElasticGpusRequest generates a "aws/request.Request" representing the
13701// client's request for the DescribeElasticGpus operation. The "output" return
13702// value will be populated with the request's response once the request completes
13703// successfully.
13704//
13705// Use "Send" method on the returned Request to send the API call to the service.
13706// the "output" return value is not valid until after Send returns without error.
13707//
13708// See DescribeElasticGpus for more information on using the DescribeElasticGpus
13709// API call, and error handling.
13710//
13711// This method is useful when you want to inject custom logic or configuration
13712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13713//
13714//
13715//    // Example sending a request using the DescribeElasticGpusRequest method.
13716//    req, resp := client.DescribeElasticGpusRequest(params)
13717//
13718//    err := req.Send()
13719//    if err == nil { // resp is now filled
13720//        fmt.Println(resp)
13721//    }
13722//
13723// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
13724func (c *EC2) DescribeElasticGpusRequest(input *DescribeElasticGpusInput) (req *request.Request, output *DescribeElasticGpusOutput) {
13725	op := &request.Operation{
13726		Name:       opDescribeElasticGpus,
13727		HTTPMethod: "POST",
13728		HTTPPath:   "/",
13729	}
13730
13731	if input == nil {
13732		input = &DescribeElasticGpusInput{}
13733	}
13734
13735	output = &DescribeElasticGpusOutput{}
13736	req = c.newRequest(op, input, output)
13737	return
13738}
13739
13740// DescribeElasticGpus API operation for Amazon Elastic Compute Cloud.
13741//
13742// Describes the Elastic Graphics accelerator associated with your instances.
13743// For more information about Elastic Graphics, see Amazon Elastic Graphics
13744// (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html).
13745//
13746// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13747// with awserr.Error's Code and Message methods to get detailed information about
13748// the error.
13749//
13750// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13751// API operation DescribeElasticGpus for usage and error information.
13752// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeElasticGpus
13753func (c *EC2) DescribeElasticGpus(input *DescribeElasticGpusInput) (*DescribeElasticGpusOutput, error) {
13754	req, out := c.DescribeElasticGpusRequest(input)
13755	return out, req.Send()
13756}
13757
13758// DescribeElasticGpusWithContext is the same as DescribeElasticGpus with the addition of
13759// the ability to pass a context and additional request options.
13760//
13761// See DescribeElasticGpus for details on how to use this API operation.
13762//
13763// The context must be non-nil and will be used for request cancellation. If
13764// the context is nil a panic will occur. In the future the SDK may create
13765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13766// for more information on using Contexts.
13767func (c *EC2) DescribeElasticGpusWithContext(ctx aws.Context, input *DescribeElasticGpusInput, opts ...request.Option) (*DescribeElasticGpusOutput, error) {
13768	req, out := c.DescribeElasticGpusRequest(input)
13769	req.SetContext(ctx)
13770	req.ApplyOptions(opts...)
13771	return out, req.Send()
13772}
13773
13774const opDescribeExportImageTasks = "DescribeExportImageTasks"
13775
13776// DescribeExportImageTasksRequest generates a "aws/request.Request" representing the
13777// client's request for the DescribeExportImageTasks operation. The "output" return
13778// value will be populated with the request's response once the request completes
13779// successfully.
13780//
13781// Use "Send" method on the returned Request to send the API call to the service.
13782// the "output" return value is not valid until after Send returns without error.
13783//
13784// See DescribeExportImageTasks for more information on using the DescribeExportImageTasks
13785// API call, and error handling.
13786//
13787// This method is useful when you want to inject custom logic or configuration
13788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13789//
13790//
13791//    // Example sending a request using the DescribeExportImageTasksRequest method.
13792//    req, resp := client.DescribeExportImageTasksRequest(params)
13793//
13794//    err := req.Send()
13795//    if err == nil { // resp is now filled
13796//        fmt.Println(resp)
13797//    }
13798//
13799// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
13800func (c *EC2) DescribeExportImageTasksRequest(input *DescribeExportImageTasksInput) (req *request.Request, output *DescribeExportImageTasksOutput) {
13801	op := &request.Operation{
13802		Name:       opDescribeExportImageTasks,
13803		HTTPMethod: "POST",
13804		HTTPPath:   "/",
13805		Paginator: &request.Paginator{
13806			InputTokens:     []string{"NextToken"},
13807			OutputTokens:    []string{"NextToken"},
13808			LimitToken:      "MaxResults",
13809			TruncationToken: "",
13810		},
13811	}
13812
13813	if input == nil {
13814		input = &DescribeExportImageTasksInput{}
13815	}
13816
13817	output = &DescribeExportImageTasksOutput{}
13818	req = c.newRequest(op, input, output)
13819	return
13820}
13821
13822// DescribeExportImageTasks API operation for Amazon Elastic Compute Cloud.
13823//
13824// Describes the specified export image tasks or all your export image tasks.
13825//
13826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13827// with awserr.Error's Code and Message methods to get detailed information about
13828// the error.
13829//
13830// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13831// API operation DescribeExportImageTasks for usage and error information.
13832// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportImageTasks
13833func (c *EC2) DescribeExportImageTasks(input *DescribeExportImageTasksInput) (*DescribeExportImageTasksOutput, error) {
13834	req, out := c.DescribeExportImageTasksRequest(input)
13835	return out, req.Send()
13836}
13837
13838// DescribeExportImageTasksWithContext is the same as DescribeExportImageTasks with the addition of
13839// the ability to pass a context and additional request options.
13840//
13841// See DescribeExportImageTasks for details on how to use this API operation.
13842//
13843// The context must be non-nil and will be used for request cancellation. If
13844// the context is nil a panic will occur. In the future the SDK may create
13845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13846// for more information on using Contexts.
13847func (c *EC2) DescribeExportImageTasksWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, opts ...request.Option) (*DescribeExportImageTasksOutput, error) {
13848	req, out := c.DescribeExportImageTasksRequest(input)
13849	req.SetContext(ctx)
13850	req.ApplyOptions(opts...)
13851	return out, req.Send()
13852}
13853
13854// DescribeExportImageTasksPages iterates over the pages of a DescribeExportImageTasks operation,
13855// calling the "fn" function with the response data for each page. To stop
13856// iterating, return false from the fn function.
13857//
13858// See DescribeExportImageTasks method for more information on how to use this operation.
13859//
13860// Note: This operation can generate multiple requests to a service.
13861//
13862//    // Example iterating over at most 3 pages of a DescribeExportImageTasks operation.
13863//    pageNum := 0
13864//    err := client.DescribeExportImageTasksPages(params,
13865//        func(page *ec2.DescribeExportImageTasksOutput, lastPage bool) bool {
13866//            pageNum++
13867//            fmt.Println(page)
13868//            return pageNum <= 3
13869//        })
13870//
13871func (c *EC2) DescribeExportImageTasksPages(input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool) error {
13872	return c.DescribeExportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
13873}
13874
13875// DescribeExportImageTasksPagesWithContext same as DescribeExportImageTasksPages except
13876// it takes a Context and allows setting request options on the pages.
13877//
13878// The context must be non-nil and will be used for request cancellation. If
13879// the context is nil a panic will occur. In the future the SDK may create
13880// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13881// for more information on using Contexts.
13882func (c *EC2) DescribeExportImageTasksPagesWithContext(ctx aws.Context, input *DescribeExportImageTasksInput, fn func(*DescribeExportImageTasksOutput, bool) bool, opts ...request.Option) error {
13883	p := request.Pagination{
13884		NewRequest: func() (*request.Request, error) {
13885			var inCpy *DescribeExportImageTasksInput
13886			if input != nil {
13887				tmp := *input
13888				inCpy = &tmp
13889			}
13890			req, _ := c.DescribeExportImageTasksRequest(inCpy)
13891			req.SetContext(ctx)
13892			req.ApplyOptions(opts...)
13893			return req, nil
13894		},
13895	}
13896
13897	for p.Next() {
13898		if !fn(p.Page().(*DescribeExportImageTasksOutput), !p.HasNextPage()) {
13899			break
13900		}
13901	}
13902
13903	return p.Err()
13904}
13905
13906const opDescribeExportTasks = "DescribeExportTasks"
13907
13908// DescribeExportTasksRequest generates a "aws/request.Request" representing the
13909// client's request for the DescribeExportTasks operation. The "output" return
13910// value will be populated with the request's response once the request completes
13911// successfully.
13912//
13913// Use "Send" method on the returned Request to send the API call to the service.
13914// the "output" return value is not valid until after Send returns without error.
13915//
13916// See DescribeExportTasks for more information on using the DescribeExportTasks
13917// API call, and error handling.
13918//
13919// This method is useful when you want to inject custom logic or configuration
13920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13921//
13922//
13923//    // Example sending a request using the DescribeExportTasksRequest method.
13924//    req, resp := client.DescribeExportTasksRequest(params)
13925//
13926//    err := req.Send()
13927//    if err == nil { // resp is now filled
13928//        fmt.Println(resp)
13929//    }
13930//
13931// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
13932func (c *EC2) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
13933	op := &request.Operation{
13934		Name:       opDescribeExportTasks,
13935		HTTPMethod: "POST",
13936		HTTPPath:   "/",
13937	}
13938
13939	if input == nil {
13940		input = &DescribeExportTasksInput{}
13941	}
13942
13943	output = &DescribeExportTasksOutput{}
13944	req = c.newRequest(op, input, output)
13945	return
13946}
13947
13948// DescribeExportTasks API operation for Amazon Elastic Compute Cloud.
13949//
13950// Describes the specified export instance tasks or all your export instance
13951// tasks.
13952//
13953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13954// with awserr.Error's Code and Message methods to get detailed information about
13955// the error.
13956//
13957// See the AWS API reference guide for Amazon Elastic Compute Cloud's
13958// API operation DescribeExportTasks for usage and error information.
13959// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeExportTasks
13960func (c *EC2) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
13961	req, out := c.DescribeExportTasksRequest(input)
13962	return out, req.Send()
13963}
13964
13965// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
13966// the ability to pass a context and additional request options.
13967//
13968// See DescribeExportTasks for details on how to use this API operation.
13969//
13970// The context must be non-nil and will be used for request cancellation. If
13971// the context is nil a panic will occur. In the future the SDK may create
13972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13973// for more information on using Contexts.
13974func (c *EC2) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
13975	req, out := c.DescribeExportTasksRequest(input)
13976	req.SetContext(ctx)
13977	req.ApplyOptions(opts...)
13978	return out, req.Send()
13979}
13980
13981const opDescribeFastSnapshotRestores = "DescribeFastSnapshotRestores"
13982
13983// DescribeFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
13984// client's request for the DescribeFastSnapshotRestores operation. The "output" return
13985// value will be populated with the request's response once the request completes
13986// successfully.
13987//
13988// Use "Send" method on the returned Request to send the API call to the service.
13989// the "output" return value is not valid until after Send returns without error.
13990//
13991// See DescribeFastSnapshotRestores for more information on using the DescribeFastSnapshotRestores
13992// API call, and error handling.
13993//
13994// This method is useful when you want to inject custom logic or configuration
13995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13996//
13997//
13998//    // Example sending a request using the DescribeFastSnapshotRestoresRequest method.
13999//    req, resp := client.DescribeFastSnapshotRestoresRequest(params)
14000//
14001//    err := req.Send()
14002//    if err == nil { // resp is now filled
14003//        fmt.Println(resp)
14004//    }
14005//
14006// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
14007func (c *EC2) DescribeFastSnapshotRestoresRequest(input *DescribeFastSnapshotRestoresInput) (req *request.Request, output *DescribeFastSnapshotRestoresOutput) {
14008	op := &request.Operation{
14009		Name:       opDescribeFastSnapshotRestores,
14010		HTTPMethod: "POST",
14011		HTTPPath:   "/",
14012		Paginator: &request.Paginator{
14013			InputTokens:     []string{"NextToken"},
14014			OutputTokens:    []string{"NextToken"},
14015			LimitToken:      "MaxResults",
14016			TruncationToken: "",
14017		},
14018	}
14019
14020	if input == nil {
14021		input = &DescribeFastSnapshotRestoresInput{}
14022	}
14023
14024	output = &DescribeFastSnapshotRestoresOutput{}
14025	req = c.newRequest(op, input, output)
14026	return
14027}
14028
14029// DescribeFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
14030//
14031// Describes the state of fast snapshot restores for your snapshots.
14032//
14033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14034// with awserr.Error's Code and Message methods to get detailed information about
14035// the error.
14036//
14037// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14038// API operation DescribeFastSnapshotRestores for usage and error information.
14039// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFastSnapshotRestores
14040func (c *EC2) DescribeFastSnapshotRestores(input *DescribeFastSnapshotRestoresInput) (*DescribeFastSnapshotRestoresOutput, error) {
14041	req, out := c.DescribeFastSnapshotRestoresRequest(input)
14042	return out, req.Send()
14043}
14044
14045// DescribeFastSnapshotRestoresWithContext is the same as DescribeFastSnapshotRestores with the addition of
14046// the ability to pass a context and additional request options.
14047//
14048// See DescribeFastSnapshotRestores for details on how to use this API operation.
14049//
14050// The context must be non-nil and will be used for request cancellation. If
14051// the context is nil a panic will occur. In the future the SDK may create
14052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14053// for more information on using Contexts.
14054func (c *EC2) DescribeFastSnapshotRestoresWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, opts ...request.Option) (*DescribeFastSnapshotRestoresOutput, error) {
14055	req, out := c.DescribeFastSnapshotRestoresRequest(input)
14056	req.SetContext(ctx)
14057	req.ApplyOptions(opts...)
14058	return out, req.Send()
14059}
14060
14061// DescribeFastSnapshotRestoresPages iterates over the pages of a DescribeFastSnapshotRestores operation,
14062// calling the "fn" function with the response data for each page. To stop
14063// iterating, return false from the fn function.
14064//
14065// See DescribeFastSnapshotRestores method for more information on how to use this operation.
14066//
14067// Note: This operation can generate multiple requests to a service.
14068//
14069//    // Example iterating over at most 3 pages of a DescribeFastSnapshotRestores operation.
14070//    pageNum := 0
14071//    err := client.DescribeFastSnapshotRestoresPages(params,
14072//        func(page *ec2.DescribeFastSnapshotRestoresOutput, lastPage bool) bool {
14073//            pageNum++
14074//            fmt.Println(page)
14075//            return pageNum <= 3
14076//        })
14077//
14078func (c *EC2) DescribeFastSnapshotRestoresPages(input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool) error {
14079	return c.DescribeFastSnapshotRestoresPagesWithContext(aws.BackgroundContext(), input, fn)
14080}
14081
14082// DescribeFastSnapshotRestoresPagesWithContext same as DescribeFastSnapshotRestoresPages except
14083// it takes a Context and allows setting request options on the pages.
14084//
14085// The context must be non-nil and will be used for request cancellation. If
14086// the context is nil a panic will occur. In the future the SDK may create
14087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14088// for more information on using Contexts.
14089func (c *EC2) DescribeFastSnapshotRestoresPagesWithContext(ctx aws.Context, input *DescribeFastSnapshotRestoresInput, fn func(*DescribeFastSnapshotRestoresOutput, bool) bool, opts ...request.Option) error {
14090	p := request.Pagination{
14091		NewRequest: func() (*request.Request, error) {
14092			var inCpy *DescribeFastSnapshotRestoresInput
14093			if input != nil {
14094				tmp := *input
14095				inCpy = &tmp
14096			}
14097			req, _ := c.DescribeFastSnapshotRestoresRequest(inCpy)
14098			req.SetContext(ctx)
14099			req.ApplyOptions(opts...)
14100			return req, nil
14101		},
14102	}
14103
14104	for p.Next() {
14105		if !fn(p.Page().(*DescribeFastSnapshotRestoresOutput), !p.HasNextPage()) {
14106			break
14107		}
14108	}
14109
14110	return p.Err()
14111}
14112
14113const opDescribeFleetHistory = "DescribeFleetHistory"
14114
14115// DescribeFleetHistoryRequest generates a "aws/request.Request" representing the
14116// client's request for the DescribeFleetHistory operation. The "output" return
14117// value will be populated with the request's response once the request completes
14118// successfully.
14119//
14120// Use "Send" method on the returned Request to send the API call to the service.
14121// the "output" return value is not valid until after Send returns without error.
14122//
14123// See DescribeFleetHistory for more information on using the DescribeFleetHistory
14124// API call, and error handling.
14125//
14126// This method is useful when you want to inject custom logic or configuration
14127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14128//
14129//
14130//    // Example sending a request using the DescribeFleetHistoryRequest method.
14131//    req, resp := client.DescribeFleetHistoryRequest(params)
14132//
14133//    err := req.Send()
14134//    if err == nil { // resp is now filled
14135//        fmt.Println(resp)
14136//    }
14137//
14138// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
14139func (c *EC2) DescribeFleetHistoryRequest(input *DescribeFleetHistoryInput) (req *request.Request, output *DescribeFleetHistoryOutput) {
14140	op := &request.Operation{
14141		Name:       opDescribeFleetHistory,
14142		HTTPMethod: "POST",
14143		HTTPPath:   "/",
14144	}
14145
14146	if input == nil {
14147		input = &DescribeFleetHistoryInput{}
14148	}
14149
14150	output = &DescribeFleetHistoryOutput{}
14151	req = c.newRequest(op, input, output)
14152	return
14153}
14154
14155// DescribeFleetHistory API operation for Amazon Elastic Compute Cloud.
14156//
14157// Describes the events for the specified EC2 Fleet during the specified time.
14158//
14159// EC2 Fleet events are delayed by up to 30 seconds before they can be described.
14160// This ensures that you can query by the last evaluated time and not miss a
14161// recorded event. EC2 Fleet events are available for 48 hours.
14162//
14163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14164// with awserr.Error's Code and Message methods to get detailed information about
14165// the error.
14166//
14167// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14168// API operation DescribeFleetHistory for usage and error information.
14169// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetHistory
14170func (c *EC2) DescribeFleetHistory(input *DescribeFleetHistoryInput) (*DescribeFleetHistoryOutput, error) {
14171	req, out := c.DescribeFleetHistoryRequest(input)
14172	return out, req.Send()
14173}
14174
14175// DescribeFleetHistoryWithContext is the same as DescribeFleetHistory with the addition of
14176// the ability to pass a context and additional request options.
14177//
14178// See DescribeFleetHistory for details on how to use this API operation.
14179//
14180// The context must be non-nil and will be used for request cancellation. If
14181// the context is nil a panic will occur. In the future the SDK may create
14182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14183// for more information on using Contexts.
14184func (c *EC2) DescribeFleetHistoryWithContext(ctx aws.Context, input *DescribeFleetHistoryInput, opts ...request.Option) (*DescribeFleetHistoryOutput, error) {
14185	req, out := c.DescribeFleetHistoryRequest(input)
14186	req.SetContext(ctx)
14187	req.ApplyOptions(opts...)
14188	return out, req.Send()
14189}
14190
14191const opDescribeFleetInstances = "DescribeFleetInstances"
14192
14193// DescribeFleetInstancesRequest generates a "aws/request.Request" representing the
14194// client's request for the DescribeFleetInstances operation. The "output" return
14195// value will be populated with the request's response once the request completes
14196// successfully.
14197//
14198// Use "Send" method on the returned Request to send the API call to the service.
14199// the "output" return value is not valid until after Send returns without error.
14200//
14201// See DescribeFleetInstances for more information on using the DescribeFleetInstances
14202// API call, and error handling.
14203//
14204// This method is useful when you want to inject custom logic or configuration
14205// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14206//
14207//
14208//    // Example sending a request using the DescribeFleetInstancesRequest method.
14209//    req, resp := client.DescribeFleetInstancesRequest(params)
14210//
14211//    err := req.Send()
14212//    if err == nil { // resp is now filled
14213//        fmt.Println(resp)
14214//    }
14215//
14216// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
14217func (c *EC2) DescribeFleetInstancesRequest(input *DescribeFleetInstancesInput) (req *request.Request, output *DescribeFleetInstancesOutput) {
14218	op := &request.Operation{
14219		Name:       opDescribeFleetInstances,
14220		HTTPMethod: "POST",
14221		HTTPPath:   "/",
14222	}
14223
14224	if input == nil {
14225		input = &DescribeFleetInstancesInput{}
14226	}
14227
14228	output = &DescribeFleetInstancesOutput{}
14229	req = c.newRequest(op, input, output)
14230	return
14231}
14232
14233// DescribeFleetInstances API operation for Amazon Elastic Compute Cloud.
14234//
14235// Describes the running instances for the specified EC2 Fleet.
14236//
14237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14238// with awserr.Error's Code and Message methods to get detailed information about
14239// the error.
14240//
14241// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14242// API operation DescribeFleetInstances for usage and error information.
14243// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleetInstances
14244func (c *EC2) DescribeFleetInstances(input *DescribeFleetInstancesInput) (*DescribeFleetInstancesOutput, error) {
14245	req, out := c.DescribeFleetInstancesRequest(input)
14246	return out, req.Send()
14247}
14248
14249// DescribeFleetInstancesWithContext is the same as DescribeFleetInstances with the addition of
14250// the ability to pass a context and additional request options.
14251//
14252// See DescribeFleetInstances for details on how to use this API operation.
14253//
14254// The context must be non-nil and will be used for request cancellation. If
14255// the context is nil a panic will occur. In the future the SDK may create
14256// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14257// for more information on using Contexts.
14258func (c *EC2) DescribeFleetInstancesWithContext(ctx aws.Context, input *DescribeFleetInstancesInput, opts ...request.Option) (*DescribeFleetInstancesOutput, error) {
14259	req, out := c.DescribeFleetInstancesRequest(input)
14260	req.SetContext(ctx)
14261	req.ApplyOptions(opts...)
14262	return out, req.Send()
14263}
14264
14265const opDescribeFleets = "DescribeFleets"
14266
14267// DescribeFleetsRequest generates a "aws/request.Request" representing the
14268// client's request for the DescribeFleets operation. The "output" return
14269// value will be populated with the request's response once the request completes
14270// successfully.
14271//
14272// Use "Send" method on the returned Request to send the API call to the service.
14273// the "output" return value is not valid until after Send returns without error.
14274//
14275// See DescribeFleets for more information on using the DescribeFleets
14276// API call, and error handling.
14277//
14278// This method is useful when you want to inject custom logic or configuration
14279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14280//
14281//
14282//    // Example sending a request using the DescribeFleetsRequest method.
14283//    req, resp := client.DescribeFleetsRequest(params)
14284//
14285//    err := req.Send()
14286//    if err == nil { // resp is now filled
14287//        fmt.Println(resp)
14288//    }
14289//
14290// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
14291func (c *EC2) DescribeFleetsRequest(input *DescribeFleetsInput) (req *request.Request, output *DescribeFleetsOutput) {
14292	op := &request.Operation{
14293		Name:       opDescribeFleets,
14294		HTTPMethod: "POST",
14295		HTTPPath:   "/",
14296		Paginator: &request.Paginator{
14297			InputTokens:     []string{"NextToken"},
14298			OutputTokens:    []string{"NextToken"},
14299			LimitToken:      "MaxResults",
14300			TruncationToken: "",
14301		},
14302	}
14303
14304	if input == nil {
14305		input = &DescribeFleetsInput{}
14306	}
14307
14308	output = &DescribeFleetsOutput{}
14309	req = c.newRequest(op, input, output)
14310	return
14311}
14312
14313// DescribeFleets API operation for Amazon Elastic Compute Cloud.
14314//
14315// Describes the specified EC2 Fleets or all of your EC2 Fleets.
14316//
14317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14318// with awserr.Error's Code and Message methods to get detailed information about
14319// the error.
14320//
14321// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14322// API operation DescribeFleets for usage and error information.
14323// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFleets
14324func (c *EC2) DescribeFleets(input *DescribeFleetsInput) (*DescribeFleetsOutput, error) {
14325	req, out := c.DescribeFleetsRequest(input)
14326	return out, req.Send()
14327}
14328
14329// DescribeFleetsWithContext is the same as DescribeFleets with the addition of
14330// the ability to pass a context and additional request options.
14331//
14332// See DescribeFleets for details on how to use this API operation.
14333//
14334// The context must be non-nil and will be used for request cancellation. If
14335// the context is nil a panic will occur. In the future the SDK may create
14336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14337// for more information on using Contexts.
14338func (c *EC2) DescribeFleetsWithContext(ctx aws.Context, input *DescribeFleetsInput, opts ...request.Option) (*DescribeFleetsOutput, error) {
14339	req, out := c.DescribeFleetsRequest(input)
14340	req.SetContext(ctx)
14341	req.ApplyOptions(opts...)
14342	return out, req.Send()
14343}
14344
14345// DescribeFleetsPages iterates over the pages of a DescribeFleets operation,
14346// calling the "fn" function with the response data for each page. To stop
14347// iterating, return false from the fn function.
14348//
14349// See DescribeFleets method for more information on how to use this operation.
14350//
14351// Note: This operation can generate multiple requests to a service.
14352//
14353//    // Example iterating over at most 3 pages of a DescribeFleets operation.
14354//    pageNum := 0
14355//    err := client.DescribeFleetsPages(params,
14356//        func(page *ec2.DescribeFleetsOutput, lastPage bool) bool {
14357//            pageNum++
14358//            fmt.Println(page)
14359//            return pageNum <= 3
14360//        })
14361//
14362func (c *EC2) DescribeFleetsPages(input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool) error {
14363	return c.DescribeFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
14364}
14365
14366// DescribeFleetsPagesWithContext same as DescribeFleetsPages except
14367// it takes a Context and allows setting request options on the pages.
14368//
14369// The context must be non-nil and will be used for request cancellation. If
14370// the context is nil a panic will occur. In the future the SDK may create
14371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14372// for more information on using Contexts.
14373func (c *EC2) DescribeFleetsPagesWithContext(ctx aws.Context, input *DescribeFleetsInput, fn func(*DescribeFleetsOutput, bool) bool, opts ...request.Option) error {
14374	p := request.Pagination{
14375		NewRequest: func() (*request.Request, error) {
14376			var inCpy *DescribeFleetsInput
14377			if input != nil {
14378				tmp := *input
14379				inCpy = &tmp
14380			}
14381			req, _ := c.DescribeFleetsRequest(inCpy)
14382			req.SetContext(ctx)
14383			req.ApplyOptions(opts...)
14384			return req, nil
14385		},
14386	}
14387
14388	for p.Next() {
14389		if !fn(p.Page().(*DescribeFleetsOutput), !p.HasNextPage()) {
14390			break
14391		}
14392	}
14393
14394	return p.Err()
14395}
14396
14397const opDescribeFlowLogs = "DescribeFlowLogs"
14398
14399// DescribeFlowLogsRequest generates a "aws/request.Request" representing the
14400// client's request for the DescribeFlowLogs operation. The "output" return
14401// value will be populated with the request's response once the request completes
14402// successfully.
14403//
14404// Use "Send" method on the returned Request to send the API call to the service.
14405// the "output" return value is not valid until after Send returns without error.
14406//
14407// See DescribeFlowLogs for more information on using the DescribeFlowLogs
14408// API call, and error handling.
14409//
14410// This method is useful when you want to inject custom logic or configuration
14411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14412//
14413//
14414//    // Example sending a request using the DescribeFlowLogsRequest method.
14415//    req, resp := client.DescribeFlowLogsRequest(params)
14416//
14417//    err := req.Send()
14418//    if err == nil { // resp is now filled
14419//        fmt.Println(resp)
14420//    }
14421//
14422// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
14423func (c *EC2) DescribeFlowLogsRequest(input *DescribeFlowLogsInput) (req *request.Request, output *DescribeFlowLogsOutput) {
14424	op := &request.Operation{
14425		Name:       opDescribeFlowLogs,
14426		HTTPMethod: "POST",
14427		HTTPPath:   "/",
14428		Paginator: &request.Paginator{
14429			InputTokens:     []string{"NextToken"},
14430			OutputTokens:    []string{"NextToken"},
14431			LimitToken:      "MaxResults",
14432			TruncationToken: "",
14433		},
14434	}
14435
14436	if input == nil {
14437		input = &DescribeFlowLogsInput{}
14438	}
14439
14440	output = &DescribeFlowLogsOutput{}
14441	req = c.newRequest(op, input, output)
14442	return
14443}
14444
14445// DescribeFlowLogs API operation for Amazon Elastic Compute Cloud.
14446//
14447// Describes one or more flow logs. To view the information in your flow logs
14448// (the log streams for the network interfaces), you must use the CloudWatch
14449// Logs console or the CloudWatch Logs API.
14450//
14451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14452// with awserr.Error's Code and Message methods to get detailed information about
14453// the error.
14454//
14455// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14456// API operation DescribeFlowLogs for usage and error information.
14457// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFlowLogs
14458func (c *EC2) DescribeFlowLogs(input *DescribeFlowLogsInput) (*DescribeFlowLogsOutput, error) {
14459	req, out := c.DescribeFlowLogsRequest(input)
14460	return out, req.Send()
14461}
14462
14463// DescribeFlowLogsWithContext is the same as DescribeFlowLogs with the addition of
14464// the ability to pass a context and additional request options.
14465//
14466// See DescribeFlowLogs for details on how to use this API operation.
14467//
14468// The context must be non-nil and will be used for request cancellation. If
14469// the context is nil a panic will occur. In the future the SDK may create
14470// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14471// for more information on using Contexts.
14472func (c *EC2) DescribeFlowLogsWithContext(ctx aws.Context, input *DescribeFlowLogsInput, opts ...request.Option) (*DescribeFlowLogsOutput, error) {
14473	req, out := c.DescribeFlowLogsRequest(input)
14474	req.SetContext(ctx)
14475	req.ApplyOptions(opts...)
14476	return out, req.Send()
14477}
14478
14479// DescribeFlowLogsPages iterates over the pages of a DescribeFlowLogs operation,
14480// calling the "fn" function with the response data for each page. To stop
14481// iterating, return false from the fn function.
14482//
14483// See DescribeFlowLogs method for more information on how to use this operation.
14484//
14485// Note: This operation can generate multiple requests to a service.
14486//
14487//    // Example iterating over at most 3 pages of a DescribeFlowLogs operation.
14488//    pageNum := 0
14489//    err := client.DescribeFlowLogsPages(params,
14490//        func(page *ec2.DescribeFlowLogsOutput, lastPage bool) bool {
14491//            pageNum++
14492//            fmt.Println(page)
14493//            return pageNum <= 3
14494//        })
14495//
14496func (c *EC2) DescribeFlowLogsPages(input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool) error {
14497	return c.DescribeFlowLogsPagesWithContext(aws.BackgroundContext(), input, fn)
14498}
14499
14500// DescribeFlowLogsPagesWithContext same as DescribeFlowLogsPages except
14501// it takes a Context and allows setting request options on the pages.
14502//
14503// The context must be non-nil and will be used for request cancellation. If
14504// the context is nil a panic will occur. In the future the SDK may create
14505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14506// for more information on using Contexts.
14507func (c *EC2) DescribeFlowLogsPagesWithContext(ctx aws.Context, input *DescribeFlowLogsInput, fn func(*DescribeFlowLogsOutput, bool) bool, opts ...request.Option) error {
14508	p := request.Pagination{
14509		NewRequest: func() (*request.Request, error) {
14510			var inCpy *DescribeFlowLogsInput
14511			if input != nil {
14512				tmp := *input
14513				inCpy = &tmp
14514			}
14515			req, _ := c.DescribeFlowLogsRequest(inCpy)
14516			req.SetContext(ctx)
14517			req.ApplyOptions(opts...)
14518			return req, nil
14519		},
14520	}
14521
14522	for p.Next() {
14523		if !fn(p.Page().(*DescribeFlowLogsOutput), !p.HasNextPage()) {
14524			break
14525		}
14526	}
14527
14528	return p.Err()
14529}
14530
14531const opDescribeFpgaImageAttribute = "DescribeFpgaImageAttribute"
14532
14533// DescribeFpgaImageAttributeRequest generates a "aws/request.Request" representing the
14534// client's request for the DescribeFpgaImageAttribute operation. The "output" return
14535// value will be populated with the request's response once the request completes
14536// successfully.
14537//
14538// Use "Send" method on the returned Request to send the API call to the service.
14539// the "output" return value is not valid until after Send returns without error.
14540//
14541// See DescribeFpgaImageAttribute for more information on using the DescribeFpgaImageAttribute
14542// API call, and error handling.
14543//
14544// This method is useful when you want to inject custom logic or configuration
14545// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14546//
14547//
14548//    // Example sending a request using the DescribeFpgaImageAttributeRequest method.
14549//    req, resp := client.DescribeFpgaImageAttributeRequest(params)
14550//
14551//    err := req.Send()
14552//    if err == nil { // resp is now filled
14553//        fmt.Println(resp)
14554//    }
14555//
14556// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
14557func (c *EC2) DescribeFpgaImageAttributeRequest(input *DescribeFpgaImageAttributeInput) (req *request.Request, output *DescribeFpgaImageAttributeOutput) {
14558	op := &request.Operation{
14559		Name:       opDescribeFpgaImageAttribute,
14560		HTTPMethod: "POST",
14561		HTTPPath:   "/",
14562	}
14563
14564	if input == nil {
14565		input = &DescribeFpgaImageAttributeInput{}
14566	}
14567
14568	output = &DescribeFpgaImageAttributeOutput{}
14569	req = c.newRequest(op, input, output)
14570	return
14571}
14572
14573// DescribeFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
14574//
14575// Describes the specified attribute of the specified Amazon FPGA Image (AFI).
14576//
14577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14578// with awserr.Error's Code and Message methods to get detailed information about
14579// the error.
14580//
14581// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14582// API operation DescribeFpgaImageAttribute for usage and error information.
14583// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImageAttribute
14584func (c *EC2) DescribeFpgaImageAttribute(input *DescribeFpgaImageAttributeInput) (*DescribeFpgaImageAttributeOutput, error) {
14585	req, out := c.DescribeFpgaImageAttributeRequest(input)
14586	return out, req.Send()
14587}
14588
14589// DescribeFpgaImageAttributeWithContext is the same as DescribeFpgaImageAttribute with the addition of
14590// the ability to pass a context and additional request options.
14591//
14592// See DescribeFpgaImageAttribute for details on how to use this API operation.
14593//
14594// The context must be non-nil and will be used for request cancellation. If
14595// the context is nil a panic will occur. In the future the SDK may create
14596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14597// for more information on using Contexts.
14598func (c *EC2) DescribeFpgaImageAttributeWithContext(ctx aws.Context, input *DescribeFpgaImageAttributeInput, opts ...request.Option) (*DescribeFpgaImageAttributeOutput, error) {
14599	req, out := c.DescribeFpgaImageAttributeRequest(input)
14600	req.SetContext(ctx)
14601	req.ApplyOptions(opts...)
14602	return out, req.Send()
14603}
14604
14605const opDescribeFpgaImages = "DescribeFpgaImages"
14606
14607// DescribeFpgaImagesRequest generates a "aws/request.Request" representing the
14608// client's request for the DescribeFpgaImages operation. The "output" return
14609// value will be populated with the request's response once the request completes
14610// successfully.
14611//
14612// Use "Send" method on the returned Request to send the API call to the service.
14613// the "output" return value is not valid until after Send returns without error.
14614//
14615// See DescribeFpgaImages for more information on using the DescribeFpgaImages
14616// API call, and error handling.
14617//
14618// This method is useful when you want to inject custom logic or configuration
14619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14620//
14621//
14622//    // Example sending a request using the DescribeFpgaImagesRequest method.
14623//    req, resp := client.DescribeFpgaImagesRequest(params)
14624//
14625//    err := req.Send()
14626//    if err == nil { // resp is now filled
14627//        fmt.Println(resp)
14628//    }
14629//
14630// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
14631func (c *EC2) DescribeFpgaImagesRequest(input *DescribeFpgaImagesInput) (req *request.Request, output *DescribeFpgaImagesOutput) {
14632	op := &request.Operation{
14633		Name:       opDescribeFpgaImages,
14634		HTTPMethod: "POST",
14635		HTTPPath:   "/",
14636		Paginator: &request.Paginator{
14637			InputTokens:     []string{"NextToken"},
14638			OutputTokens:    []string{"NextToken"},
14639			LimitToken:      "MaxResults",
14640			TruncationToken: "",
14641		},
14642	}
14643
14644	if input == nil {
14645		input = &DescribeFpgaImagesInput{}
14646	}
14647
14648	output = &DescribeFpgaImagesOutput{}
14649	req = c.newRequest(op, input, output)
14650	return
14651}
14652
14653// DescribeFpgaImages API operation for Amazon Elastic Compute Cloud.
14654//
14655// Describes the Amazon FPGA Images (AFIs) available to you. These include public
14656// AFIs, private AFIs that you own, and AFIs owned by other AWS accounts for
14657// which you have load permissions.
14658//
14659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14660// with awserr.Error's Code and Message methods to get detailed information about
14661// the error.
14662//
14663// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14664// API operation DescribeFpgaImages for usage and error information.
14665// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeFpgaImages
14666func (c *EC2) DescribeFpgaImages(input *DescribeFpgaImagesInput) (*DescribeFpgaImagesOutput, error) {
14667	req, out := c.DescribeFpgaImagesRequest(input)
14668	return out, req.Send()
14669}
14670
14671// DescribeFpgaImagesWithContext is the same as DescribeFpgaImages with the addition of
14672// the ability to pass a context and additional request options.
14673//
14674// See DescribeFpgaImages for details on how to use this API operation.
14675//
14676// The context must be non-nil and will be used for request cancellation. If
14677// the context is nil a panic will occur. In the future the SDK may create
14678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14679// for more information on using Contexts.
14680func (c *EC2) DescribeFpgaImagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, opts ...request.Option) (*DescribeFpgaImagesOutput, error) {
14681	req, out := c.DescribeFpgaImagesRequest(input)
14682	req.SetContext(ctx)
14683	req.ApplyOptions(opts...)
14684	return out, req.Send()
14685}
14686
14687// DescribeFpgaImagesPages iterates over the pages of a DescribeFpgaImages operation,
14688// calling the "fn" function with the response data for each page. To stop
14689// iterating, return false from the fn function.
14690//
14691// See DescribeFpgaImages method for more information on how to use this operation.
14692//
14693// Note: This operation can generate multiple requests to a service.
14694//
14695//    // Example iterating over at most 3 pages of a DescribeFpgaImages operation.
14696//    pageNum := 0
14697//    err := client.DescribeFpgaImagesPages(params,
14698//        func(page *ec2.DescribeFpgaImagesOutput, lastPage bool) bool {
14699//            pageNum++
14700//            fmt.Println(page)
14701//            return pageNum <= 3
14702//        })
14703//
14704func (c *EC2) DescribeFpgaImagesPages(input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool) error {
14705	return c.DescribeFpgaImagesPagesWithContext(aws.BackgroundContext(), input, fn)
14706}
14707
14708// DescribeFpgaImagesPagesWithContext same as DescribeFpgaImagesPages except
14709// it takes a Context and allows setting request options on the pages.
14710//
14711// The context must be non-nil and will be used for request cancellation. If
14712// the context is nil a panic will occur. In the future the SDK may create
14713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14714// for more information on using Contexts.
14715func (c *EC2) DescribeFpgaImagesPagesWithContext(ctx aws.Context, input *DescribeFpgaImagesInput, fn func(*DescribeFpgaImagesOutput, bool) bool, opts ...request.Option) error {
14716	p := request.Pagination{
14717		NewRequest: func() (*request.Request, error) {
14718			var inCpy *DescribeFpgaImagesInput
14719			if input != nil {
14720				tmp := *input
14721				inCpy = &tmp
14722			}
14723			req, _ := c.DescribeFpgaImagesRequest(inCpy)
14724			req.SetContext(ctx)
14725			req.ApplyOptions(opts...)
14726			return req, nil
14727		},
14728	}
14729
14730	for p.Next() {
14731		if !fn(p.Page().(*DescribeFpgaImagesOutput), !p.HasNextPage()) {
14732			break
14733		}
14734	}
14735
14736	return p.Err()
14737}
14738
14739const opDescribeHostReservationOfferings = "DescribeHostReservationOfferings"
14740
14741// DescribeHostReservationOfferingsRequest generates a "aws/request.Request" representing the
14742// client's request for the DescribeHostReservationOfferings operation. The "output" return
14743// value will be populated with the request's response once the request completes
14744// successfully.
14745//
14746// Use "Send" method on the returned Request to send the API call to the service.
14747// the "output" return value is not valid until after Send returns without error.
14748//
14749// See DescribeHostReservationOfferings for more information on using the DescribeHostReservationOfferings
14750// API call, and error handling.
14751//
14752// This method is useful when you want to inject custom logic or configuration
14753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14754//
14755//
14756//    // Example sending a request using the DescribeHostReservationOfferingsRequest method.
14757//    req, resp := client.DescribeHostReservationOfferingsRequest(params)
14758//
14759//    err := req.Send()
14760//    if err == nil { // resp is now filled
14761//        fmt.Println(resp)
14762//    }
14763//
14764// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
14765func (c *EC2) DescribeHostReservationOfferingsRequest(input *DescribeHostReservationOfferingsInput) (req *request.Request, output *DescribeHostReservationOfferingsOutput) {
14766	op := &request.Operation{
14767		Name:       opDescribeHostReservationOfferings,
14768		HTTPMethod: "POST",
14769		HTTPPath:   "/",
14770		Paginator: &request.Paginator{
14771			InputTokens:     []string{"NextToken"},
14772			OutputTokens:    []string{"NextToken"},
14773			LimitToken:      "MaxResults",
14774			TruncationToken: "",
14775		},
14776	}
14777
14778	if input == nil {
14779		input = &DescribeHostReservationOfferingsInput{}
14780	}
14781
14782	output = &DescribeHostReservationOfferingsOutput{}
14783	req = c.newRequest(op, input, output)
14784	return
14785}
14786
14787// DescribeHostReservationOfferings API operation for Amazon Elastic Compute Cloud.
14788//
14789// Describes the Dedicated Host reservations that are available to purchase.
14790//
14791// The results describe all of the Dedicated Host reservation offerings, including
14792// offerings that might not match the instance family and Region of your Dedicated
14793// Hosts. When purchasing an offering, ensure that the instance family and Region
14794// of the offering matches that of the Dedicated Hosts with which it is to be
14795// associated. For more information about supported instance types, see Dedicated
14796// Hosts Overview (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html)
14797// in the Amazon Elastic Compute Cloud User Guide.
14798//
14799// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14800// with awserr.Error's Code and Message methods to get detailed information about
14801// the error.
14802//
14803// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14804// API operation DescribeHostReservationOfferings for usage and error information.
14805// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservationOfferings
14806func (c *EC2) DescribeHostReservationOfferings(input *DescribeHostReservationOfferingsInput) (*DescribeHostReservationOfferingsOutput, error) {
14807	req, out := c.DescribeHostReservationOfferingsRequest(input)
14808	return out, req.Send()
14809}
14810
14811// DescribeHostReservationOfferingsWithContext is the same as DescribeHostReservationOfferings with the addition of
14812// the ability to pass a context and additional request options.
14813//
14814// See DescribeHostReservationOfferings for details on how to use this API operation.
14815//
14816// The context must be non-nil and will be used for request cancellation. If
14817// the context is nil a panic will occur. In the future the SDK may create
14818// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14819// for more information on using Contexts.
14820func (c *EC2) DescribeHostReservationOfferingsWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, opts ...request.Option) (*DescribeHostReservationOfferingsOutput, error) {
14821	req, out := c.DescribeHostReservationOfferingsRequest(input)
14822	req.SetContext(ctx)
14823	req.ApplyOptions(opts...)
14824	return out, req.Send()
14825}
14826
14827// DescribeHostReservationOfferingsPages iterates over the pages of a DescribeHostReservationOfferings operation,
14828// calling the "fn" function with the response data for each page. To stop
14829// iterating, return false from the fn function.
14830//
14831// See DescribeHostReservationOfferings method for more information on how to use this operation.
14832//
14833// Note: This operation can generate multiple requests to a service.
14834//
14835//    // Example iterating over at most 3 pages of a DescribeHostReservationOfferings operation.
14836//    pageNum := 0
14837//    err := client.DescribeHostReservationOfferingsPages(params,
14838//        func(page *ec2.DescribeHostReservationOfferingsOutput, lastPage bool) bool {
14839//            pageNum++
14840//            fmt.Println(page)
14841//            return pageNum <= 3
14842//        })
14843//
14844func (c *EC2) DescribeHostReservationOfferingsPages(input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool) error {
14845	return c.DescribeHostReservationOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
14846}
14847
14848// DescribeHostReservationOfferingsPagesWithContext same as DescribeHostReservationOfferingsPages except
14849// it takes a Context and allows setting request options on the pages.
14850//
14851// The context must be non-nil and will be used for request cancellation. If
14852// the context is nil a panic will occur. In the future the SDK may create
14853// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14854// for more information on using Contexts.
14855func (c *EC2) DescribeHostReservationOfferingsPagesWithContext(ctx aws.Context, input *DescribeHostReservationOfferingsInput, fn func(*DescribeHostReservationOfferingsOutput, bool) bool, opts ...request.Option) error {
14856	p := request.Pagination{
14857		NewRequest: func() (*request.Request, error) {
14858			var inCpy *DescribeHostReservationOfferingsInput
14859			if input != nil {
14860				tmp := *input
14861				inCpy = &tmp
14862			}
14863			req, _ := c.DescribeHostReservationOfferingsRequest(inCpy)
14864			req.SetContext(ctx)
14865			req.ApplyOptions(opts...)
14866			return req, nil
14867		},
14868	}
14869
14870	for p.Next() {
14871		if !fn(p.Page().(*DescribeHostReservationOfferingsOutput), !p.HasNextPage()) {
14872			break
14873		}
14874	}
14875
14876	return p.Err()
14877}
14878
14879const opDescribeHostReservations = "DescribeHostReservations"
14880
14881// DescribeHostReservationsRequest generates a "aws/request.Request" representing the
14882// client's request for the DescribeHostReservations operation. The "output" return
14883// value will be populated with the request's response once the request completes
14884// successfully.
14885//
14886// Use "Send" method on the returned Request to send the API call to the service.
14887// the "output" return value is not valid until after Send returns without error.
14888//
14889// See DescribeHostReservations for more information on using the DescribeHostReservations
14890// API call, and error handling.
14891//
14892// This method is useful when you want to inject custom logic or configuration
14893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
14894//
14895//
14896//    // Example sending a request using the DescribeHostReservationsRequest method.
14897//    req, resp := client.DescribeHostReservationsRequest(params)
14898//
14899//    err := req.Send()
14900//    if err == nil { // resp is now filled
14901//        fmt.Println(resp)
14902//    }
14903//
14904// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
14905func (c *EC2) DescribeHostReservationsRequest(input *DescribeHostReservationsInput) (req *request.Request, output *DescribeHostReservationsOutput) {
14906	op := &request.Operation{
14907		Name:       opDescribeHostReservations,
14908		HTTPMethod: "POST",
14909		HTTPPath:   "/",
14910		Paginator: &request.Paginator{
14911			InputTokens:     []string{"NextToken"},
14912			OutputTokens:    []string{"NextToken"},
14913			LimitToken:      "MaxResults",
14914			TruncationToken: "",
14915		},
14916	}
14917
14918	if input == nil {
14919		input = &DescribeHostReservationsInput{}
14920	}
14921
14922	output = &DescribeHostReservationsOutput{}
14923	req = c.newRequest(op, input, output)
14924	return
14925}
14926
14927// DescribeHostReservations API operation for Amazon Elastic Compute Cloud.
14928//
14929// Describes reservations that are associated with Dedicated Hosts in your account.
14930//
14931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
14932// with awserr.Error's Code and Message methods to get detailed information about
14933// the error.
14934//
14935// See the AWS API reference guide for Amazon Elastic Compute Cloud's
14936// API operation DescribeHostReservations for usage and error information.
14937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHostReservations
14938func (c *EC2) DescribeHostReservations(input *DescribeHostReservationsInput) (*DescribeHostReservationsOutput, error) {
14939	req, out := c.DescribeHostReservationsRequest(input)
14940	return out, req.Send()
14941}
14942
14943// DescribeHostReservationsWithContext is the same as DescribeHostReservations with the addition of
14944// the ability to pass a context and additional request options.
14945//
14946// See DescribeHostReservations for details on how to use this API operation.
14947//
14948// The context must be non-nil and will be used for request cancellation. If
14949// the context is nil a panic will occur. In the future the SDK may create
14950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14951// for more information on using Contexts.
14952func (c *EC2) DescribeHostReservationsWithContext(ctx aws.Context, input *DescribeHostReservationsInput, opts ...request.Option) (*DescribeHostReservationsOutput, error) {
14953	req, out := c.DescribeHostReservationsRequest(input)
14954	req.SetContext(ctx)
14955	req.ApplyOptions(opts...)
14956	return out, req.Send()
14957}
14958
14959// DescribeHostReservationsPages iterates over the pages of a DescribeHostReservations operation,
14960// calling the "fn" function with the response data for each page. To stop
14961// iterating, return false from the fn function.
14962//
14963// See DescribeHostReservations method for more information on how to use this operation.
14964//
14965// Note: This operation can generate multiple requests to a service.
14966//
14967//    // Example iterating over at most 3 pages of a DescribeHostReservations operation.
14968//    pageNum := 0
14969//    err := client.DescribeHostReservationsPages(params,
14970//        func(page *ec2.DescribeHostReservationsOutput, lastPage bool) bool {
14971//            pageNum++
14972//            fmt.Println(page)
14973//            return pageNum <= 3
14974//        })
14975//
14976func (c *EC2) DescribeHostReservationsPages(input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool) error {
14977	return c.DescribeHostReservationsPagesWithContext(aws.BackgroundContext(), input, fn)
14978}
14979
14980// DescribeHostReservationsPagesWithContext same as DescribeHostReservationsPages except
14981// it takes a Context and allows setting request options on the pages.
14982//
14983// The context must be non-nil and will be used for request cancellation. If
14984// the context is nil a panic will occur. In the future the SDK may create
14985// sub-contexts for http.Requests. See https://golang.org/pkg/context/
14986// for more information on using Contexts.
14987func (c *EC2) DescribeHostReservationsPagesWithContext(ctx aws.Context, input *DescribeHostReservationsInput, fn func(*DescribeHostReservationsOutput, bool) bool, opts ...request.Option) error {
14988	p := request.Pagination{
14989		NewRequest: func() (*request.Request, error) {
14990			var inCpy *DescribeHostReservationsInput
14991			if input != nil {
14992				tmp := *input
14993				inCpy = &tmp
14994			}
14995			req, _ := c.DescribeHostReservationsRequest(inCpy)
14996			req.SetContext(ctx)
14997			req.ApplyOptions(opts...)
14998			return req, nil
14999		},
15000	}
15001
15002	for p.Next() {
15003		if !fn(p.Page().(*DescribeHostReservationsOutput), !p.HasNextPage()) {
15004			break
15005		}
15006	}
15007
15008	return p.Err()
15009}
15010
15011const opDescribeHosts = "DescribeHosts"
15012
15013// DescribeHostsRequest generates a "aws/request.Request" representing the
15014// client's request for the DescribeHosts operation. The "output" return
15015// value will be populated with the request's response once the request completes
15016// successfully.
15017//
15018// Use "Send" method on the returned Request to send the API call to the service.
15019// the "output" return value is not valid until after Send returns without error.
15020//
15021// See DescribeHosts for more information on using the DescribeHosts
15022// API call, and error handling.
15023//
15024// This method is useful when you want to inject custom logic or configuration
15025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15026//
15027//
15028//    // Example sending a request using the DescribeHostsRequest method.
15029//    req, resp := client.DescribeHostsRequest(params)
15030//
15031//    err := req.Send()
15032//    if err == nil { // resp is now filled
15033//        fmt.Println(resp)
15034//    }
15035//
15036// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
15037func (c *EC2) DescribeHostsRequest(input *DescribeHostsInput) (req *request.Request, output *DescribeHostsOutput) {
15038	op := &request.Operation{
15039		Name:       opDescribeHosts,
15040		HTTPMethod: "POST",
15041		HTTPPath:   "/",
15042		Paginator: &request.Paginator{
15043			InputTokens:     []string{"NextToken"},
15044			OutputTokens:    []string{"NextToken"},
15045			LimitToken:      "MaxResults",
15046			TruncationToken: "",
15047		},
15048	}
15049
15050	if input == nil {
15051		input = &DescribeHostsInput{}
15052	}
15053
15054	output = &DescribeHostsOutput{}
15055	req = c.newRequest(op, input, output)
15056	return
15057}
15058
15059// DescribeHosts API operation for Amazon Elastic Compute Cloud.
15060//
15061// Describes the specified Dedicated Hosts or all your Dedicated Hosts.
15062//
15063// The results describe only the Dedicated Hosts in the Region you're currently
15064// using. All listed instances consume capacity on your Dedicated Host. Dedicated
15065// Hosts that have recently been released are listed with the state released.
15066//
15067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15068// with awserr.Error's Code and Message methods to get detailed information about
15069// the error.
15070//
15071// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15072// API operation DescribeHosts for usage and error information.
15073// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeHosts
15074func (c *EC2) DescribeHosts(input *DescribeHostsInput) (*DescribeHostsOutput, error) {
15075	req, out := c.DescribeHostsRequest(input)
15076	return out, req.Send()
15077}
15078
15079// DescribeHostsWithContext is the same as DescribeHosts with the addition of
15080// the ability to pass a context and additional request options.
15081//
15082// See DescribeHosts for details on how to use this API operation.
15083//
15084// The context must be non-nil and will be used for request cancellation. If
15085// the context is nil a panic will occur. In the future the SDK may create
15086// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15087// for more information on using Contexts.
15088func (c *EC2) DescribeHostsWithContext(ctx aws.Context, input *DescribeHostsInput, opts ...request.Option) (*DescribeHostsOutput, error) {
15089	req, out := c.DescribeHostsRequest(input)
15090	req.SetContext(ctx)
15091	req.ApplyOptions(opts...)
15092	return out, req.Send()
15093}
15094
15095// DescribeHostsPages iterates over the pages of a DescribeHosts operation,
15096// calling the "fn" function with the response data for each page. To stop
15097// iterating, return false from the fn function.
15098//
15099// See DescribeHosts method for more information on how to use this operation.
15100//
15101// Note: This operation can generate multiple requests to a service.
15102//
15103//    // Example iterating over at most 3 pages of a DescribeHosts operation.
15104//    pageNum := 0
15105//    err := client.DescribeHostsPages(params,
15106//        func(page *ec2.DescribeHostsOutput, lastPage bool) bool {
15107//            pageNum++
15108//            fmt.Println(page)
15109//            return pageNum <= 3
15110//        })
15111//
15112func (c *EC2) DescribeHostsPages(input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool) error {
15113	return c.DescribeHostsPagesWithContext(aws.BackgroundContext(), input, fn)
15114}
15115
15116// DescribeHostsPagesWithContext same as DescribeHostsPages except
15117// it takes a Context and allows setting request options on the pages.
15118//
15119// The context must be non-nil and will be used for request cancellation. If
15120// the context is nil a panic will occur. In the future the SDK may create
15121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15122// for more information on using Contexts.
15123func (c *EC2) DescribeHostsPagesWithContext(ctx aws.Context, input *DescribeHostsInput, fn func(*DescribeHostsOutput, bool) bool, opts ...request.Option) error {
15124	p := request.Pagination{
15125		NewRequest: func() (*request.Request, error) {
15126			var inCpy *DescribeHostsInput
15127			if input != nil {
15128				tmp := *input
15129				inCpy = &tmp
15130			}
15131			req, _ := c.DescribeHostsRequest(inCpy)
15132			req.SetContext(ctx)
15133			req.ApplyOptions(opts...)
15134			return req, nil
15135		},
15136	}
15137
15138	for p.Next() {
15139		if !fn(p.Page().(*DescribeHostsOutput), !p.HasNextPage()) {
15140			break
15141		}
15142	}
15143
15144	return p.Err()
15145}
15146
15147const opDescribeIamInstanceProfileAssociations = "DescribeIamInstanceProfileAssociations"
15148
15149// DescribeIamInstanceProfileAssociationsRequest generates a "aws/request.Request" representing the
15150// client's request for the DescribeIamInstanceProfileAssociations operation. The "output" return
15151// value will be populated with the request's response once the request completes
15152// successfully.
15153//
15154// Use "Send" method on the returned Request to send the API call to the service.
15155// the "output" return value is not valid until after Send returns without error.
15156//
15157// See DescribeIamInstanceProfileAssociations for more information on using the DescribeIamInstanceProfileAssociations
15158// API call, and error handling.
15159//
15160// This method is useful when you want to inject custom logic or configuration
15161// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15162//
15163//
15164//    // Example sending a request using the DescribeIamInstanceProfileAssociationsRequest method.
15165//    req, resp := client.DescribeIamInstanceProfileAssociationsRequest(params)
15166//
15167//    err := req.Send()
15168//    if err == nil { // resp is now filled
15169//        fmt.Println(resp)
15170//    }
15171//
15172// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
15173func (c *EC2) DescribeIamInstanceProfileAssociationsRequest(input *DescribeIamInstanceProfileAssociationsInput) (req *request.Request, output *DescribeIamInstanceProfileAssociationsOutput) {
15174	op := &request.Operation{
15175		Name:       opDescribeIamInstanceProfileAssociations,
15176		HTTPMethod: "POST",
15177		HTTPPath:   "/",
15178		Paginator: &request.Paginator{
15179			InputTokens:     []string{"NextToken"},
15180			OutputTokens:    []string{"NextToken"},
15181			LimitToken:      "MaxResults",
15182			TruncationToken: "",
15183		},
15184	}
15185
15186	if input == nil {
15187		input = &DescribeIamInstanceProfileAssociationsInput{}
15188	}
15189
15190	output = &DescribeIamInstanceProfileAssociationsOutput{}
15191	req = c.newRequest(op, input, output)
15192	return
15193}
15194
15195// DescribeIamInstanceProfileAssociations API operation for Amazon Elastic Compute Cloud.
15196//
15197// Describes your IAM instance profile associations.
15198//
15199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15200// with awserr.Error's Code and Message methods to get detailed information about
15201// the error.
15202//
15203// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15204// API operation DescribeIamInstanceProfileAssociations for usage and error information.
15205// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIamInstanceProfileAssociations
15206func (c *EC2) DescribeIamInstanceProfileAssociations(input *DescribeIamInstanceProfileAssociationsInput) (*DescribeIamInstanceProfileAssociationsOutput, error) {
15207	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
15208	return out, req.Send()
15209}
15210
15211// DescribeIamInstanceProfileAssociationsWithContext is the same as DescribeIamInstanceProfileAssociations with the addition of
15212// the ability to pass a context and additional request options.
15213//
15214// See DescribeIamInstanceProfileAssociations for details on how to use this API operation.
15215//
15216// The context must be non-nil and will be used for request cancellation. If
15217// the context is nil a panic will occur. In the future the SDK may create
15218// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15219// for more information on using Contexts.
15220func (c *EC2) DescribeIamInstanceProfileAssociationsWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, opts ...request.Option) (*DescribeIamInstanceProfileAssociationsOutput, error) {
15221	req, out := c.DescribeIamInstanceProfileAssociationsRequest(input)
15222	req.SetContext(ctx)
15223	req.ApplyOptions(opts...)
15224	return out, req.Send()
15225}
15226
15227// DescribeIamInstanceProfileAssociationsPages iterates over the pages of a DescribeIamInstanceProfileAssociations operation,
15228// calling the "fn" function with the response data for each page. To stop
15229// iterating, return false from the fn function.
15230//
15231// See DescribeIamInstanceProfileAssociations method for more information on how to use this operation.
15232//
15233// Note: This operation can generate multiple requests to a service.
15234//
15235//    // Example iterating over at most 3 pages of a DescribeIamInstanceProfileAssociations operation.
15236//    pageNum := 0
15237//    err := client.DescribeIamInstanceProfileAssociationsPages(params,
15238//        func(page *ec2.DescribeIamInstanceProfileAssociationsOutput, lastPage bool) bool {
15239//            pageNum++
15240//            fmt.Println(page)
15241//            return pageNum <= 3
15242//        })
15243//
15244func (c *EC2) DescribeIamInstanceProfileAssociationsPages(input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool) error {
15245	return c.DescribeIamInstanceProfileAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
15246}
15247
15248// DescribeIamInstanceProfileAssociationsPagesWithContext same as DescribeIamInstanceProfileAssociationsPages except
15249// it takes a Context and allows setting request options on the pages.
15250//
15251// The context must be non-nil and will be used for request cancellation. If
15252// the context is nil a panic will occur. In the future the SDK may create
15253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15254// for more information on using Contexts.
15255func (c *EC2) DescribeIamInstanceProfileAssociationsPagesWithContext(ctx aws.Context, input *DescribeIamInstanceProfileAssociationsInput, fn func(*DescribeIamInstanceProfileAssociationsOutput, bool) bool, opts ...request.Option) error {
15256	p := request.Pagination{
15257		NewRequest: func() (*request.Request, error) {
15258			var inCpy *DescribeIamInstanceProfileAssociationsInput
15259			if input != nil {
15260				tmp := *input
15261				inCpy = &tmp
15262			}
15263			req, _ := c.DescribeIamInstanceProfileAssociationsRequest(inCpy)
15264			req.SetContext(ctx)
15265			req.ApplyOptions(opts...)
15266			return req, nil
15267		},
15268	}
15269
15270	for p.Next() {
15271		if !fn(p.Page().(*DescribeIamInstanceProfileAssociationsOutput), !p.HasNextPage()) {
15272			break
15273		}
15274	}
15275
15276	return p.Err()
15277}
15278
15279const opDescribeIdFormat = "DescribeIdFormat"
15280
15281// DescribeIdFormatRequest generates a "aws/request.Request" representing the
15282// client's request for the DescribeIdFormat operation. The "output" return
15283// value will be populated with the request's response once the request completes
15284// successfully.
15285//
15286// Use "Send" method on the returned Request to send the API call to the service.
15287// the "output" return value is not valid until after Send returns without error.
15288//
15289// See DescribeIdFormat for more information on using the DescribeIdFormat
15290// API call, and error handling.
15291//
15292// This method is useful when you want to inject custom logic or configuration
15293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15294//
15295//
15296//    // Example sending a request using the DescribeIdFormatRequest method.
15297//    req, resp := client.DescribeIdFormatRequest(params)
15298//
15299//    err := req.Send()
15300//    if err == nil { // resp is now filled
15301//        fmt.Println(resp)
15302//    }
15303//
15304// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
15305func (c *EC2) DescribeIdFormatRequest(input *DescribeIdFormatInput) (req *request.Request, output *DescribeIdFormatOutput) {
15306	op := &request.Operation{
15307		Name:       opDescribeIdFormat,
15308		HTTPMethod: "POST",
15309		HTTPPath:   "/",
15310	}
15311
15312	if input == nil {
15313		input = &DescribeIdFormatInput{}
15314	}
15315
15316	output = &DescribeIdFormatOutput{}
15317	req = c.newRequest(op, input, output)
15318	return
15319}
15320
15321// DescribeIdFormat API operation for Amazon Elastic Compute Cloud.
15322//
15323// Describes the ID format settings for your resources on a per-Region basis,
15324// for example, to view which resource types are enabled for longer IDs. This
15325// request only returns information about resource types whose ID formats can
15326// be modified; it does not return information about other resource types.
15327//
15328// The following resource types support longer IDs: bundle | conversion-task
15329// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
15330// | export-task | flow-log | image | import-task | instance | internet-gateway
15331// | network-acl | network-acl-association | network-interface | network-interface-attachment
15332// | prefix-list | reservation | route-table | route-table-association | security-group
15333// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
15334// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
15335//
15336// These settings apply to the IAM user who makes the request; they do not apply
15337// to the entire AWS account. By default, an IAM user defaults to the same settings
15338// as the root user, unless they explicitly override the settings by running
15339// the ModifyIdFormat command. Resources created with longer IDs are visible
15340// to all IAM users, regardless of these settings and provided that they have
15341// permission to use the relevant Describe command for the resource type.
15342//
15343// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15344// with awserr.Error's Code and Message methods to get detailed information about
15345// the error.
15346//
15347// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15348// API operation DescribeIdFormat for usage and error information.
15349// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdFormat
15350func (c *EC2) DescribeIdFormat(input *DescribeIdFormatInput) (*DescribeIdFormatOutput, error) {
15351	req, out := c.DescribeIdFormatRequest(input)
15352	return out, req.Send()
15353}
15354
15355// DescribeIdFormatWithContext is the same as DescribeIdFormat with the addition of
15356// the ability to pass a context and additional request options.
15357//
15358// See DescribeIdFormat for details on how to use this API operation.
15359//
15360// The context must be non-nil and will be used for request cancellation. If
15361// the context is nil a panic will occur. In the future the SDK may create
15362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15363// for more information on using Contexts.
15364func (c *EC2) DescribeIdFormatWithContext(ctx aws.Context, input *DescribeIdFormatInput, opts ...request.Option) (*DescribeIdFormatOutput, error) {
15365	req, out := c.DescribeIdFormatRequest(input)
15366	req.SetContext(ctx)
15367	req.ApplyOptions(opts...)
15368	return out, req.Send()
15369}
15370
15371const opDescribeIdentityIdFormat = "DescribeIdentityIdFormat"
15372
15373// DescribeIdentityIdFormatRequest generates a "aws/request.Request" representing the
15374// client's request for the DescribeIdentityIdFormat operation. The "output" return
15375// value will be populated with the request's response once the request completes
15376// successfully.
15377//
15378// Use "Send" method on the returned Request to send the API call to the service.
15379// the "output" return value is not valid until after Send returns without error.
15380//
15381// See DescribeIdentityIdFormat for more information on using the DescribeIdentityIdFormat
15382// API call, and error handling.
15383//
15384// This method is useful when you want to inject custom logic or configuration
15385// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15386//
15387//
15388//    // Example sending a request using the DescribeIdentityIdFormatRequest method.
15389//    req, resp := client.DescribeIdentityIdFormatRequest(params)
15390//
15391//    err := req.Send()
15392//    if err == nil { // resp is now filled
15393//        fmt.Println(resp)
15394//    }
15395//
15396// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
15397func (c *EC2) DescribeIdentityIdFormatRequest(input *DescribeIdentityIdFormatInput) (req *request.Request, output *DescribeIdentityIdFormatOutput) {
15398	op := &request.Operation{
15399		Name:       opDescribeIdentityIdFormat,
15400		HTTPMethod: "POST",
15401		HTTPPath:   "/",
15402	}
15403
15404	if input == nil {
15405		input = &DescribeIdentityIdFormatInput{}
15406	}
15407
15408	output = &DescribeIdentityIdFormatOutput{}
15409	req = c.newRequest(op, input, output)
15410	return
15411}
15412
15413// DescribeIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
15414//
15415// Describes the ID format settings for resources for the specified IAM user,
15416// IAM role, or root user. For example, you can view the resource types that
15417// are enabled for longer IDs. This request only returns information about resource
15418// types whose ID formats can be modified; it does not return information about
15419// other resource types. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
15420// in the Amazon Elastic Compute Cloud User Guide.
15421//
15422// The following resource types support longer IDs: bundle | conversion-task
15423// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
15424// | export-task | flow-log | image | import-task | instance | internet-gateway
15425// | network-acl | network-acl-association | network-interface | network-interface-attachment
15426// | prefix-list | reservation | route-table | route-table-association | security-group
15427// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
15428// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
15429//
15430// These settings apply to the principal specified in the request. They do not
15431// apply to the principal that makes the request.
15432//
15433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15434// with awserr.Error's Code and Message methods to get detailed information about
15435// the error.
15436//
15437// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15438// API operation DescribeIdentityIdFormat for usage and error information.
15439// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeIdentityIdFormat
15440func (c *EC2) DescribeIdentityIdFormat(input *DescribeIdentityIdFormatInput) (*DescribeIdentityIdFormatOutput, error) {
15441	req, out := c.DescribeIdentityIdFormatRequest(input)
15442	return out, req.Send()
15443}
15444
15445// DescribeIdentityIdFormatWithContext is the same as DescribeIdentityIdFormat with the addition of
15446// the ability to pass a context and additional request options.
15447//
15448// See DescribeIdentityIdFormat for details on how to use this API operation.
15449//
15450// The context must be non-nil and will be used for request cancellation. If
15451// the context is nil a panic will occur. In the future the SDK may create
15452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15453// for more information on using Contexts.
15454func (c *EC2) DescribeIdentityIdFormatWithContext(ctx aws.Context, input *DescribeIdentityIdFormatInput, opts ...request.Option) (*DescribeIdentityIdFormatOutput, error) {
15455	req, out := c.DescribeIdentityIdFormatRequest(input)
15456	req.SetContext(ctx)
15457	req.ApplyOptions(opts...)
15458	return out, req.Send()
15459}
15460
15461const opDescribeImageAttribute = "DescribeImageAttribute"
15462
15463// DescribeImageAttributeRequest generates a "aws/request.Request" representing the
15464// client's request for the DescribeImageAttribute operation. The "output" return
15465// value will be populated with the request's response once the request completes
15466// successfully.
15467//
15468// Use "Send" method on the returned Request to send the API call to the service.
15469// the "output" return value is not valid until after Send returns without error.
15470//
15471// See DescribeImageAttribute for more information on using the DescribeImageAttribute
15472// API call, and error handling.
15473//
15474// This method is useful when you want to inject custom logic or configuration
15475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15476//
15477//
15478//    // Example sending a request using the DescribeImageAttributeRequest method.
15479//    req, resp := client.DescribeImageAttributeRequest(params)
15480//
15481//    err := req.Send()
15482//    if err == nil { // resp is now filled
15483//        fmt.Println(resp)
15484//    }
15485//
15486// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
15487func (c *EC2) DescribeImageAttributeRequest(input *DescribeImageAttributeInput) (req *request.Request, output *DescribeImageAttributeOutput) {
15488	op := &request.Operation{
15489		Name:       opDescribeImageAttribute,
15490		HTTPMethod: "POST",
15491		HTTPPath:   "/",
15492	}
15493
15494	if input == nil {
15495		input = &DescribeImageAttributeInput{}
15496	}
15497
15498	output = &DescribeImageAttributeOutput{}
15499	req = c.newRequest(op, input, output)
15500	return
15501}
15502
15503// DescribeImageAttribute API operation for Amazon Elastic Compute Cloud.
15504//
15505// Describes the specified attribute of the specified AMI. You can specify only
15506// one attribute at a time.
15507//
15508// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15509// with awserr.Error's Code and Message methods to get detailed information about
15510// the error.
15511//
15512// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15513// API operation DescribeImageAttribute for usage and error information.
15514// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImageAttribute
15515func (c *EC2) DescribeImageAttribute(input *DescribeImageAttributeInput) (*DescribeImageAttributeOutput, error) {
15516	req, out := c.DescribeImageAttributeRequest(input)
15517	return out, req.Send()
15518}
15519
15520// DescribeImageAttributeWithContext is the same as DescribeImageAttribute with the addition of
15521// the ability to pass a context and additional request options.
15522//
15523// See DescribeImageAttribute for details on how to use this API operation.
15524//
15525// The context must be non-nil and will be used for request cancellation. If
15526// the context is nil a panic will occur. In the future the SDK may create
15527// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15528// for more information on using Contexts.
15529func (c *EC2) DescribeImageAttributeWithContext(ctx aws.Context, input *DescribeImageAttributeInput, opts ...request.Option) (*DescribeImageAttributeOutput, error) {
15530	req, out := c.DescribeImageAttributeRequest(input)
15531	req.SetContext(ctx)
15532	req.ApplyOptions(opts...)
15533	return out, req.Send()
15534}
15535
15536const opDescribeImages = "DescribeImages"
15537
15538// DescribeImagesRequest generates a "aws/request.Request" representing the
15539// client's request for the DescribeImages operation. The "output" return
15540// value will be populated with the request's response once the request completes
15541// successfully.
15542//
15543// Use "Send" method on the returned Request to send the API call to the service.
15544// the "output" return value is not valid until after Send returns without error.
15545//
15546// See DescribeImages for more information on using the DescribeImages
15547// API call, and error handling.
15548//
15549// This method is useful when you want to inject custom logic or configuration
15550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15551//
15552//
15553//    // Example sending a request using the DescribeImagesRequest method.
15554//    req, resp := client.DescribeImagesRequest(params)
15555//
15556//    err := req.Send()
15557//    if err == nil { // resp is now filled
15558//        fmt.Println(resp)
15559//    }
15560//
15561// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
15562func (c *EC2) DescribeImagesRequest(input *DescribeImagesInput) (req *request.Request, output *DescribeImagesOutput) {
15563	op := &request.Operation{
15564		Name:       opDescribeImages,
15565		HTTPMethod: "POST",
15566		HTTPPath:   "/",
15567	}
15568
15569	if input == nil {
15570		input = &DescribeImagesInput{}
15571	}
15572
15573	output = &DescribeImagesOutput{}
15574	req = c.newRequest(op, input, output)
15575	return
15576}
15577
15578// DescribeImages API operation for Amazon Elastic Compute Cloud.
15579//
15580// Describes the specified images (AMIs, AKIs, and ARIs) available to you or
15581// all of the images available to you.
15582//
15583// The images available to you include public images, private images that you
15584// own, and private images owned by other AWS accounts for which you have explicit
15585// launch permissions.
15586//
15587// Recently deregistered images appear in the returned results for a short interval
15588// and then return empty results. After all instances that reference a deregistered
15589// AMI are terminated, specifying the ID of the image results in an error indicating
15590// that the AMI ID cannot be found.
15591//
15592// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15593// with awserr.Error's Code and Message methods to get detailed information about
15594// the error.
15595//
15596// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15597// API operation DescribeImages for usage and error information.
15598// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImages
15599func (c *EC2) DescribeImages(input *DescribeImagesInput) (*DescribeImagesOutput, error) {
15600	req, out := c.DescribeImagesRequest(input)
15601	return out, req.Send()
15602}
15603
15604// DescribeImagesWithContext is the same as DescribeImages with the addition of
15605// the ability to pass a context and additional request options.
15606//
15607// See DescribeImages for details on how to use this API operation.
15608//
15609// The context must be non-nil and will be used for request cancellation. If
15610// the context is nil a panic will occur. In the future the SDK may create
15611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15612// for more information on using Contexts.
15613func (c *EC2) DescribeImagesWithContext(ctx aws.Context, input *DescribeImagesInput, opts ...request.Option) (*DescribeImagesOutput, error) {
15614	req, out := c.DescribeImagesRequest(input)
15615	req.SetContext(ctx)
15616	req.ApplyOptions(opts...)
15617	return out, req.Send()
15618}
15619
15620const opDescribeImportImageTasks = "DescribeImportImageTasks"
15621
15622// DescribeImportImageTasksRequest generates a "aws/request.Request" representing the
15623// client's request for the DescribeImportImageTasks operation. The "output" return
15624// value will be populated with the request's response once the request completes
15625// successfully.
15626//
15627// Use "Send" method on the returned Request to send the API call to the service.
15628// the "output" return value is not valid until after Send returns without error.
15629//
15630// See DescribeImportImageTasks for more information on using the DescribeImportImageTasks
15631// API call, and error handling.
15632//
15633// This method is useful when you want to inject custom logic or configuration
15634// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15635//
15636//
15637//    // Example sending a request using the DescribeImportImageTasksRequest method.
15638//    req, resp := client.DescribeImportImageTasksRequest(params)
15639//
15640//    err := req.Send()
15641//    if err == nil { // resp is now filled
15642//        fmt.Println(resp)
15643//    }
15644//
15645// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
15646func (c *EC2) DescribeImportImageTasksRequest(input *DescribeImportImageTasksInput) (req *request.Request, output *DescribeImportImageTasksOutput) {
15647	op := &request.Operation{
15648		Name:       opDescribeImportImageTasks,
15649		HTTPMethod: "POST",
15650		HTTPPath:   "/",
15651		Paginator: &request.Paginator{
15652			InputTokens:     []string{"NextToken"},
15653			OutputTokens:    []string{"NextToken"},
15654			LimitToken:      "MaxResults",
15655			TruncationToken: "",
15656		},
15657	}
15658
15659	if input == nil {
15660		input = &DescribeImportImageTasksInput{}
15661	}
15662
15663	output = &DescribeImportImageTasksOutput{}
15664	req = c.newRequest(op, input, output)
15665	return
15666}
15667
15668// DescribeImportImageTasks API operation for Amazon Elastic Compute Cloud.
15669//
15670// Displays details about an import virtual machine or import snapshot tasks
15671// that are already created.
15672//
15673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15674// with awserr.Error's Code and Message methods to get detailed information about
15675// the error.
15676//
15677// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15678// API operation DescribeImportImageTasks for usage and error information.
15679// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportImageTasks
15680func (c *EC2) DescribeImportImageTasks(input *DescribeImportImageTasksInput) (*DescribeImportImageTasksOutput, error) {
15681	req, out := c.DescribeImportImageTasksRequest(input)
15682	return out, req.Send()
15683}
15684
15685// DescribeImportImageTasksWithContext is the same as DescribeImportImageTasks with the addition of
15686// the ability to pass a context and additional request options.
15687//
15688// See DescribeImportImageTasks for details on how to use this API operation.
15689//
15690// The context must be non-nil and will be used for request cancellation. If
15691// the context is nil a panic will occur. In the future the SDK may create
15692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15693// for more information on using Contexts.
15694func (c *EC2) DescribeImportImageTasksWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, opts ...request.Option) (*DescribeImportImageTasksOutput, error) {
15695	req, out := c.DescribeImportImageTasksRequest(input)
15696	req.SetContext(ctx)
15697	req.ApplyOptions(opts...)
15698	return out, req.Send()
15699}
15700
15701// DescribeImportImageTasksPages iterates over the pages of a DescribeImportImageTasks operation,
15702// calling the "fn" function with the response data for each page. To stop
15703// iterating, return false from the fn function.
15704//
15705// See DescribeImportImageTasks method for more information on how to use this operation.
15706//
15707// Note: This operation can generate multiple requests to a service.
15708//
15709//    // Example iterating over at most 3 pages of a DescribeImportImageTasks operation.
15710//    pageNum := 0
15711//    err := client.DescribeImportImageTasksPages(params,
15712//        func(page *ec2.DescribeImportImageTasksOutput, lastPage bool) bool {
15713//            pageNum++
15714//            fmt.Println(page)
15715//            return pageNum <= 3
15716//        })
15717//
15718func (c *EC2) DescribeImportImageTasksPages(input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool) error {
15719	return c.DescribeImportImageTasksPagesWithContext(aws.BackgroundContext(), input, fn)
15720}
15721
15722// DescribeImportImageTasksPagesWithContext same as DescribeImportImageTasksPages except
15723// it takes a Context and allows setting request options on the pages.
15724//
15725// The context must be non-nil and will be used for request cancellation. If
15726// the context is nil a panic will occur. In the future the SDK may create
15727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15728// for more information on using Contexts.
15729func (c *EC2) DescribeImportImageTasksPagesWithContext(ctx aws.Context, input *DescribeImportImageTasksInput, fn func(*DescribeImportImageTasksOutput, bool) bool, opts ...request.Option) error {
15730	p := request.Pagination{
15731		NewRequest: func() (*request.Request, error) {
15732			var inCpy *DescribeImportImageTasksInput
15733			if input != nil {
15734				tmp := *input
15735				inCpy = &tmp
15736			}
15737			req, _ := c.DescribeImportImageTasksRequest(inCpy)
15738			req.SetContext(ctx)
15739			req.ApplyOptions(opts...)
15740			return req, nil
15741		},
15742	}
15743
15744	for p.Next() {
15745		if !fn(p.Page().(*DescribeImportImageTasksOutput), !p.HasNextPage()) {
15746			break
15747		}
15748	}
15749
15750	return p.Err()
15751}
15752
15753const opDescribeImportSnapshotTasks = "DescribeImportSnapshotTasks"
15754
15755// DescribeImportSnapshotTasksRequest generates a "aws/request.Request" representing the
15756// client's request for the DescribeImportSnapshotTasks operation. The "output" return
15757// value will be populated with the request's response once the request completes
15758// successfully.
15759//
15760// Use "Send" method on the returned Request to send the API call to the service.
15761// the "output" return value is not valid until after Send returns without error.
15762//
15763// See DescribeImportSnapshotTasks for more information on using the DescribeImportSnapshotTasks
15764// API call, and error handling.
15765//
15766// This method is useful when you want to inject custom logic or configuration
15767// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15768//
15769//
15770//    // Example sending a request using the DescribeImportSnapshotTasksRequest method.
15771//    req, resp := client.DescribeImportSnapshotTasksRequest(params)
15772//
15773//    err := req.Send()
15774//    if err == nil { // resp is now filled
15775//        fmt.Println(resp)
15776//    }
15777//
15778// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
15779func (c *EC2) DescribeImportSnapshotTasksRequest(input *DescribeImportSnapshotTasksInput) (req *request.Request, output *DescribeImportSnapshotTasksOutput) {
15780	op := &request.Operation{
15781		Name:       opDescribeImportSnapshotTasks,
15782		HTTPMethod: "POST",
15783		HTTPPath:   "/",
15784		Paginator: &request.Paginator{
15785			InputTokens:     []string{"NextToken"},
15786			OutputTokens:    []string{"NextToken"},
15787			LimitToken:      "MaxResults",
15788			TruncationToken: "",
15789		},
15790	}
15791
15792	if input == nil {
15793		input = &DescribeImportSnapshotTasksInput{}
15794	}
15795
15796	output = &DescribeImportSnapshotTasksOutput{}
15797	req = c.newRequest(op, input, output)
15798	return
15799}
15800
15801// DescribeImportSnapshotTasks API operation for Amazon Elastic Compute Cloud.
15802//
15803// Describes your import snapshot tasks.
15804//
15805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15806// with awserr.Error's Code and Message methods to get detailed information about
15807// the error.
15808//
15809// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15810// API operation DescribeImportSnapshotTasks for usage and error information.
15811// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeImportSnapshotTasks
15812func (c *EC2) DescribeImportSnapshotTasks(input *DescribeImportSnapshotTasksInput) (*DescribeImportSnapshotTasksOutput, error) {
15813	req, out := c.DescribeImportSnapshotTasksRequest(input)
15814	return out, req.Send()
15815}
15816
15817// DescribeImportSnapshotTasksWithContext is the same as DescribeImportSnapshotTasks with the addition of
15818// the ability to pass a context and additional request options.
15819//
15820// See DescribeImportSnapshotTasks for details on how to use this API operation.
15821//
15822// The context must be non-nil and will be used for request cancellation. If
15823// the context is nil a panic will occur. In the future the SDK may create
15824// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15825// for more information on using Contexts.
15826func (c *EC2) DescribeImportSnapshotTasksWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, opts ...request.Option) (*DescribeImportSnapshotTasksOutput, error) {
15827	req, out := c.DescribeImportSnapshotTasksRequest(input)
15828	req.SetContext(ctx)
15829	req.ApplyOptions(opts...)
15830	return out, req.Send()
15831}
15832
15833// DescribeImportSnapshotTasksPages iterates over the pages of a DescribeImportSnapshotTasks operation,
15834// calling the "fn" function with the response data for each page. To stop
15835// iterating, return false from the fn function.
15836//
15837// See DescribeImportSnapshotTasks method for more information on how to use this operation.
15838//
15839// Note: This operation can generate multiple requests to a service.
15840//
15841//    // Example iterating over at most 3 pages of a DescribeImportSnapshotTasks operation.
15842//    pageNum := 0
15843//    err := client.DescribeImportSnapshotTasksPages(params,
15844//        func(page *ec2.DescribeImportSnapshotTasksOutput, lastPage bool) bool {
15845//            pageNum++
15846//            fmt.Println(page)
15847//            return pageNum <= 3
15848//        })
15849//
15850func (c *EC2) DescribeImportSnapshotTasksPages(input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool) error {
15851	return c.DescribeImportSnapshotTasksPagesWithContext(aws.BackgroundContext(), input, fn)
15852}
15853
15854// DescribeImportSnapshotTasksPagesWithContext same as DescribeImportSnapshotTasksPages except
15855// it takes a Context and allows setting request options on the pages.
15856//
15857// The context must be non-nil and will be used for request cancellation. If
15858// the context is nil a panic will occur. In the future the SDK may create
15859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15860// for more information on using Contexts.
15861func (c *EC2) DescribeImportSnapshotTasksPagesWithContext(ctx aws.Context, input *DescribeImportSnapshotTasksInput, fn func(*DescribeImportSnapshotTasksOutput, bool) bool, opts ...request.Option) error {
15862	p := request.Pagination{
15863		NewRequest: func() (*request.Request, error) {
15864			var inCpy *DescribeImportSnapshotTasksInput
15865			if input != nil {
15866				tmp := *input
15867				inCpy = &tmp
15868			}
15869			req, _ := c.DescribeImportSnapshotTasksRequest(inCpy)
15870			req.SetContext(ctx)
15871			req.ApplyOptions(opts...)
15872			return req, nil
15873		},
15874	}
15875
15876	for p.Next() {
15877		if !fn(p.Page().(*DescribeImportSnapshotTasksOutput), !p.HasNextPage()) {
15878			break
15879		}
15880	}
15881
15882	return p.Err()
15883}
15884
15885const opDescribeInstanceAttribute = "DescribeInstanceAttribute"
15886
15887// DescribeInstanceAttributeRequest generates a "aws/request.Request" representing the
15888// client's request for the DescribeInstanceAttribute operation. The "output" return
15889// value will be populated with the request's response once the request completes
15890// successfully.
15891//
15892// Use "Send" method on the returned Request to send the API call to the service.
15893// the "output" return value is not valid until after Send returns without error.
15894//
15895// See DescribeInstanceAttribute for more information on using the DescribeInstanceAttribute
15896// API call, and error handling.
15897//
15898// This method is useful when you want to inject custom logic or configuration
15899// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15900//
15901//
15902//    // Example sending a request using the DescribeInstanceAttributeRequest method.
15903//    req, resp := client.DescribeInstanceAttributeRequest(params)
15904//
15905//    err := req.Send()
15906//    if err == nil { // resp is now filled
15907//        fmt.Println(resp)
15908//    }
15909//
15910// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
15911func (c *EC2) DescribeInstanceAttributeRequest(input *DescribeInstanceAttributeInput) (req *request.Request, output *DescribeInstanceAttributeOutput) {
15912	op := &request.Operation{
15913		Name:       opDescribeInstanceAttribute,
15914		HTTPMethod: "POST",
15915		HTTPPath:   "/",
15916	}
15917
15918	if input == nil {
15919		input = &DescribeInstanceAttributeInput{}
15920	}
15921
15922	output = &DescribeInstanceAttributeOutput{}
15923	req = c.newRequest(op, input, output)
15924	return
15925}
15926
15927// DescribeInstanceAttribute API operation for Amazon Elastic Compute Cloud.
15928//
15929// Describes the specified attribute of the specified instance. You can specify
15930// only one attribute at a time. Valid attribute values are: instanceType |
15931// kernel | ramdisk | userData | disableApiTermination | instanceInitiatedShutdownBehavior
15932// | rootDeviceName | blockDeviceMapping | productCodes | sourceDestCheck |
15933// groupSet | ebsOptimized | sriovNetSupport
15934//
15935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
15936// with awserr.Error's Code and Message methods to get detailed information about
15937// the error.
15938//
15939// See the AWS API reference guide for Amazon Elastic Compute Cloud's
15940// API operation DescribeInstanceAttribute for usage and error information.
15941// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceAttribute
15942func (c *EC2) DescribeInstanceAttribute(input *DescribeInstanceAttributeInput) (*DescribeInstanceAttributeOutput, error) {
15943	req, out := c.DescribeInstanceAttributeRequest(input)
15944	return out, req.Send()
15945}
15946
15947// DescribeInstanceAttributeWithContext is the same as DescribeInstanceAttribute with the addition of
15948// the ability to pass a context and additional request options.
15949//
15950// See DescribeInstanceAttribute for details on how to use this API operation.
15951//
15952// The context must be non-nil and will be used for request cancellation. If
15953// the context is nil a panic will occur. In the future the SDK may create
15954// sub-contexts for http.Requests. See https://golang.org/pkg/context/
15955// for more information on using Contexts.
15956func (c *EC2) DescribeInstanceAttributeWithContext(ctx aws.Context, input *DescribeInstanceAttributeInput, opts ...request.Option) (*DescribeInstanceAttributeOutput, error) {
15957	req, out := c.DescribeInstanceAttributeRequest(input)
15958	req.SetContext(ctx)
15959	req.ApplyOptions(opts...)
15960	return out, req.Send()
15961}
15962
15963const opDescribeInstanceCreditSpecifications = "DescribeInstanceCreditSpecifications"
15964
15965// DescribeInstanceCreditSpecificationsRequest generates a "aws/request.Request" representing the
15966// client's request for the DescribeInstanceCreditSpecifications operation. The "output" return
15967// value will be populated with the request's response once the request completes
15968// successfully.
15969//
15970// Use "Send" method on the returned Request to send the API call to the service.
15971// the "output" return value is not valid until after Send returns without error.
15972//
15973// See DescribeInstanceCreditSpecifications for more information on using the DescribeInstanceCreditSpecifications
15974// API call, and error handling.
15975//
15976// This method is useful when you want to inject custom logic or configuration
15977// into the SDK's request lifecycle. Such as custom headers, or retry logic.
15978//
15979//
15980//    // Example sending a request using the DescribeInstanceCreditSpecificationsRequest method.
15981//    req, resp := client.DescribeInstanceCreditSpecificationsRequest(params)
15982//
15983//    err := req.Send()
15984//    if err == nil { // resp is now filled
15985//        fmt.Println(resp)
15986//    }
15987//
15988// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
15989func (c *EC2) DescribeInstanceCreditSpecificationsRequest(input *DescribeInstanceCreditSpecificationsInput) (req *request.Request, output *DescribeInstanceCreditSpecificationsOutput) {
15990	op := &request.Operation{
15991		Name:       opDescribeInstanceCreditSpecifications,
15992		HTTPMethod: "POST",
15993		HTTPPath:   "/",
15994		Paginator: &request.Paginator{
15995			InputTokens:     []string{"NextToken"},
15996			OutputTokens:    []string{"NextToken"},
15997			LimitToken:      "MaxResults",
15998			TruncationToken: "",
15999		},
16000	}
16001
16002	if input == nil {
16003		input = &DescribeInstanceCreditSpecificationsInput{}
16004	}
16005
16006	output = &DescribeInstanceCreditSpecificationsOutput{}
16007	req = c.newRequest(op, input, output)
16008	return
16009}
16010
16011// DescribeInstanceCreditSpecifications API operation for Amazon Elastic Compute Cloud.
16012//
16013// Describes the credit option for CPU usage of the specified burstable performance
16014// instances. The credit options are standard and unlimited.
16015//
16016// If you do not specify an instance ID, Amazon EC2 returns burstable performance
16017// instances with the unlimited credit option, as well as instances that were
16018// previously configured as T2, T3, and T3a with the unlimited credit option.
16019// For example, if you resize a T2 instance, while it is configured as unlimited,
16020// to an M4 instance, Amazon EC2 returns the M4 instance.
16021//
16022// If you specify one or more instance IDs, Amazon EC2 returns the credit option
16023// (standard or unlimited) of those instances. If you specify an instance ID
16024// that is not valid, such as an instance that is not a burstable performance
16025// instance, an error is returned.
16026//
16027// Recently terminated instances might appear in the returned results. This
16028// interval is usually less than one hour.
16029//
16030// If an Availability Zone is experiencing a service disruption and you specify
16031// instance IDs in the affected zone, or do not specify any instance IDs at
16032// all, the call fails. If you specify only instance IDs in an unaffected zone,
16033// the call works normally.
16034//
16035// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
16036// in the Amazon Elastic Compute Cloud User Guide.
16037//
16038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16039// with awserr.Error's Code and Message methods to get detailed information about
16040// the error.
16041//
16042// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16043// API operation DescribeInstanceCreditSpecifications for usage and error information.
16044// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceCreditSpecifications
16045func (c *EC2) DescribeInstanceCreditSpecifications(input *DescribeInstanceCreditSpecificationsInput) (*DescribeInstanceCreditSpecificationsOutput, error) {
16046	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
16047	return out, req.Send()
16048}
16049
16050// DescribeInstanceCreditSpecificationsWithContext is the same as DescribeInstanceCreditSpecifications with the addition of
16051// the ability to pass a context and additional request options.
16052//
16053// See DescribeInstanceCreditSpecifications for details on how to use this API operation.
16054//
16055// The context must be non-nil and will be used for request cancellation. If
16056// the context is nil a panic will occur. In the future the SDK may create
16057// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16058// for more information on using Contexts.
16059func (c *EC2) DescribeInstanceCreditSpecificationsWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, opts ...request.Option) (*DescribeInstanceCreditSpecificationsOutput, error) {
16060	req, out := c.DescribeInstanceCreditSpecificationsRequest(input)
16061	req.SetContext(ctx)
16062	req.ApplyOptions(opts...)
16063	return out, req.Send()
16064}
16065
16066// DescribeInstanceCreditSpecificationsPages iterates over the pages of a DescribeInstanceCreditSpecifications operation,
16067// calling the "fn" function with the response data for each page. To stop
16068// iterating, return false from the fn function.
16069//
16070// See DescribeInstanceCreditSpecifications method for more information on how to use this operation.
16071//
16072// Note: This operation can generate multiple requests to a service.
16073//
16074//    // Example iterating over at most 3 pages of a DescribeInstanceCreditSpecifications operation.
16075//    pageNum := 0
16076//    err := client.DescribeInstanceCreditSpecificationsPages(params,
16077//        func(page *ec2.DescribeInstanceCreditSpecificationsOutput, lastPage bool) bool {
16078//            pageNum++
16079//            fmt.Println(page)
16080//            return pageNum <= 3
16081//        })
16082//
16083func (c *EC2) DescribeInstanceCreditSpecificationsPages(input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool) error {
16084	return c.DescribeInstanceCreditSpecificationsPagesWithContext(aws.BackgroundContext(), input, fn)
16085}
16086
16087// DescribeInstanceCreditSpecificationsPagesWithContext same as DescribeInstanceCreditSpecificationsPages except
16088// it takes a Context and allows setting request options on the pages.
16089//
16090// The context must be non-nil and will be used for request cancellation. If
16091// the context is nil a panic will occur. In the future the SDK may create
16092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16093// for more information on using Contexts.
16094func (c *EC2) DescribeInstanceCreditSpecificationsPagesWithContext(ctx aws.Context, input *DescribeInstanceCreditSpecificationsInput, fn func(*DescribeInstanceCreditSpecificationsOutput, bool) bool, opts ...request.Option) error {
16095	p := request.Pagination{
16096		NewRequest: func() (*request.Request, error) {
16097			var inCpy *DescribeInstanceCreditSpecificationsInput
16098			if input != nil {
16099				tmp := *input
16100				inCpy = &tmp
16101			}
16102			req, _ := c.DescribeInstanceCreditSpecificationsRequest(inCpy)
16103			req.SetContext(ctx)
16104			req.ApplyOptions(opts...)
16105			return req, nil
16106		},
16107	}
16108
16109	for p.Next() {
16110		if !fn(p.Page().(*DescribeInstanceCreditSpecificationsOutput), !p.HasNextPage()) {
16111			break
16112		}
16113	}
16114
16115	return p.Err()
16116}
16117
16118const opDescribeInstanceStatus = "DescribeInstanceStatus"
16119
16120// DescribeInstanceStatusRequest generates a "aws/request.Request" representing the
16121// client's request for the DescribeInstanceStatus operation. The "output" return
16122// value will be populated with the request's response once the request completes
16123// successfully.
16124//
16125// Use "Send" method on the returned Request to send the API call to the service.
16126// the "output" return value is not valid until after Send returns without error.
16127//
16128// See DescribeInstanceStatus for more information on using the DescribeInstanceStatus
16129// API call, and error handling.
16130//
16131// This method is useful when you want to inject custom logic or configuration
16132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16133//
16134//
16135//    // Example sending a request using the DescribeInstanceStatusRequest method.
16136//    req, resp := client.DescribeInstanceStatusRequest(params)
16137//
16138//    err := req.Send()
16139//    if err == nil { // resp is now filled
16140//        fmt.Println(resp)
16141//    }
16142//
16143// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
16144func (c *EC2) DescribeInstanceStatusRequest(input *DescribeInstanceStatusInput) (req *request.Request, output *DescribeInstanceStatusOutput) {
16145	op := &request.Operation{
16146		Name:       opDescribeInstanceStatus,
16147		HTTPMethod: "POST",
16148		HTTPPath:   "/",
16149		Paginator: &request.Paginator{
16150			InputTokens:     []string{"NextToken"},
16151			OutputTokens:    []string{"NextToken"},
16152			LimitToken:      "MaxResults",
16153			TruncationToken: "",
16154		},
16155	}
16156
16157	if input == nil {
16158		input = &DescribeInstanceStatusInput{}
16159	}
16160
16161	output = &DescribeInstanceStatusOutput{}
16162	req = c.newRequest(op, input, output)
16163	return
16164}
16165
16166// DescribeInstanceStatus API operation for Amazon Elastic Compute Cloud.
16167//
16168// Describes the status of the specified instances or all of your instances.
16169// By default, only running instances are described, unless you specifically
16170// indicate to return the status of all instances.
16171//
16172// Instance status includes the following components:
16173//
16174//    * Status checks - Amazon EC2 performs status checks on running EC2 instances
16175//    to identify hardware and software issues. For more information, see Status
16176//    Checks for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)
16177//    and Troubleshooting Instances with Failed Status Checks (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstances.html)
16178//    in the Amazon Elastic Compute Cloud User Guide.
16179//
16180//    * Scheduled events - Amazon EC2 can schedule events (such as reboot, stop,
16181//    or terminate) for your instances related to hardware issues, software
16182//    updates, or system maintenance. For more information, see Scheduled Events
16183//    for Your Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html)
16184//    in the Amazon Elastic Compute Cloud User Guide.
16185//
16186//    * Instance state - You can manage your instances from the moment you launch
16187//    them through their termination. For more information, see Instance Lifecycle
16188//    (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
16189//    in the Amazon Elastic Compute Cloud User Guide.
16190//
16191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16192// with awserr.Error's Code and Message methods to get detailed information about
16193// the error.
16194//
16195// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16196// API operation DescribeInstanceStatus for usage and error information.
16197// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceStatus
16198func (c *EC2) DescribeInstanceStatus(input *DescribeInstanceStatusInput) (*DescribeInstanceStatusOutput, error) {
16199	req, out := c.DescribeInstanceStatusRequest(input)
16200	return out, req.Send()
16201}
16202
16203// DescribeInstanceStatusWithContext is the same as DescribeInstanceStatus with the addition of
16204// the ability to pass a context and additional request options.
16205//
16206// See DescribeInstanceStatus for details on how to use this API operation.
16207//
16208// The context must be non-nil and will be used for request cancellation. If
16209// the context is nil a panic will occur. In the future the SDK may create
16210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16211// for more information on using Contexts.
16212func (c *EC2) DescribeInstanceStatusWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, opts ...request.Option) (*DescribeInstanceStatusOutput, error) {
16213	req, out := c.DescribeInstanceStatusRequest(input)
16214	req.SetContext(ctx)
16215	req.ApplyOptions(opts...)
16216	return out, req.Send()
16217}
16218
16219// DescribeInstanceStatusPages iterates over the pages of a DescribeInstanceStatus operation,
16220// calling the "fn" function with the response data for each page. To stop
16221// iterating, return false from the fn function.
16222//
16223// See DescribeInstanceStatus method for more information on how to use this operation.
16224//
16225// Note: This operation can generate multiple requests to a service.
16226//
16227//    // Example iterating over at most 3 pages of a DescribeInstanceStatus operation.
16228//    pageNum := 0
16229//    err := client.DescribeInstanceStatusPages(params,
16230//        func(page *ec2.DescribeInstanceStatusOutput, lastPage bool) bool {
16231//            pageNum++
16232//            fmt.Println(page)
16233//            return pageNum <= 3
16234//        })
16235//
16236func (c *EC2) DescribeInstanceStatusPages(input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool) error {
16237	return c.DescribeInstanceStatusPagesWithContext(aws.BackgroundContext(), input, fn)
16238}
16239
16240// DescribeInstanceStatusPagesWithContext same as DescribeInstanceStatusPages except
16241// it takes a Context and allows setting request options on the pages.
16242//
16243// The context must be non-nil and will be used for request cancellation. If
16244// the context is nil a panic will occur. In the future the SDK may create
16245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16246// for more information on using Contexts.
16247func (c *EC2) DescribeInstanceStatusPagesWithContext(ctx aws.Context, input *DescribeInstanceStatusInput, fn func(*DescribeInstanceStatusOutput, bool) bool, opts ...request.Option) error {
16248	p := request.Pagination{
16249		NewRequest: func() (*request.Request, error) {
16250			var inCpy *DescribeInstanceStatusInput
16251			if input != nil {
16252				tmp := *input
16253				inCpy = &tmp
16254			}
16255			req, _ := c.DescribeInstanceStatusRequest(inCpy)
16256			req.SetContext(ctx)
16257			req.ApplyOptions(opts...)
16258			return req, nil
16259		},
16260	}
16261
16262	for p.Next() {
16263		if !fn(p.Page().(*DescribeInstanceStatusOutput), !p.HasNextPage()) {
16264			break
16265		}
16266	}
16267
16268	return p.Err()
16269}
16270
16271const opDescribeInstanceTypeOfferings = "DescribeInstanceTypeOfferings"
16272
16273// DescribeInstanceTypeOfferingsRequest generates a "aws/request.Request" representing the
16274// client's request for the DescribeInstanceTypeOfferings operation. The "output" return
16275// value will be populated with the request's response once the request completes
16276// successfully.
16277//
16278// Use "Send" method on the returned Request to send the API call to the service.
16279// the "output" return value is not valid until after Send returns without error.
16280//
16281// See DescribeInstanceTypeOfferings for more information on using the DescribeInstanceTypeOfferings
16282// API call, and error handling.
16283//
16284// This method is useful when you want to inject custom logic or configuration
16285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16286//
16287//
16288//    // Example sending a request using the DescribeInstanceTypeOfferingsRequest method.
16289//    req, resp := client.DescribeInstanceTypeOfferingsRequest(params)
16290//
16291//    err := req.Send()
16292//    if err == nil { // resp is now filled
16293//        fmt.Println(resp)
16294//    }
16295//
16296// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
16297func (c *EC2) DescribeInstanceTypeOfferingsRequest(input *DescribeInstanceTypeOfferingsInput) (req *request.Request, output *DescribeInstanceTypeOfferingsOutput) {
16298	op := &request.Operation{
16299		Name:       opDescribeInstanceTypeOfferings,
16300		HTTPMethod: "POST",
16301		HTTPPath:   "/",
16302	}
16303
16304	if input == nil {
16305		input = &DescribeInstanceTypeOfferingsInput{}
16306	}
16307
16308	output = &DescribeInstanceTypeOfferingsOutput{}
16309	req = c.newRequest(op, input, output)
16310	return
16311}
16312
16313// DescribeInstanceTypeOfferings API operation for Amazon Elastic Compute Cloud.
16314//
16315// Returns a list of all instance types offered. The results can be filtered
16316// by location (Region or Availability Zone). If no location is specified, the
16317// instance types offered in the current Region are returned.
16318//
16319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16320// with awserr.Error's Code and Message methods to get detailed information about
16321// the error.
16322//
16323// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16324// API operation DescribeInstanceTypeOfferings for usage and error information.
16325// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypeOfferings
16326func (c *EC2) DescribeInstanceTypeOfferings(input *DescribeInstanceTypeOfferingsInput) (*DescribeInstanceTypeOfferingsOutput, error) {
16327	req, out := c.DescribeInstanceTypeOfferingsRequest(input)
16328	return out, req.Send()
16329}
16330
16331// DescribeInstanceTypeOfferingsWithContext is the same as DescribeInstanceTypeOfferings with the addition of
16332// the ability to pass a context and additional request options.
16333//
16334// See DescribeInstanceTypeOfferings for details on how to use this API operation.
16335//
16336// The context must be non-nil and will be used for request cancellation. If
16337// the context is nil a panic will occur. In the future the SDK may create
16338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16339// for more information on using Contexts.
16340func (c *EC2) DescribeInstanceTypeOfferingsWithContext(ctx aws.Context, input *DescribeInstanceTypeOfferingsInput, opts ...request.Option) (*DescribeInstanceTypeOfferingsOutput, error) {
16341	req, out := c.DescribeInstanceTypeOfferingsRequest(input)
16342	req.SetContext(ctx)
16343	req.ApplyOptions(opts...)
16344	return out, req.Send()
16345}
16346
16347const opDescribeInstanceTypes = "DescribeInstanceTypes"
16348
16349// DescribeInstanceTypesRequest generates a "aws/request.Request" representing the
16350// client's request for the DescribeInstanceTypes operation. The "output" return
16351// value will be populated with the request's response once the request completes
16352// successfully.
16353//
16354// Use "Send" method on the returned Request to send the API call to the service.
16355// the "output" return value is not valid until after Send returns without error.
16356//
16357// See DescribeInstanceTypes for more information on using the DescribeInstanceTypes
16358// API call, and error handling.
16359//
16360// This method is useful when you want to inject custom logic or configuration
16361// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16362//
16363//
16364//    // Example sending a request using the DescribeInstanceTypesRequest method.
16365//    req, resp := client.DescribeInstanceTypesRequest(params)
16366//
16367//    err := req.Send()
16368//    if err == nil { // resp is now filled
16369//        fmt.Println(resp)
16370//    }
16371//
16372// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
16373func (c *EC2) DescribeInstanceTypesRequest(input *DescribeInstanceTypesInput) (req *request.Request, output *DescribeInstanceTypesOutput) {
16374	op := &request.Operation{
16375		Name:       opDescribeInstanceTypes,
16376		HTTPMethod: "POST",
16377		HTTPPath:   "/",
16378	}
16379
16380	if input == nil {
16381		input = &DescribeInstanceTypesInput{}
16382	}
16383
16384	output = &DescribeInstanceTypesOutput{}
16385	req = c.newRequest(op, input, output)
16386	return
16387}
16388
16389// DescribeInstanceTypes API operation for Amazon Elastic Compute Cloud.
16390//
16391// Returns a list of all instance types offered in your current AWS Region.
16392// The results can be filtered by the attributes of the instance types.
16393//
16394// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16395// with awserr.Error's Code and Message methods to get detailed information about
16396// the error.
16397//
16398// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16399// API operation DescribeInstanceTypes for usage and error information.
16400// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstanceTypes
16401func (c *EC2) DescribeInstanceTypes(input *DescribeInstanceTypesInput) (*DescribeInstanceTypesOutput, error) {
16402	req, out := c.DescribeInstanceTypesRequest(input)
16403	return out, req.Send()
16404}
16405
16406// DescribeInstanceTypesWithContext is the same as DescribeInstanceTypes with the addition of
16407// the ability to pass a context and additional request options.
16408//
16409// See DescribeInstanceTypes for details on how to use this API operation.
16410//
16411// The context must be non-nil and will be used for request cancellation. If
16412// the context is nil a panic will occur. In the future the SDK may create
16413// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16414// for more information on using Contexts.
16415func (c *EC2) DescribeInstanceTypesWithContext(ctx aws.Context, input *DescribeInstanceTypesInput, opts ...request.Option) (*DescribeInstanceTypesOutput, error) {
16416	req, out := c.DescribeInstanceTypesRequest(input)
16417	req.SetContext(ctx)
16418	req.ApplyOptions(opts...)
16419	return out, req.Send()
16420}
16421
16422const opDescribeInstances = "DescribeInstances"
16423
16424// DescribeInstancesRequest generates a "aws/request.Request" representing the
16425// client's request for the DescribeInstances operation. The "output" return
16426// value will be populated with the request's response once the request completes
16427// successfully.
16428//
16429// Use "Send" method on the returned Request to send the API call to the service.
16430// the "output" return value is not valid until after Send returns without error.
16431//
16432// See DescribeInstances for more information on using the DescribeInstances
16433// API call, and error handling.
16434//
16435// This method is useful when you want to inject custom logic or configuration
16436// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16437//
16438//
16439//    // Example sending a request using the DescribeInstancesRequest method.
16440//    req, resp := client.DescribeInstancesRequest(params)
16441//
16442//    err := req.Send()
16443//    if err == nil { // resp is now filled
16444//        fmt.Println(resp)
16445//    }
16446//
16447// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
16448func (c *EC2) DescribeInstancesRequest(input *DescribeInstancesInput) (req *request.Request, output *DescribeInstancesOutput) {
16449	op := &request.Operation{
16450		Name:       opDescribeInstances,
16451		HTTPMethod: "POST",
16452		HTTPPath:   "/",
16453		Paginator: &request.Paginator{
16454			InputTokens:     []string{"NextToken"},
16455			OutputTokens:    []string{"NextToken"},
16456			LimitToken:      "MaxResults",
16457			TruncationToken: "",
16458		},
16459	}
16460
16461	if input == nil {
16462		input = &DescribeInstancesInput{}
16463	}
16464
16465	output = &DescribeInstancesOutput{}
16466	req = c.newRequest(op, input, output)
16467	return
16468}
16469
16470// DescribeInstances API operation for Amazon Elastic Compute Cloud.
16471//
16472// Describes the specified instances or all of AWS account's instances.
16473//
16474// If you specify one or more instance IDs, Amazon EC2 returns information for
16475// those instances. If you do not specify instance IDs, Amazon EC2 returns information
16476// for all relevant instances. If you specify an instance ID that is not valid,
16477// an error is returned. If you specify an instance that you do not own, it
16478// is not included in the returned results.
16479//
16480// Recently terminated instances might appear in the returned results. This
16481// interval is usually less than one hour.
16482//
16483// If you describe instances in the rare case where an Availability Zone is
16484// experiencing a service disruption and you specify instance IDs that are in
16485// the affected zone, or do not specify any instance IDs at all, the call fails.
16486// If you describe instances and specify only instance IDs that are in an unaffected
16487// zone, the call works normally.
16488//
16489// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16490// with awserr.Error's Code and Message methods to get detailed information about
16491// the error.
16492//
16493// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16494// API operation DescribeInstances for usage and error information.
16495// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInstances
16496func (c *EC2) DescribeInstances(input *DescribeInstancesInput) (*DescribeInstancesOutput, error) {
16497	req, out := c.DescribeInstancesRequest(input)
16498	return out, req.Send()
16499}
16500
16501// DescribeInstancesWithContext is the same as DescribeInstances with the addition of
16502// the ability to pass a context and additional request options.
16503//
16504// See DescribeInstances for details on how to use this API operation.
16505//
16506// The context must be non-nil and will be used for request cancellation. If
16507// the context is nil a panic will occur. In the future the SDK may create
16508// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16509// for more information on using Contexts.
16510func (c *EC2) DescribeInstancesWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.Option) (*DescribeInstancesOutput, error) {
16511	req, out := c.DescribeInstancesRequest(input)
16512	req.SetContext(ctx)
16513	req.ApplyOptions(opts...)
16514	return out, req.Send()
16515}
16516
16517// DescribeInstancesPages iterates over the pages of a DescribeInstances operation,
16518// calling the "fn" function with the response data for each page. To stop
16519// iterating, return false from the fn function.
16520//
16521// See DescribeInstances method for more information on how to use this operation.
16522//
16523// Note: This operation can generate multiple requests to a service.
16524//
16525//    // Example iterating over at most 3 pages of a DescribeInstances operation.
16526//    pageNum := 0
16527//    err := client.DescribeInstancesPages(params,
16528//        func(page *ec2.DescribeInstancesOutput, lastPage bool) bool {
16529//            pageNum++
16530//            fmt.Println(page)
16531//            return pageNum <= 3
16532//        })
16533//
16534func (c *EC2) DescribeInstancesPages(input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool) error {
16535	return c.DescribeInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
16536}
16537
16538// DescribeInstancesPagesWithContext same as DescribeInstancesPages except
16539// it takes a Context and allows setting request options on the pages.
16540//
16541// The context must be non-nil and will be used for request cancellation. If
16542// the context is nil a panic will occur. In the future the SDK may create
16543// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16544// for more information on using Contexts.
16545func (c *EC2) DescribeInstancesPagesWithContext(ctx aws.Context, input *DescribeInstancesInput, fn func(*DescribeInstancesOutput, bool) bool, opts ...request.Option) error {
16546	p := request.Pagination{
16547		NewRequest: func() (*request.Request, error) {
16548			var inCpy *DescribeInstancesInput
16549			if input != nil {
16550				tmp := *input
16551				inCpy = &tmp
16552			}
16553			req, _ := c.DescribeInstancesRequest(inCpy)
16554			req.SetContext(ctx)
16555			req.ApplyOptions(opts...)
16556			return req, nil
16557		},
16558	}
16559
16560	for p.Next() {
16561		if !fn(p.Page().(*DescribeInstancesOutput), !p.HasNextPage()) {
16562			break
16563		}
16564	}
16565
16566	return p.Err()
16567}
16568
16569const opDescribeInternetGateways = "DescribeInternetGateways"
16570
16571// DescribeInternetGatewaysRequest generates a "aws/request.Request" representing the
16572// client's request for the DescribeInternetGateways operation. The "output" return
16573// value will be populated with the request's response once the request completes
16574// successfully.
16575//
16576// Use "Send" method on the returned Request to send the API call to the service.
16577// the "output" return value is not valid until after Send returns without error.
16578//
16579// See DescribeInternetGateways for more information on using the DescribeInternetGateways
16580// API call, and error handling.
16581//
16582// This method is useful when you want to inject custom logic or configuration
16583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16584//
16585//
16586//    // Example sending a request using the DescribeInternetGatewaysRequest method.
16587//    req, resp := client.DescribeInternetGatewaysRequest(params)
16588//
16589//    err := req.Send()
16590//    if err == nil { // resp is now filled
16591//        fmt.Println(resp)
16592//    }
16593//
16594// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
16595func (c *EC2) DescribeInternetGatewaysRequest(input *DescribeInternetGatewaysInput) (req *request.Request, output *DescribeInternetGatewaysOutput) {
16596	op := &request.Operation{
16597		Name:       opDescribeInternetGateways,
16598		HTTPMethod: "POST",
16599		HTTPPath:   "/",
16600		Paginator: &request.Paginator{
16601			InputTokens:     []string{"NextToken"},
16602			OutputTokens:    []string{"NextToken"},
16603			LimitToken:      "MaxResults",
16604			TruncationToken: "",
16605		},
16606	}
16607
16608	if input == nil {
16609		input = &DescribeInternetGatewaysInput{}
16610	}
16611
16612	output = &DescribeInternetGatewaysOutput{}
16613	req = c.newRequest(op, input, output)
16614	return
16615}
16616
16617// DescribeInternetGateways API operation for Amazon Elastic Compute Cloud.
16618//
16619// Describes one or more of your internet gateways.
16620//
16621// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16622// with awserr.Error's Code and Message methods to get detailed information about
16623// the error.
16624//
16625// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16626// API operation DescribeInternetGateways for usage and error information.
16627// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeInternetGateways
16628func (c *EC2) DescribeInternetGateways(input *DescribeInternetGatewaysInput) (*DescribeInternetGatewaysOutput, error) {
16629	req, out := c.DescribeInternetGatewaysRequest(input)
16630	return out, req.Send()
16631}
16632
16633// DescribeInternetGatewaysWithContext is the same as DescribeInternetGateways with the addition of
16634// the ability to pass a context and additional request options.
16635//
16636// See DescribeInternetGateways for details on how to use this API operation.
16637//
16638// The context must be non-nil and will be used for request cancellation. If
16639// the context is nil a panic will occur. In the future the SDK may create
16640// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16641// for more information on using Contexts.
16642func (c *EC2) DescribeInternetGatewaysWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, opts ...request.Option) (*DescribeInternetGatewaysOutput, error) {
16643	req, out := c.DescribeInternetGatewaysRequest(input)
16644	req.SetContext(ctx)
16645	req.ApplyOptions(opts...)
16646	return out, req.Send()
16647}
16648
16649// DescribeInternetGatewaysPages iterates over the pages of a DescribeInternetGateways operation,
16650// calling the "fn" function with the response data for each page. To stop
16651// iterating, return false from the fn function.
16652//
16653// See DescribeInternetGateways method for more information on how to use this operation.
16654//
16655// Note: This operation can generate multiple requests to a service.
16656//
16657//    // Example iterating over at most 3 pages of a DescribeInternetGateways operation.
16658//    pageNum := 0
16659//    err := client.DescribeInternetGatewaysPages(params,
16660//        func(page *ec2.DescribeInternetGatewaysOutput, lastPage bool) bool {
16661//            pageNum++
16662//            fmt.Println(page)
16663//            return pageNum <= 3
16664//        })
16665//
16666func (c *EC2) DescribeInternetGatewaysPages(input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool) error {
16667	return c.DescribeInternetGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
16668}
16669
16670// DescribeInternetGatewaysPagesWithContext same as DescribeInternetGatewaysPages except
16671// it takes a Context and allows setting request options on the pages.
16672//
16673// The context must be non-nil and will be used for request cancellation. If
16674// the context is nil a panic will occur. In the future the SDK may create
16675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16676// for more information on using Contexts.
16677func (c *EC2) DescribeInternetGatewaysPagesWithContext(ctx aws.Context, input *DescribeInternetGatewaysInput, fn func(*DescribeInternetGatewaysOutput, bool) bool, opts ...request.Option) error {
16678	p := request.Pagination{
16679		NewRequest: func() (*request.Request, error) {
16680			var inCpy *DescribeInternetGatewaysInput
16681			if input != nil {
16682				tmp := *input
16683				inCpy = &tmp
16684			}
16685			req, _ := c.DescribeInternetGatewaysRequest(inCpy)
16686			req.SetContext(ctx)
16687			req.ApplyOptions(opts...)
16688			return req, nil
16689		},
16690	}
16691
16692	for p.Next() {
16693		if !fn(p.Page().(*DescribeInternetGatewaysOutput), !p.HasNextPage()) {
16694			break
16695		}
16696	}
16697
16698	return p.Err()
16699}
16700
16701const opDescribeKeyPairs = "DescribeKeyPairs"
16702
16703// DescribeKeyPairsRequest generates a "aws/request.Request" representing the
16704// client's request for the DescribeKeyPairs operation. The "output" return
16705// value will be populated with the request's response once the request completes
16706// successfully.
16707//
16708// Use "Send" method on the returned Request to send the API call to the service.
16709// the "output" return value is not valid until after Send returns without error.
16710//
16711// See DescribeKeyPairs for more information on using the DescribeKeyPairs
16712// API call, and error handling.
16713//
16714// This method is useful when you want to inject custom logic or configuration
16715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16716//
16717//
16718//    // Example sending a request using the DescribeKeyPairsRequest method.
16719//    req, resp := client.DescribeKeyPairsRequest(params)
16720//
16721//    err := req.Send()
16722//    if err == nil { // resp is now filled
16723//        fmt.Println(resp)
16724//    }
16725//
16726// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
16727func (c *EC2) DescribeKeyPairsRequest(input *DescribeKeyPairsInput) (req *request.Request, output *DescribeKeyPairsOutput) {
16728	op := &request.Operation{
16729		Name:       opDescribeKeyPairs,
16730		HTTPMethod: "POST",
16731		HTTPPath:   "/",
16732	}
16733
16734	if input == nil {
16735		input = &DescribeKeyPairsInput{}
16736	}
16737
16738	output = &DescribeKeyPairsOutput{}
16739	req = c.newRequest(op, input, output)
16740	return
16741}
16742
16743// DescribeKeyPairs API operation for Amazon Elastic Compute Cloud.
16744//
16745// Describes the specified key pairs or all of your key pairs.
16746//
16747// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
16748// in the Amazon Elastic Compute Cloud User Guide.
16749//
16750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16751// with awserr.Error's Code and Message methods to get detailed information about
16752// the error.
16753//
16754// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16755// API operation DescribeKeyPairs for usage and error information.
16756// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeKeyPairs
16757func (c *EC2) DescribeKeyPairs(input *DescribeKeyPairsInput) (*DescribeKeyPairsOutput, error) {
16758	req, out := c.DescribeKeyPairsRequest(input)
16759	return out, req.Send()
16760}
16761
16762// DescribeKeyPairsWithContext is the same as DescribeKeyPairs with the addition of
16763// the ability to pass a context and additional request options.
16764//
16765// See DescribeKeyPairs for details on how to use this API operation.
16766//
16767// The context must be non-nil and will be used for request cancellation. If
16768// the context is nil a panic will occur. In the future the SDK may create
16769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16770// for more information on using Contexts.
16771func (c *EC2) DescribeKeyPairsWithContext(ctx aws.Context, input *DescribeKeyPairsInput, opts ...request.Option) (*DescribeKeyPairsOutput, error) {
16772	req, out := c.DescribeKeyPairsRequest(input)
16773	req.SetContext(ctx)
16774	req.ApplyOptions(opts...)
16775	return out, req.Send()
16776}
16777
16778const opDescribeLaunchTemplateVersions = "DescribeLaunchTemplateVersions"
16779
16780// DescribeLaunchTemplateVersionsRequest generates a "aws/request.Request" representing the
16781// client's request for the DescribeLaunchTemplateVersions operation. The "output" return
16782// value will be populated with the request's response once the request completes
16783// successfully.
16784//
16785// Use "Send" method on the returned Request to send the API call to the service.
16786// the "output" return value is not valid until after Send returns without error.
16787//
16788// See DescribeLaunchTemplateVersions for more information on using the DescribeLaunchTemplateVersions
16789// API call, and error handling.
16790//
16791// This method is useful when you want to inject custom logic or configuration
16792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16793//
16794//
16795//    // Example sending a request using the DescribeLaunchTemplateVersionsRequest method.
16796//    req, resp := client.DescribeLaunchTemplateVersionsRequest(params)
16797//
16798//    err := req.Send()
16799//    if err == nil { // resp is now filled
16800//        fmt.Println(resp)
16801//    }
16802//
16803// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
16804func (c *EC2) DescribeLaunchTemplateVersionsRequest(input *DescribeLaunchTemplateVersionsInput) (req *request.Request, output *DescribeLaunchTemplateVersionsOutput) {
16805	op := &request.Operation{
16806		Name:       opDescribeLaunchTemplateVersions,
16807		HTTPMethod: "POST",
16808		HTTPPath:   "/",
16809		Paginator: &request.Paginator{
16810			InputTokens:     []string{"NextToken"},
16811			OutputTokens:    []string{"NextToken"},
16812			LimitToken:      "MaxResults",
16813			TruncationToken: "",
16814		},
16815	}
16816
16817	if input == nil {
16818		input = &DescribeLaunchTemplateVersionsInput{}
16819	}
16820
16821	output = &DescribeLaunchTemplateVersionsOutput{}
16822	req = c.newRequest(op, input, output)
16823	return
16824}
16825
16826// DescribeLaunchTemplateVersions API operation for Amazon Elastic Compute Cloud.
16827//
16828// Describes one or more versions of a specified launch template. You can describe
16829// all versions, individual versions, or a range of versions.
16830//
16831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16832// with awserr.Error's Code and Message methods to get detailed information about
16833// the error.
16834//
16835// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16836// API operation DescribeLaunchTemplateVersions for usage and error information.
16837// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplateVersions
16838func (c *EC2) DescribeLaunchTemplateVersions(input *DescribeLaunchTemplateVersionsInput) (*DescribeLaunchTemplateVersionsOutput, error) {
16839	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
16840	return out, req.Send()
16841}
16842
16843// DescribeLaunchTemplateVersionsWithContext is the same as DescribeLaunchTemplateVersions with the addition of
16844// the ability to pass a context and additional request options.
16845//
16846// See DescribeLaunchTemplateVersions for details on how to use this API operation.
16847//
16848// The context must be non-nil and will be used for request cancellation. If
16849// the context is nil a panic will occur. In the future the SDK may create
16850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16851// for more information on using Contexts.
16852func (c *EC2) DescribeLaunchTemplateVersionsWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, opts ...request.Option) (*DescribeLaunchTemplateVersionsOutput, error) {
16853	req, out := c.DescribeLaunchTemplateVersionsRequest(input)
16854	req.SetContext(ctx)
16855	req.ApplyOptions(opts...)
16856	return out, req.Send()
16857}
16858
16859// DescribeLaunchTemplateVersionsPages iterates over the pages of a DescribeLaunchTemplateVersions operation,
16860// calling the "fn" function with the response data for each page. To stop
16861// iterating, return false from the fn function.
16862//
16863// See DescribeLaunchTemplateVersions method for more information on how to use this operation.
16864//
16865// Note: This operation can generate multiple requests to a service.
16866//
16867//    // Example iterating over at most 3 pages of a DescribeLaunchTemplateVersions operation.
16868//    pageNum := 0
16869//    err := client.DescribeLaunchTemplateVersionsPages(params,
16870//        func(page *ec2.DescribeLaunchTemplateVersionsOutput, lastPage bool) bool {
16871//            pageNum++
16872//            fmt.Println(page)
16873//            return pageNum <= 3
16874//        })
16875//
16876func (c *EC2) DescribeLaunchTemplateVersionsPages(input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool) error {
16877	return c.DescribeLaunchTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
16878}
16879
16880// DescribeLaunchTemplateVersionsPagesWithContext same as DescribeLaunchTemplateVersionsPages except
16881// it takes a Context and allows setting request options on the pages.
16882//
16883// The context must be non-nil and will be used for request cancellation. If
16884// the context is nil a panic will occur. In the future the SDK may create
16885// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16886// for more information on using Contexts.
16887func (c *EC2) DescribeLaunchTemplateVersionsPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplateVersionsInput, fn func(*DescribeLaunchTemplateVersionsOutput, bool) bool, opts ...request.Option) error {
16888	p := request.Pagination{
16889		NewRequest: func() (*request.Request, error) {
16890			var inCpy *DescribeLaunchTemplateVersionsInput
16891			if input != nil {
16892				tmp := *input
16893				inCpy = &tmp
16894			}
16895			req, _ := c.DescribeLaunchTemplateVersionsRequest(inCpy)
16896			req.SetContext(ctx)
16897			req.ApplyOptions(opts...)
16898			return req, nil
16899		},
16900	}
16901
16902	for p.Next() {
16903		if !fn(p.Page().(*DescribeLaunchTemplateVersionsOutput), !p.HasNextPage()) {
16904			break
16905		}
16906	}
16907
16908	return p.Err()
16909}
16910
16911const opDescribeLaunchTemplates = "DescribeLaunchTemplates"
16912
16913// DescribeLaunchTemplatesRequest generates a "aws/request.Request" representing the
16914// client's request for the DescribeLaunchTemplates operation. The "output" return
16915// value will be populated with the request's response once the request completes
16916// successfully.
16917//
16918// Use "Send" method on the returned Request to send the API call to the service.
16919// the "output" return value is not valid until after Send returns without error.
16920//
16921// See DescribeLaunchTemplates for more information on using the DescribeLaunchTemplates
16922// API call, and error handling.
16923//
16924// This method is useful when you want to inject custom logic or configuration
16925// into the SDK's request lifecycle. Such as custom headers, or retry logic.
16926//
16927//
16928//    // Example sending a request using the DescribeLaunchTemplatesRequest method.
16929//    req, resp := client.DescribeLaunchTemplatesRequest(params)
16930//
16931//    err := req.Send()
16932//    if err == nil { // resp is now filled
16933//        fmt.Println(resp)
16934//    }
16935//
16936// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
16937func (c *EC2) DescribeLaunchTemplatesRequest(input *DescribeLaunchTemplatesInput) (req *request.Request, output *DescribeLaunchTemplatesOutput) {
16938	op := &request.Operation{
16939		Name:       opDescribeLaunchTemplates,
16940		HTTPMethod: "POST",
16941		HTTPPath:   "/",
16942		Paginator: &request.Paginator{
16943			InputTokens:     []string{"NextToken"},
16944			OutputTokens:    []string{"NextToken"},
16945			LimitToken:      "MaxResults",
16946			TruncationToken: "",
16947		},
16948	}
16949
16950	if input == nil {
16951		input = &DescribeLaunchTemplatesInput{}
16952	}
16953
16954	output = &DescribeLaunchTemplatesOutput{}
16955	req = c.newRequest(op, input, output)
16956	return
16957}
16958
16959// DescribeLaunchTemplates API operation for Amazon Elastic Compute Cloud.
16960//
16961// Describes one or more launch templates.
16962//
16963// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
16964// with awserr.Error's Code and Message methods to get detailed information about
16965// the error.
16966//
16967// See the AWS API reference guide for Amazon Elastic Compute Cloud's
16968// API operation DescribeLaunchTemplates for usage and error information.
16969// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLaunchTemplates
16970func (c *EC2) DescribeLaunchTemplates(input *DescribeLaunchTemplatesInput) (*DescribeLaunchTemplatesOutput, error) {
16971	req, out := c.DescribeLaunchTemplatesRequest(input)
16972	return out, req.Send()
16973}
16974
16975// DescribeLaunchTemplatesWithContext is the same as DescribeLaunchTemplates with the addition of
16976// the ability to pass a context and additional request options.
16977//
16978// See DescribeLaunchTemplates for details on how to use this API operation.
16979//
16980// The context must be non-nil and will be used for request cancellation. If
16981// the context is nil a panic will occur. In the future the SDK may create
16982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
16983// for more information on using Contexts.
16984func (c *EC2) DescribeLaunchTemplatesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, opts ...request.Option) (*DescribeLaunchTemplatesOutput, error) {
16985	req, out := c.DescribeLaunchTemplatesRequest(input)
16986	req.SetContext(ctx)
16987	req.ApplyOptions(opts...)
16988	return out, req.Send()
16989}
16990
16991// DescribeLaunchTemplatesPages iterates over the pages of a DescribeLaunchTemplates operation,
16992// calling the "fn" function with the response data for each page. To stop
16993// iterating, return false from the fn function.
16994//
16995// See DescribeLaunchTemplates method for more information on how to use this operation.
16996//
16997// Note: This operation can generate multiple requests to a service.
16998//
16999//    // Example iterating over at most 3 pages of a DescribeLaunchTemplates operation.
17000//    pageNum := 0
17001//    err := client.DescribeLaunchTemplatesPages(params,
17002//        func(page *ec2.DescribeLaunchTemplatesOutput, lastPage bool) bool {
17003//            pageNum++
17004//            fmt.Println(page)
17005//            return pageNum <= 3
17006//        })
17007//
17008func (c *EC2) DescribeLaunchTemplatesPages(input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool) error {
17009	return c.DescribeLaunchTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
17010}
17011
17012// DescribeLaunchTemplatesPagesWithContext same as DescribeLaunchTemplatesPages except
17013// it takes a Context and allows setting request options on the pages.
17014//
17015// The context must be non-nil and will be used for request cancellation. If
17016// the context is nil a panic will occur. In the future the SDK may create
17017// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17018// for more information on using Contexts.
17019func (c *EC2) DescribeLaunchTemplatesPagesWithContext(ctx aws.Context, input *DescribeLaunchTemplatesInput, fn func(*DescribeLaunchTemplatesOutput, bool) bool, opts ...request.Option) error {
17020	p := request.Pagination{
17021		NewRequest: func() (*request.Request, error) {
17022			var inCpy *DescribeLaunchTemplatesInput
17023			if input != nil {
17024				tmp := *input
17025				inCpy = &tmp
17026			}
17027			req, _ := c.DescribeLaunchTemplatesRequest(inCpy)
17028			req.SetContext(ctx)
17029			req.ApplyOptions(opts...)
17030			return req, nil
17031		},
17032	}
17033
17034	for p.Next() {
17035		if !fn(p.Page().(*DescribeLaunchTemplatesOutput), !p.HasNextPage()) {
17036			break
17037		}
17038	}
17039
17040	return p.Err()
17041}
17042
17043const opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations = "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations"
17044
17045// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest generates a "aws/request.Request" representing the
17046// client's request for the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations operation. The "output" return
17047// value will be populated with the request's response once the request completes
17048// successfully.
17049//
17050// Use "Send" method on the returned Request to send the API call to the service.
17051// the "output" return value is not valid until after Send returns without error.
17052//
17053// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for more information on using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
17054// API call, and error handling.
17055//
17056// This method is useful when you want to inject custom logic or configuration
17057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17058//
17059//
17060//    // Example sending a request using the DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest method.
17061//    req, resp := client.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(params)
17062//
17063//    err := req.Send()
17064//    if err == nil { // resp is now filled
17065//        fmt.Println(resp)
17066//    }
17067//
17068// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
17069func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) {
17070	op := &request.Operation{
17071		Name:       opDescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations,
17072		HTTPMethod: "POST",
17073		HTTPPath:   "/",
17074	}
17075
17076	if input == nil {
17077		input = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput{}
17078	}
17079
17080	output = &DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput{}
17081	req = c.newRequest(op, input, output)
17082	return
17083}
17084
17085// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations API operation for Amazon Elastic Compute Cloud.
17086//
17087// Describes the associations between virtual interface groups and local gateway
17088// route tables.
17089//
17090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17091// with awserr.Error's Code and Message methods to get detailed information about
17092// the error.
17093//
17094// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17095// API operation DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for usage and error information.
17096// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations
17097func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations(input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
17098	req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
17099	return out, req.Send()
17100}
17101
17102// DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations with the addition of
17103// the ability to pass a context and additional request options.
17104//
17105// See DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations for details on how to use this API operation.
17106//
17107// The context must be non-nil and will be used for request cancellation. If
17108// the context is nil a panic will occur. In the future the SDK may create
17109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17110// for more information on using Contexts.
17111func (c *EC2) DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput, error) {
17112	req, out := c.DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(input)
17113	req.SetContext(ctx)
17114	req.ApplyOptions(opts...)
17115	return out, req.Send()
17116}
17117
17118const opDescribeLocalGatewayRouteTableVpcAssociations = "DescribeLocalGatewayRouteTableVpcAssociations"
17119
17120// DescribeLocalGatewayRouteTableVpcAssociationsRequest generates a "aws/request.Request" representing the
17121// client's request for the DescribeLocalGatewayRouteTableVpcAssociations operation. The "output" return
17122// value will be populated with the request's response once the request completes
17123// successfully.
17124//
17125// Use "Send" method on the returned Request to send the API call to the service.
17126// the "output" return value is not valid until after Send returns without error.
17127//
17128// See DescribeLocalGatewayRouteTableVpcAssociations for more information on using the DescribeLocalGatewayRouteTableVpcAssociations
17129// API call, and error handling.
17130//
17131// This method is useful when you want to inject custom logic or configuration
17132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17133//
17134//
17135//    // Example sending a request using the DescribeLocalGatewayRouteTableVpcAssociationsRequest method.
17136//    req, resp := client.DescribeLocalGatewayRouteTableVpcAssociationsRequest(params)
17137//
17138//    err := req.Send()
17139//    if err == nil { // resp is now filled
17140//        fmt.Println(resp)
17141//    }
17142//
17143// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
17144func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsRequest(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (req *request.Request, output *DescribeLocalGatewayRouteTableVpcAssociationsOutput) {
17145	op := &request.Operation{
17146		Name:       opDescribeLocalGatewayRouteTableVpcAssociations,
17147		HTTPMethod: "POST",
17148		HTTPPath:   "/",
17149	}
17150
17151	if input == nil {
17152		input = &DescribeLocalGatewayRouteTableVpcAssociationsInput{}
17153	}
17154
17155	output = &DescribeLocalGatewayRouteTableVpcAssociationsOutput{}
17156	req = c.newRequest(op, input, output)
17157	return
17158}
17159
17160// DescribeLocalGatewayRouteTableVpcAssociations API operation for Amazon Elastic Compute Cloud.
17161//
17162// Describes the specified associations between VPCs and local gateway route
17163// tables.
17164//
17165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17166// with awserr.Error's Code and Message methods to get detailed information about
17167// the error.
17168//
17169// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17170// API operation DescribeLocalGatewayRouteTableVpcAssociations for usage and error information.
17171// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTableVpcAssociations
17172func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociations(input *DescribeLocalGatewayRouteTableVpcAssociationsInput) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
17173	req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
17174	return out, req.Send()
17175}
17176
17177// DescribeLocalGatewayRouteTableVpcAssociationsWithContext is the same as DescribeLocalGatewayRouteTableVpcAssociations with the addition of
17178// the ability to pass a context and additional request options.
17179//
17180// See DescribeLocalGatewayRouteTableVpcAssociations for details on how to use this API operation.
17181//
17182// The context must be non-nil and will be used for request cancellation. If
17183// the context is nil a panic will occur. In the future the SDK may create
17184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17185// for more information on using Contexts.
17186func (c *EC2) DescribeLocalGatewayRouteTableVpcAssociationsWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTableVpcAssociationsInput, opts ...request.Option) (*DescribeLocalGatewayRouteTableVpcAssociationsOutput, error) {
17187	req, out := c.DescribeLocalGatewayRouteTableVpcAssociationsRequest(input)
17188	req.SetContext(ctx)
17189	req.ApplyOptions(opts...)
17190	return out, req.Send()
17191}
17192
17193const opDescribeLocalGatewayRouteTables = "DescribeLocalGatewayRouteTables"
17194
17195// DescribeLocalGatewayRouteTablesRequest generates a "aws/request.Request" representing the
17196// client's request for the DescribeLocalGatewayRouteTables operation. The "output" return
17197// value will be populated with the request's response once the request completes
17198// successfully.
17199//
17200// Use "Send" method on the returned Request to send the API call to the service.
17201// the "output" return value is not valid until after Send returns without error.
17202//
17203// See DescribeLocalGatewayRouteTables for more information on using the DescribeLocalGatewayRouteTables
17204// API call, and error handling.
17205//
17206// This method is useful when you want to inject custom logic or configuration
17207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17208//
17209//
17210//    // Example sending a request using the DescribeLocalGatewayRouteTablesRequest method.
17211//    req, resp := client.DescribeLocalGatewayRouteTablesRequest(params)
17212//
17213//    err := req.Send()
17214//    if err == nil { // resp is now filled
17215//        fmt.Println(resp)
17216//    }
17217//
17218// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
17219func (c *EC2) DescribeLocalGatewayRouteTablesRequest(input *DescribeLocalGatewayRouteTablesInput) (req *request.Request, output *DescribeLocalGatewayRouteTablesOutput) {
17220	op := &request.Operation{
17221		Name:       opDescribeLocalGatewayRouteTables,
17222		HTTPMethod: "POST",
17223		HTTPPath:   "/",
17224	}
17225
17226	if input == nil {
17227		input = &DescribeLocalGatewayRouteTablesInput{}
17228	}
17229
17230	output = &DescribeLocalGatewayRouteTablesOutput{}
17231	req = c.newRequest(op, input, output)
17232	return
17233}
17234
17235// DescribeLocalGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
17236//
17237// Describes one or more local gateway route tables. By default, all local gateway
17238// route tables are described. Alternatively, you can filter the results.
17239//
17240// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17241// with awserr.Error's Code and Message methods to get detailed information about
17242// the error.
17243//
17244// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17245// API operation DescribeLocalGatewayRouteTables for usage and error information.
17246// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayRouteTables
17247func (c *EC2) DescribeLocalGatewayRouteTables(input *DescribeLocalGatewayRouteTablesInput) (*DescribeLocalGatewayRouteTablesOutput, error) {
17248	req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
17249	return out, req.Send()
17250}
17251
17252// DescribeLocalGatewayRouteTablesWithContext is the same as DescribeLocalGatewayRouteTables with the addition of
17253// the ability to pass a context and additional request options.
17254//
17255// See DescribeLocalGatewayRouteTables for details on how to use this API operation.
17256//
17257// The context must be non-nil and will be used for request cancellation. If
17258// the context is nil a panic will occur. In the future the SDK may create
17259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17260// for more information on using Contexts.
17261func (c *EC2) DescribeLocalGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeLocalGatewayRouteTablesInput, opts ...request.Option) (*DescribeLocalGatewayRouteTablesOutput, error) {
17262	req, out := c.DescribeLocalGatewayRouteTablesRequest(input)
17263	req.SetContext(ctx)
17264	req.ApplyOptions(opts...)
17265	return out, req.Send()
17266}
17267
17268const opDescribeLocalGatewayVirtualInterfaceGroups = "DescribeLocalGatewayVirtualInterfaceGroups"
17269
17270// DescribeLocalGatewayVirtualInterfaceGroupsRequest generates a "aws/request.Request" representing the
17271// client's request for the DescribeLocalGatewayVirtualInterfaceGroups operation. The "output" return
17272// value will be populated with the request's response once the request completes
17273// successfully.
17274//
17275// Use "Send" method on the returned Request to send the API call to the service.
17276// the "output" return value is not valid until after Send returns without error.
17277//
17278// See DescribeLocalGatewayVirtualInterfaceGroups for more information on using the DescribeLocalGatewayVirtualInterfaceGroups
17279// API call, and error handling.
17280//
17281// This method is useful when you want to inject custom logic or configuration
17282// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17283//
17284//
17285//    // Example sending a request using the DescribeLocalGatewayVirtualInterfaceGroupsRequest method.
17286//    req, resp := client.DescribeLocalGatewayVirtualInterfaceGroupsRequest(params)
17287//
17288//    err := req.Send()
17289//    if err == nil { // resp is now filled
17290//        fmt.Println(resp)
17291//    }
17292//
17293// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
17294func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsRequest(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfaceGroupsOutput) {
17295	op := &request.Operation{
17296		Name:       opDescribeLocalGatewayVirtualInterfaceGroups,
17297		HTTPMethod: "POST",
17298		HTTPPath:   "/",
17299	}
17300
17301	if input == nil {
17302		input = &DescribeLocalGatewayVirtualInterfaceGroupsInput{}
17303	}
17304
17305	output = &DescribeLocalGatewayVirtualInterfaceGroupsOutput{}
17306	req = c.newRequest(op, input, output)
17307	return
17308}
17309
17310// DescribeLocalGatewayVirtualInterfaceGroups API operation for Amazon Elastic Compute Cloud.
17311//
17312// Describes the specified local gateway virtual interface groups.
17313//
17314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17315// with awserr.Error's Code and Message methods to get detailed information about
17316// the error.
17317//
17318// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17319// API operation DescribeLocalGatewayVirtualInterfaceGroups for usage and error information.
17320// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaceGroups
17321func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroups(input *DescribeLocalGatewayVirtualInterfaceGroupsInput) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
17322	req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
17323	return out, req.Send()
17324}
17325
17326// DescribeLocalGatewayVirtualInterfaceGroupsWithContext is the same as DescribeLocalGatewayVirtualInterfaceGroups with the addition of
17327// the ability to pass a context and additional request options.
17328//
17329// See DescribeLocalGatewayVirtualInterfaceGroups for details on how to use this API operation.
17330//
17331// The context must be non-nil and will be used for request cancellation. If
17332// the context is nil a panic will occur. In the future the SDK may create
17333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17334// for more information on using Contexts.
17335func (c *EC2) DescribeLocalGatewayVirtualInterfaceGroupsWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfaceGroupsInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfaceGroupsOutput, error) {
17336	req, out := c.DescribeLocalGatewayVirtualInterfaceGroupsRequest(input)
17337	req.SetContext(ctx)
17338	req.ApplyOptions(opts...)
17339	return out, req.Send()
17340}
17341
17342const opDescribeLocalGatewayVirtualInterfaces = "DescribeLocalGatewayVirtualInterfaces"
17343
17344// DescribeLocalGatewayVirtualInterfacesRequest generates a "aws/request.Request" representing the
17345// client's request for the DescribeLocalGatewayVirtualInterfaces operation. The "output" return
17346// value will be populated with the request's response once the request completes
17347// successfully.
17348//
17349// Use "Send" method on the returned Request to send the API call to the service.
17350// the "output" return value is not valid until after Send returns without error.
17351//
17352// See DescribeLocalGatewayVirtualInterfaces for more information on using the DescribeLocalGatewayVirtualInterfaces
17353// API call, and error handling.
17354//
17355// This method is useful when you want to inject custom logic or configuration
17356// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17357//
17358//
17359//    // Example sending a request using the DescribeLocalGatewayVirtualInterfacesRequest method.
17360//    req, resp := client.DescribeLocalGatewayVirtualInterfacesRequest(params)
17361//
17362//    err := req.Send()
17363//    if err == nil { // resp is now filled
17364//        fmt.Println(resp)
17365//    }
17366//
17367// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
17368func (c *EC2) DescribeLocalGatewayVirtualInterfacesRequest(input *DescribeLocalGatewayVirtualInterfacesInput) (req *request.Request, output *DescribeLocalGatewayVirtualInterfacesOutput) {
17369	op := &request.Operation{
17370		Name:       opDescribeLocalGatewayVirtualInterfaces,
17371		HTTPMethod: "POST",
17372		HTTPPath:   "/",
17373	}
17374
17375	if input == nil {
17376		input = &DescribeLocalGatewayVirtualInterfacesInput{}
17377	}
17378
17379	output = &DescribeLocalGatewayVirtualInterfacesOutput{}
17380	req = c.newRequest(op, input, output)
17381	return
17382}
17383
17384// DescribeLocalGatewayVirtualInterfaces API operation for Amazon Elastic Compute Cloud.
17385//
17386// Describes the specified local gateway virtual interfaces.
17387//
17388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17389// with awserr.Error's Code and Message methods to get detailed information about
17390// the error.
17391//
17392// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17393// API operation DescribeLocalGatewayVirtualInterfaces for usage and error information.
17394// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGatewayVirtualInterfaces
17395func (c *EC2) DescribeLocalGatewayVirtualInterfaces(input *DescribeLocalGatewayVirtualInterfacesInput) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
17396	req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
17397	return out, req.Send()
17398}
17399
17400// DescribeLocalGatewayVirtualInterfacesWithContext is the same as DescribeLocalGatewayVirtualInterfaces with the addition of
17401// the ability to pass a context and additional request options.
17402//
17403// See DescribeLocalGatewayVirtualInterfaces for details on how to use this API operation.
17404//
17405// The context must be non-nil and will be used for request cancellation. If
17406// the context is nil a panic will occur. In the future the SDK may create
17407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17408// for more information on using Contexts.
17409func (c *EC2) DescribeLocalGatewayVirtualInterfacesWithContext(ctx aws.Context, input *DescribeLocalGatewayVirtualInterfacesInput, opts ...request.Option) (*DescribeLocalGatewayVirtualInterfacesOutput, error) {
17410	req, out := c.DescribeLocalGatewayVirtualInterfacesRequest(input)
17411	req.SetContext(ctx)
17412	req.ApplyOptions(opts...)
17413	return out, req.Send()
17414}
17415
17416const opDescribeLocalGateways = "DescribeLocalGateways"
17417
17418// DescribeLocalGatewaysRequest generates a "aws/request.Request" representing the
17419// client's request for the DescribeLocalGateways operation. The "output" return
17420// value will be populated with the request's response once the request completes
17421// successfully.
17422//
17423// Use "Send" method on the returned Request to send the API call to the service.
17424// the "output" return value is not valid until after Send returns without error.
17425//
17426// See DescribeLocalGateways for more information on using the DescribeLocalGateways
17427// API call, and error handling.
17428//
17429// This method is useful when you want to inject custom logic or configuration
17430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17431//
17432//
17433//    // Example sending a request using the DescribeLocalGatewaysRequest method.
17434//    req, resp := client.DescribeLocalGatewaysRequest(params)
17435//
17436//    err := req.Send()
17437//    if err == nil { // resp is now filled
17438//        fmt.Println(resp)
17439//    }
17440//
17441// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
17442func (c *EC2) DescribeLocalGatewaysRequest(input *DescribeLocalGatewaysInput) (req *request.Request, output *DescribeLocalGatewaysOutput) {
17443	op := &request.Operation{
17444		Name:       opDescribeLocalGateways,
17445		HTTPMethod: "POST",
17446		HTTPPath:   "/",
17447	}
17448
17449	if input == nil {
17450		input = &DescribeLocalGatewaysInput{}
17451	}
17452
17453	output = &DescribeLocalGatewaysOutput{}
17454	req = c.newRequest(op, input, output)
17455	return
17456}
17457
17458// DescribeLocalGateways API operation for Amazon Elastic Compute Cloud.
17459//
17460// Describes one or more local gateways. By default, all local gateways are
17461// described. Alternatively, you can filter the results.
17462//
17463// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17464// with awserr.Error's Code and Message methods to get detailed information about
17465// the error.
17466//
17467// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17468// API operation DescribeLocalGateways for usage and error information.
17469// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeLocalGateways
17470func (c *EC2) DescribeLocalGateways(input *DescribeLocalGatewaysInput) (*DescribeLocalGatewaysOutput, error) {
17471	req, out := c.DescribeLocalGatewaysRequest(input)
17472	return out, req.Send()
17473}
17474
17475// DescribeLocalGatewaysWithContext is the same as DescribeLocalGateways with the addition of
17476// the ability to pass a context and additional request options.
17477//
17478// See DescribeLocalGateways for details on how to use this API operation.
17479//
17480// The context must be non-nil and will be used for request cancellation. If
17481// the context is nil a panic will occur. In the future the SDK may create
17482// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17483// for more information on using Contexts.
17484func (c *EC2) DescribeLocalGatewaysWithContext(ctx aws.Context, input *DescribeLocalGatewaysInput, opts ...request.Option) (*DescribeLocalGatewaysOutput, error) {
17485	req, out := c.DescribeLocalGatewaysRequest(input)
17486	req.SetContext(ctx)
17487	req.ApplyOptions(opts...)
17488	return out, req.Send()
17489}
17490
17491const opDescribeMovingAddresses = "DescribeMovingAddresses"
17492
17493// DescribeMovingAddressesRequest generates a "aws/request.Request" representing the
17494// client's request for the DescribeMovingAddresses operation. The "output" return
17495// value will be populated with the request's response once the request completes
17496// successfully.
17497//
17498// Use "Send" method on the returned Request to send the API call to the service.
17499// the "output" return value is not valid until after Send returns without error.
17500//
17501// See DescribeMovingAddresses for more information on using the DescribeMovingAddresses
17502// API call, and error handling.
17503//
17504// This method is useful when you want to inject custom logic or configuration
17505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17506//
17507//
17508//    // Example sending a request using the DescribeMovingAddressesRequest method.
17509//    req, resp := client.DescribeMovingAddressesRequest(params)
17510//
17511//    err := req.Send()
17512//    if err == nil { // resp is now filled
17513//        fmt.Println(resp)
17514//    }
17515//
17516// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
17517func (c *EC2) DescribeMovingAddressesRequest(input *DescribeMovingAddressesInput) (req *request.Request, output *DescribeMovingAddressesOutput) {
17518	op := &request.Operation{
17519		Name:       opDescribeMovingAddresses,
17520		HTTPMethod: "POST",
17521		HTTPPath:   "/",
17522		Paginator: &request.Paginator{
17523			InputTokens:     []string{"NextToken"},
17524			OutputTokens:    []string{"NextToken"},
17525			LimitToken:      "MaxResults",
17526			TruncationToken: "",
17527		},
17528	}
17529
17530	if input == nil {
17531		input = &DescribeMovingAddressesInput{}
17532	}
17533
17534	output = &DescribeMovingAddressesOutput{}
17535	req = c.newRequest(op, input, output)
17536	return
17537}
17538
17539// DescribeMovingAddresses API operation for Amazon Elastic Compute Cloud.
17540//
17541// Describes your Elastic IP addresses that are being moved to the EC2-VPC platform,
17542// or that are being restored to the EC2-Classic platform. This request does
17543// not return information about any other Elastic IP addresses in your account.
17544//
17545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17546// with awserr.Error's Code and Message methods to get detailed information about
17547// the error.
17548//
17549// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17550// API operation DescribeMovingAddresses for usage and error information.
17551// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeMovingAddresses
17552func (c *EC2) DescribeMovingAddresses(input *DescribeMovingAddressesInput) (*DescribeMovingAddressesOutput, error) {
17553	req, out := c.DescribeMovingAddressesRequest(input)
17554	return out, req.Send()
17555}
17556
17557// DescribeMovingAddressesWithContext is the same as DescribeMovingAddresses with the addition of
17558// the ability to pass a context and additional request options.
17559//
17560// See DescribeMovingAddresses for details on how to use this API operation.
17561//
17562// The context must be non-nil and will be used for request cancellation. If
17563// the context is nil a panic will occur. In the future the SDK may create
17564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17565// for more information on using Contexts.
17566func (c *EC2) DescribeMovingAddressesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, opts ...request.Option) (*DescribeMovingAddressesOutput, error) {
17567	req, out := c.DescribeMovingAddressesRequest(input)
17568	req.SetContext(ctx)
17569	req.ApplyOptions(opts...)
17570	return out, req.Send()
17571}
17572
17573// DescribeMovingAddressesPages iterates over the pages of a DescribeMovingAddresses operation,
17574// calling the "fn" function with the response data for each page. To stop
17575// iterating, return false from the fn function.
17576//
17577// See DescribeMovingAddresses method for more information on how to use this operation.
17578//
17579// Note: This operation can generate multiple requests to a service.
17580//
17581//    // Example iterating over at most 3 pages of a DescribeMovingAddresses operation.
17582//    pageNum := 0
17583//    err := client.DescribeMovingAddressesPages(params,
17584//        func(page *ec2.DescribeMovingAddressesOutput, lastPage bool) bool {
17585//            pageNum++
17586//            fmt.Println(page)
17587//            return pageNum <= 3
17588//        })
17589//
17590func (c *EC2) DescribeMovingAddressesPages(input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool) error {
17591	return c.DescribeMovingAddressesPagesWithContext(aws.BackgroundContext(), input, fn)
17592}
17593
17594// DescribeMovingAddressesPagesWithContext same as DescribeMovingAddressesPages except
17595// it takes a Context and allows setting request options on the pages.
17596//
17597// The context must be non-nil and will be used for request cancellation. If
17598// the context is nil a panic will occur. In the future the SDK may create
17599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17600// for more information on using Contexts.
17601func (c *EC2) DescribeMovingAddressesPagesWithContext(ctx aws.Context, input *DescribeMovingAddressesInput, fn func(*DescribeMovingAddressesOutput, bool) bool, opts ...request.Option) error {
17602	p := request.Pagination{
17603		NewRequest: func() (*request.Request, error) {
17604			var inCpy *DescribeMovingAddressesInput
17605			if input != nil {
17606				tmp := *input
17607				inCpy = &tmp
17608			}
17609			req, _ := c.DescribeMovingAddressesRequest(inCpy)
17610			req.SetContext(ctx)
17611			req.ApplyOptions(opts...)
17612			return req, nil
17613		},
17614	}
17615
17616	for p.Next() {
17617		if !fn(p.Page().(*DescribeMovingAddressesOutput), !p.HasNextPage()) {
17618			break
17619		}
17620	}
17621
17622	return p.Err()
17623}
17624
17625const opDescribeNatGateways = "DescribeNatGateways"
17626
17627// DescribeNatGatewaysRequest generates a "aws/request.Request" representing the
17628// client's request for the DescribeNatGateways operation. The "output" return
17629// value will be populated with the request's response once the request completes
17630// successfully.
17631//
17632// Use "Send" method on the returned Request to send the API call to the service.
17633// the "output" return value is not valid until after Send returns without error.
17634//
17635// See DescribeNatGateways for more information on using the DescribeNatGateways
17636// API call, and error handling.
17637//
17638// This method is useful when you want to inject custom logic or configuration
17639// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17640//
17641//
17642//    // Example sending a request using the DescribeNatGatewaysRequest method.
17643//    req, resp := client.DescribeNatGatewaysRequest(params)
17644//
17645//    err := req.Send()
17646//    if err == nil { // resp is now filled
17647//        fmt.Println(resp)
17648//    }
17649//
17650// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
17651func (c *EC2) DescribeNatGatewaysRequest(input *DescribeNatGatewaysInput) (req *request.Request, output *DescribeNatGatewaysOutput) {
17652	op := &request.Operation{
17653		Name:       opDescribeNatGateways,
17654		HTTPMethod: "POST",
17655		HTTPPath:   "/",
17656		Paginator: &request.Paginator{
17657			InputTokens:     []string{"NextToken"},
17658			OutputTokens:    []string{"NextToken"},
17659			LimitToken:      "MaxResults",
17660			TruncationToken: "",
17661		},
17662	}
17663
17664	if input == nil {
17665		input = &DescribeNatGatewaysInput{}
17666	}
17667
17668	output = &DescribeNatGatewaysOutput{}
17669	req = c.newRequest(op, input, output)
17670	return
17671}
17672
17673// DescribeNatGateways API operation for Amazon Elastic Compute Cloud.
17674//
17675// Describes one or more of your NAT gateways.
17676//
17677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17678// with awserr.Error's Code and Message methods to get detailed information about
17679// the error.
17680//
17681// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17682// API operation DescribeNatGateways for usage and error information.
17683// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNatGateways
17684func (c *EC2) DescribeNatGateways(input *DescribeNatGatewaysInput) (*DescribeNatGatewaysOutput, error) {
17685	req, out := c.DescribeNatGatewaysRequest(input)
17686	return out, req.Send()
17687}
17688
17689// DescribeNatGatewaysWithContext is the same as DescribeNatGateways with the addition of
17690// the ability to pass a context and additional request options.
17691//
17692// See DescribeNatGateways for details on how to use this API operation.
17693//
17694// The context must be non-nil and will be used for request cancellation. If
17695// the context is nil a panic will occur. In the future the SDK may create
17696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17697// for more information on using Contexts.
17698func (c *EC2) DescribeNatGatewaysWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, opts ...request.Option) (*DescribeNatGatewaysOutput, error) {
17699	req, out := c.DescribeNatGatewaysRequest(input)
17700	req.SetContext(ctx)
17701	req.ApplyOptions(opts...)
17702	return out, req.Send()
17703}
17704
17705// DescribeNatGatewaysPages iterates over the pages of a DescribeNatGateways operation,
17706// calling the "fn" function with the response data for each page. To stop
17707// iterating, return false from the fn function.
17708//
17709// See DescribeNatGateways method for more information on how to use this operation.
17710//
17711// Note: This operation can generate multiple requests to a service.
17712//
17713//    // Example iterating over at most 3 pages of a DescribeNatGateways operation.
17714//    pageNum := 0
17715//    err := client.DescribeNatGatewaysPages(params,
17716//        func(page *ec2.DescribeNatGatewaysOutput, lastPage bool) bool {
17717//            pageNum++
17718//            fmt.Println(page)
17719//            return pageNum <= 3
17720//        })
17721//
17722func (c *EC2) DescribeNatGatewaysPages(input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool) error {
17723	return c.DescribeNatGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
17724}
17725
17726// DescribeNatGatewaysPagesWithContext same as DescribeNatGatewaysPages except
17727// it takes a Context and allows setting request options on the pages.
17728//
17729// The context must be non-nil and will be used for request cancellation. If
17730// the context is nil a panic will occur. In the future the SDK may create
17731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17732// for more information on using Contexts.
17733func (c *EC2) DescribeNatGatewaysPagesWithContext(ctx aws.Context, input *DescribeNatGatewaysInput, fn func(*DescribeNatGatewaysOutput, bool) bool, opts ...request.Option) error {
17734	p := request.Pagination{
17735		NewRequest: func() (*request.Request, error) {
17736			var inCpy *DescribeNatGatewaysInput
17737			if input != nil {
17738				tmp := *input
17739				inCpy = &tmp
17740			}
17741			req, _ := c.DescribeNatGatewaysRequest(inCpy)
17742			req.SetContext(ctx)
17743			req.ApplyOptions(opts...)
17744			return req, nil
17745		},
17746	}
17747
17748	for p.Next() {
17749		if !fn(p.Page().(*DescribeNatGatewaysOutput), !p.HasNextPage()) {
17750			break
17751		}
17752	}
17753
17754	return p.Err()
17755}
17756
17757const opDescribeNetworkAcls = "DescribeNetworkAcls"
17758
17759// DescribeNetworkAclsRequest generates a "aws/request.Request" representing the
17760// client's request for the DescribeNetworkAcls operation. The "output" return
17761// value will be populated with the request's response once the request completes
17762// successfully.
17763//
17764// Use "Send" method on the returned Request to send the API call to the service.
17765// the "output" return value is not valid until after Send returns without error.
17766//
17767// See DescribeNetworkAcls for more information on using the DescribeNetworkAcls
17768// API call, and error handling.
17769//
17770// This method is useful when you want to inject custom logic or configuration
17771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17772//
17773//
17774//    // Example sending a request using the DescribeNetworkAclsRequest method.
17775//    req, resp := client.DescribeNetworkAclsRequest(params)
17776//
17777//    err := req.Send()
17778//    if err == nil { // resp is now filled
17779//        fmt.Println(resp)
17780//    }
17781//
17782// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
17783func (c *EC2) DescribeNetworkAclsRequest(input *DescribeNetworkAclsInput) (req *request.Request, output *DescribeNetworkAclsOutput) {
17784	op := &request.Operation{
17785		Name:       opDescribeNetworkAcls,
17786		HTTPMethod: "POST",
17787		HTTPPath:   "/",
17788		Paginator: &request.Paginator{
17789			InputTokens:     []string{"NextToken"},
17790			OutputTokens:    []string{"NextToken"},
17791			LimitToken:      "MaxResults",
17792			TruncationToken: "",
17793		},
17794	}
17795
17796	if input == nil {
17797		input = &DescribeNetworkAclsInput{}
17798	}
17799
17800	output = &DescribeNetworkAclsOutput{}
17801	req = c.newRequest(op, input, output)
17802	return
17803}
17804
17805// DescribeNetworkAcls API operation for Amazon Elastic Compute Cloud.
17806//
17807// Describes one or more of your network ACLs.
17808//
17809// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
17810// in the Amazon Virtual Private Cloud User Guide.
17811//
17812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17813// with awserr.Error's Code and Message methods to get detailed information about
17814// the error.
17815//
17816// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17817// API operation DescribeNetworkAcls for usage and error information.
17818// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkAcls
17819func (c *EC2) DescribeNetworkAcls(input *DescribeNetworkAclsInput) (*DescribeNetworkAclsOutput, error) {
17820	req, out := c.DescribeNetworkAclsRequest(input)
17821	return out, req.Send()
17822}
17823
17824// DescribeNetworkAclsWithContext is the same as DescribeNetworkAcls with the addition of
17825// the ability to pass a context and additional request options.
17826//
17827// See DescribeNetworkAcls for details on how to use this API operation.
17828//
17829// The context must be non-nil and will be used for request cancellation. If
17830// the context is nil a panic will occur. In the future the SDK may create
17831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17832// for more information on using Contexts.
17833func (c *EC2) DescribeNetworkAclsWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, opts ...request.Option) (*DescribeNetworkAclsOutput, error) {
17834	req, out := c.DescribeNetworkAclsRequest(input)
17835	req.SetContext(ctx)
17836	req.ApplyOptions(opts...)
17837	return out, req.Send()
17838}
17839
17840// DescribeNetworkAclsPages iterates over the pages of a DescribeNetworkAcls operation,
17841// calling the "fn" function with the response data for each page. To stop
17842// iterating, return false from the fn function.
17843//
17844// See DescribeNetworkAcls method for more information on how to use this operation.
17845//
17846// Note: This operation can generate multiple requests to a service.
17847//
17848//    // Example iterating over at most 3 pages of a DescribeNetworkAcls operation.
17849//    pageNum := 0
17850//    err := client.DescribeNetworkAclsPages(params,
17851//        func(page *ec2.DescribeNetworkAclsOutput, lastPage bool) bool {
17852//            pageNum++
17853//            fmt.Println(page)
17854//            return pageNum <= 3
17855//        })
17856//
17857func (c *EC2) DescribeNetworkAclsPages(input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool) error {
17858	return c.DescribeNetworkAclsPagesWithContext(aws.BackgroundContext(), input, fn)
17859}
17860
17861// DescribeNetworkAclsPagesWithContext same as DescribeNetworkAclsPages except
17862// it takes a Context and allows setting request options on the pages.
17863//
17864// The context must be non-nil and will be used for request cancellation. If
17865// the context is nil a panic will occur. In the future the SDK may create
17866// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17867// for more information on using Contexts.
17868func (c *EC2) DescribeNetworkAclsPagesWithContext(ctx aws.Context, input *DescribeNetworkAclsInput, fn func(*DescribeNetworkAclsOutput, bool) bool, opts ...request.Option) error {
17869	p := request.Pagination{
17870		NewRequest: func() (*request.Request, error) {
17871			var inCpy *DescribeNetworkAclsInput
17872			if input != nil {
17873				tmp := *input
17874				inCpy = &tmp
17875			}
17876			req, _ := c.DescribeNetworkAclsRequest(inCpy)
17877			req.SetContext(ctx)
17878			req.ApplyOptions(opts...)
17879			return req, nil
17880		},
17881	}
17882
17883	for p.Next() {
17884		if !fn(p.Page().(*DescribeNetworkAclsOutput), !p.HasNextPage()) {
17885			break
17886		}
17887	}
17888
17889	return p.Err()
17890}
17891
17892const opDescribeNetworkInterfaceAttribute = "DescribeNetworkInterfaceAttribute"
17893
17894// DescribeNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
17895// client's request for the DescribeNetworkInterfaceAttribute operation. The "output" return
17896// value will be populated with the request's response once the request completes
17897// successfully.
17898//
17899// Use "Send" method on the returned Request to send the API call to the service.
17900// the "output" return value is not valid until after Send returns without error.
17901//
17902// See DescribeNetworkInterfaceAttribute for more information on using the DescribeNetworkInterfaceAttribute
17903// API call, and error handling.
17904//
17905// This method is useful when you want to inject custom logic or configuration
17906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17907//
17908//
17909//    // Example sending a request using the DescribeNetworkInterfaceAttributeRequest method.
17910//    req, resp := client.DescribeNetworkInterfaceAttributeRequest(params)
17911//
17912//    err := req.Send()
17913//    if err == nil { // resp is now filled
17914//        fmt.Println(resp)
17915//    }
17916//
17917// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
17918func (c *EC2) DescribeNetworkInterfaceAttributeRequest(input *DescribeNetworkInterfaceAttributeInput) (req *request.Request, output *DescribeNetworkInterfaceAttributeOutput) {
17919	op := &request.Operation{
17920		Name:       opDescribeNetworkInterfaceAttribute,
17921		HTTPMethod: "POST",
17922		HTTPPath:   "/",
17923	}
17924
17925	if input == nil {
17926		input = &DescribeNetworkInterfaceAttributeInput{}
17927	}
17928
17929	output = &DescribeNetworkInterfaceAttributeOutput{}
17930	req = c.newRequest(op, input, output)
17931	return
17932}
17933
17934// DescribeNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
17935//
17936// Describes a network interface attribute. You can specify only one attribute
17937// at a time.
17938//
17939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
17940// with awserr.Error's Code and Message methods to get detailed information about
17941// the error.
17942//
17943// See the AWS API reference guide for Amazon Elastic Compute Cloud's
17944// API operation DescribeNetworkInterfaceAttribute for usage and error information.
17945// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaceAttribute
17946func (c *EC2) DescribeNetworkInterfaceAttribute(input *DescribeNetworkInterfaceAttributeInput) (*DescribeNetworkInterfaceAttributeOutput, error) {
17947	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
17948	return out, req.Send()
17949}
17950
17951// DescribeNetworkInterfaceAttributeWithContext is the same as DescribeNetworkInterfaceAttribute with the addition of
17952// the ability to pass a context and additional request options.
17953//
17954// See DescribeNetworkInterfaceAttribute for details on how to use this API operation.
17955//
17956// The context must be non-nil and will be used for request cancellation. If
17957// the context is nil a panic will occur. In the future the SDK may create
17958// sub-contexts for http.Requests. See https://golang.org/pkg/context/
17959// for more information on using Contexts.
17960func (c *EC2) DescribeNetworkInterfaceAttributeWithContext(ctx aws.Context, input *DescribeNetworkInterfaceAttributeInput, opts ...request.Option) (*DescribeNetworkInterfaceAttributeOutput, error) {
17961	req, out := c.DescribeNetworkInterfaceAttributeRequest(input)
17962	req.SetContext(ctx)
17963	req.ApplyOptions(opts...)
17964	return out, req.Send()
17965}
17966
17967const opDescribeNetworkInterfacePermissions = "DescribeNetworkInterfacePermissions"
17968
17969// DescribeNetworkInterfacePermissionsRequest generates a "aws/request.Request" representing the
17970// client's request for the DescribeNetworkInterfacePermissions operation. The "output" return
17971// value will be populated with the request's response once the request completes
17972// successfully.
17973//
17974// Use "Send" method on the returned Request to send the API call to the service.
17975// the "output" return value is not valid until after Send returns without error.
17976//
17977// See DescribeNetworkInterfacePermissions for more information on using the DescribeNetworkInterfacePermissions
17978// API call, and error handling.
17979//
17980// This method is useful when you want to inject custom logic or configuration
17981// into the SDK's request lifecycle. Such as custom headers, or retry logic.
17982//
17983//
17984//    // Example sending a request using the DescribeNetworkInterfacePermissionsRequest method.
17985//    req, resp := client.DescribeNetworkInterfacePermissionsRequest(params)
17986//
17987//    err := req.Send()
17988//    if err == nil { // resp is now filled
17989//        fmt.Println(resp)
17990//    }
17991//
17992// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
17993func (c *EC2) DescribeNetworkInterfacePermissionsRequest(input *DescribeNetworkInterfacePermissionsInput) (req *request.Request, output *DescribeNetworkInterfacePermissionsOutput) {
17994	op := &request.Operation{
17995		Name:       opDescribeNetworkInterfacePermissions,
17996		HTTPMethod: "POST",
17997		HTTPPath:   "/",
17998		Paginator: &request.Paginator{
17999			InputTokens:     []string{"NextToken"},
18000			OutputTokens:    []string{"NextToken"},
18001			LimitToken:      "MaxResults",
18002			TruncationToken: "",
18003		},
18004	}
18005
18006	if input == nil {
18007		input = &DescribeNetworkInterfacePermissionsInput{}
18008	}
18009
18010	output = &DescribeNetworkInterfacePermissionsOutput{}
18011	req = c.newRequest(op, input, output)
18012	return
18013}
18014
18015// DescribeNetworkInterfacePermissions API operation for Amazon Elastic Compute Cloud.
18016//
18017// Describes the permissions for your network interfaces.
18018//
18019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18020// with awserr.Error's Code and Message methods to get detailed information about
18021// the error.
18022//
18023// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18024// API operation DescribeNetworkInterfacePermissions for usage and error information.
18025// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions
18026func (c *EC2) DescribeNetworkInterfacePermissions(input *DescribeNetworkInterfacePermissionsInput) (*DescribeNetworkInterfacePermissionsOutput, error) {
18027	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
18028	return out, req.Send()
18029}
18030
18031// DescribeNetworkInterfacePermissionsWithContext is the same as DescribeNetworkInterfacePermissions with the addition of
18032// the ability to pass a context and additional request options.
18033//
18034// See DescribeNetworkInterfacePermissions for details on how to use this API operation.
18035//
18036// The context must be non-nil and will be used for request cancellation. If
18037// the context is nil a panic will occur. In the future the SDK may create
18038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18039// for more information on using Contexts.
18040func (c *EC2) DescribeNetworkInterfacePermissionsWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, opts ...request.Option) (*DescribeNetworkInterfacePermissionsOutput, error) {
18041	req, out := c.DescribeNetworkInterfacePermissionsRequest(input)
18042	req.SetContext(ctx)
18043	req.ApplyOptions(opts...)
18044	return out, req.Send()
18045}
18046
18047// DescribeNetworkInterfacePermissionsPages iterates over the pages of a DescribeNetworkInterfacePermissions operation,
18048// calling the "fn" function with the response data for each page. To stop
18049// iterating, return false from the fn function.
18050//
18051// See DescribeNetworkInterfacePermissions method for more information on how to use this operation.
18052//
18053// Note: This operation can generate multiple requests to a service.
18054//
18055//    // Example iterating over at most 3 pages of a DescribeNetworkInterfacePermissions operation.
18056//    pageNum := 0
18057//    err := client.DescribeNetworkInterfacePermissionsPages(params,
18058//        func(page *ec2.DescribeNetworkInterfacePermissionsOutput, lastPage bool) bool {
18059//            pageNum++
18060//            fmt.Println(page)
18061//            return pageNum <= 3
18062//        })
18063//
18064func (c *EC2) DescribeNetworkInterfacePermissionsPages(input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool) error {
18065	return c.DescribeNetworkInterfacePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
18066}
18067
18068// DescribeNetworkInterfacePermissionsPagesWithContext same as DescribeNetworkInterfacePermissionsPages except
18069// it takes a Context and allows setting request options on the pages.
18070//
18071// The context must be non-nil and will be used for request cancellation. If
18072// the context is nil a panic will occur. In the future the SDK may create
18073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18074// for more information on using Contexts.
18075func (c *EC2) DescribeNetworkInterfacePermissionsPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacePermissionsInput, fn func(*DescribeNetworkInterfacePermissionsOutput, bool) bool, opts ...request.Option) error {
18076	p := request.Pagination{
18077		NewRequest: func() (*request.Request, error) {
18078			var inCpy *DescribeNetworkInterfacePermissionsInput
18079			if input != nil {
18080				tmp := *input
18081				inCpy = &tmp
18082			}
18083			req, _ := c.DescribeNetworkInterfacePermissionsRequest(inCpy)
18084			req.SetContext(ctx)
18085			req.ApplyOptions(opts...)
18086			return req, nil
18087		},
18088	}
18089
18090	for p.Next() {
18091		if !fn(p.Page().(*DescribeNetworkInterfacePermissionsOutput), !p.HasNextPage()) {
18092			break
18093		}
18094	}
18095
18096	return p.Err()
18097}
18098
18099const opDescribeNetworkInterfaces = "DescribeNetworkInterfaces"
18100
18101// DescribeNetworkInterfacesRequest generates a "aws/request.Request" representing the
18102// client's request for the DescribeNetworkInterfaces operation. The "output" return
18103// value will be populated with the request's response once the request completes
18104// successfully.
18105//
18106// Use "Send" method on the returned Request to send the API call to the service.
18107// the "output" return value is not valid until after Send returns without error.
18108//
18109// See DescribeNetworkInterfaces for more information on using the DescribeNetworkInterfaces
18110// API call, and error handling.
18111//
18112// This method is useful when you want to inject custom logic or configuration
18113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18114//
18115//
18116//    // Example sending a request using the DescribeNetworkInterfacesRequest method.
18117//    req, resp := client.DescribeNetworkInterfacesRequest(params)
18118//
18119//    err := req.Send()
18120//    if err == nil { // resp is now filled
18121//        fmt.Println(resp)
18122//    }
18123//
18124// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
18125func (c *EC2) DescribeNetworkInterfacesRequest(input *DescribeNetworkInterfacesInput) (req *request.Request, output *DescribeNetworkInterfacesOutput) {
18126	op := &request.Operation{
18127		Name:       opDescribeNetworkInterfaces,
18128		HTTPMethod: "POST",
18129		HTTPPath:   "/",
18130		Paginator: &request.Paginator{
18131			InputTokens:     []string{"NextToken"},
18132			OutputTokens:    []string{"NextToken"},
18133			LimitToken:      "MaxResults",
18134			TruncationToken: "",
18135		},
18136	}
18137
18138	if input == nil {
18139		input = &DescribeNetworkInterfacesInput{}
18140	}
18141
18142	output = &DescribeNetworkInterfacesOutput{}
18143	req = c.newRequest(op, input, output)
18144	return
18145}
18146
18147// DescribeNetworkInterfaces API operation for Amazon Elastic Compute Cloud.
18148//
18149// Describes one or more of your network interfaces.
18150//
18151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18152// with awserr.Error's Code and Message methods to get detailed information about
18153// the error.
18154//
18155// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18156// API operation DescribeNetworkInterfaces for usage and error information.
18157// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfaces
18158func (c *EC2) DescribeNetworkInterfaces(input *DescribeNetworkInterfacesInput) (*DescribeNetworkInterfacesOutput, error) {
18159	req, out := c.DescribeNetworkInterfacesRequest(input)
18160	return out, req.Send()
18161}
18162
18163// DescribeNetworkInterfacesWithContext is the same as DescribeNetworkInterfaces with the addition of
18164// the ability to pass a context and additional request options.
18165//
18166// See DescribeNetworkInterfaces for details on how to use this API operation.
18167//
18168// The context must be non-nil and will be used for request cancellation. If
18169// the context is nil a panic will occur. In the future the SDK may create
18170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18171// for more information on using Contexts.
18172func (c *EC2) DescribeNetworkInterfacesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, opts ...request.Option) (*DescribeNetworkInterfacesOutput, error) {
18173	req, out := c.DescribeNetworkInterfacesRequest(input)
18174	req.SetContext(ctx)
18175	req.ApplyOptions(opts...)
18176	return out, req.Send()
18177}
18178
18179// DescribeNetworkInterfacesPages iterates over the pages of a DescribeNetworkInterfaces operation,
18180// calling the "fn" function with the response data for each page. To stop
18181// iterating, return false from the fn function.
18182//
18183// See DescribeNetworkInterfaces method for more information on how to use this operation.
18184//
18185// Note: This operation can generate multiple requests to a service.
18186//
18187//    // Example iterating over at most 3 pages of a DescribeNetworkInterfaces operation.
18188//    pageNum := 0
18189//    err := client.DescribeNetworkInterfacesPages(params,
18190//        func(page *ec2.DescribeNetworkInterfacesOutput, lastPage bool) bool {
18191//            pageNum++
18192//            fmt.Println(page)
18193//            return pageNum <= 3
18194//        })
18195//
18196func (c *EC2) DescribeNetworkInterfacesPages(input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool) error {
18197	return c.DescribeNetworkInterfacesPagesWithContext(aws.BackgroundContext(), input, fn)
18198}
18199
18200// DescribeNetworkInterfacesPagesWithContext same as DescribeNetworkInterfacesPages except
18201// it takes a Context and allows setting request options on the pages.
18202//
18203// The context must be non-nil and will be used for request cancellation. If
18204// the context is nil a panic will occur. In the future the SDK may create
18205// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18206// for more information on using Contexts.
18207func (c *EC2) DescribeNetworkInterfacesPagesWithContext(ctx aws.Context, input *DescribeNetworkInterfacesInput, fn func(*DescribeNetworkInterfacesOutput, bool) bool, opts ...request.Option) error {
18208	p := request.Pagination{
18209		NewRequest: func() (*request.Request, error) {
18210			var inCpy *DescribeNetworkInterfacesInput
18211			if input != nil {
18212				tmp := *input
18213				inCpy = &tmp
18214			}
18215			req, _ := c.DescribeNetworkInterfacesRequest(inCpy)
18216			req.SetContext(ctx)
18217			req.ApplyOptions(opts...)
18218			return req, nil
18219		},
18220	}
18221
18222	for p.Next() {
18223		if !fn(p.Page().(*DescribeNetworkInterfacesOutput), !p.HasNextPage()) {
18224			break
18225		}
18226	}
18227
18228	return p.Err()
18229}
18230
18231const opDescribePlacementGroups = "DescribePlacementGroups"
18232
18233// DescribePlacementGroupsRequest generates a "aws/request.Request" representing the
18234// client's request for the DescribePlacementGroups operation. The "output" return
18235// value will be populated with the request's response once the request completes
18236// successfully.
18237//
18238// Use "Send" method on the returned Request to send the API call to the service.
18239// the "output" return value is not valid until after Send returns without error.
18240//
18241// See DescribePlacementGroups for more information on using the DescribePlacementGroups
18242// API call, and error handling.
18243//
18244// This method is useful when you want to inject custom logic or configuration
18245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18246//
18247//
18248//    // Example sending a request using the DescribePlacementGroupsRequest method.
18249//    req, resp := client.DescribePlacementGroupsRequest(params)
18250//
18251//    err := req.Send()
18252//    if err == nil { // resp is now filled
18253//        fmt.Println(resp)
18254//    }
18255//
18256// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
18257func (c *EC2) DescribePlacementGroupsRequest(input *DescribePlacementGroupsInput) (req *request.Request, output *DescribePlacementGroupsOutput) {
18258	op := &request.Operation{
18259		Name:       opDescribePlacementGroups,
18260		HTTPMethod: "POST",
18261		HTTPPath:   "/",
18262	}
18263
18264	if input == nil {
18265		input = &DescribePlacementGroupsInput{}
18266	}
18267
18268	output = &DescribePlacementGroupsOutput{}
18269	req = c.newRequest(op, input, output)
18270	return
18271}
18272
18273// DescribePlacementGroups API operation for Amazon Elastic Compute Cloud.
18274//
18275// Describes the specified placement groups or all of your placement groups.
18276// For more information, see Placement Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)
18277// in the Amazon Elastic Compute Cloud User Guide.
18278//
18279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18280// with awserr.Error's Code and Message methods to get detailed information about
18281// the error.
18282//
18283// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18284// API operation DescribePlacementGroups for usage and error information.
18285// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePlacementGroups
18286func (c *EC2) DescribePlacementGroups(input *DescribePlacementGroupsInput) (*DescribePlacementGroupsOutput, error) {
18287	req, out := c.DescribePlacementGroupsRequest(input)
18288	return out, req.Send()
18289}
18290
18291// DescribePlacementGroupsWithContext is the same as DescribePlacementGroups with the addition of
18292// the ability to pass a context and additional request options.
18293//
18294// See DescribePlacementGroups for details on how to use this API operation.
18295//
18296// The context must be non-nil and will be used for request cancellation. If
18297// the context is nil a panic will occur. In the future the SDK may create
18298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18299// for more information on using Contexts.
18300func (c *EC2) DescribePlacementGroupsWithContext(ctx aws.Context, input *DescribePlacementGroupsInput, opts ...request.Option) (*DescribePlacementGroupsOutput, error) {
18301	req, out := c.DescribePlacementGroupsRequest(input)
18302	req.SetContext(ctx)
18303	req.ApplyOptions(opts...)
18304	return out, req.Send()
18305}
18306
18307const opDescribePrefixLists = "DescribePrefixLists"
18308
18309// DescribePrefixListsRequest generates a "aws/request.Request" representing the
18310// client's request for the DescribePrefixLists operation. The "output" return
18311// value will be populated with the request's response once the request completes
18312// successfully.
18313//
18314// Use "Send" method on the returned Request to send the API call to the service.
18315// the "output" return value is not valid until after Send returns without error.
18316//
18317// See DescribePrefixLists for more information on using the DescribePrefixLists
18318// API call, and error handling.
18319//
18320// This method is useful when you want to inject custom logic or configuration
18321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18322//
18323//
18324//    // Example sending a request using the DescribePrefixListsRequest method.
18325//    req, resp := client.DescribePrefixListsRequest(params)
18326//
18327//    err := req.Send()
18328//    if err == nil { // resp is now filled
18329//        fmt.Println(resp)
18330//    }
18331//
18332// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
18333func (c *EC2) DescribePrefixListsRequest(input *DescribePrefixListsInput) (req *request.Request, output *DescribePrefixListsOutput) {
18334	op := &request.Operation{
18335		Name:       opDescribePrefixLists,
18336		HTTPMethod: "POST",
18337		HTTPPath:   "/",
18338		Paginator: &request.Paginator{
18339			InputTokens:     []string{"NextToken"},
18340			OutputTokens:    []string{"NextToken"},
18341			LimitToken:      "MaxResults",
18342			TruncationToken: "",
18343		},
18344	}
18345
18346	if input == nil {
18347		input = &DescribePrefixListsInput{}
18348	}
18349
18350	output = &DescribePrefixListsOutput{}
18351	req = c.newRequest(op, input, output)
18352	return
18353}
18354
18355// DescribePrefixLists API operation for Amazon Elastic Compute Cloud.
18356//
18357// Describes available AWS services in a prefix list format, which includes
18358// the prefix list name and prefix list ID of the service and the IP address
18359// range for the service. A prefix list ID is required for creating an outbound
18360// security group rule that allows traffic from a VPC to access an AWS service
18361// through a gateway VPC endpoint. Currently, the services that support this
18362// action are Amazon S3 and Amazon DynamoDB.
18363//
18364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18365// with awserr.Error's Code and Message methods to get detailed information about
18366// the error.
18367//
18368// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18369// API operation DescribePrefixLists for usage and error information.
18370// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrefixLists
18371func (c *EC2) DescribePrefixLists(input *DescribePrefixListsInput) (*DescribePrefixListsOutput, error) {
18372	req, out := c.DescribePrefixListsRequest(input)
18373	return out, req.Send()
18374}
18375
18376// DescribePrefixListsWithContext is the same as DescribePrefixLists with the addition of
18377// the ability to pass a context and additional request options.
18378//
18379// See DescribePrefixLists for details on how to use this API operation.
18380//
18381// The context must be non-nil and will be used for request cancellation. If
18382// the context is nil a panic will occur. In the future the SDK may create
18383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18384// for more information on using Contexts.
18385func (c *EC2) DescribePrefixListsWithContext(ctx aws.Context, input *DescribePrefixListsInput, opts ...request.Option) (*DescribePrefixListsOutput, error) {
18386	req, out := c.DescribePrefixListsRequest(input)
18387	req.SetContext(ctx)
18388	req.ApplyOptions(opts...)
18389	return out, req.Send()
18390}
18391
18392// DescribePrefixListsPages iterates over the pages of a DescribePrefixLists operation,
18393// calling the "fn" function with the response data for each page. To stop
18394// iterating, return false from the fn function.
18395//
18396// See DescribePrefixLists method for more information on how to use this operation.
18397//
18398// Note: This operation can generate multiple requests to a service.
18399//
18400//    // Example iterating over at most 3 pages of a DescribePrefixLists operation.
18401//    pageNum := 0
18402//    err := client.DescribePrefixListsPages(params,
18403//        func(page *ec2.DescribePrefixListsOutput, lastPage bool) bool {
18404//            pageNum++
18405//            fmt.Println(page)
18406//            return pageNum <= 3
18407//        })
18408//
18409func (c *EC2) DescribePrefixListsPages(input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool) error {
18410	return c.DescribePrefixListsPagesWithContext(aws.BackgroundContext(), input, fn)
18411}
18412
18413// DescribePrefixListsPagesWithContext same as DescribePrefixListsPages except
18414// it takes a Context and allows setting request options on the pages.
18415//
18416// The context must be non-nil and will be used for request cancellation. If
18417// the context is nil a panic will occur. In the future the SDK may create
18418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18419// for more information on using Contexts.
18420func (c *EC2) DescribePrefixListsPagesWithContext(ctx aws.Context, input *DescribePrefixListsInput, fn func(*DescribePrefixListsOutput, bool) bool, opts ...request.Option) error {
18421	p := request.Pagination{
18422		NewRequest: func() (*request.Request, error) {
18423			var inCpy *DescribePrefixListsInput
18424			if input != nil {
18425				tmp := *input
18426				inCpy = &tmp
18427			}
18428			req, _ := c.DescribePrefixListsRequest(inCpy)
18429			req.SetContext(ctx)
18430			req.ApplyOptions(opts...)
18431			return req, nil
18432		},
18433	}
18434
18435	for p.Next() {
18436		if !fn(p.Page().(*DescribePrefixListsOutput), !p.HasNextPage()) {
18437			break
18438		}
18439	}
18440
18441	return p.Err()
18442}
18443
18444const opDescribePrincipalIdFormat = "DescribePrincipalIdFormat"
18445
18446// DescribePrincipalIdFormatRequest generates a "aws/request.Request" representing the
18447// client's request for the DescribePrincipalIdFormat operation. The "output" return
18448// value will be populated with the request's response once the request completes
18449// successfully.
18450//
18451// Use "Send" method on the returned Request to send the API call to the service.
18452// the "output" return value is not valid until after Send returns without error.
18453//
18454// See DescribePrincipalIdFormat for more information on using the DescribePrincipalIdFormat
18455// API call, and error handling.
18456//
18457// This method is useful when you want to inject custom logic or configuration
18458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18459//
18460//
18461//    // Example sending a request using the DescribePrincipalIdFormatRequest method.
18462//    req, resp := client.DescribePrincipalIdFormatRequest(params)
18463//
18464//    err := req.Send()
18465//    if err == nil { // resp is now filled
18466//        fmt.Println(resp)
18467//    }
18468//
18469// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
18470func (c *EC2) DescribePrincipalIdFormatRequest(input *DescribePrincipalIdFormatInput) (req *request.Request, output *DescribePrincipalIdFormatOutput) {
18471	op := &request.Operation{
18472		Name:       opDescribePrincipalIdFormat,
18473		HTTPMethod: "POST",
18474		HTTPPath:   "/",
18475		Paginator: &request.Paginator{
18476			InputTokens:     []string{"NextToken"},
18477			OutputTokens:    []string{"NextToken"},
18478			LimitToken:      "MaxResults",
18479			TruncationToken: "",
18480		},
18481	}
18482
18483	if input == nil {
18484		input = &DescribePrincipalIdFormatInput{}
18485	}
18486
18487	output = &DescribePrincipalIdFormatOutput{}
18488	req = c.newRequest(op, input, output)
18489	return
18490}
18491
18492// DescribePrincipalIdFormat API operation for Amazon Elastic Compute Cloud.
18493//
18494// Describes the ID format settings for the root user and all IAM roles and
18495// IAM users that have explicitly specified a longer ID (17-character ID) preference.
18496//
18497// By default, all IAM roles and IAM users default to the same ID settings as
18498// the root user, unless they explicitly override the settings. This request
18499// is useful for identifying those IAM users and IAM roles that have overridden
18500// the default ID settings.
18501//
18502// The following resource types support longer IDs: bundle | conversion-task
18503// | customer-gateway | dhcp-options | elastic-ip-allocation | elastic-ip-association
18504// | export-task | flow-log | image | import-task | instance | internet-gateway
18505// | network-acl | network-acl-association | network-interface | network-interface-attachment
18506// | prefix-list | reservation | route-table | route-table-association | security-group
18507// | snapshot | subnet | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
18508// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
18509//
18510// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18511// with awserr.Error's Code and Message methods to get detailed information about
18512// the error.
18513//
18514// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18515// API operation DescribePrincipalIdFormat for usage and error information.
18516// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePrincipalIdFormat
18517func (c *EC2) DescribePrincipalIdFormat(input *DescribePrincipalIdFormatInput) (*DescribePrincipalIdFormatOutput, error) {
18518	req, out := c.DescribePrincipalIdFormatRequest(input)
18519	return out, req.Send()
18520}
18521
18522// DescribePrincipalIdFormatWithContext is the same as DescribePrincipalIdFormat with the addition of
18523// the ability to pass a context and additional request options.
18524//
18525// See DescribePrincipalIdFormat for details on how to use this API operation.
18526//
18527// The context must be non-nil and will be used for request cancellation. If
18528// the context is nil a panic will occur. In the future the SDK may create
18529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18530// for more information on using Contexts.
18531func (c *EC2) DescribePrincipalIdFormatWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, opts ...request.Option) (*DescribePrincipalIdFormatOutput, error) {
18532	req, out := c.DescribePrincipalIdFormatRequest(input)
18533	req.SetContext(ctx)
18534	req.ApplyOptions(opts...)
18535	return out, req.Send()
18536}
18537
18538// DescribePrincipalIdFormatPages iterates over the pages of a DescribePrincipalIdFormat operation,
18539// calling the "fn" function with the response data for each page. To stop
18540// iterating, return false from the fn function.
18541//
18542// See DescribePrincipalIdFormat method for more information on how to use this operation.
18543//
18544// Note: This operation can generate multiple requests to a service.
18545//
18546//    // Example iterating over at most 3 pages of a DescribePrincipalIdFormat operation.
18547//    pageNum := 0
18548//    err := client.DescribePrincipalIdFormatPages(params,
18549//        func(page *ec2.DescribePrincipalIdFormatOutput, lastPage bool) bool {
18550//            pageNum++
18551//            fmt.Println(page)
18552//            return pageNum <= 3
18553//        })
18554//
18555func (c *EC2) DescribePrincipalIdFormatPages(input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool) error {
18556	return c.DescribePrincipalIdFormatPagesWithContext(aws.BackgroundContext(), input, fn)
18557}
18558
18559// DescribePrincipalIdFormatPagesWithContext same as DescribePrincipalIdFormatPages except
18560// it takes a Context and allows setting request options on the pages.
18561//
18562// The context must be non-nil and will be used for request cancellation. If
18563// the context is nil a panic will occur. In the future the SDK may create
18564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18565// for more information on using Contexts.
18566func (c *EC2) DescribePrincipalIdFormatPagesWithContext(ctx aws.Context, input *DescribePrincipalIdFormatInput, fn func(*DescribePrincipalIdFormatOutput, bool) bool, opts ...request.Option) error {
18567	p := request.Pagination{
18568		NewRequest: func() (*request.Request, error) {
18569			var inCpy *DescribePrincipalIdFormatInput
18570			if input != nil {
18571				tmp := *input
18572				inCpy = &tmp
18573			}
18574			req, _ := c.DescribePrincipalIdFormatRequest(inCpy)
18575			req.SetContext(ctx)
18576			req.ApplyOptions(opts...)
18577			return req, nil
18578		},
18579	}
18580
18581	for p.Next() {
18582		if !fn(p.Page().(*DescribePrincipalIdFormatOutput), !p.HasNextPage()) {
18583			break
18584		}
18585	}
18586
18587	return p.Err()
18588}
18589
18590const opDescribePublicIpv4Pools = "DescribePublicIpv4Pools"
18591
18592// DescribePublicIpv4PoolsRequest generates a "aws/request.Request" representing the
18593// client's request for the DescribePublicIpv4Pools operation. The "output" return
18594// value will be populated with the request's response once the request completes
18595// successfully.
18596//
18597// Use "Send" method on the returned Request to send the API call to the service.
18598// the "output" return value is not valid until after Send returns without error.
18599//
18600// See DescribePublicIpv4Pools for more information on using the DescribePublicIpv4Pools
18601// API call, and error handling.
18602//
18603// This method is useful when you want to inject custom logic or configuration
18604// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18605//
18606//
18607//    // Example sending a request using the DescribePublicIpv4PoolsRequest method.
18608//    req, resp := client.DescribePublicIpv4PoolsRequest(params)
18609//
18610//    err := req.Send()
18611//    if err == nil { // resp is now filled
18612//        fmt.Println(resp)
18613//    }
18614//
18615// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
18616func (c *EC2) DescribePublicIpv4PoolsRequest(input *DescribePublicIpv4PoolsInput) (req *request.Request, output *DescribePublicIpv4PoolsOutput) {
18617	op := &request.Operation{
18618		Name:       opDescribePublicIpv4Pools,
18619		HTTPMethod: "POST",
18620		HTTPPath:   "/",
18621		Paginator: &request.Paginator{
18622			InputTokens:     []string{"NextToken"},
18623			OutputTokens:    []string{"NextToken"},
18624			LimitToken:      "MaxResults",
18625			TruncationToken: "",
18626		},
18627	}
18628
18629	if input == nil {
18630		input = &DescribePublicIpv4PoolsInput{}
18631	}
18632
18633	output = &DescribePublicIpv4PoolsOutput{}
18634	req = c.newRequest(op, input, output)
18635	return
18636}
18637
18638// DescribePublicIpv4Pools API operation for Amazon Elastic Compute Cloud.
18639//
18640// Describes the specified IPv4 address pools.
18641//
18642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18643// with awserr.Error's Code and Message methods to get detailed information about
18644// the error.
18645//
18646// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18647// API operation DescribePublicIpv4Pools for usage and error information.
18648// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribePublicIpv4Pools
18649func (c *EC2) DescribePublicIpv4Pools(input *DescribePublicIpv4PoolsInput) (*DescribePublicIpv4PoolsOutput, error) {
18650	req, out := c.DescribePublicIpv4PoolsRequest(input)
18651	return out, req.Send()
18652}
18653
18654// DescribePublicIpv4PoolsWithContext is the same as DescribePublicIpv4Pools with the addition of
18655// the ability to pass a context and additional request options.
18656//
18657// See DescribePublicIpv4Pools for details on how to use this API operation.
18658//
18659// The context must be non-nil and will be used for request cancellation. If
18660// the context is nil a panic will occur. In the future the SDK may create
18661// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18662// for more information on using Contexts.
18663func (c *EC2) DescribePublicIpv4PoolsWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, opts ...request.Option) (*DescribePublicIpv4PoolsOutput, error) {
18664	req, out := c.DescribePublicIpv4PoolsRequest(input)
18665	req.SetContext(ctx)
18666	req.ApplyOptions(opts...)
18667	return out, req.Send()
18668}
18669
18670// DescribePublicIpv4PoolsPages iterates over the pages of a DescribePublicIpv4Pools operation,
18671// calling the "fn" function with the response data for each page. To stop
18672// iterating, return false from the fn function.
18673//
18674// See DescribePublicIpv4Pools method for more information on how to use this operation.
18675//
18676// Note: This operation can generate multiple requests to a service.
18677//
18678//    // Example iterating over at most 3 pages of a DescribePublicIpv4Pools operation.
18679//    pageNum := 0
18680//    err := client.DescribePublicIpv4PoolsPages(params,
18681//        func(page *ec2.DescribePublicIpv4PoolsOutput, lastPage bool) bool {
18682//            pageNum++
18683//            fmt.Println(page)
18684//            return pageNum <= 3
18685//        })
18686//
18687func (c *EC2) DescribePublicIpv4PoolsPages(input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool) error {
18688	return c.DescribePublicIpv4PoolsPagesWithContext(aws.BackgroundContext(), input, fn)
18689}
18690
18691// DescribePublicIpv4PoolsPagesWithContext same as DescribePublicIpv4PoolsPages except
18692// it takes a Context and allows setting request options on the pages.
18693//
18694// The context must be non-nil and will be used for request cancellation. If
18695// the context is nil a panic will occur. In the future the SDK may create
18696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18697// for more information on using Contexts.
18698func (c *EC2) DescribePublicIpv4PoolsPagesWithContext(ctx aws.Context, input *DescribePublicIpv4PoolsInput, fn func(*DescribePublicIpv4PoolsOutput, bool) bool, opts ...request.Option) error {
18699	p := request.Pagination{
18700		NewRequest: func() (*request.Request, error) {
18701			var inCpy *DescribePublicIpv4PoolsInput
18702			if input != nil {
18703				tmp := *input
18704				inCpy = &tmp
18705			}
18706			req, _ := c.DescribePublicIpv4PoolsRequest(inCpy)
18707			req.SetContext(ctx)
18708			req.ApplyOptions(opts...)
18709			return req, nil
18710		},
18711	}
18712
18713	for p.Next() {
18714		if !fn(p.Page().(*DescribePublicIpv4PoolsOutput), !p.HasNextPage()) {
18715			break
18716		}
18717	}
18718
18719	return p.Err()
18720}
18721
18722const opDescribeRegions = "DescribeRegions"
18723
18724// DescribeRegionsRequest generates a "aws/request.Request" representing the
18725// client's request for the DescribeRegions operation. The "output" return
18726// value will be populated with the request's response once the request completes
18727// successfully.
18728//
18729// Use "Send" method on the returned Request to send the API call to the service.
18730// the "output" return value is not valid until after Send returns without error.
18731//
18732// See DescribeRegions for more information on using the DescribeRegions
18733// API call, and error handling.
18734//
18735// This method is useful when you want to inject custom logic or configuration
18736// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18737//
18738//
18739//    // Example sending a request using the DescribeRegionsRequest method.
18740//    req, resp := client.DescribeRegionsRequest(params)
18741//
18742//    err := req.Send()
18743//    if err == nil { // resp is now filled
18744//        fmt.Println(resp)
18745//    }
18746//
18747// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
18748func (c *EC2) DescribeRegionsRequest(input *DescribeRegionsInput) (req *request.Request, output *DescribeRegionsOutput) {
18749	op := &request.Operation{
18750		Name:       opDescribeRegions,
18751		HTTPMethod: "POST",
18752		HTTPPath:   "/",
18753	}
18754
18755	if input == nil {
18756		input = &DescribeRegionsInput{}
18757	}
18758
18759	output = &DescribeRegionsOutput{}
18760	req = c.newRequest(op, input, output)
18761	return
18762}
18763
18764// DescribeRegions API operation for Amazon Elastic Compute Cloud.
18765//
18766// Describes the Regions that are enabled for your account, or all Regions.
18767//
18768// For a list of the Regions supported by Amazon EC2, see Regions and Endpoints
18769// (https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region).
18770//
18771// For information about enabling and disabling Regions for your account, see
18772// Managing AWS Regions (https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)
18773// in the AWS General Reference.
18774//
18775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18776// with awserr.Error's Code and Message methods to get detailed information about
18777// the error.
18778//
18779// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18780// API operation DescribeRegions for usage and error information.
18781// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRegions
18782func (c *EC2) DescribeRegions(input *DescribeRegionsInput) (*DescribeRegionsOutput, error) {
18783	req, out := c.DescribeRegionsRequest(input)
18784	return out, req.Send()
18785}
18786
18787// DescribeRegionsWithContext is the same as DescribeRegions with the addition of
18788// the ability to pass a context and additional request options.
18789//
18790// See DescribeRegions for details on how to use this API operation.
18791//
18792// The context must be non-nil and will be used for request cancellation. If
18793// the context is nil a panic will occur. In the future the SDK may create
18794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18795// for more information on using Contexts.
18796func (c *EC2) DescribeRegionsWithContext(ctx aws.Context, input *DescribeRegionsInput, opts ...request.Option) (*DescribeRegionsOutput, error) {
18797	req, out := c.DescribeRegionsRequest(input)
18798	req.SetContext(ctx)
18799	req.ApplyOptions(opts...)
18800	return out, req.Send()
18801}
18802
18803const opDescribeReservedInstances = "DescribeReservedInstances"
18804
18805// DescribeReservedInstancesRequest generates a "aws/request.Request" representing the
18806// client's request for the DescribeReservedInstances operation. The "output" return
18807// value will be populated with the request's response once the request completes
18808// successfully.
18809//
18810// Use "Send" method on the returned Request to send the API call to the service.
18811// the "output" return value is not valid until after Send returns without error.
18812//
18813// See DescribeReservedInstances for more information on using the DescribeReservedInstances
18814// API call, and error handling.
18815//
18816// This method is useful when you want to inject custom logic or configuration
18817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18818//
18819//
18820//    // Example sending a request using the DescribeReservedInstancesRequest method.
18821//    req, resp := client.DescribeReservedInstancesRequest(params)
18822//
18823//    err := req.Send()
18824//    if err == nil { // resp is now filled
18825//        fmt.Println(resp)
18826//    }
18827//
18828// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
18829func (c *EC2) DescribeReservedInstancesRequest(input *DescribeReservedInstancesInput) (req *request.Request, output *DescribeReservedInstancesOutput) {
18830	op := &request.Operation{
18831		Name:       opDescribeReservedInstances,
18832		HTTPMethod: "POST",
18833		HTTPPath:   "/",
18834	}
18835
18836	if input == nil {
18837		input = &DescribeReservedInstancesInput{}
18838	}
18839
18840	output = &DescribeReservedInstancesOutput{}
18841	req = c.newRequest(op, input, output)
18842	return
18843}
18844
18845// DescribeReservedInstances API operation for Amazon Elastic Compute Cloud.
18846//
18847// Describes one or more of the Reserved Instances that you purchased.
18848//
18849// For more information about Reserved Instances, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
18850// in the Amazon Elastic Compute Cloud User Guide.
18851//
18852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18853// with awserr.Error's Code and Message methods to get detailed information about
18854// the error.
18855//
18856// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18857// API operation DescribeReservedInstances for usage and error information.
18858// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstances
18859func (c *EC2) DescribeReservedInstances(input *DescribeReservedInstancesInput) (*DescribeReservedInstancesOutput, error) {
18860	req, out := c.DescribeReservedInstancesRequest(input)
18861	return out, req.Send()
18862}
18863
18864// DescribeReservedInstancesWithContext is the same as DescribeReservedInstances with the addition of
18865// the ability to pass a context and additional request options.
18866//
18867// See DescribeReservedInstances for details on how to use this API operation.
18868//
18869// The context must be non-nil and will be used for request cancellation. If
18870// the context is nil a panic will occur. In the future the SDK may create
18871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18872// for more information on using Contexts.
18873func (c *EC2) DescribeReservedInstancesWithContext(ctx aws.Context, input *DescribeReservedInstancesInput, opts ...request.Option) (*DescribeReservedInstancesOutput, error) {
18874	req, out := c.DescribeReservedInstancesRequest(input)
18875	req.SetContext(ctx)
18876	req.ApplyOptions(opts...)
18877	return out, req.Send()
18878}
18879
18880const opDescribeReservedInstancesListings = "DescribeReservedInstancesListings"
18881
18882// DescribeReservedInstancesListingsRequest generates a "aws/request.Request" representing the
18883// client's request for the DescribeReservedInstancesListings operation. The "output" return
18884// value will be populated with the request's response once the request completes
18885// successfully.
18886//
18887// Use "Send" method on the returned Request to send the API call to the service.
18888// the "output" return value is not valid until after Send returns without error.
18889//
18890// See DescribeReservedInstancesListings for more information on using the DescribeReservedInstancesListings
18891// API call, and error handling.
18892//
18893// This method is useful when you want to inject custom logic or configuration
18894// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18895//
18896//
18897//    // Example sending a request using the DescribeReservedInstancesListingsRequest method.
18898//    req, resp := client.DescribeReservedInstancesListingsRequest(params)
18899//
18900//    err := req.Send()
18901//    if err == nil { // resp is now filled
18902//        fmt.Println(resp)
18903//    }
18904//
18905// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
18906func (c *EC2) DescribeReservedInstancesListingsRequest(input *DescribeReservedInstancesListingsInput) (req *request.Request, output *DescribeReservedInstancesListingsOutput) {
18907	op := &request.Operation{
18908		Name:       opDescribeReservedInstancesListings,
18909		HTTPMethod: "POST",
18910		HTTPPath:   "/",
18911	}
18912
18913	if input == nil {
18914		input = &DescribeReservedInstancesListingsInput{}
18915	}
18916
18917	output = &DescribeReservedInstancesListingsOutput{}
18918	req = c.newRequest(op, input, output)
18919	return
18920}
18921
18922// DescribeReservedInstancesListings API operation for Amazon Elastic Compute Cloud.
18923//
18924// Describes your account's Reserved Instance listings in the Reserved Instance
18925// Marketplace.
18926//
18927// The Reserved Instance Marketplace matches sellers who want to resell Reserved
18928// Instance capacity that they no longer need with buyers who want to purchase
18929// additional capacity. Reserved Instances bought and sold through the Reserved
18930// Instance Marketplace work like any other Reserved Instances.
18931//
18932// As a seller, you choose to list some or all of your Reserved Instances, and
18933// you specify the upfront price to receive for them. Your Reserved Instances
18934// are then listed in the Reserved Instance Marketplace and are available for
18935// purchase.
18936//
18937// As a buyer, you specify the configuration of the Reserved Instance to purchase,
18938// and the Marketplace matches what you're searching for with what's available.
18939// The Marketplace first sells the lowest priced Reserved Instances to you,
18940// and continues to sell available Reserved Instance listings to you until your
18941// demand is met. You are charged based on the total price of all of the listings
18942// that you purchase.
18943//
18944// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
18945// in the Amazon Elastic Compute Cloud User Guide.
18946//
18947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
18948// with awserr.Error's Code and Message methods to get detailed information about
18949// the error.
18950//
18951// See the AWS API reference guide for Amazon Elastic Compute Cloud's
18952// API operation DescribeReservedInstancesListings for usage and error information.
18953// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesListings
18954func (c *EC2) DescribeReservedInstancesListings(input *DescribeReservedInstancesListingsInput) (*DescribeReservedInstancesListingsOutput, error) {
18955	req, out := c.DescribeReservedInstancesListingsRequest(input)
18956	return out, req.Send()
18957}
18958
18959// DescribeReservedInstancesListingsWithContext is the same as DescribeReservedInstancesListings with the addition of
18960// the ability to pass a context and additional request options.
18961//
18962// See DescribeReservedInstancesListings for details on how to use this API operation.
18963//
18964// The context must be non-nil and will be used for request cancellation. If
18965// the context is nil a panic will occur. In the future the SDK may create
18966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
18967// for more information on using Contexts.
18968func (c *EC2) DescribeReservedInstancesListingsWithContext(ctx aws.Context, input *DescribeReservedInstancesListingsInput, opts ...request.Option) (*DescribeReservedInstancesListingsOutput, error) {
18969	req, out := c.DescribeReservedInstancesListingsRequest(input)
18970	req.SetContext(ctx)
18971	req.ApplyOptions(opts...)
18972	return out, req.Send()
18973}
18974
18975const opDescribeReservedInstancesModifications = "DescribeReservedInstancesModifications"
18976
18977// DescribeReservedInstancesModificationsRequest generates a "aws/request.Request" representing the
18978// client's request for the DescribeReservedInstancesModifications operation. The "output" return
18979// value will be populated with the request's response once the request completes
18980// successfully.
18981//
18982// Use "Send" method on the returned Request to send the API call to the service.
18983// the "output" return value is not valid until after Send returns without error.
18984//
18985// See DescribeReservedInstancesModifications for more information on using the DescribeReservedInstancesModifications
18986// API call, and error handling.
18987//
18988// This method is useful when you want to inject custom logic or configuration
18989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
18990//
18991//
18992//    // Example sending a request using the DescribeReservedInstancesModificationsRequest method.
18993//    req, resp := client.DescribeReservedInstancesModificationsRequest(params)
18994//
18995//    err := req.Send()
18996//    if err == nil { // resp is now filled
18997//        fmt.Println(resp)
18998//    }
18999//
19000// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
19001func (c *EC2) DescribeReservedInstancesModificationsRequest(input *DescribeReservedInstancesModificationsInput) (req *request.Request, output *DescribeReservedInstancesModificationsOutput) {
19002	op := &request.Operation{
19003		Name:       opDescribeReservedInstancesModifications,
19004		HTTPMethod: "POST",
19005		HTTPPath:   "/",
19006		Paginator: &request.Paginator{
19007			InputTokens:     []string{"NextToken"},
19008			OutputTokens:    []string{"NextToken"},
19009			LimitToken:      "",
19010			TruncationToken: "",
19011		},
19012	}
19013
19014	if input == nil {
19015		input = &DescribeReservedInstancesModificationsInput{}
19016	}
19017
19018	output = &DescribeReservedInstancesModificationsOutput{}
19019	req = c.newRequest(op, input, output)
19020	return
19021}
19022
19023// DescribeReservedInstancesModifications API operation for Amazon Elastic Compute Cloud.
19024//
19025// Describes the modifications made to your Reserved Instances. If no parameter
19026// is specified, information about all your Reserved Instances modification
19027// requests is returned. If a modification ID is specified, only information
19028// about the specific modification is returned.
19029//
19030// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
19031// in the Amazon Elastic Compute Cloud User Guide.
19032//
19033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19034// with awserr.Error's Code and Message methods to get detailed information about
19035// the error.
19036//
19037// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19038// API operation DescribeReservedInstancesModifications for usage and error information.
19039// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesModifications
19040func (c *EC2) DescribeReservedInstancesModifications(input *DescribeReservedInstancesModificationsInput) (*DescribeReservedInstancesModificationsOutput, error) {
19041	req, out := c.DescribeReservedInstancesModificationsRequest(input)
19042	return out, req.Send()
19043}
19044
19045// DescribeReservedInstancesModificationsWithContext is the same as DescribeReservedInstancesModifications with the addition of
19046// the ability to pass a context and additional request options.
19047//
19048// See DescribeReservedInstancesModifications for details on how to use this API operation.
19049//
19050// The context must be non-nil and will be used for request cancellation. If
19051// the context is nil a panic will occur. In the future the SDK may create
19052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19053// for more information on using Contexts.
19054func (c *EC2) DescribeReservedInstancesModificationsWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, opts ...request.Option) (*DescribeReservedInstancesModificationsOutput, error) {
19055	req, out := c.DescribeReservedInstancesModificationsRequest(input)
19056	req.SetContext(ctx)
19057	req.ApplyOptions(opts...)
19058	return out, req.Send()
19059}
19060
19061// DescribeReservedInstancesModificationsPages iterates over the pages of a DescribeReservedInstancesModifications operation,
19062// calling the "fn" function with the response data for each page. To stop
19063// iterating, return false from the fn function.
19064//
19065// See DescribeReservedInstancesModifications method for more information on how to use this operation.
19066//
19067// Note: This operation can generate multiple requests to a service.
19068//
19069//    // Example iterating over at most 3 pages of a DescribeReservedInstancesModifications operation.
19070//    pageNum := 0
19071//    err := client.DescribeReservedInstancesModificationsPages(params,
19072//        func(page *ec2.DescribeReservedInstancesModificationsOutput, lastPage bool) bool {
19073//            pageNum++
19074//            fmt.Println(page)
19075//            return pageNum <= 3
19076//        })
19077//
19078func (c *EC2) DescribeReservedInstancesModificationsPages(input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool) error {
19079	return c.DescribeReservedInstancesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
19080}
19081
19082// DescribeReservedInstancesModificationsPagesWithContext same as DescribeReservedInstancesModificationsPages except
19083// it takes a Context and allows setting request options on the pages.
19084//
19085// The context must be non-nil and will be used for request cancellation. If
19086// the context is nil a panic will occur. In the future the SDK may create
19087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19088// for more information on using Contexts.
19089func (c *EC2) DescribeReservedInstancesModificationsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesModificationsInput, fn func(*DescribeReservedInstancesModificationsOutput, bool) bool, opts ...request.Option) error {
19090	p := request.Pagination{
19091		NewRequest: func() (*request.Request, error) {
19092			var inCpy *DescribeReservedInstancesModificationsInput
19093			if input != nil {
19094				tmp := *input
19095				inCpy = &tmp
19096			}
19097			req, _ := c.DescribeReservedInstancesModificationsRequest(inCpy)
19098			req.SetContext(ctx)
19099			req.ApplyOptions(opts...)
19100			return req, nil
19101		},
19102	}
19103
19104	for p.Next() {
19105		if !fn(p.Page().(*DescribeReservedInstancesModificationsOutput), !p.HasNextPage()) {
19106			break
19107		}
19108	}
19109
19110	return p.Err()
19111}
19112
19113const opDescribeReservedInstancesOfferings = "DescribeReservedInstancesOfferings"
19114
19115// DescribeReservedInstancesOfferingsRequest generates a "aws/request.Request" representing the
19116// client's request for the DescribeReservedInstancesOfferings operation. The "output" return
19117// value will be populated with the request's response once the request completes
19118// successfully.
19119//
19120// Use "Send" method on the returned Request to send the API call to the service.
19121// the "output" return value is not valid until after Send returns without error.
19122//
19123// See DescribeReservedInstancesOfferings for more information on using the DescribeReservedInstancesOfferings
19124// API call, and error handling.
19125//
19126// This method is useful when you want to inject custom logic or configuration
19127// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19128//
19129//
19130//    // Example sending a request using the DescribeReservedInstancesOfferingsRequest method.
19131//    req, resp := client.DescribeReservedInstancesOfferingsRequest(params)
19132//
19133//    err := req.Send()
19134//    if err == nil { // resp is now filled
19135//        fmt.Println(resp)
19136//    }
19137//
19138// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
19139func (c *EC2) DescribeReservedInstancesOfferingsRequest(input *DescribeReservedInstancesOfferingsInput) (req *request.Request, output *DescribeReservedInstancesOfferingsOutput) {
19140	op := &request.Operation{
19141		Name:       opDescribeReservedInstancesOfferings,
19142		HTTPMethod: "POST",
19143		HTTPPath:   "/",
19144		Paginator: &request.Paginator{
19145			InputTokens:     []string{"NextToken"},
19146			OutputTokens:    []string{"NextToken"},
19147			LimitToken:      "MaxResults",
19148			TruncationToken: "",
19149		},
19150	}
19151
19152	if input == nil {
19153		input = &DescribeReservedInstancesOfferingsInput{}
19154	}
19155
19156	output = &DescribeReservedInstancesOfferingsOutput{}
19157	req = c.newRequest(op, input, output)
19158	return
19159}
19160
19161// DescribeReservedInstancesOfferings API operation for Amazon Elastic Compute Cloud.
19162//
19163// Describes Reserved Instance offerings that are available for purchase. With
19164// Reserved Instances, you purchase the right to launch instances for a period
19165// of time. During that time period, you do not receive insufficient capacity
19166// errors, and you pay a lower usage rate than the rate charged for On-Demand
19167// instances for the actual time used.
19168//
19169// If you have listed your own Reserved Instances for sale in the Reserved Instance
19170// Marketplace, they will be excluded from these results. This is to ensure
19171// that you do not purchase your own Reserved Instances.
19172//
19173// For more information, see Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
19174// in the Amazon Elastic Compute Cloud User Guide.
19175//
19176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19177// with awserr.Error's Code and Message methods to get detailed information about
19178// the error.
19179//
19180// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19181// API operation DescribeReservedInstancesOfferings for usage and error information.
19182// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeReservedInstancesOfferings
19183func (c *EC2) DescribeReservedInstancesOfferings(input *DescribeReservedInstancesOfferingsInput) (*DescribeReservedInstancesOfferingsOutput, error) {
19184	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
19185	return out, req.Send()
19186}
19187
19188// DescribeReservedInstancesOfferingsWithContext is the same as DescribeReservedInstancesOfferings with the addition of
19189// the ability to pass a context and additional request options.
19190//
19191// See DescribeReservedInstancesOfferings for details on how to use this API operation.
19192//
19193// The context must be non-nil and will be used for request cancellation. If
19194// the context is nil a panic will occur. In the future the SDK may create
19195// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19196// for more information on using Contexts.
19197func (c *EC2) DescribeReservedInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedInstancesOfferingsOutput, error) {
19198	req, out := c.DescribeReservedInstancesOfferingsRequest(input)
19199	req.SetContext(ctx)
19200	req.ApplyOptions(opts...)
19201	return out, req.Send()
19202}
19203
19204// DescribeReservedInstancesOfferingsPages iterates over the pages of a DescribeReservedInstancesOfferings operation,
19205// calling the "fn" function with the response data for each page. To stop
19206// iterating, return false from the fn function.
19207//
19208// See DescribeReservedInstancesOfferings method for more information on how to use this operation.
19209//
19210// Note: This operation can generate multiple requests to a service.
19211//
19212//    // Example iterating over at most 3 pages of a DescribeReservedInstancesOfferings operation.
19213//    pageNum := 0
19214//    err := client.DescribeReservedInstancesOfferingsPages(params,
19215//        func(page *ec2.DescribeReservedInstancesOfferingsOutput, lastPage bool) bool {
19216//            pageNum++
19217//            fmt.Println(page)
19218//            return pageNum <= 3
19219//        })
19220//
19221func (c *EC2) DescribeReservedInstancesOfferingsPages(input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool) error {
19222	return c.DescribeReservedInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
19223}
19224
19225// DescribeReservedInstancesOfferingsPagesWithContext same as DescribeReservedInstancesOfferingsPages except
19226// it takes a Context and allows setting request options on the pages.
19227//
19228// The context must be non-nil and will be used for request cancellation. If
19229// the context is nil a panic will occur. In the future the SDK may create
19230// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19231// for more information on using Contexts.
19232func (c *EC2) DescribeReservedInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedInstancesOfferingsInput, fn func(*DescribeReservedInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
19233	p := request.Pagination{
19234		NewRequest: func() (*request.Request, error) {
19235			var inCpy *DescribeReservedInstancesOfferingsInput
19236			if input != nil {
19237				tmp := *input
19238				inCpy = &tmp
19239			}
19240			req, _ := c.DescribeReservedInstancesOfferingsRequest(inCpy)
19241			req.SetContext(ctx)
19242			req.ApplyOptions(opts...)
19243			return req, nil
19244		},
19245	}
19246
19247	for p.Next() {
19248		if !fn(p.Page().(*DescribeReservedInstancesOfferingsOutput), !p.HasNextPage()) {
19249			break
19250		}
19251	}
19252
19253	return p.Err()
19254}
19255
19256const opDescribeRouteTables = "DescribeRouteTables"
19257
19258// DescribeRouteTablesRequest generates a "aws/request.Request" representing the
19259// client's request for the DescribeRouteTables operation. The "output" return
19260// value will be populated with the request's response once the request completes
19261// successfully.
19262//
19263// Use "Send" method on the returned Request to send the API call to the service.
19264// the "output" return value is not valid until after Send returns without error.
19265//
19266// See DescribeRouteTables for more information on using the DescribeRouteTables
19267// API call, and error handling.
19268//
19269// This method is useful when you want to inject custom logic or configuration
19270// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19271//
19272//
19273//    // Example sending a request using the DescribeRouteTablesRequest method.
19274//    req, resp := client.DescribeRouteTablesRequest(params)
19275//
19276//    err := req.Send()
19277//    if err == nil { // resp is now filled
19278//        fmt.Println(resp)
19279//    }
19280//
19281// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
19282func (c *EC2) DescribeRouteTablesRequest(input *DescribeRouteTablesInput) (req *request.Request, output *DescribeRouteTablesOutput) {
19283	op := &request.Operation{
19284		Name:       opDescribeRouteTables,
19285		HTTPMethod: "POST",
19286		HTTPPath:   "/",
19287		Paginator: &request.Paginator{
19288			InputTokens:     []string{"NextToken"},
19289			OutputTokens:    []string{"NextToken"},
19290			LimitToken:      "MaxResults",
19291			TruncationToken: "",
19292		},
19293	}
19294
19295	if input == nil {
19296		input = &DescribeRouteTablesInput{}
19297	}
19298
19299	output = &DescribeRouteTablesOutput{}
19300	req = c.newRequest(op, input, output)
19301	return
19302}
19303
19304// DescribeRouteTables API operation for Amazon Elastic Compute Cloud.
19305//
19306// Describes one or more of your route tables.
19307//
19308// Each subnet in your VPC must be associated with a route table. If a subnet
19309// is not explicitly associated with any route table, it is implicitly associated
19310// with the main route table. This command does not return the subnet ID for
19311// implicit associations.
19312//
19313// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
19314// in the Amazon Virtual Private Cloud User Guide.
19315//
19316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19317// with awserr.Error's Code and Message methods to get detailed information about
19318// the error.
19319//
19320// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19321// API operation DescribeRouteTables for usage and error information.
19322// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeRouteTables
19323func (c *EC2) DescribeRouteTables(input *DescribeRouteTablesInput) (*DescribeRouteTablesOutput, error) {
19324	req, out := c.DescribeRouteTablesRequest(input)
19325	return out, req.Send()
19326}
19327
19328// DescribeRouteTablesWithContext is the same as DescribeRouteTables with the addition of
19329// the ability to pass a context and additional request options.
19330//
19331// See DescribeRouteTables for details on how to use this API operation.
19332//
19333// The context must be non-nil and will be used for request cancellation. If
19334// the context is nil a panic will occur. In the future the SDK may create
19335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19336// for more information on using Contexts.
19337func (c *EC2) DescribeRouteTablesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, opts ...request.Option) (*DescribeRouteTablesOutput, error) {
19338	req, out := c.DescribeRouteTablesRequest(input)
19339	req.SetContext(ctx)
19340	req.ApplyOptions(opts...)
19341	return out, req.Send()
19342}
19343
19344// DescribeRouteTablesPages iterates over the pages of a DescribeRouteTables operation,
19345// calling the "fn" function with the response data for each page. To stop
19346// iterating, return false from the fn function.
19347//
19348// See DescribeRouteTables method for more information on how to use this operation.
19349//
19350// Note: This operation can generate multiple requests to a service.
19351//
19352//    // Example iterating over at most 3 pages of a DescribeRouteTables operation.
19353//    pageNum := 0
19354//    err := client.DescribeRouteTablesPages(params,
19355//        func(page *ec2.DescribeRouteTablesOutput, lastPage bool) bool {
19356//            pageNum++
19357//            fmt.Println(page)
19358//            return pageNum <= 3
19359//        })
19360//
19361func (c *EC2) DescribeRouteTablesPages(input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool) error {
19362	return c.DescribeRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
19363}
19364
19365// DescribeRouteTablesPagesWithContext same as DescribeRouteTablesPages except
19366// it takes a Context and allows setting request options on the pages.
19367//
19368// The context must be non-nil and will be used for request cancellation. If
19369// the context is nil a panic will occur. In the future the SDK may create
19370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19371// for more information on using Contexts.
19372func (c *EC2) DescribeRouteTablesPagesWithContext(ctx aws.Context, input *DescribeRouteTablesInput, fn func(*DescribeRouteTablesOutput, bool) bool, opts ...request.Option) error {
19373	p := request.Pagination{
19374		NewRequest: func() (*request.Request, error) {
19375			var inCpy *DescribeRouteTablesInput
19376			if input != nil {
19377				tmp := *input
19378				inCpy = &tmp
19379			}
19380			req, _ := c.DescribeRouteTablesRequest(inCpy)
19381			req.SetContext(ctx)
19382			req.ApplyOptions(opts...)
19383			return req, nil
19384		},
19385	}
19386
19387	for p.Next() {
19388		if !fn(p.Page().(*DescribeRouteTablesOutput), !p.HasNextPage()) {
19389			break
19390		}
19391	}
19392
19393	return p.Err()
19394}
19395
19396const opDescribeScheduledInstanceAvailability = "DescribeScheduledInstanceAvailability"
19397
19398// DescribeScheduledInstanceAvailabilityRequest generates a "aws/request.Request" representing the
19399// client's request for the DescribeScheduledInstanceAvailability operation. The "output" return
19400// value will be populated with the request's response once the request completes
19401// successfully.
19402//
19403// Use "Send" method on the returned Request to send the API call to the service.
19404// the "output" return value is not valid until after Send returns without error.
19405//
19406// See DescribeScheduledInstanceAvailability for more information on using the DescribeScheduledInstanceAvailability
19407// API call, and error handling.
19408//
19409// This method is useful when you want to inject custom logic or configuration
19410// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19411//
19412//
19413//    // Example sending a request using the DescribeScheduledInstanceAvailabilityRequest method.
19414//    req, resp := client.DescribeScheduledInstanceAvailabilityRequest(params)
19415//
19416//    err := req.Send()
19417//    if err == nil { // resp is now filled
19418//        fmt.Println(resp)
19419//    }
19420//
19421// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
19422func (c *EC2) DescribeScheduledInstanceAvailabilityRequest(input *DescribeScheduledInstanceAvailabilityInput) (req *request.Request, output *DescribeScheduledInstanceAvailabilityOutput) {
19423	op := &request.Operation{
19424		Name:       opDescribeScheduledInstanceAvailability,
19425		HTTPMethod: "POST",
19426		HTTPPath:   "/",
19427		Paginator: &request.Paginator{
19428			InputTokens:     []string{"NextToken"},
19429			OutputTokens:    []string{"NextToken"},
19430			LimitToken:      "MaxResults",
19431			TruncationToken: "",
19432		},
19433	}
19434
19435	if input == nil {
19436		input = &DescribeScheduledInstanceAvailabilityInput{}
19437	}
19438
19439	output = &DescribeScheduledInstanceAvailabilityOutput{}
19440	req = c.newRequest(op, input, output)
19441	return
19442}
19443
19444// DescribeScheduledInstanceAvailability API operation for Amazon Elastic Compute Cloud.
19445//
19446// Finds available schedules that meet the specified criteria.
19447//
19448// You can search for an available schedule no more than 3 months in advance.
19449// You must meet the minimum required duration of 1,200 hours per year. For
19450// example, the minimum daily schedule is 4 hours, the minimum weekly schedule
19451// is 24 hours, and the minimum monthly schedule is 100 hours.
19452//
19453// After you find a schedule that meets your needs, call PurchaseScheduledInstances
19454// to purchase Scheduled Instances with that schedule.
19455//
19456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19457// with awserr.Error's Code and Message methods to get detailed information about
19458// the error.
19459//
19460// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19461// API operation DescribeScheduledInstanceAvailability for usage and error information.
19462// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstanceAvailability
19463func (c *EC2) DescribeScheduledInstanceAvailability(input *DescribeScheduledInstanceAvailabilityInput) (*DescribeScheduledInstanceAvailabilityOutput, error) {
19464	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
19465	return out, req.Send()
19466}
19467
19468// DescribeScheduledInstanceAvailabilityWithContext is the same as DescribeScheduledInstanceAvailability with the addition of
19469// the ability to pass a context and additional request options.
19470//
19471// See DescribeScheduledInstanceAvailability for details on how to use this API operation.
19472//
19473// The context must be non-nil and will be used for request cancellation. If
19474// the context is nil a panic will occur. In the future the SDK may create
19475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19476// for more information on using Contexts.
19477func (c *EC2) DescribeScheduledInstanceAvailabilityWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, opts ...request.Option) (*DescribeScheduledInstanceAvailabilityOutput, error) {
19478	req, out := c.DescribeScheduledInstanceAvailabilityRequest(input)
19479	req.SetContext(ctx)
19480	req.ApplyOptions(opts...)
19481	return out, req.Send()
19482}
19483
19484// DescribeScheduledInstanceAvailabilityPages iterates over the pages of a DescribeScheduledInstanceAvailability operation,
19485// calling the "fn" function with the response data for each page. To stop
19486// iterating, return false from the fn function.
19487//
19488// See DescribeScheduledInstanceAvailability method for more information on how to use this operation.
19489//
19490// Note: This operation can generate multiple requests to a service.
19491//
19492//    // Example iterating over at most 3 pages of a DescribeScheduledInstanceAvailability operation.
19493//    pageNum := 0
19494//    err := client.DescribeScheduledInstanceAvailabilityPages(params,
19495//        func(page *ec2.DescribeScheduledInstanceAvailabilityOutput, lastPage bool) bool {
19496//            pageNum++
19497//            fmt.Println(page)
19498//            return pageNum <= 3
19499//        })
19500//
19501func (c *EC2) DescribeScheduledInstanceAvailabilityPages(input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool) error {
19502	return c.DescribeScheduledInstanceAvailabilityPagesWithContext(aws.BackgroundContext(), input, fn)
19503}
19504
19505// DescribeScheduledInstanceAvailabilityPagesWithContext same as DescribeScheduledInstanceAvailabilityPages except
19506// it takes a Context and allows setting request options on the pages.
19507//
19508// The context must be non-nil and will be used for request cancellation. If
19509// the context is nil a panic will occur. In the future the SDK may create
19510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19511// for more information on using Contexts.
19512func (c *EC2) DescribeScheduledInstanceAvailabilityPagesWithContext(ctx aws.Context, input *DescribeScheduledInstanceAvailabilityInput, fn func(*DescribeScheduledInstanceAvailabilityOutput, bool) bool, opts ...request.Option) error {
19513	p := request.Pagination{
19514		NewRequest: func() (*request.Request, error) {
19515			var inCpy *DescribeScheduledInstanceAvailabilityInput
19516			if input != nil {
19517				tmp := *input
19518				inCpy = &tmp
19519			}
19520			req, _ := c.DescribeScheduledInstanceAvailabilityRequest(inCpy)
19521			req.SetContext(ctx)
19522			req.ApplyOptions(opts...)
19523			return req, nil
19524		},
19525	}
19526
19527	for p.Next() {
19528		if !fn(p.Page().(*DescribeScheduledInstanceAvailabilityOutput), !p.HasNextPage()) {
19529			break
19530		}
19531	}
19532
19533	return p.Err()
19534}
19535
19536const opDescribeScheduledInstances = "DescribeScheduledInstances"
19537
19538// DescribeScheduledInstancesRequest generates a "aws/request.Request" representing the
19539// client's request for the DescribeScheduledInstances operation. The "output" return
19540// value will be populated with the request's response once the request completes
19541// successfully.
19542//
19543// Use "Send" method on the returned Request to send the API call to the service.
19544// the "output" return value is not valid until after Send returns without error.
19545//
19546// See DescribeScheduledInstances for more information on using the DescribeScheduledInstances
19547// API call, and error handling.
19548//
19549// This method is useful when you want to inject custom logic or configuration
19550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19551//
19552//
19553//    // Example sending a request using the DescribeScheduledInstancesRequest method.
19554//    req, resp := client.DescribeScheduledInstancesRequest(params)
19555//
19556//    err := req.Send()
19557//    if err == nil { // resp is now filled
19558//        fmt.Println(resp)
19559//    }
19560//
19561// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
19562func (c *EC2) DescribeScheduledInstancesRequest(input *DescribeScheduledInstancesInput) (req *request.Request, output *DescribeScheduledInstancesOutput) {
19563	op := &request.Operation{
19564		Name:       opDescribeScheduledInstances,
19565		HTTPMethod: "POST",
19566		HTTPPath:   "/",
19567		Paginator: &request.Paginator{
19568			InputTokens:     []string{"NextToken"},
19569			OutputTokens:    []string{"NextToken"},
19570			LimitToken:      "MaxResults",
19571			TruncationToken: "",
19572		},
19573	}
19574
19575	if input == nil {
19576		input = &DescribeScheduledInstancesInput{}
19577	}
19578
19579	output = &DescribeScheduledInstancesOutput{}
19580	req = c.newRequest(op, input, output)
19581	return
19582}
19583
19584// DescribeScheduledInstances API operation for Amazon Elastic Compute Cloud.
19585//
19586// Describes the specified Scheduled Instances or all your Scheduled Instances.
19587//
19588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19589// with awserr.Error's Code and Message methods to get detailed information about
19590// the error.
19591//
19592// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19593// API operation DescribeScheduledInstances for usage and error information.
19594// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeScheduledInstances
19595func (c *EC2) DescribeScheduledInstances(input *DescribeScheduledInstancesInput) (*DescribeScheduledInstancesOutput, error) {
19596	req, out := c.DescribeScheduledInstancesRequest(input)
19597	return out, req.Send()
19598}
19599
19600// DescribeScheduledInstancesWithContext is the same as DescribeScheduledInstances with the addition of
19601// the ability to pass a context and additional request options.
19602//
19603// See DescribeScheduledInstances for details on how to use this API operation.
19604//
19605// The context must be non-nil and will be used for request cancellation. If
19606// the context is nil a panic will occur. In the future the SDK may create
19607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19608// for more information on using Contexts.
19609func (c *EC2) DescribeScheduledInstancesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, opts ...request.Option) (*DescribeScheduledInstancesOutput, error) {
19610	req, out := c.DescribeScheduledInstancesRequest(input)
19611	req.SetContext(ctx)
19612	req.ApplyOptions(opts...)
19613	return out, req.Send()
19614}
19615
19616// DescribeScheduledInstancesPages iterates over the pages of a DescribeScheduledInstances operation,
19617// calling the "fn" function with the response data for each page. To stop
19618// iterating, return false from the fn function.
19619//
19620// See DescribeScheduledInstances method for more information on how to use this operation.
19621//
19622// Note: This operation can generate multiple requests to a service.
19623//
19624//    // Example iterating over at most 3 pages of a DescribeScheduledInstances operation.
19625//    pageNum := 0
19626//    err := client.DescribeScheduledInstancesPages(params,
19627//        func(page *ec2.DescribeScheduledInstancesOutput, lastPage bool) bool {
19628//            pageNum++
19629//            fmt.Println(page)
19630//            return pageNum <= 3
19631//        })
19632//
19633func (c *EC2) DescribeScheduledInstancesPages(input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool) error {
19634	return c.DescribeScheduledInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
19635}
19636
19637// DescribeScheduledInstancesPagesWithContext same as DescribeScheduledInstancesPages except
19638// it takes a Context and allows setting request options on the pages.
19639//
19640// The context must be non-nil and will be used for request cancellation. If
19641// the context is nil a panic will occur. In the future the SDK may create
19642// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19643// for more information on using Contexts.
19644func (c *EC2) DescribeScheduledInstancesPagesWithContext(ctx aws.Context, input *DescribeScheduledInstancesInput, fn func(*DescribeScheduledInstancesOutput, bool) bool, opts ...request.Option) error {
19645	p := request.Pagination{
19646		NewRequest: func() (*request.Request, error) {
19647			var inCpy *DescribeScheduledInstancesInput
19648			if input != nil {
19649				tmp := *input
19650				inCpy = &tmp
19651			}
19652			req, _ := c.DescribeScheduledInstancesRequest(inCpy)
19653			req.SetContext(ctx)
19654			req.ApplyOptions(opts...)
19655			return req, nil
19656		},
19657	}
19658
19659	for p.Next() {
19660		if !fn(p.Page().(*DescribeScheduledInstancesOutput), !p.HasNextPage()) {
19661			break
19662		}
19663	}
19664
19665	return p.Err()
19666}
19667
19668const opDescribeSecurityGroupReferences = "DescribeSecurityGroupReferences"
19669
19670// DescribeSecurityGroupReferencesRequest generates a "aws/request.Request" representing the
19671// client's request for the DescribeSecurityGroupReferences operation. The "output" return
19672// value will be populated with the request's response once the request completes
19673// successfully.
19674//
19675// Use "Send" method on the returned Request to send the API call to the service.
19676// the "output" return value is not valid until after Send returns without error.
19677//
19678// See DescribeSecurityGroupReferences for more information on using the DescribeSecurityGroupReferences
19679// API call, and error handling.
19680//
19681// This method is useful when you want to inject custom logic or configuration
19682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19683//
19684//
19685//    // Example sending a request using the DescribeSecurityGroupReferencesRequest method.
19686//    req, resp := client.DescribeSecurityGroupReferencesRequest(params)
19687//
19688//    err := req.Send()
19689//    if err == nil { // resp is now filled
19690//        fmt.Println(resp)
19691//    }
19692//
19693// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
19694func (c *EC2) DescribeSecurityGroupReferencesRequest(input *DescribeSecurityGroupReferencesInput) (req *request.Request, output *DescribeSecurityGroupReferencesOutput) {
19695	op := &request.Operation{
19696		Name:       opDescribeSecurityGroupReferences,
19697		HTTPMethod: "POST",
19698		HTTPPath:   "/",
19699	}
19700
19701	if input == nil {
19702		input = &DescribeSecurityGroupReferencesInput{}
19703	}
19704
19705	output = &DescribeSecurityGroupReferencesOutput{}
19706	req = c.newRequest(op, input, output)
19707	return
19708}
19709
19710// DescribeSecurityGroupReferences API operation for Amazon Elastic Compute Cloud.
19711//
19712// [VPC only] Describes the VPCs on the other side of a VPC peering connection
19713// that are referencing the security groups you've specified in this request.
19714//
19715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19716// with awserr.Error's Code and Message methods to get detailed information about
19717// the error.
19718//
19719// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19720// API operation DescribeSecurityGroupReferences for usage and error information.
19721// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroupReferences
19722func (c *EC2) DescribeSecurityGroupReferences(input *DescribeSecurityGroupReferencesInput) (*DescribeSecurityGroupReferencesOutput, error) {
19723	req, out := c.DescribeSecurityGroupReferencesRequest(input)
19724	return out, req.Send()
19725}
19726
19727// DescribeSecurityGroupReferencesWithContext is the same as DescribeSecurityGroupReferences with the addition of
19728// the ability to pass a context and additional request options.
19729//
19730// See DescribeSecurityGroupReferences for details on how to use this API operation.
19731//
19732// The context must be non-nil and will be used for request cancellation. If
19733// the context is nil a panic will occur. In the future the SDK may create
19734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19735// for more information on using Contexts.
19736func (c *EC2) DescribeSecurityGroupReferencesWithContext(ctx aws.Context, input *DescribeSecurityGroupReferencesInput, opts ...request.Option) (*DescribeSecurityGroupReferencesOutput, error) {
19737	req, out := c.DescribeSecurityGroupReferencesRequest(input)
19738	req.SetContext(ctx)
19739	req.ApplyOptions(opts...)
19740	return out, req.Send()
19741}
19742
19743const opDescribeSecurityGroups = "DescribeSecurityGroups"
19744
19745// DescribeSecurityGroupsRequest generates a "aws/request.Request" representing the
19746// client's request for the DescribeSecurityGroups operation. The "output" return
19747// value will be populated with the request's response once the request completes
19748// successfully.
19749//
19750// Use "Send" method on the returned Request to send the API call to the service.
19751// the "output" return value is not valid until after Send returns without error.
19752//
19753// See DescribeSecurityGroups for more information on using the DescribeSecurityGroups
19754// API call, and error handling.
19755//
19756// This method is useful when you want to inject custom logic or configuration
19757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19758//
19759//
19760//    // Example sending a request using the DescribeSecurityGroupsRequest method.
19761//    req, resp := client.DescribeSecurityGroupsRequest(params)
19762//
19763//    err := req.Send()
19764//    if err == nil { // resp is now filled
19765//        fmt.Println(resp)
19766//    }
19767//
19768// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
19769func (c *EC2) DescribeSecurityGroupsRequest(input *DescribeSecurityGroupsInput) (req *request.Request, output *DescribeSecurityGroupsOutput) {
19770	op := &request.Operation{
19771		Name:       opDescribeSecurityGroups,
19772		HTTPMethod: "POST",
19773		HTTPPath:   "/",
19774		Paginator: &request.Paginator{
19775			InputTokens:     []string{"NextToken"},
19776			OutputTokens:    []string{"NextToken"},
19777			LimitToken:      "MaxResults",
19778			TruncationToken: "",
19779		},
19780	}
19781
19782	if input == nil {
19783		input = &DescribeSecurityGroupsInput{}
19784	}
19785
19786	output = &DescribeSecurityGroupsOutput{}
19787	req = c.newRequest(op, input, output)
19788	return
19789}
19790
19791// DescribeSecurityGroups API operation for Amazon Elastic Compute Cloud.
19792//
19793// Describes the specified security groups or all of your security groups.
19794//
19795// A security group is for use with instances either in the EC2-Classic platform
19796// or in a specific VPC. For more information, see Amazon EC2 Security Groups
19797// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html)
19798// in the Amazon Elastic Compute Cloud User Guide and Security Groups for Your
19799// VPC (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)
19800// in the Amazon Virtual Private Cloud User Guide.
19801//
19802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19803// with awserr.Error's Code and Message methods to get detailed information about
19804// the error.
19805//
19806// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19807// API operation DescribeSecurityGroups for usage and error information.
19808// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSecurityGroups
19809func (c *EC2) DescribeSecurityGroups(input *DescribeSecurityGroupsInput) (*DescribeSecurityGroupsOutput, error) {
19810	req, out := c.DescribeSecurityGroupsRequest(input)
19811	return out, req.Send()
19812}
19813
19814// DescribeSecurityGroupsWithContext is the same as DescribeSecurityGroups with the addition of
19815// the ability to pass a context and additional request options.
19816//
19817// See DescribeSecurityGroups for details on how to use this API operation.
19818//
19819// The context must be non-nil and will be used for request cancellation. If
19820// the context is nil a panic will occur. In the future the SDK may create
19821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19822// for more information on using Contexts.
19823func (c *EC2) DescribeSecurityGroupsWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, opts ...request.Option) (*DescribeSecurityGroupsOutput, error) {
19824	req, out := c.DescribeSecurityGroupsRequest(input)
19825	req.SetContext(ctx)
19826	req.ApplyOptions(opts...)
19827	return out, req.Send()
19828}
19829
19830// DescribeSecurityGroupsPages iterates over the pages of a DescribeSecurityGroups operation,
19831// calling the "fn" function with the response data for each page. To stop
19832// iterating, return false from the fn function.
19833//
19834// See DescribeSecurityGroups method for more information on how to use this operation.
19835//
19836// Note: This operation can generate multiple requests to a service.
19837//
19838//    // Example iterating over at most 3 pages of a DescribeSecurityGroups operation.
19839//    pageNum := 0
19840//    err := client.DescribeSecurityGroupsPages(params,
19841//        func(page *ec2.DescribeSecurityGroupsOutput, lastPage bool) bool {
19842//            pageNum++
19843//            fmt.Println(page)
19844//            return pageNum <= 3
19845//        })
19846//
19847func (c *EC2) DescribeSecurityGroupsPages(input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool) error {
19848	return c.DescribeSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
19849}
19850
19851// DescribeSecurityGroupsPagesWithContext same as DescribeSecurityGroupsPages except
19852// it takes a Context and allows setting request options on the pages.
19853//
19854// The context must be non-nil and will be used for request cancellation. If
19855// the context is nil a panic will occur. In the future the SDK may create
19856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19857// for more information on using Contexts.
19858func (c *EC2) DescribeSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeSecurityGroupsInput, fn func(*DescribeSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
19859	p := request.Pagination{
19860		NewRequest: func() (*request.Request, error) {
19861			var inCpy *DescribeSecurityGroupsInput
19862			if input != nil {
19863				tmp := *input
19864				inCpy = &tmp
19865			}
19866			req, _ := c.DescribeSecurityGroupsRequest(inCpy)
19867			req.SetContext(ctx)
19868			req.ApplyOptions(opts...)
19869			return req, nil
19870		},
19871	}
19872
19873	for p.Next() {
19874		if !fn(p.Page().(*DescribeSecurityGroupsOutput), !p.HasNextPage()) {
19875			break
19876		}
19877	}
19878
19879	return p.Err()
19880}
19881
19882const opDescribeSnapshotAttribute = "DescribeSnapshotAttribute"
19883
19884// DescribeSnapshotAttributeRequest generates a "aws/request.Request" representing the
19885// client's request for the DescribeSnapshotAttribute operation. The "output" return
19886// value will be populated with the request's response once the request completes
19887// successfully.
19888//
19889// Use "Send" method on the returned Request to send the API call to the service.
19890// the "output" return value is not valid until after Send returns without error.
19891//
19892// See DescribeSnapshotAttribute for more information on using the DescribeSnapshotAttribute
19893// API call, and error handling.
19894//
19895// This method is useful when you want to inject custom logic or configuration
19896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19897//
19898//
19899//    // Example sending a request using the DescribeSnapshotAttributeRequest method.
19900//    req, resp := client.DescribeSnapshotAttributeRequest(params)
19901//
19902//    err := req.Send()
19903//    if err == nil { // resp is now filled
19904//        fmt.Println(resp)
19905//    }
19906//
19907// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
19908func (c *EC2) DescribeSnapshotAttributeRequest(input *DescribeSnapshotAttributeInput) (req *request.Request, output *DescribeSnapshotAttributeOutput) {
19909	op := &request.Operation{
19910		Name:       opDescribeSnapshotAttribute,
19911		HTTPMethod: "POST",
19912		HTTPPath:   "/",
19913	}
19914
19915	if input == nil {
19916		input = &DescribeSnapshotAttributeInput{}
19917	}
19918
19919	output = &DescribeSnapshotAttributeOutput{}
19920	req = c.newRequest(op, input, output)
19921	return
19922}
19923
19924// DescribeSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
19925//
19926// Describes the specified attribute of the specified snapshot. You can specify
19927// only one attribute at a time.
19928//
19929// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
19930// in the Amazon Elastic Compute Cloud User Guide.
19931//
19932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
19933// with awserr.Error's Code and Message methods to get detailed information about
19934// the error.
19935//
19936// See the AWS API reference guide for Amazon Elastic Compute Cloud's
19937// API operation DescribeSnapshotAttribute for usage and error information.
19938// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshotAttribute
19939func (c *EC2) DescribeSnapshotAttribute(input *DescribeSnapshotAttributeInput) (*DescribeSnapshotAttributeOutput, error) {
19940	req, out := c.DescribeSnapshotAttributeRequest(input)
19941	return out, req.Send()
19942}
19943
19944// DescribeSnapshotAttributeWithContext is the same as DescribeSnapshotAttribute with the addition of
19945// the ability to pass a context and additional request options.
19946//
19947// See DescribeSnapshotAttribute for details on how to use this API operation.
19948//
19949// The context must be non-nil and will be used for request cancellation. If
19950// the context is nil a panic will occur. In the future the SDK may create
19951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
19952// for more information on using Contexts.
19953func (c *EC2) DescribeSnapshotAttributeWithContext(ctx aws.Context, input *DescribeSnapshotAttributeInput, opts ...request.Option) (*DescribeSnapshotAttributeOutput, error) {
19954	req, out := c.DescribeSnapshotAttributeRequest(input)
19955	req.SetContext(ctx)
19956	req.ApplyOptions(opts...)
19957	return out, req.Send()
19958}
19959
19960const opDescribeSnapshots = "DescribeSnapshots"
19961
19962// DescribeSnapshotsRequest generates a "aws/request.Request" representing the
19963// client's request for the DescribeSnapshots operation. The "output" return
19964// value will be populated with the request's response once the request completes
19965// successfully.
19966//
19967// Use "Send" method on the returned Request to send the API call to the service.
19968// the "output" return value is not valid until after Send returns without error.
19969//
19970// See DescribeSnapshots for more information on using the DescribeSnapshots
19971// API call, and error handling.
19972//
19973// This method is useful when you want to inject custom logic or configuration
19974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
19975//
19976//
19977//    // Example sending a request using the DescribeSnapshotsRequest method.
19978//    req, resp := client.DescribeSnapshotsRequest(params)
19979//
19980//    err := req.Send()
19981//    if err == nil { // resp is now filled
19982//        fmt.Println(resp)
19983//    }
19984//
19985// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
19986func (c *EC2) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) {
19987	op := &request.Operation{
19988		Name:       opDescribeSnapshots,
19989		HTTPMethod: "POST",
19990		HTTPPath:   "/",
19991		Paginator: &request.Paginator{
19992			InputTokens:     []string{"NextToken"},
19993			OutputTokens:    []string{"NextToken"},
19994			LimitToken:      "MaxResults",
19995			TruncationToken: "",
19996		},
19997	}
19998
19999	if input == nil {
20000		input = &DescribeSnapshotsInput{}
20001	}
20002
20003	output = &DescribeSnapshotsOutput{}
20004	req = c.newRequest(op, input, output)
20005	return
20006}
20007
20008// DescribeSnapshots API operation for Amazon Elastic Compute Cloud.
20009//
20010// Describes the specified EBS snapshots available to you or all of the EBS
20011// snapshots available to you.
20012//
20013// The snapshots available to you include public snapshots, private snapshots
20014// that you own, and private snapshots owned by other AWS accounts for which
20015// you have explicit create volume permissions.
20016//
20017// The create volume permissions fall into the following categories:
20018//
20019//    * public: The owner of the snapshot granted create volume permissions
20020//    for the snapshot to the all group. All AWS accounts have create volume
20021//    permissions for these snapshots.
20022//
20023//    * explicit: The owner of the snapshot granted create volume permissions
20024//    to a specific AWS account.
20025//
20026//    * implicit: An AWS account has implicit create volume permissions for
20027//    all snapshots it owns.
20028//
20029// The list of snapshots returned can be modified by specifying snapshot IDs,
20030// snapshot owners, or AWS accounts with create volume permissions. If no options
20031// are specified, Amazon EC2 returns all snapshots for which you have create
20032// volume permissions.
20033//
20034// If you specify one or more snapshot IDs, only snapshots that have the specified
20035// IDs are returned. If you specify an invalid snapshot ID, an error is returned.
20036// If you specify a snapshot ID for which you do not have access, it is not
20037// included in the returned results.
20038//
20039// If you specify one or more snapshot owners using the OwnerIds option, only
20040// snapshots from the specified owners and for which you have access are returned.
20041// The results can include the AWS account IDs of the specified owners, amazon
20042// for snapshots owned by Amazon, or self for snapshots that you own.
20043//
20044// If you specify a list of restorable users, only snapshots with create snapshot
20045// permissions for those users are returned. You can specify AWS account IDs
20046// (if you own the snapshots), self for snapshots for which you own or have
20047// explicit permissions, or all for public snapshots.
20048//
20049// If you are describing a long list of snapshots, you can paginate the output
20050// to make the list more manageable. The MaxResults parameter sets the maximum
20051// number of results returned in a single page. If the list of results exceeds
20052// your MaxResults value, then that number of results is returned along with
20053// a NextToken value that can be passed to a subsequent DescribeSnapshots request
20054// to retrieve the remaining results.
20055//
20056// For more information about EBS snapshots, see Amazon EBS Snapshots (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSSnapshots.html)
20057// in the Amazon Elastic Compute Cloud User Guide.
20058//
20059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20060// with awserr.Error's Code and Message methods to get detailed information about
20061// the error.
20062//
20063// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20064// API operation DescribeSnapshots for usage and error information.
20065// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSnapshots
20066func (c *EC2) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) {
20067	req, out := c.DescribeSnapshotsRequest(input)
20068	return out, req.Send()
20069}
20070
20071// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of
20072// the ability to pass a context and additional request options.
20073//
20074// See DescribeSnapshots for details on how to use this API operation.
20075//
20076// The context must be non-nil and will be used for request cancellation. If
20077// the context is nil a panic will occur. In the future the SDK may create
20078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20079// for more information on using Contexts.
20080func (c *EC2) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) {
20081	req, out := c.DescribeSnapshotsRequest(input)
20082	req.SetContext(ctx)
20083	req.ApplyOptions(opts...)
20084	return out, req.Send()
20085}
20086
20087// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation,
20088// calling the "fn" function with the response data for each page. To stop
20089// iterating, return false from the fn function.
20090//
20091// See DescribeSnapshots method for more information on how to use this operation.
20092//
20093// Note: This operation can generate multiple requests to a service.
20094//
20095//    // Example iterating over at most 3 pages of a DescribeSnapshots operation.
20096//    pageNum := 0
20097//    err := client.DescribeSnapshotsPages(params,
20098//        func(page *ec2.DescribeSnapshotsOutput, lastPage bool) bool {
20099//            pageNum++
20100//            fmt.Println(page)
20101//            return pageNum <= 3
20102//        })
20103//
20104func (c *EC2) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error {
20105	return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
20106}
20107
20108// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except
20109// it takes a Context and allows setting request options on the pages.
20110//
20111// The context must be non-nil and will be used for request cancellation. If
20112// the context is nil a panic will occur. In the future the SDK may create
20113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20114// for more information on using Contexts.
20115func (c *EC2) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error {
20116	p := request.Pagination{
20117		NewRequest: func() (*request.Request, error) {
20118			var inCpy *DescribeSnapshotsInput
20119			if input != nil {
20120				tmp := *input
20121				inCpy = &tmp
20122			}
20123			req, _ := c.DescribeSnapshotsRequest(inCpy)
20124			req.SetContext(ctx)
20125			req.ApplyOptions(opts...)
20126			return req, nil
20127		},
20128	}
20129
20130	for p.Next() {
20131		if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) {
20132			break
20133		}
20134	}
20135
20136	return p.Err()
20137}
20138
20139const opDescribeSpotDatafeedSubscription = "DescribeSpotDatafeedSubscription"
20140
20141// DescribeSpotDatafeedSubscriptionRequest generates a "aws/request.Request" representing the
20142// client's request for the DescribeSpotDatafeedSubscription operation. The "output" return
20143// value will be populated with the request's response once the request completes
20144// successfully.
20145//
20146// Use "Send" method on the returned Request to send the API call to the service.
20147// the "output" return value is not valid until after Send returns without error.
20148//
20149// See DescribeSpotDatafeedSubscription for more information on using the DescribeSpotDatafeedSubscription
20150// API call, and error handling.
20151//
20152// This method is useful when you want to inject custom logic or configuration
20153// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20154//
20155//
20156//    // Example sending a request using the DescribeSpotDatafeedSubscriptionRequest method.
20157//    req, resp := client.DescribeSpotDatafeedSubscriptionRequest(params)
20158//
20159//    err := req.Send()
20160//    if err == nil { // resp is now filled
20161//        fmt.Println(resp)
20162//    }
20163//
20164// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
20165func (c *EC2) DescribeSpotDatafeedSubscriptionRequest(input *DescribeSpotDatafeedSubscriptionInput) (req *request.Request, output *DescribeSpotDatafeedSubscriptionOutput) {
20166	op := &request.Operation{
20167		Name:       opDescribeSpotDatafeedSubscription,
20168		HTTPMethod: "POST",
20169		HTTPPath:   "/",
20170	}
20171
20172	if input == nil {
20173		input = &DescribeSpotDatafeedSubscriptionInput{}
20174	}
20175
20176	output = &DescribeSpotDatafeedSubscriptionOutput{}
20177	req = c.newRequest(op, input, output)
20178	return
20179}
20180
20181// DescribeSpotDatafeedSubscription API operation for Amazon Elastic Compute Cloud.
20182//
20183// Describes the data feed for Spot Instances. For more information, see Spot
20184// Instance Data Feed (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-data-feeds.html)
20185// in the Amazon EC2 User Guide for Linux Instances.
20186//
20187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20188// with awserr.Error's Code and Message methods to get detailed information about
20189// the error.
20190//
20191// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20192// API operation DescribeSpotDatafeedSubscription for usage and error information.
20193// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotDatafeedSubscription
20194func (c *EC2) DescribeSpotDatafeedSubscription(input *DescribeSpotDatafeedSubscriptionInput) (*DescribeSpotDatafeedSubscriptionOutput, error) {
20195	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
20196	return out, req.Send()
20197}
20198
20199// DescribeSpotDatafeedSubscriptionWithContext is the same as DescribeSpotDatafeedSubscription with the addition of
20200// the ability to pass a context and additional request options.
20201//
20202// See DescribeSpotDatafeedSubscription for details on how to use this API operation.
20203//
20204// The context must be non-nil and will be used for request cancellation. If
20205// the context is nil a panic will occur. In the future the SDK may create
20206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20207// for more information on using Contexts.
20208func (c *EC2) DescribeSpotDatafeedSubscriptionWithContext(ctx aws.Context, input *DescribeSpotDatafeedSubscriptionInput, opts ...request.Option) (*DescribeSpotDatafeedSubscriptionOutput, error) {
20209	req, out := c.DescribeSpotDatafeedSubscriptionRequest(input)
20210	req.SetContext(ctx)
20211	req.ApplyOptions(opts...)
20212	return out, req.Send()
20213}
20214
20215const opDescribeSpotFleetInstances = "DescribeSpotFleetInstances"
20216
20217// DescribeSpotFleetInstancesRequest generates a "aws/request.Request" representing the
20218// client's request for the DescribeSpotFleetInstances operation. The "output" return
20219// value will be populated with the request's response once the request completes
20220// successfully.
20221//
20222// Use "Send" method on the returned Request to send the API call to the service.
20223// the "output" return value is not valid until after Send returns without error.
20224//
20225// See DescribeSpotFleetInstances for more information on using the DescribeSpotFleetInstances
20226// API call, and error handling.
20227//
20228// This method is useful when you want to inject custom logic or configuration
20229// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20230//
20231//
20232//    // Example sending a request using the DescribeSpotFleetInstancesRequest method.
20233//    req, resp := client.DescribeSpotFleetInstancesRequest(params)
20234//
20235//    err := req.Send()
20236//    if err == nil { // resp is now filled
20237//        fmt.Println(resp)
20238//    }
20239//
20240// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
20241func (c *EC2) DescribeSpotFleetInstancesRequest(input *DescribeSpotFleetInstancesInput) (req *request.Request, output *DescribeSpotFleetInstancesOutput) {
20242	op := &request.Operation{
20243		Name:       opDescribeSpotFleetInstances,
20244		HTTPMethod: "POST",
20245		HTTPPath:   "/",
20246	}
20247
20248	if input == nil {
20249		input = &DescribeSpotFleetInstancesInput{}
20250	}
20251
20252	output = &DescribeSpotFleetInstancesOutput{}
20253	req = c.newRequest(op, input, output)
20254	return
20255}
20256
20257// DescribeSpotFleetInstances API operation for Amazon Elastic Compute Cloud.
20258//
20259// Describes the running instances for the specified Spot Fleet.
20260//
20261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20262// with awserr.Error's Code and Message methods to get detailed information about
20263// the error.
20264//
20265// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20266// API operation DescribeSpotFleetInstances for usage and error information.
20267// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetInstances
20268func (c *EC2) DescribeSpotFleetInstances(input *DescribeSpotFleetInstancesInput) (*DescribeSpotFleetInstancesOutput, error) {
20269	req, out := c.DescribeSpotFleetInstancesRequest(input)
20270	return out, req.Send()
20271}
20272
20273// DescribeSpotFleetInstancesWithContext is the same as DescribeSpotFleetInstances with the addition of
20274// the ability to pass a context and additional request options.
20275//
20276// See DescribeSpotFleetInstances for details on how to use this API operation.
20277//
20278// The context must be non-nil and will be used for request cancellation. If
20279// the context is nil a panic will occur. In the future the SDK may create
20280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20281// for more information on using Contexts.
20282func (c *EC2) DescribeSpotFleetInstancesWithContext(ctx aws.Context, input *DescribeSpotFleetInstancesInput, opts ...request.Option) (*DescribeSpotFleetInstancesOutput, error) {
20283	req, out := c.DescribeSpotFleetInstancesRequest(input)
20284	req.SetContext(ctx)
20285	req.ApplyOptions(opts...)
20286	return out, req.Send()
20287}
20288
20289const opDescribeSpotFleetRequestHistory = "DescribeSpotFleetRequestHistory"
20290
20291// DescribeSpotFleetRequestHistoryRequest generates a "aws/request.Request" representing the
20292// client's request for the DescribeSpotFleetRequestHistory operation. The "output" return
20293// value will be populated with the request's response once the request completes
20294// successfully.
20295//
20296// Use "Send" method on the returned Request to send the API call to the service.
20297// the "output" return value is not valid until after Send returns without error.
20298//
20299// See DescribeSpotFleetRequestHistory for more information on using the DescribeSpotFleetRequestHistory
20300// API call, and error handling.
20301//
20302// This method is useful when you want to inject custom logic or configuration
20303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20304//
20305//
20306//    // Example sending a request using the DescribeSpotFleetRequestHistoryRequest method.
20307//    req, resp := client.DescribeSpotFleetRequestHistoryRequest(params)
20308//
20309//    err := req.Send()
20310//    if err == nil { // resp is now filled
20311//        fmt.Println(resp)
20312//    }
20313//
20314// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
20315func (c *EC2) DescribeSpotFleetRequestHistoryRequest(input *DescribeSpotFleetRequestHistoryInput) (req *request.Request, output *DescribeSpotFleetRequestHistoryOutput) {
20316	op := &request.Operation{
20317		Name:       opDescribeSpotFleetRequestHistory,
20318		HTTPMethod: "POST",
20319		HTTPPath:   "/",
20320	}
20321
20322	if input == nil {
20323		input = &DescribeSpotFleetRequestHistoryInput{}
20324	}
20325
20326	output = &DescribeSpotFleetRequestHistoryOutput{}
20327	req = c.newRequest(op, input, output)
20328	return
20329}
20330
20331// DescribeSpotFleetRequestHistory API operation for Amazon Elastic Compute Cloud.
20332//
20333// Describes the events for the specified Spot Fleet request during the specified
20334// time.
20335//
20336// Spot Fleet events are delayed by up to 30 seconds before they can be described.
20337// This ensures that you can query by the last evaluated time and not miss a
20338// recorded event. Spot Fleet events are available for 48 hours.
20339//
20340// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20341// with awserr.Error's Code and Message methods to get detailed information about
20342// the error.
20343//
20344// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20345// API operation DescribeSpotFleetRequestHistory for usage and error information.
20346// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequestHistory
20347func (c *EC2) DescribeSpotFleetRequestHistory(input *DescribeSpotFleetRequestHistoryInput) (*DescribeSpotFleetRequestHistoryOutput, error) {
20348	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
20349	return out, req.Send()
20350}
20351
20352// DescribeSpotFleetRequestHistoryWithContext is the same as DescribeSpotFleetRequestHistory with the addition of
20353// the ability to pass a context and additional request options.
20354//
20355// See DescribeSpotFleetRequestHistory for details on how to use this API operation.
20356//
20357// The context must be non-nil and will be used for request cancellation. If
20358// the context is nil a panic will occur. In the future the SDK may create
20359// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20360// for more information on using Contexts.
20361func (c *EC2) DescribeSpotFleetRequestHistoryWithContext(ctx aws.Context, input *DescribeSpotFleetRequestHistoryInput, opts ...request.Option) (*DescribeSpotFleetRequestHistoryOutput, error) {
20362	req, out := c.DescribeSpotFleetRequestHistoryRequest(input)
20363	req.SetContext(ctx)
20364	req.ApplyOptions(opts...)
20365	return out, req.Send()
20366}
20367
20368const opDescribeSpotFleetRequests = "DescribeSpotFleetRequests"
20369
20370// DescribeSpotFleetRequestsRequest generates a "aws/request.Request" representing the
20371// client's request for the DescribeSpotFleetRequests operation. The "output" return
20372// value will be populated with the request's response once the request completes
20373// successfully.
20374//
20375// Use "Send" method on the returned Request to send the API call to the service.
20376// the "output" return value is not valid until after Send returns without error.
20377//
20378// See DescribeSpotFleetRequests for more information on using the DescribeSpotFleetRequests
20379// API call, and error handling.
20380//
20381// This method is useful when you want to inject custom logic or configuration
20382// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20383//
20384//
20385//    // Example sending a request using the DescribeSpotFleetRequestsRequest method.
20386//    req, resp := client.DescribeSpotFleetRequestsRequest(params)
20387//
20388//    err := req.Send()
20389//    if err == nil { // resp is now filled
20390//        fmt.Println(resp)
20391//    }
20392//
20393// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
20394func (c *EC2) DescribeSpotFleetRequestsRequest(input *DescribeSpotFleetRequestsInput) (req *request.Request, output *DescribeSpotFleetRequestsOutput) {
20395	op := &request.Operation{
20396		Name:       opDescribeSpotFleetRequests,
20397		HTTPMethod: "POST",
20398		HTTPPath:   "/",
20399		Paginator: &request.Paginator{
20400			InputTokens:     []string{"NextToken"},
20401			OutputTokens:    []string{"NextToken"},
20402			LimitToken:      "MaxResults",
20403			TruncationToken: "",
20404		},
20405	}
20406
20407	if input == nil {
20408		input = &DescribeSpotFleetRequestsInput{}
20409	}
20410
20411	output = &DescribeSpotFleetRequestsOutput{}
20412	req = c.newRequest(op, input, output)
20413	return
20414}
20415
20416// DescribeSpotFleetRequests API operation for Amazon Elastic Compute Cloud.
20417//
20418// Describes your Spot Fleet requests.
20419//
20420// Spot Fleet requests are deleted 48 hours after they are canceled and their
20421// instances are terminated.
20422//
20423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20424// with awserr.Error's Code and Message methods to get detailed information about
20425// the error.
20426//
20427// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20428// API operation DescribeSpotFleetRequests for usage and error information.
20429// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotFleetRequests
20430func (c *EC2) DescribeSpotFleetRequests(input *DescribeSpotFleetRequestsInput) (*DescribeSpotFleetRequestsOutput, error) {
20431	req, out := c.DescribeSpotFleetRequestsRequest(input)
20432	return out, req.Send()
20433}
20434
20435// DescribeSpotFleetRequestsWithContext is the same as DescribeSpotFleetRequests with the addition of
20436// the ability to pass a context and additional request options.
20437//
20438// See DescribeSpotFleetRequests for details on how to use this API operation.
20439//
20440// The context must be non-nil and will be used for request cancellation. If
20441// the context is nil a panic will occur. In the future the SDK may create
20442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20443// for more information on using Contexts.
20444func (c *EC2) DescribeSpotFleetRequestsWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, opts ...request.Option) (*DescribeSpotFleetRequestsOutput, error) {
20445	req, out := c.DescribeSpotFleetRequestsRequest(input)
20446	req.SetContext(ctx)
20447	req.ApplyOptions(opts...)
20448	return out, req.Send()
20449}
20450
20451// DescribeSpotFleetRequestsPages iterates over the pages of a DescribeSpotFleetRequests operation,
20452// calling the "fn" function with the response data for each page. To stop
20453// iterating, return false from the fn function.
20454//
20455// See DescribeSpotFleetRequests method for more information on how to use this operation.
20456//
20457// Note: This operation can generate multiple requests to a service.
20458//
20459//    // Example iterating over at most 3 pages of a DescribeSpotFleetRequests operation.
20460//    pageNum := 0
20461//    err := client.DescribeSpotFleetRequestsPages(params,
20462//        func(page *ec2.DescribeSpotFleetRequestsOutput, lastPage bool) bool {
20463//            pageNum++
20464//            fmt.Println(page)
20465//            return pageNum <= 3
20466//        })
20467//
20468func (c *EC2) DescribeSpotFleetRequestsPages(input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool) error {
20469	return c.DescribeSpotFleetRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
20470}
20471
20472// DescribeSpotFleetRequestsPagesWithContext same as DescribeSpotFleetRequestsPages except
20473// it takes a Context and allows setting request options on the pages.
20474//
20475// The context must be non-nil and will be used for request cancellation. If
20476// the context is nil a panic will occur. In the future the SDK may create
20477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20478// for more information on using Contexts.
20479func (c *EC2) DescribeSpotFleetRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotFleetRequestsInput, fn func(*DescribeSpotFleetRequestsOutput, bool) bool, opts ...request.Option) error {
20480	p := request.Pagination{
20481		NewRequest: func() (*request.Request, error) {
20482			var inCpy *DescribeSpotFleetRequestsInput
20483			if input != nil {
20484				tmp := *input
20485				inCpy = &tmp
20486			}
20487			req, _ := c.DescribeSpotFleetRequestsRequest(inCpy)
20488			req.SetContext(ctx)
20489			req.ApplyOptions(opts...)
20490			return req, nil
20491		},
20492	}
20493
20494	for p.Next() {
20495		if !fn(p.Page().(*DescribeSpotFleetRequestsOutput), !p.HasNextPage()) {
20496			break
20497		}
20498	}
20499
20500	return p.Err()
20501}
20502
20503const opDescribeSpotInstanceRequests = "DescribeSpotInstanceRequests"
20504
20505// DescribeSpotInstanceRequestsRequest generates a "aws/request.Request" representing the
20506// client's request for the DescribeSpotInstanceRequests operation. The "output" return
20507// value will be populated with the request's response once the request completes
20508// successfully.
20509//
20510// Use "Send" method on the returned Request to send the API call to the service.
20511// the "output" return value is not valid until after Send returns without error.
20512//
20513// See DescribeSpotInstanceRequests for more information on using the DescribeSpotInstanceRequests
20514// API call, and error handling.
20515//
20516// This method is useful when you want to inject custom logic or configuration
20517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20518//
20519//
20520//    // Example sending a request using the DescribeSpotInstanceRequestsRequest method.
20521//    req, resp := client.DescribeSpotInstanceRequestsRequest(params)
20522//
20523//    err := req.Send()
20524//    if err == nil { // resp is now filled
20525//        fmt.Println(resp)
20526//    }
20527//
20528// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
20529func (c *EC2) DescribeSpotInstanceRequestsRequest(input *DescribeSpotInstanceRequestsInput) (req *request.Request, output *DescribeSpotInstanceRequestsOutput) {
20530	op := &request.Operation{
20531		Name:       opDescribeSpotInstanceRequests,
20532		HTTPMethod: "POST",
20533		HTTPPath:   "/",
20534		Paginator: &request.Paginator{
20535			InputTokens:     []string{"NextToken"},
20536			OutputTokens:    []string{"NextToken"},
20537			LimitToken:      "MaxResults",
20538			TruncationToken: "",
20539		},
20540	}
20541
20542	if input == nil {
20543		input = &DescribeSpotInstanceRequestsInput{}
20544	}
20545
20546	output = &DescribeSpotInstanceRequestsOutput{}
20547	req = c.newRequest(op, input, output)
20548	return
20549}
20550
20551// DescribeSpotInstanceRequests API operation for Amazon Elastic Compute Cloud.
20552//
20553// Describes the specified Spot Instance requests.
20554//
20555// You can use DescribeSpotInstanceRequests to find a running Spot Instance
20556// by examining the response. If the status of the Spot Instance is fulfilled,
20557// the instance ID appears in the response and contains the identifier of the
20558// instance. Alternatively, you can use DescribeInstances with a filter to look
20559// for instances where the instance lifecycle is spot.
20560//
20561// We recommend that you set MaxResults to a value between 5 and 1000 to limit
20562// the number of results returned. This paginates the output, which makes the
20563// list more manageable and returns the results faster. If the list of results
20564// exceeds your MaxResults value, then that number of results is returned along
20565// with a NextToken value that can be passed to a subsequent DescribeSpotInstanceRequests
20566// request to retrieve the remaining results.
20567//
20568// Spot Instance requests are deleted four hours after they are canceled and
20569// their instances are terminated.
20570//
20571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20572// with awserr.Error's Code and Message methods to get detailed information about
20573// the error.
20574//
20575// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20576// API operation DescribeSpotInstanceRequests for usage and error information.
20577// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotInstanceRequests
20578func (c *EC2) DescribeSpotInstanceRequests(input *DescribeSpotInstanceRequestsInput) (*DescribeSpotInstanceRequestsOutput, error) {
20579	req, out := c.DescribeSpotInstanceRequestsRequest(input)
20580	return out, req.Send()
20581}
20582
20583// DescribeSpotInstanceRequestsWithContext is the same as DescribeSpotInstanceRequests with the addition of
20584// the ability to pass a context and additional request options.
20585//
20586// See DescribeSpotInstanceRequests for details on how to use this API operation.
20587//
20588// The context must be non-nil and will be used for request cancellation. If
20589// the context is nil a panic will occur. In the future the SDK may create
20590// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20591// for more information on using Contexts.
20592func (c *EC2) DescribeSpotInstanceRequestsWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, opts ...request.Option) (*DescribeSpotInstanceRequestsOutput, error) {
20593	req, out := c.DescribeSpotInstanceRequestsRequest(input)
20594	req.SetContext(ctx)
20595	req.ApplyOptions(opts...)
20596	return out, req.Send()
20597}
20598
20599// DescribeSpotInstanceRequestsPages iterates over the pages of a DescribeSpotInstanceRequests operation,
20600// calling the "fn" function with the response data for each page. To stop
20601// iterating, return false from the fn function.
20602//
20603// See DescribeSpotInstanceRequests method for more information on how to use this operation.
20604//
20605// Note: This operation can generate multiple requests to a service.
20606//
20607//    // Example iterating over at most 3 pages of a DescribeSpotInstanceRequests operation.
20608//    pageNum := 0
20609//    err := client.DescribeSpotInstanceRequestsPages(params,
20610//        func(page *ec2.DescribeSpotInstanceRequestsOutput, lastPage bool) bool {
20611//            pageNum++
20612//            fmt.Println(page)
20613//            return pageNum <= 3
20614//        })
20615//
20616func (c *EC2) DescribeSpotInstanceRequestsPages(input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool) error {
20617	return c.DescribeSpotInstanceRequestsPagesWithContext(aws.BackgroundContext(), input, fn)
20618}
20619
20620// DescribeSpotInstanceRequestsPagesWithContext same as DescribeSpotInstanceRequestsPages except
20621// it takes a Context and allows setting request options on the pages.
20622//
20623// The context must be non-nil and will be used for request cancellation. If
20624// the context is nil a panic will occur. In the future the SDK may create
20625// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20626// for more information on using Contexts.
20627func (c *EC2) DescribeSpotInstanceRequestsPagesWithContext(ctx aws.Context, input *DescribeSpotInstanceRequestsInput, fn func(*DescribeSpotInstanceRequestsOutput, bool) bool, opts ...request.Option) error {
20628	p := request.Pagination{
20629		NewRequest: func() (*request.Request, error) {
20630			var inCpy *DescribeSpotInstanceRequestsInput
20631			if input != nil {
20632				tmp := *input
20633				inCpy = &tmp
20634			}
20635			req, _ := c.DescribeSpotInstanceRequestsRequest(inCpy)
20636			req.SetContext(ctx)
20637			req.ApplyOptions(opts...)
20638			return req, nil
20639		},
20640	}
20641
20642	for p.Next() {
20643		if !fn(p.Page().(*DescribeSpotInstanceRequestsOutput), !p.HasNextPage()) {
20644			break
20645		}
20646	}
20647
20648	return p.Err()
20649}
20650
20651const opDescribeSpotPriceHistory = "DescribeSpotPriceHistory"
20652
20653// DescribeSpotPriceHistoryRequest generates a "aws/request.Request" representing the
20654// client's request for the DescribeSpotPriceHistory operation. The "output" return
20655// value will be populated with the request's response once the request completes
20656// successfully.
20657//
20658// Use "Send" method on the returned Request to send the API call to the service.
20659// the "output" return value is not valid until after Send returns without error.
20660//
20661// See DescribeSpotPriceHistory for more information on using the DescribeSpotPriceHistory
20662// API call, and error handling.
20663//
20664// This method is useful when you want to inject custom logic or configuration
20665// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20666//
20667//
20668//    // Example sending a request using the DescribeSpotPriceHistoryRequest method.
20669//    req, resp := client.DescribeSpotPriceHistoryRequest(params)
20670//
20671//    err := req.Send()
20672//    if err == nil { // resp is now filled
20673//        fmt.Println(resp)
20674//    }
20675//
20676// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
20677func (c *EC2) DescribeSpotPriceHistoryRequest(input *DescribeSpotPriceHistoryInput) (req *request.Request, output *DescribeSpotPriceHistoryOutput) {
20678	op := &request.Operation{
20679		Name:       opDescribeSpotPriceHistory,
20680		HTTPMethod: "POST",
20681		HTTPPath:   "/",
20682		Paginator: &request.Paginator{
20683			InputTokens:     []string{"NextToken"},
20684			OutputTokens:    []string{"NextToken"},
20685			LimitToken:      "MaxResults",
20686			TruncationToken: "",
20687		},
20688	}
20689
20690	if input == nil {
20691		input = &DescribeSpotPriceHistoryInput{}
20692	}
20693
20694	output = &DescribeSpotPriceHistoryOutput{}
20695	req = c.newRequest(op, input, output)
20696	return
20697}
20698
20699// DescribeSpotPriceHistory API operation for Amazon Elastic Compute Cloud.
20700//
20701// Describes the Spot price history. For more information, see Spot Instance
20702// Pricing History (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances-history.html)
20703// in the Amazon EC2 User Guide for Linux Instances.
20704//
20705// When you specify a start and end time, this operation returns the prices
20706// of the instance types within the time range that you specified and the time
20707// when the price changed. The price is valid within the time period that you
20708// specified; the response merely indicates the last time that the price changed.
20709//
20710// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20711// with awserr.Error's Code and Message methods to get detailed information about
20712// the error.
20713//
20714// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20715// API operation DescribeSpotPriceHistory for usage and error information.
20716// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSpotPriceHistory
20717func (c *EC2) DescribeSpotPriceHistory(input *DescribeSpotPriceHistoryInput) (*DescribeSpotPriceHistoryOutput, error) {
20718	req, out := c.DescribeSpotPriceHistoryRequest(input)
20719	return out, req.Send()
20720}
20721
20722// DescribeSpotPriceHistoryWithContext is the same as DescribeSpotPriceHistory with the addition of
20723// the ability to pass a context and additional request options.
20724//
20725// See DescribeSpotPriceHistory for details on how to use this API operation.
20726//
20727// The context must be non-nil and will be used for request cancellation. If
20728// the context is nil a panic will occur. In the future the SDK may create
20729// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20730// for more information on using Contexts.
20731func (c *EC2) DescribeSpotPriceHistoryWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, opts ...request.Option) (*DescribeSpotPriceHistoryOutput, error) {
20732	req, out := c.DescribeSpotPriceHistoryRequest(input)
20733	req.SetContext(ctx)
20734	req.ApplyOptions(opts...)
20735	return out, req.Send()
20736}
20737
20738// DescribeSpotPriceHistoryPages iterates over the pages of a DescribeSpotPriceHistory operation,
20739// calling the "fn" function with the response data for each page. To stop
20740// iterating, return false from the fn function.
20741//
20742// See DescribeSpotPriceHistory method for more information on how to use this operation.
20743//
20744// Note: This operation can generate multiple requests to a service.
20745//
20746//    // Example iterating over at most 3 pages of a DescribeSpotPriceHistory operation.
20747//    pageNum := 0
20748//    err := client.DescribeSpotPriceHistoryPages(params,
20749//        func(page *ec2.DescribeSpotPriceHistoryOutput, lastPage bool) bool {
20750//            pageNum++
20751//            fmt.Println(page)
20752//            return pageNum <= 3
20753//        })
20754//
20755func (c *EC2) DescribeSpotPriceHistoryPages(input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool) error {
20756	return c.DescribeSpotPriceHistoryPagesWithContext(aws.BackgroundContext(), input, fn)
20757}
20758
20759// DescribeSpotPriceHistoryPagesWithContext same as DescribeSpotPriceHistoryPages except
20760// it takes a Context and allows setting request options on the pages.
20761//
20762// The context must be non-nil and will be used for request cancellation. If
20763// the context is nil a panic will occur. In the future the SDK may create
20764// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20765// for more information on using Contexts.
20766func (c *EC2) DescribeSpotPriceHistoryPagesWithContext(ctx aws.Context, input *DescribeSpotPriceHistoryInput, fn func(*DescribeSpotPriceHistoryOutput, bool) bool, opts ...request.Option) error {
20767	p := request.Pagination{
20768		NewRequest: func() (*request.Request, error) {
20769			var inCpy *DescribeSpotPriceHistoryInput
20770			if input != nil {
20771				tmp := *input
20772				inCpy = &tmp
20773			}
20774			req, _ := c.DescribeSpotPriceHistoryRequest(inCpy)
20775			req.SetContext(ctx)
20776			req.ApplyOptions(opts...)
20777			return req, nil
20778		},
20779	}
20780
20781	for p.Next() {
20782		if !fn(p.Page().(*DescribeSpotPriceHistoryOutput), !p.HasNextPage()) {
20783			break
20784		}
20785	}
20786
20787	return p.Err()
20788}
20789
20790const opDescribeStaleSecurityGroups = "DescribeStaleSecurityGroups"
20791
20792// DescribeStaleSecurityGroupsRequest generates a "aws/request.Request" representing the
20793// client's request for the DescribeStaleSecurityGroups operation. The "output" return
20794// value will be populated with the request's response once the request completes
20795// successfully.
20796//
20797// Use "Send" method on the returned Request to send the API call to the service.
20798// the "output" return value is not valid until after Send returns without error.
20799//
20800// See DescribeStaleSecurityGroups for more information on using the DescribeStaleSecurityGroups
20801// API call, and error handling.
20802//
20803// This method is useful when you want to inject custom logic or configuration
20804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20805//
20806//
20807//    // Example sending a request using the DescribeStaleSecurityGroupsRequest method.
20808//    req, resp := client.DescribeStaleSecurityGroupsRequest(params)
20809//
20810//    err := req.Send()
20811//    if err == nil { // resp is now filled
20812//        fmt.Println(resp)
20813//    }
20814//
20815// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
20816func (c *EC2) DescribeStaleSecurityGroupsRequest(input *DescribeStaleSecurityGroupsInput) (req *request.Request, output *DescribeStaleSecurityGroupsOutput) {
20817	op := &request.Operation{
20818		Name:       opDescribeStaleSecurityGroups,
20819		HTTPMethod: "POST",
20820		HTTPPath:   "/",
20821		Paginator: &request.Paginator{
20822			InputTokens:     []string{"NextToken"},
20823			OutputTokens:    []string{"NextToken"},
20824			LimitToken:      "MaxResults",
20825			TruncationToken: "",
20826		},
20827	}
20828
20829	if input == nil {
20830		input = &DescribeStaleSecurityGroupsInput{}
20831	}
20832
20833	output = &DescribeStaleSecurityGroupsOutput{}
20834	req = c.newRequest(op, input, output)
20835	return
20836}
20837
20838// DescribeStaleSecurityGroups API operation for Amazon Elastic Compute Cloud.
20839//
20840// [VPC only] Describes the stale security group rules for security groups in
20841// a specified VPC. Rules are stale when they reference a deleted security group
20842// in a peer VPC, or a security group in a peer VPC for which the VPC peering
20843// connection has been deleted.
20844//
20845// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20846// with awserr.Error's Code and Message methods to get detailed information about
20847// the error.
20848//
20849// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20850// API operation DescribeStaleSecurityGroups for usage and error information.
20851// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeStaleSecurityGroups
20852func (c *EC2) DescribeStaleSecurityGroups(input *DescribeStaleSecurityGroupsInput) (*DescribeStaleSecurityGroupsOutput, error) {
20853	req, out := c.DescribeStaleSecurityGroupsRequest(input)
20854	return out, req.Send()
20855}
20856
20857// DescribeStaleSecurityGroupsWithContext is the same as DescribeStaleSecurityGroups with the addition of
20858// the ability to pass a context and additional request options.
20859//
20860// See DescribeStaleSecurityGroups for details on how to use this API operation.
20861//
20862// The context must be non-nil and will be used for request cancellation. If
20863// the context is nil a panic will occur. In the future the SDK may create
20864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20865// for more information on using Contexts.
20866func (c *EC2) DescribeStaleSecurityGroupsWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, opts ...request.Option) (*DescribeStaleSecurityGroupsOutput, error) {
20867	req, out := c.DescribeStaleSecurityGroupsRequest(input)
20868	req.SetContext(ctx)
20869	req.ApplyOptions(opts...)
20870	return out, req.Send()
20871}
20872
20873// DescribeStaleSecurityGroupsPages iterates over the pages of a DescribeStaleSecurityGroups operation,
20874// calling the "fn" function with the response data for each page. To stop
20875// iterating, return false from the fn function.
20876//
20877// See DescribeStaleSecurityGroups method for more information on how to use this operation.
20878//
20879// Note: This operation can generate multiple requests to a service.
20880//
20881//    // Example iterating over at most 3 pages of a DescribeStaleSecurityGroups operation.
20882//    pageNum := 0
20883//    err := client.DescribeStaleSecurityGroupsPages(params,
20884//        func(page *ec2.DescribeStaleSecurityGroupsOutput, lastPage bool) bool {
20885//            pageNum++
20886//            fmt.Println(page)
20887//            return pageNum <= 3
20888//        })
20889//
20890func (c *EC2) DescribeStaleSecurityGroupsPages(input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool) error {
20891	return c.DescribeStaleSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
20892}
20893
20894// DescribeStaleSecurityGroupsPagesWithContext same as DescribeStaleSecurityGroupsPages except
20895// it takes a Context and allows setting request options on the pages.
20896//
20897// The context must be non-nil and will be used for request cancellation. If
20898// the context is nil a panic will occur. In the future the SDK may create
20899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
20900// for more information on using Contexts.
20901func (c *EC2) DescribeStaleSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeStaleSecurityGroupsInput, fn func(*DescribeStaleSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
20902	p := request.Pagination{
20903		NewRequest: func() (*request.Request, error) {
20904			var inCpy *DescribeStaleSecurityGroupsInput
20905			if input != nil {
20906				tmp := *input
20907				inCpy = &tmp
20908			}
20909			req, _ := c.DescribeStaleSecurityGroupsRequest(inCpy)
20910			req.SetContext(ctx)
20911			req.ApplyOptions(opts...)
20912			return req, nil
20913		},
20914	}
20915
20916	for p.Next() {
20917		if !fn(p.Page().(*DescribeStaleSecurityGroupsOutput), !p.HasNextPage()) {
20918			break
20919		}
20920	}
20921
20922	return p.Err()
20923}
20924
20925const opDescribeSubnets = "DescribeSubnets"
20926
20927// DescribeSubnetsRequest generates a "aws/request.Request" representing the
20928// client's request for the DescribeSubnets operation. The "output" return
20929// value will be populated with the request's response once the request completes
20930// successfully.
20931//
20932// Use "Send" method on the returned Request to send the API call to the service.
20933// the "output" return value is not valid until after Send returns without error.
20934//
20935// See DescribeSubnets for more information on using the DescribeSubnets
20936// API call, and error handling.
20937//
20938// This method is useful when you want to inject custom logic or configuration
20939// into the SDK's request lifecycle. Such as custom headers, or retry logic.
20940//
20941//
20942//    // Example sending a request using the DescribeSubnetsRequest method.
20943//    req, resp := client.DescribeSubnetsRequest(params)
20944//
20945//    err := req.Send()
20946//    if err == nil { // resp is now filled
20947//        fmt.Println(resp)
20948//    }
20949//
20950// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
20951func (c *EC2) DescribeSubnetsRequest(input *DescribeSubnetsInput) (req *request.Request, output *DescribeSubnetsOutput) {
20952	op := &request.Operation{
20953		Name:       opDescribeSubnets,
20954		HTTPMethod: "POST",
20955		HTTPPath:   "/",
20956		Paginator: &request.Paginator{
20957			InputTokens:     []string{"NextToken"},
20958			OutputTokens:    []string{"NextToken"},
20959			LimitToken:      "MaxResults",
20960			TruncationToken: "",
20961		},
20962	}
20963
20964	if input == nil {
20965		input = &DescribeSubnetsInput{}
20966	}
20967
20968	output = &DescribeSubnetsOutput{}
20969	req = c.newRequest(op, input, output)
20970	return
20971}
20972
20973// DescribeSubnets API operation for Amazon Elastic Compute Cloud.
20974//
20975// Describes one or more of your subnets.
20976//
20977// For more information, see Your VPC and Subnets (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
20978// in the Amazon Virtual Private Cloud User Guide.
20979//
20980// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
20981// with awserr.Error's Code and Message methods to get detailed information about
20982// the error.
20983//
20984// See the AWS API reference guide for Amazon Elastic Compute Cloud's
20985// API operation DescribeSubnets for usage and error information.
20986// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeSubnets
20987func (c *EC2) DescribeSubnets(input *DescribeSubnetsInput) (*DescribeSubnetsOutput, error) {
20988	req, out := c.DescribeSubnetsRequest(input)
20989	return out, req.Send()
20990}
20991
20992// DescribeSubnetsWithContext is the same as DescribeSubnets with the addition of
20993// the ability to pass a context and additional request options.
20994//
20995// See DescribeSubnets for details on how to use this API operation.
20996//
20997// The context must be non-nil and will be used for request cancellation. If
20998// the context is nil a panic will occur. In the future the SDK may create
20999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21000// for more information on using Contexts.
21001func (c *EC2) DescribeSubnetsWithContext(ctx aws.Context, input *DescribeSubnetsInput, opts ...request.Option) (*DescribeSubnetsOutput, error) {
21002	req, out := c.DescribeSubnetsRequest(input)
21003	req.SetContext(ctx)
21004	req.ApplyOptions(opts...)
21005	return out, req.Send()
21006}
21007
21008// DescribeSubnetsPages iterates over the pages of a DescribeSubnets operation,
21009// calling the "fn" function with the response data for each page. To stop
21010// iterating, return false from the fn function.
21011//
21012// See DescribeSubnets method for more information on how to use this operation.
21013//
21014// Note: This operation can generate multiple requests to a service.
21015//
21016//    // Example iterating over at most 3 pages of a DescribeSubnets operation.
21017//    pageNum := 0
21018//    err := client.DescribeSubnetsPages(params,
21019//        func(page *ec2.DescribeSubnetsOutput, lastPage bool) bool {
21020//            pageNum++
21021//            fmt.Println(page)
21022//            return pageNum <= 3
21023//        })
21024//
21025func (c *EC2) DescribeSubnetsPages(input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool) error {
21026	return c.DescribeSubnetsPagesWithContext(aws.BackgroundContext(), input, fn)
21027}
21028
21029// DescribeSubnetsPagesWithContext same as DescribeSubnetsPages except
21030// it takes a Context and allows setting request options on the pages.
21031//
21032// The context must be non-nil and will be used for request cancellation. If
21033// the context is nil a panic will occur. In the future the SDK may create
21034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21035// for more information on using Contexts.
21036func (c *EC2) DescribeSubnetsPagesWithContext(ctx aws.Context, input *DescribeSubnetsInput, fn func(*DescribeSubnetsOutput, bool) bool, opts ...request.Option) error {
21037	p := request.Pagination{
21038		NewRequest: func() (*request.Request, error) {
21039			var inCpy *DescribeSubnetsInput
21040			if input != nil {
21041				tmp := *input
21042				inCpy = &tmp
21043			}
21044			req, _ := c.DescribeSubnetsRequest(inCpy)
21045			req.SetContext(ctx)
21046			req.ApplyOptions(opts...)
21047			return req, nil
21048		},
21049	}
21050
21051	for p.Next() {
21052		if !fn(p.Page().(*DescribeSubnetsOutput), !p.HasNextPage()) {
21053			break
21054		}
21055	}
21056
21057	return p.Err()
21058}
21059
21060const opDescribeTags = "DescribeTags"
21061
21062// DescribeTagsRequest generates a "aws/request.Request" representing the
21063// client's request for the DescribeTags operation. The "output" return
21064// value will be populated with the request's response once the request completes
21065// successfully.
21066//
21067// Use "Send" method on the returned Request to send the API call to the service.
21068// the "output" return value is not valid until after Send returns without error.
21069//
21070// See DescribeTags for more information on using the DescribeTags
21071// API call, and error handling.
21072//
21073// This method is useful when you want to inject custom logic or configuration
21074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21075//
21076//
21077//    // Example sending a request using the DescribeTagsRequest method.
21078//    req, resp := client.DescribeTagsRequest(params)
21079//
21080//    err := req.Send()
21081//    if err == nil { // resp is now filled
21082//        fmt.Println(resp)
21083//    }
21084//
21085// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
21086func (c *EC2) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) {
21087	op := &request.Operation{
21088		Name:       opDescribeTags,
21089		HTTPMethod: "POST",
21090		HTTPPath:   "/",
21091		Paginator: &request.Paginator{
21092			InputTokens:     []string{"NextToken"},
21093			OutputTokens:    []string{"NextToken"},
21094			LimitToken:      "MaxResults",
21095			TruncationToken: "",
21096		},
21097	}
21098
21099	if input == nil {
21100		input = &DescribeTagsInput{}
21101	}
21102
21103	output = &DescribeTagsOutput{}
21104	req = c.newRequest(op, input, output)
21105	return
21106}
21107
21108// DescribeTags API operation for Amazon Elastic Compute Cloud.
21109//
21110// Describes the specified tags for your EC2 resources.
21111//
21112// For more information about tags, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html)
21113// in the Amazon Elastic Compute Cloud User Guide.
21114//
21115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21116// with awserr.Error's Code and Message methods to get detailed information about
21117// the error.
21118//
21119// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21120// API operation DescribeTags for usage and error information.
21121// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTags
21122func (c *EC2) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) {
21123	req, out := c.DescribeTagsRequest(input)
21124	return out, req.Send()
21125}
21126
21127// DescribeTagsWithContext is the same as DescribeTags with the addition of
21128// the ability to pass a context and additional request options.
21129//
21130// See DescribeTags for details on how to use this API operation.
21131//
21132// The context must be non-nil and will be used for request cancellation. If
21133// the context is nil a panic will occur. In the future the SDK may create
21134// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21135// for more information on using Contexts.
21136func (c *EC2) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) {
21137	req, out := c.DescribeTagsRequest(input)
21138	req.SetContext(ctx)
21139	req.ApplyOptions(opts...)
21140	return out, req.Send()
21141}
21142
21143// DescribeTagsPages iterates over the pages of a DescribeTags operation,
21144// calling the "fn" function with the response data for each page. To stop
21145// iterating, return false from the fn function.
21146//
21147// See DescribeTags method for more information on how to use this operation.
21148//
21149// Note: This operation can generate multiple requests to a service.
21150//
21151//    // Example iterating over at most 3 pages of a DescribeTags operation.
21152//    pageNum := 0
21153//    err := client.DescribeTagsPages(params,
21154//        func(page *ec2.DescribeTagsOutput, lastPage bool) bool {
21155//            pageNum++
21156//            fmt.Println(page)
21157//            return pageNum <= 3
21158//        })
21159//
21160func (c *EC2) DescribeTagsPages(input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool) error {
21161	return c.DescribeTagsPagesWithContext(aws.BackgroundContext(), input, fn)
21162}
21163
21164// DescribeTagsPagesWithContext same as DescribeTagsPages except
21165// it takes a Context and allows setting request options on the pages.
21166//
21167// The context must be non-nil and will be used for request cancellation. If
21168// the context is nil a panic will occur. In the future the SDK may create
21169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21170// for more information on using Contexts.
21171func (c *EC2) DescribeTagsPagesWithContext(ctx aws.Context, input *DescribeTagsInput, fn func(*DescribeTagsOutput, bool) bool, opts ...request.Option) error {
21172	p := request.Pagination{
21173		NewRequest: func() (*request.Request, error) {
21174			var inCpy *DescribeTagsInput
21175			if input != nil {
21176				tmp := *input
21177				inCpy = &tmp
21178			}
21179			req, _ := c.DescribeTagsRequest(inCpy)
21180			req.SetContext(ctx)
21181			req.ApplyOptions(opts...)
21182			return req, nil
21183		},
21184	}
21185
21186	for p.Next() {
21187		if !fn(p.Page().(*DescribeTagsOutput), !p.HasNextPage()) {
21188			break
21189		}
21190	}
21191
21192	return p.Err()
21193}
21194
21195const opDescribeTrafficMirrorFilters = "DescribeTrafficMirrorFilters"
21196
21197// DescribeTrafficMirrorFiltersRequest generates a "aws/request.Request" representing the
21198// client's request for the DescribeTrafficMirrorFilters operation. The "output" return
21199// value will be populated with the request's response once the request completes
21200// successfully.
21201//
21202// Use "Send" method on the returned Request to send the API call to the service.
21203// the "output" return value is not valid until after Send returns without error.
21204//
21205// See DescribeTrafficMirrorFilters for more information on using the DescribeTrafficMirrorFilters
21206// API call, and error handling.
21207//
21208// This method is useful when you want to inject custom logic or configuration
21209// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21210//
21211//
21212//    // Example sending a request using the DescribeTrafficMirrorFiltersRequest method.
21213//    req, resp := client.DescribeTrafficMirrorFiltersRequest(params)
21214//
21215//    err := req.Send()
21216//    if err == nil { // resp is now filled
21217//        fmt.Println(resp)
21218//    }
21219//
21220// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
21221func (c *EC2) DescribeTrafficMirrorFiltersRequest(input *DescribeTrafficMirrorFiltersInput) (req *request.Request, output *DescribeTrafficMirrorFiltersOutput) {
21222	op := &request.Operation{
21223		Name:       opDescribeTrafficMirrorFilters,
21224		HTTPMethod: "POST",
21225		HTTPPath:   "/",
21226		Paginator: &request.Paginator{
21227			InputTokens:     []string{"NextToken"},
21228			OutputTokens:    []string{"NextToken"},
21229			LimitToken:      "MaxResults",
21230			TruncationToken: "",
21231		},
21232	}
21233
21234	if input == nil {
21235		input = &DescribeTrafficMirrorFiltersInput{}
21236	}
21237
21238	output = &DescribeTrafficMirrorFiltersOutput{}
21239	req = c.newRequest(op, input, output)
21240	return
21241}
21242
21243// DescribeTrafficMirrorFilters API operation for Amazon Elastic Compute Cloud.
21244//
21245// Describes one or more Traffic Mirror filters.
21246//
21247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21248// with awserr.Error's Code and Message methods to get detailed information about
21249// the error.
21250//
21251// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21252// API operation DescribeTrafficMirrorFilters for usage and error information.
21253// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorFilters
21254func (c *EC2) DescribeTrafficMirrorFilters(input *DescribeTrafficMirrorFiltersInput) (*DescribeTrafficMirrorFiltersOutput, error) {
21255	req, out := c.DescribeTrafficMirrorFiltersRequest(input)
21256	return out, req.Send()
21257}
21258
21259// DescribeTrafficMirrorFiltersWithContext is the same as DescribeTrafficMirrorFilters with the addition of
21260// the ability to pass a context and additional request options.
21261//
21262// See DescribeTrafficMirrorFilters for details on how to use this API operation.
21263//
21264// The context must be non-nil and will be used for request cancellation. If
21265// the context is nil a panic will occur. In the future the SDK may create
21266// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21267// for more information on using Contexts.
21268func (c *EC2) DescribeTrafficMirrorFiltersWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, opts ...request.Option) (*DescribeTrafficMirrorFiltersOutput, error) {
21269	req, out := c.DescribeTrafficMirrorFiltersRequest(input)
21270	req.SetContext(ctx)
21271	req.ApplyOptions(opts...)
21272	return out, req.Send()
21273}
21274
21275// DescribeTrafficMirrorFiltersPages iterates over the pages of a DescribeTrafficMirrorFilters operation,
21276// calling the "fn" function with the response data for each page. To stop
21277// iterating, return false from the fn function.
21278//
21279// See DescribeTrafficMirrorFilters method for more information on how to use this operation.
21280//
21281// Note: This operation can generate multiple requests to a service.
21282//
21283//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorFilters operation.
21284//    pageNum := 0
21285//    err := client.DescribeTrafficMirrorFiltersPages(params,
21286//        func(page *ec2.DescribeTrafficMirrorFiltersOutput, lastPage bool) bool {
21287//            pageNum++
21288//            fmt.Println(page)
21289//            return pageNum <= 3
21290//        })
21291//
21292func (c *EC2) DescribeTrafficMirrorFiltersPages(input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool) error {
21293	return c.DescribeTrafficMirrorFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
21294}
21295
21296// DescribeTrafficMirrorFiltersPagesWithContext same as DescribeTrafficMirrorFiltersPages except
21297// it takes a Context and allows setting request options on the pages.
21298//
21299// The context must be non-nil and will be used for request cancellation. If
21300// the context is nil a panic will occur. In the future the SDK may create
21301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21302// for more information on using Contexts.
21303func (c *EC2) DescribeTrafficMirrorFiltersPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorFiltersInput, fn func(*DescribeTrafficMirrorFiltersOutput, bool) bool, opts ...request.Option) error {
21304	p := request.Pagination{
21305		NewRequest: func() (*request.Request, error) {
21306			var inCpy *DescribeTrafficMirrorFiltersInput
21307			if input != nil {
21308				tmp := *input
21309				inCpy = &tmp
21310			}
21311			req, _ := c.DescribeTrafficMirrorFiltersRequest(inCpy)
21312			req.SetContext(ctx)
21313			req.ApplyOptions(opts...)
21314			return req, nil
21315		},
21316	}
21317
21318	for p.Next() {
21319		if !fn(p.Page().(*DescribeTrafficMirrorFiltersOutput), !p.HasNextPage()) {
21320			break
21321		}
21322	}
21323
21324	return p.Err()
21325}
21326
21327const opDescribeTrafficMirrorSessions = "DescribeTrafficMirrorSessions"
21328
21329// DescribeTrafficMirrorSessionsRequest generates a "aws/request.Request" representing the
21330// client's request for the DescribeTrafficMirrorSessions operation. The "output" return
21331// value will be populated with the request's response once the request completes
21332// successfully.
21333//
21334// Use "Send" method on the returned Request to send the API call to the service.
21335// the "output" return value is not valid until after Send returns without error.
21336//
21337// See DescribeTrafficMirrorSessions for more information on using the DescribeTrafficMirrorSessions
21338// API call, and error handling.
21339//
21340// This method is useful when you want to inject custom logic or configuration
21341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21342//
21343//
21344//    // Example sending a request using the DescribeTrafficMirrorSessionsRequest method.
21345//    req, resp := client.DescribeTrafficMirrorSessionsRequest(params)
21346//
21347//    err := req.Send()
21348//    if err == nil { // resp is now filled
21349//        fmt.Println(resp)
21350//    }
21351//
21352// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
21353func (c *EC2) DescribeTrafficMirrorSessionsRequest(input *DescribeTrafficMirrorSessionsInput) (req *request.Request, output *DescribeTrafficMirrorSessionsOutput) {
21354	op := &request.Operation{
21355		Name:       opDescribeTrafficMirrorSessions,
21356		HTTPMethod: "POST",
21357		HTTPPath:   "/",
21358		Paginator: &request.Paginator{
21359			InputTokens:     []string{"NextToken"},
21360			OutputTokens:    []string{"NextToken"},
21361			LimitToken:      "MaxResults",
21362			TruncationToken: "",
21363		},
21364	}
21365
21366	if input == nil {
21367		input = &DescribeTrafficMirrorSessionsInput{}
21368	}
21369
21370	output = &DescribeTrafficMirrorSessionsOutput{}
21371	req = c.newRequest(op, input, output)
21372	return
21373}
21374
21375// DescribeTrafficMirrorSessions API operation for Amazon Elastic Compute Cloud.
21376//
21377// Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
21378// sessions are described. Alternatively, you can filter the results.
21379//
21380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21381// with awserr.Error's Code and Message methods to get detailed information about
21382// the error.
21383//
21384// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21385// API operation DescribeTrafficMirrorSessions for usage and error information.
21386// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorSessions
21387func (c *EC2) DescribeTrafficMirrorSessions(input *DescribeTrafficMirrorSessionsInput) (*DescribeTrafficMirrorSessionsOutput, error) {
21388	req, out := c.DescribeTrafficMirrorSessionsRequest(input)
21389	return out, req.Send()
21390}
21391
21392// DescribeTrafficMirrorSessionsWithContext is the same as DescribeTrafficMirrorSessions with the addition of
21393// the ability to pass a context and additional request options.
21394//
21395// See DescribeTrafficMirrorSessions for details on how to use this API operation.
21396//
21397// The context must be non-nil and will be used for request cancellation. If
21398// the context is nil a panic will occur. In the future the SDK may create
21399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21400// for more information on using Contexts.
21401func (c *EC2) DescribeTrafficMirrorSessionsWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, opts ...request.Option) (*DescribeTrafficMirrorSessionsOutput, error) {
21402	req, out := c.DescribeTrafficMirrorSessionsRequest(input)
21403	req.SetContext(ctx)
21404	req.ApplyOptions(opts...)
21405	return out, req.Send()
21406}
21407
21408// DescribeTrafficMirrorSessionsPages iterates over the pages of a DescribeTrafficMirrorSessions operation,
21409// calling the "fn" function with the response data for each page. To stop
21410// iterating, return false from the fn function.
21411//
21412// See DescribeTrafficMirrorSessions method for more information on how to use this operation.
21413//
21414// Note: This operation can generate multiple requests to a service.
21415//
21416//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorSessions operation.
21417//    pageNum := 0
21418//    err := client.DescribeTrafficMirrorSessionsPages(params,
21419//        func(page *ec2.DescribeTrafficMirrorSessionsOutput, lastPage bool) bool {
21420//            pageNum++
21421//            fmt.Println(page)
21422//            return pageNum <= 3
21423//        })
21424//
21425func (c *EC2) DescribeTrafficMirrorSessionsPages(input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool) error {
21426	return c.DescribeTrafficMirrorSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
21427}
21428
21429// DescribeTrafficMirrorSessionsPagesWithContext same as DescribeTrafficMirrorSessionsPages except
21430// it takes a Context and allows setting request options on the pages.
21431//
21432// The context must be non-nil and will be used for request cancellation. If
21433// the context is nil a panic will occur. In the future the SDK may create
21434// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21435// for more information on using Contexts.
21436func (c *EC2) DescribeTrafficMirrorSessionsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorSessionsInput, fn func(*DescribeTrafficMirrorSessionsOutput, bool) bool, opts ...request.Option) error {
21437	p := request.Pagination{
21438		NewRequest: func() (*request.Request, error) {
21439			var inCpy *DescribeTrafficMirrorSessionsInput
21440			if input != nil {
21441				tmp := *input
21442				inCpy = &tmp
21443			}
21444			req, _ := c.DescribeTrafficMirrorSessionsRequest(inCpy)
21445			req.SetContext(ctx)
21446			req.ApplyOptions(opts...)
21447			return req, nil
21448		},
21449	}
21450
21451	for p.Next() {
21452		if !fn(p.Page().(*DescribeTrafficMirrorSessionsOutput), !p.HasNextPage()) {
21453			break
21454		}
21455	}
21456
21457	return p.Err()
21458}
21459
21460const opDescribeTrafficMirrorTargets = "DescribeTrafficMirrorTargets"
21461
21462// DescribeTrafficMirrorTargetsRequest generates a "aws/request.Request" representing the
21463// client's request for the DescribeTrafficMirrorTargets operation. The "output" return
21464// value will be populated with the request's response once the request completes
21465// successfully.
21466//
21467// Use "Send" method on the returned Request to send the API call to the service.
21468// the "output" return value is not valid until after Send returns without error.
21469//
21470// See DescribeTrafficMirrorTargets for more information on using the DescribeTrafficMirrorTargets
21471// API call, and error handling.
21472//
21473// This method is useful when you want to inject custom logic or configuration
21474// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21475//
21476//
21477//    // Example sending a request using the DescribeTrafficMirrorTargetsRequest method.
21478//    req, resp := client.DescribeTrafficMirrorTargetsRequest(params)
21479//
21480//    err := req.Send()
21481//    if err == nil { // resp is now filled
21482//        fmt.Println(resp)
21483//    }
21484//
21485// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
21486func (c *EC2) DescribeTrafficMirrorTargetsRequest(input *DescribeTrafficMirrorTargetsInput) (req *request.Request, output *DescribeTrafficMirrorTargetsOutput) {
21487	op := &request.Operation{
21488		Name:       opDescribeTrafficMirrorTargets,
21489		HTTPMethod: "POST",
21490		HTTPPath:   "/",
21491		Paginator: &request.Paginator{
21492			InputTokens:     []string{"NextToken"},
21493			OutputTokens:    []string{"NextToken"},
21494			LimitToken:      "MaxResults",
21495			TruncationToken: "",
21496		},
21497	}
21498
21499	if input == nil {
21500		input = &DescribeTrafficMirrorTargetsInput{}
21501	}
21502
21503	output = &DescribeTrafficMirrorTargetsOutput{}
21504	req = c.newRequest(op, input, output)
21505	return
21506}
21507
21508// DescribeTrafficMirrorTargets API operation for Amazon Elastic Compute Cloud.
21509//
21510// Information about one or more Traffic Mirror targets.
21511//
21512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21513// with awserr.Error's Code and Message methods to get detailed information about
21514// the error.
21515//
21516// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21517// API operation DescribeTrafficMirrorTargets for usage and error information.
21518// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTrafficMirrorTargets
21519func (c *EC2) DescribeTrafficMirrorTargets(input *DescribeTrafficMirrorTargetsInput) (*DescribeTrafficMirrorTargetsOutput, error) {
21520	req, out := c.DescribeTrafficMirrorTargetsRequest(input)
21521	return out, req.Send()
21522}
21523
21524// DescribeTrafficMirrorTargetsWithContext is the same as DescribeTrafficMirrorTargets with the addition of
21525// the ability to pass a context and additional request options.
21526//
21527// See DescribeTrafficMirrorTargets for details on how to use this API operation.
21528//
21529// The context must be non-nil and will be used for request cancellation. If
21530// the context is nil a panic will occur. In the future the SDK may create
21531// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21532// for more information on using Contexts.
21533func (c *EC2) DescribeTrafficMirrorTargetsWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, opts ...request.Option) (*DescribeTrafficMirrorTargetsOutput, error) {
21534	req, out := c.DescribeTrafficMirrorTargetsRequest(input)
21535	req.SetContext(ctx)
21536	req.ApplyOptions(opts...)
21537	return out, req.Send()
21538}
21539
21540// DescribeTrafficMirrorTargetsPages iterates over the pages of a DescribeTrafficMirrorTargets operation,
21541// calling the "fn" function with the response data for each page. To stop
21542// iterating, return false from the fn function.
21543//
21544// See DescribeTrafficMirrorTargets method for more information on how to use this operation.
21545//
21546// Note: This operation can generate multiple requests to a service.
21547//
21548//    // Example iterating over at most 3 pages of a DescribeTrafficMirrorTargets operation.
21549//    pageNum := 0
21550//    err := client.DescribeTrafficMirrorTargetsPages(params,
21551//        func(page *ec2.DescribeTrafficMirrorTargetsOutput, lastPage bool) bool {
21552//            pageNum++
21553//            fmt.Println(page)
21554//            return pageNum <= 3
21555//        })
21556//
21557func (c *EC2) DescribeTrafficMirrorTargetsPages(input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool) error {
21558	return c.DescribeTrafficMirrorTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
21559}
21560
21561// DescribeTrafficMirrorTargetsPagesWithContext same as DescribeTrafficMirrorTargetsPages except
21562// it takes a Context and allows setting request options on the pages.
21563//
21564// The context must be non-nil and will be used for request cancellation. If
21565// the context is nil a panic will occur. In the future the SDK may create
21566// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21567// for more information on using Contexts.
21568func (c *EC2) DescribeTrafficMirrorTargetsPagesWithContext(ctx aws.Context, input *DescribeTrafficMirrorTargetsInput, fn func(*DescribeTrafficMirrorTargetsOutput, bool) bool, opts ...request.Option) error {
21569	p := request.Pagination{
21570		NewRequest: func() (*request.Request, error) {
21571			var inCpy *DescribeTrafficMirrorTargetsInput
21572			if input != nil {
21573				tmp := *input
21574				inCpy = &tmp
21575			}
21576			req, _ := c.DescribeTrafficMirrorTargetsRequest(inCpy)
21577			req.SetContext(ctx)
21578			req.ApplyOptions(opts...)
21579			return req, nil
21580		},
21581	}
21582
21583	for p.Next() {
21584		if !fn(p.Page().(*DescribeTrafficMirrorTargetsOutput), !p.HasNextPage()) {
21585			break
21586		}
21587	}
21588
21589	return p.Err()
21590}
21591
21592const opDescribeTransitGatewayAttachments = "DescribeTransitGatewayAttachments"
21593
21594// DescribeTransitGatewayAttachmentsRequest generates a "aws/request.Request" representing the
21595// client's request for the DescribeTransitGatewayAttachments operation. The "output" return
21596// value will be populated with the request's response once the request completes
21597// successfully.
21598//
21599// Use "Send" method on the returned Request to send the API call to the service.
21600// the "output" return value is not valid until after Send returns without error.
21601//
21602// See DescribeTransitGatewayAttachments for more information on using the DescribeTransitGatewayAttachments
21603// API call, and error handling.
21604//
21605// This method is useful when you want to inject custom logic or configuration
21606// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21607//
21608//
21609//    // Example sending a request using the DescribeTransitGatewayAttachmentsRequest method.
21610//    req, resp := client.DescribeTransitGatewayAttachmentsRequest(params)
21611//
21612//    err := req.Send()
21613//    if err == nil { // resp is now filled
21614//        fmt.Println(resp)
21615//    }
21616//
21617// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
21618func (c *EC2) DescribeTransitGatewayAttachmentsRequest(input *DescribeTransitGatewayAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayAttachmentsOutput) {
21619	op := &request.Operation{
21620		Name:       opDescribeTransitGatewayAttachments,
21621		HTTPMethod: "POST",
21622		HTTPPath:   "/",
21623		Paginator: &request.Paginator{
21624			InputTokens:     []string{"NextToken"},
21625			OutputTokens:    []string{"NextToken"},
21626			LimitToken:      "MaxResults",
21627			TruncationToken: "",
21628		},
21629	}
21630
21631	if input == nil {
21632		input = &DescribeTransitGatewayAttachmentsInput{}
21633	}
21634
21635	output = &DescribeTransitGatewayAttachmentsOutput{}
21636	req = c.newRequest(op, input, output)
21637	return
21638}
21639
21640// DescribeTransitGatewayAttachments API operation for Amazon Elastic Compute Cloud.
21641//
21642// Describes one or more attachments between resources and transit gateways.
21643// By default, all attachments are described. Alternatively, you can filter
21644// the results by attachment ID, attachment state, resource ID, or resource
21645// owner.
21646//
21647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21648// with awserr.Error's Code and Message methods to get detailed information about
21649// the error.
21650//
21651// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21652// API operation DescribeTransitGatewayAttachments for usage and error information.
21653// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayAttachments
21654func (c *EC2) DescribeTransitGatewayAttachments(input *DescribeTransitGatewayAttachmentsInput) (*DescribeTransitGatewayAttachmentsOutput, error) {
21655	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
21656	return out, req.Send()
21657}
21658
21659// DescribeTransitGatewayAttachmentsWithContext is the same as DescribeTransitGatewayAttachments with the addition of
21660// the ability to pass a context and additional request options.
21661//
21662// See DescribeTransitGatewayAttachments for details on how to use this API operation.
21663//
21664// The context must be non-nil and will be used for request cancellation. If
21665// the context is nil a panic will occur. In the future the SDK may create
21666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21667// for more information on using Contexts.
21668func (c *EC2) DescribeTransitGatewayAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayAttachmentsOutput, error) {
21669	req, out := c.DescribeTransitGatewayAttachmentsRequest(input)
21670	req.SetContext(ctx)
21671	req.ApplyOptions(opts...)
21672	return out, req.Send()
21673}
21674
21675// DescribeTransitGatewayAttachmentsPages iterates over the pages of a DescribeTransitGatewayAttachments operation,
21676// calling the "fn" function with the response data for each page. To stop
21677// iterating, return false from the fn function.
21678//
21679// See DescribeTransitGatewayAttachments method for more information on how to use this operation.
21680//
21681// Note: This operation can generate multiple requests to a service.
21682//
21683//    // Example iterating over at most 3 pages of a DescribeTransitGatewayAttachments operation.
21684//    pageNum := 0
21685//    err := client.DescribeTransitGatewayAttachmentsPages(params,
21686//        func(page *ec2.DescribeTransitGatewayAttachmentsOutput, lastPage bool) bool {
21687//            pageNum++
21688//            fmt.Println(page)
21689//            return pageNum <= 3
21690//        })
21691//
21692func (c *EC2) DescribeTransitGatewayAttachmentsPages(input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool) error {
21693	return c.DescribeTransitGatewayAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
21694}
21695
21696// DescribeTransitGatewayAttachmentsPagesWithContext same as DescribeTransitGatewayAttachmentsPages except
21697// it takes a Context and allows setting request options on the pages.
21698//
21699// The context must be non-nil and will be used for request cancellation. If
21700// the context is nil a panic will occur. In the future the SDK may create
21701// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21702// for more information on using Contexts.
21703func (c *EC2) DescribeTransitGatewayAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayAttachmentsInput, fn func(*DescribeTransitGatewayAttachmentsOutput, bool) bool, opts ...request.Option) error {
21704	p := request.Pagination{
21705		NewRequest: func() (*request.Request, error) {
21706			var inCpy *DescribeTransitGatewayAttachmentsInput
21707			if input != nil {
21708				tmp := *input
21709				inCpy = &tmp
21710			}
21711			req, _ := c.DescribeTransitGatewayAttachmentsRequest(inCpy)
21712			req.SetContext(ctx)
21713			req.ApplyOptions(opts...)
21714			return req, nil
21715		},
21716	}
21717
21718	for p.Next() {
21719		if !fn(p.Page().(*DescribeTransitGatewayAttachmentsOutput), !p.HasNextPage()) {
21720			break
21721		}
21722	}
21723
21724	return p.Err()
21725}
21726
21727const opDescribeTransitGatewayMulticastDomains = "DescribeTransitGatewayMulticastDomains"
21728
21729// DescribeTransitGatewayMulticastDomainsRequest generates a "aws/request.Request" representing the
21730// client's request for the DescribeTransitGatewayMulticastDomains operation. The "output" return
21731// value will be populated with the request's response once the request completes
21732// successfully.
21733//
21734// Use "Send" method on the returned Request to send the API call to the service.
21735// the "output" return value is not valid until after Send returns without error.
21736//
21737// See DescribeTransitGatewayMulticastDomains for more information on using the DescribeTransitGatewayMulticastDomains
21738// API call, and error handling.
21739//
21740// This method is useful when you want to inject custom logic or configuration
21741// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21742//
21743//
21744//    // Example sending a request using the DescribeTransitGatewayMulticastDomainsRequest method.
21745//    req, resp := client.DescribeTransitGatewayMulticastDomainsRequest(params)
21746//
21747//    err := req.Send()
21748//    if err == nil { // resp is now filled
21749//        fmt.Println(resp)
21750//    }
21751//
21752// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
21753func (c *EC2) DescribeTransitGatewayMulticastDomainsRequest(input *DescribeTransitGatewayMulticastDomainsInput) (req *request.Request, output *DescribeTransitGatewayMulticastDomainsOutput) {
21754	op := &request.Operation{
21755		Name:       opDescribeTransitGatewayMulticastDomains,
21756		HTTPMethod: "POST",
21757		HTTPPath:   "/",
21758	}
21759
21760	if input == nil {
21761		input = &DescribeTransitGatewayMulticastDomainsInput{}
21762	}
21763
21764	output = &DescribeTransitGatewayMulticastDomainsOutput{}
21765	req = c.newRequest(op, input, output)
21766	return
21767}
21768
21769// DescribeTransitGatewayMulticastDomains API operation for Amazon Elastic Compute Cloud.
21770//
21771// Describes one or more transit gateway multicast domains.
21772//
21773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21774// with awserr.Error's Code and Message methods to get detailed information about
21775// the error.
21776//
21777// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21778// API operation DescribeTransitGatewayMulticastDomains for usage and error information.
21779// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayMulticastDomains
21780func (c *EC2) DescribeTransitGatewayMulticastDomains(input *DescribeTransitGatewayMulticastDomainsInput) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
21781	req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
21782	return out, req.Send()
21783}
21784
21785// DescribeTransitGatewayMulticastDomainsWithContext is the same as DescribeTransitGatewayMulticastDomains with the addition of
21786// the ability to pass a context and additional request options.
21787//
21788// See DescribeTransitGatewayMulticastDomains for details on how to use this API operation.
21789//
21790// The context must be non-nil and will be used for request cancellation. If
21791// the context is nil a panic will occur. In the future the SDK may create
21792// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21793// for more information on using Contexts.
21794func (c *EC2) DescribeTransitGatewayMulticastDomainsWithContext(ctx aws.Context, input *DescribeTransitGatewayMulticastDomainsInput, opts ...request.Option) (*DescribeTransitGatewayMulticastDomainsOutput, error) {
21795	req, out := c.DescribeTransitGatewayMulticastDomainsRequest(input)
21796	req.SetContext(ctx)
21797	req.ApplyOptions(opts...)
21798	return out, req.Send()
21799}
21800
21801const opDescribeTransitGatewayPeeringAttachments = "DescribeTransitGatewayPeeringAttachments"
21802
21803// DescribeTransitGatewayPeeringAttachmentsRequest generates a "aws/request.Request" representing the
21804// client's request for the DescribeTransitGatewayPeeringAttachments operation. The "output" return
21805// value will be populated with the request's response once the request completes
21806// successfully.
21807//
21808// Use "Send" method on the returned Request to send the API call to the service.
21809// the "output" return value is not valid until after Send returns without error.
21810//
21811// See DescribeTransitGatewayPeeringAttachments for more information on using the DescribeTransitGatewayPeeringAttachments
21812// API call, and error handling.
21813//
21814// This method is useful when you want to inject custom logic or configuration
21815// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21816//
21817//
21818//    // Example sending a request using the DescribeTransitGatewayPeeringAttachmentsRequest method.
21819//    req, resp := client.DescribeTransitGatewayPeeringAttachmentsRequest(params)
21820//
21821//    err := req.Send()
21822//    if err == nil { // resp is now filled
21823//        fmt.Println(resp)
21824//    }
21825//
21826// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
21827func (c *EC2) DescribeTransitGatewayPeeringAttachmentsRequest(input *DescribeTransitGatewayPeeringAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayPeeringAttachmentsOutput) {
21828	op := &request.Operation{
21829		Name:       opDescribeTransitGatewayPeeringAttachments,
21830		HTTPMethod: "POST",
21831		HTTPPath:   "/",
21832	}
21833
21834	if input == nil {
21835		input = &DescribeTransitGatewayPeeringAttachmentsInput{}
21836	}
21837
21838	output = &DescribeTransitGatewayPeeringAttachmentsOutput{}
21839	req = c.newRequest(op, input, output)
21840	return
21841}
21842
21843// DescribeTransitGatewayPeeringAttachments API operation for Amazon Elastic Compute Cloud.
21844//
21845// Describes your transit gateway peering attachments.
21846//
21847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21848// with awserr.Error's Code and Message methods to get detailed information about
21849// the error.
21850//
21851// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21852// API operation DescribeTransitGatewayPeeringAttachments for usage and error information.
21853// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayPeeringAttachments
21854func (c *EC2) DescribeTransitGatewayPeeringAttachments(input *DescribeTransitGatewayPeeringAttachmentsInput) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
21855	req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
21856	return out, req.Send()
21857}
21858
21859// DescribeTransitGatewayPeeringAttachmentsWithContext is the same as DescribeTransitGatewayPeeringAttachments with the addition of
21860// the ability to pass a context and additional request options.
21861//
21862// See DescribeTransitGatewayPeeringAttachments for details on how to use this API operation.
21863//
21864// The context must be non-nil and will be used for request cancellation. If
21865// the context is nil a panic will occur. In the future the SDK may create
21866// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21867// for more information on using Contexts.
21868func (c *EC2) DescribeTransitGatewayPeeringAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayPeeringAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayPeeringAttachmentsOutput, error) {
21869	req, out := c.DescribeTransitGatewayPeeringAttachmentsRequest(input)
21870	req.SetContext(ctx)
21871	req.ApplyOptions(opts...)
21872	return out, req.Send()
21873}
21874
21875const opDescribeTransitGatewayRouteTables = "DescribeTransitGatewayRouteTables"
21876
21877// DescribeTransitGatewayRouteTablesRequest generates a "aws/request.Request" representing the
21878// client's request for the DescribeTransitGatewayRouteTables operation. The "output" return
21879// value will be populated with the request's response once the request completes
21880// successfully.
21881//
21882// Use "Send" method on the returned Request to send the API call to the service.
21883// the "output" return value is not valid until after Send returns without error.
21884//
21885// See DescribeTransitGatewayRouteTables for more information on using the DescribeTransitGatewayRouteTables
21886// API call, and error handling.
21887//
21888// This method is useful when you want to inject custom logic or configuration
21889// into the SDK's request lifecycle. Such as custom headers, or retry logic.
21890//
21891//
21892//    // Example sending a request using the DescribeTransitGatewayRouteTablesRequest method.
21893//    req, resp := client.DescribeTransitGatewayRouteTablesRequest(params)
21894//
21895//    err := req.Send()
21896//    if err == nil { // resp is now filled
21897//        fmt.Println(resp)
21898//    }
21899//
21900// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
21901func (c *EC2) DescribeTransitGatewayRouteTablesRequest(input *DescribeTransitGatewayRouteTablesInput) (req *request.Request, output *DescribeTransitGatewayRouteTablesOutput) {
21902	op := &request.Operation{
21903		Name:       opDescribeTransitGatewayRouteTables,
21904		HTTPMethod: "POST",
21905		HTTPPath:   "/",
21906		Paginator: &request.Paginator{
21907			InputTokens:     []string{"NextToken"},
21908			OutputTokens:    []string{"NextToken"},
21909			LimitToken:      "MaxResults",
21910			TruncationToken: "",
21911		},
21912	}
21913
21914	if input == nil {
21915		input = &DescribeTransitGatewayRouteTablesInput{}
21916	}
21917
21918	output = &DescribeTransitGatewayRouteTablesOutput{}
21919	req = c.newRequest(op, input, output)
21920	return
21921}
21922
21923// DescribeTransitGatewayRouteTables API operation for Amazon Elastic Compute Cloud.
21924//
21925// Describes one or more transit gateway route tables. By default, all transit
21926// gateway route tables are described. Alternatively, you can filter the results.
21927//
21928// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
21929// with awserr.Error's Code and Message methods to get detailed information about
21930// the error.
21931//
21932// See the AWS API reference guide for Amazon Elastic Compute Cloud's
21933// API operation DescribeTransitGatewayRouteTables for usage and error information.
21934// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayRouteTables
21935func (c *EC2) DescribeTransitGatewayRouteTables(input *DescribeTransitGatewayRouteTablesInput) (*DescribeTransitGatewayRouteTablesOutput, error) {
21936	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
21937	return out, req.Send()
21938}
21939
21940// DescribeTransitGatewayRouteTablesWithContext is the same as DescribeTransitGatewayRouteTables with the addition of
21941// the ability to pass a context and additional request options.
21942//
21943// See DescribeTransitGatewayRouteTables for details on how to use this API operation.
21944//
21945// The context must be non-nil and will be used for request cancellation. If
21946// the context is nil a panic will occur. In the future the SDK may create
21947// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21948// for more information on using Contexts.
21949func (c *EC2) DescribeTransitGatewayRouteTablesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, opts ...request.Option) (*DescribeTransitGatewayRouteTablesOutput, error) {
21950	req, out := c.DescribeTransitGatewayRouteTablesRequest(input)
21951	req.SetContext(ctx)
21952	req.ApplyOptions(opts...)
21953	return out, req.Send()
21954}
21955
21956// DescribeTransitGatewayRouteTablesPages iterates over the pages of a DescribeTransitGatewayRouteTables operation,
21957// calling the "fn" function with the response data for each page. To stop
21958// iterating, return false from the fn function.
21959//
21960// See DescribeTransitGatewayRouteTables method for more information on how to use this operation.
21961//
21962// Note: This operation can generate multiple requests to a service.
21963//
21964//    // Example iterating over at most 3 pages of a DescribeTransitGatewayRouteTables operation.
21965//    pageNum := 0
21966//    err := client.DescribeTransitGatewayRouteTablesPages(params,
21967//        func(page *ec2.DescribeTransitGatewayRouteTablesOutput, lastPage bool) bool {
21968//            pageNum++
21969//            fmt.Println(page)
21970//            return pageNum <= 3
21971//        })
21972//
21973func (c *EC2) DescribeTransitGatewayRouteTablesPages(input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool) error {
21974	return c.DescribeTransitGatewayRouteTablesPagesWithContext(aws.BackgroundContext(), input, fn)
21975}
21976
21977// DescribeTransitGatewayRouteTablesPagesWithContext same as DescribeTransitGatewayRouteTablesPages except
21978// it takes a Context and allows setting request options on the pages.
21979//
21980// The context must be non-nil and will be used for request cancellation. If
21981// the context is nil a panic will occur. In the future the SDK may create
21982// sub-contexts for http.Requests. See https://golang.org/pkg/context/
21983// for more information on using Contexts.
21984func (c *EC2) DescribeTransitGatewayRouteTablesPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayRouteTablesInput, fn func(*DescribeTransitGatewayRouteTablesOutput, bool) bool, opts ...request.Option) error {
21985	p := request.Pagination{
21986		NewRequest: func() (*request.Request, error) {
21987			var inCpy *DescribeTransitGatewayRouteTablesInput
21988			if input != nil {
21989				tmp := *input
21990				inCpy = &tmp
21991			}
21992			req, _ := c.DescribeTransitGatewayRouteTablesRequest(inCpy)
21993			req.SetContext(ctx)
21994			req.ApplyOptions(opts...)
21995			return req, nil
21996		},
21997	}
21998
21999	for p.Next() {
22000		if !fn(p.Page().(*DescribeTransitGatewayRouteTablesOutput), !p.HasNextPage()) {
22001			break
22002		}
22003	}
22004
22005	return p.Err()
22006}
22007
22008const opDescribeTransitGatewayVpcAttachments = "DescribeTransitGatewayVpcAttachments"
22009
22010// DescribeTransitGatewayVpcAttachmentsRequest generates a "aws/request.Request" representing the
22011// client's request for the DescribeTransitGatewayVpcAttachments operation. The "output" return
22012// value will be populated with the request's response once the request completes
22013// successfully.
22014//
22015// Use "Send" method on the returned Request to send the API call to the service.
22016// the "output" return value is not valid until after Send returns without error.
22017//
22018// See DescribeTransitGatewayVpcAttachments for more information on using the DescribeTransitGatewayVpcAttachments
22019// API call, and error handling.
22020//
22021// This method is useful when you want to inject custom logic or configuration
22022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22023//
22024//
22025//    // Example sending a request using the DescribeTransitGatewayVpcAttachmentsRequest method.
22026//    req, resp := client.DescribeTransitGatewayVpcAttachmentsRequest(params)
22027//
22028//    err := req.Send()
22029//    if err == nil { // resp is now filled
22030//        fmt.Println(resp)
22031//    }
22032//
22033// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
22034func (c *EC2) DescribeTransitGatewayVpcAttachmentsRequest(input *DescribeTransitGatewayVpcAttachmentsInput) (req *request.Request, output *DescribeTransitGatewayVpcAttachmentsOutput) {
22035	op := &request.Operation{
22036		Name:       opDescribeTransitGatewayVpcAttachments,
22037		HTTPMethod: "POST",
22038		HTTPPath:   "/",
22039		Paginator: &request.Paginator{
22040			InputTokens:     []string{"NextToken"},
22041			OutputTokens:    []string{"NextToken"},
22042			LimitToken:      "MaxResults",
22043			TruncationToken: "",
22044		},
22045	}
22046
22047	if input == nil {
22048		input = &DescribeTransitGatewayVpcAttachmentsInput{}
22049	}
22050
22051	output = &DescribeTransitGatewayVpcAttachmentsOutput{}
22052	req = c.newRequest(op, input, output)
22053	return
22054}
22055
22056// DescribeTransitGatewayVpcAttachments API operation for Amazon Elastic Compute Cloud.
22057//
22058// Describes one or more VPC attachments. By default, all VPC attachments are
22059// described. Alternatively, you can filter the results.
22060//
22061// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22062// with awserr.Error's Code and Message methods to get detailed information about
22063// the error.
22064//
22065// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22066// API operation DescribeTransitGatewayVpcAttachments for usage and error information.
22067// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGatewayVpcAttachments
22068func (c *EC2) DescribeTransitGatewayVpcAttachments(input *DescribeTransitGatewayVpcAttachmentsInput) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
22069	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
22070	return out, req.Send()
22071}
22072
22073// DescribeTransitGatewayVpcAttachmentsWithContext is the same as DescribeTransitGatewayVpcAttachments with the addition of
22074// the ability to pass a context and additional request options.
22075//
22076// See DescribeTransitGatewayVpcAttachments for details on how to use this API operation.
22077//
22078// The context must be non-nil and will be used for request cancellation. If
22079// the context is nil a panic will occur. In the future the SDK may create
22080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22081// for more information on using Contexts.
22082func (c *EC2) DescribeTransitGatewayVpcAttachmentsWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, opts ...request.Option) (*DescribeTransitGatewayVpcAttachmentsOutput, error) {
22083	req, out := c.DescribeTransitGatewayVpcAttachmentsRequest(input)
22084	req.SetContext(ctx)
22085	req.ApplyOptions(opts...)
22086	return out, req.Send()
22087}
22088
22089// DescribeTransitGatewayVpcAttachmentsPages iterates over the pages of a DescribeTransitGatewayVpcAttachments operation,
22090// calling the "fn" function with the response data for each page. To stop
22091// iterating, return false from the fn function.
22092//
22093// See DescribeTransitGatewayVpcAttachments method for more information on how to use this operation.
22094//
22095// Note: This operation can generate multiple requests to a service.
22096//
22097//    // Example iterating over at most 3 pages of a DescribeTransitGatewayVpcAttachments operation.
22098//    pageNum := 0
22099//    err := client.DescribeTransitGatewayVpcAttachmentsPages(params,
22100//        func(page *ec2.DescribeTransitGatewayVpcAttachmentsOutput, lastPage bool) bool {
22101//            pageNum++
22102//            fmt.Println(page)
22103//            return pageNum <= 3
22104//        })
22105//
22106func (c *EC2) DescribeTransitGatewayVpcAttachmentsPages(input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool) error {
22107	return c.DescribeTransitGatewayVpcAttachmentsPagesWithContext(aws.BackgroundContext(), input, fn)
22108}
22109
22110// DescribeTransitGatewayVpcAttachmentsPagesWithContext same as DescribeTransitGatewayVpcAttachmentsPages except
22111// it takes a Context and allows setting request options on the pages.
22112//
22113// The context must be non-nil and will be used for request cancellation. If
22114// the context is nil a panic will occur. In the future the SDK may create
22115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22116// for more information on using Contexts.
22117func (c *EC2) DescribeTransitGatewayVpcAttachmentsPagesWithContext(ctx aws.Context, input *DescribeTransitGatewayVpcAttachmentsInput, fn func(*DescribeTransitGatewayVpcAttachmentsOutput, bool) bool, opts ...request.Option) error {
22118	p := request.Pagination{
22119		NewRequest: func() (*request.Request, error) {
22120			var inCpy *DescribeTransitGatewayVpcAttachmentsInput
22121			if input != nil {
22122				tmp := *input
22123				inCpy = &tmp
22124			}
22125			req, _ := c.DescribeTransitGatewayVpcAttachmentsRequest(inCpy)
22126			req.SetContext(ctx)
22127			req.ApplyOptions(opts...)
22128			return req, nil
22129		},
22130	}
22131
22132	for p.Next() {
22133		if !fn(p.Page().(*DescribeTransitGatewayVpcAttachmentsOutput), !p.HasNextPage()) {
22134			break
22135		}
22136	}
22137
22138	return p.Err()
22139}
22140
22141const opDescribeTransitGateways = "DescribeTransitGateways"
22142
22143// DescribeTransitGatewaysRequest generates a "aws/request.Request" representing the
22144// client's request for the DescribeTransitGateways operation. The "output" return
22145// value will be populated with the request's response once the request completes
22146// successfully.
22147//
22148// Use "Send" method on the returned Request to send the API call to the service.
22149// the "output" return value is not valid until after Send returns without error.
22150//
22151// See DescribeTransitGateways for more information on using the DescribeTransitGateways
22152// API call, and error handling.
22153//
22154// This method is useful when you want to inject custom logic or configuration
22155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22156//
22157//
22158//    // Example sending a request using the DescribeTransitGatewaysRequest method.
22159//    req, resp := client.DescribeTransitGatewaysRequest(params)
22160//
22161//    err := req.Send()
22162//    if err == nil { // resp is now filled
22163//        fmt.Println(resp)
22164//    }
22165//
22166// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
22167func (c *EC2) DescribeTransitGatewaysRequest(input *DescribeTransitGatewaysInput) (req *request.Request, output *DescribeTransitGatewaysOutput) {
22168	op := &request.Operation{
22169		Name:       opDescribeTransitGateways,
22170		HTTPMethod: "POST",
22171		HTTPPath:   "/",
22172		Paginator: &request.Paginator{
22173			InputTokens:     []string{"NextToken"},
22174			OutputTokens:    []string{"NextToken"},
22175			LimitToken:      "MaxResults",
22176			TruncationToken: "",
22177		},
22178	}
22179
22180	if input == nil {
22181		input = &DescribeTransitGatewaysInput{}
22182	}
22183
22184	output = &DescribeTransitGatewaysOutput{}
22185	req = c.newRequest(op, input, output)
22186	return
22187}
22188
22189// DescribeTransitGateways API operation for Amazon Elastic Compute Cloud.
22190//
22191// Describes one or more transit gateways. By default, all transit gateways
22192// are described. Alternatively, you can filter the results.
22193//
22194// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22195// with awserr.Error's Code and Message methods to get detailed information about
22196// the error.
22197//
22198// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22199// API operation DescribeTransitGateways for usage and error information.
22200// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeTransitGateways
22201func (c *EC2) DescribeTransitGateways(input *DescribeTransitGatewaysInput) (*DescribeTransitGatewaysOutput, error) {
22202	req, out := c.DescribeTransitGatewaysRequest(input)
22203	return out, req.Send()
22204}
22205
22206// DescribeTransitGatewaysWithContext is the same as DescribeTransitGateways with the addition of
22207// the ability to pass a context and additional request options.
22208//
22209// See DescribeTransitGateways for details on how to use this API operation.
22210//
22211// The context must be non-nil and will be used for request cancellation. If
22212// the context is nil a panic will occur. In the future the SDK may create
22213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22214// for more information on using Contexts.
22215func (c *EC2) DescribeTransitGatewaysWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, opts ...request.Option) (*DescribeTransitGatewaysOutput, error) {
22216	req, out := c.DescribeTransitGatewaysRequest(input)
22217	req.SetContext(ctx)
22218	req.ApplyOptions(opts...)
22219	return out, req.Send()
22220}
22221
22222// DescribeTransitGatewaysPages iterates over the pages of a DescribeTransitGateways operation,
22223// calling the "fn" function with the response data for each page. To stop
22224// iterating, return false from the fn function.
22225//
22226// See DescribeTransitGateways method for more information on how to use this operation.
22227//
22228// Note: This operation can generate multiple requests to a service.
22229//
22230//    // Example iterating over at most 3 pages of a DescribeTransitGateways operation.
22231//    pageNum := 0
22232//    err := client.DescribeTransitGatewaysPages(params,
22233//        func(page *ec2.DescribeTransitGatewaysOutput, lastPage bool) bool {
22234//            pageNum++
22235//            fmt.Println(page)
22236//            return pageNum <= 3
22237//        })
22238//
22239func (c *EC2) DescribeTransitGatewaysPages(input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool) error {
22240	return c.DescribeTransitGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
22241}
22242
22243// DescribeTransitGatewaysPagesWithContext same as DescribeTransitGatewaysPages except
22244// it takes a Context and allows setting request options on the pages.
22245//
22246// The context must be non-nil and will be used for request cancellation. If
22247// the context is nil a panic will occur. In the future the SDK may create
22248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22249// for more information on using Contexts.
22250func (c *EC2) DescribeTransitGatewaysPagesWithContext(ctx aws.Context, input *DescribeTransitGatewaysInput, fn func(*DescribeTransitGatewaysOutput, bool) bool, opts ...request.Option) error {
22251	p := request.Pagination{
22252		NewRequest: func() (*request.Request, error) {
22253			var inCpy *DescribeTransitGatewaysInput
22254			if input != nil {
22255				tmp := *input
22256				inCpy = &tmp
22257			}
22258			req, _ := c.DescribeTransitGatewaysRequest(inCpy)
22259			req.SetContext(ctx)
22260			req.ApplyOptions(opts...)
22261			return req, nil
22262		},
22263	}
22264
22265	for p.Next() {
22266		if !fn(p.Page().(*DescribeTransitGatewaysOutput), !p.HasNextPage()) {
22267			break
22268		}
22269	}
22270
22271	return p.Err()
22272}
22273
22274const opDescribeVolumeAttribute = "DescribeVolumeAttribute"
22275
22276// DescribeVolumeAttributeRequest generates a "aws/request.Request" representing the
22277// client's request for the DescribeVolumeAttribute operation. The "output" return
22278// value will be populated with the request's response once the request completes
22279// successfully.
22280//
22281// Use "Send" method on the returned Request to send the API call to the service.
22282// the "output" return value is not valid until after Send returns without error.
22283//
22284// See DescribeVolumeAttribute for more information on using the DescribeVolumeAttribute
22285// API call, and error handling.
22286//
22287// This method is useful when you want to inject custom logic or configuration
22288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22289//
22290//
22291//    // Example sending a request using the DescribeVolumeAttributeRequest method.
22292//    req, resp := client.DescribeVolumeAttributeRequest(params)
22293//
22294//    err := req.Send()
22295//    if err == nil { // resp is now filled
22296//        fmt.Println(resp)
22297//    }
22298//
22299// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
22300func (c *EC2) DescribeVolumeAttributeRequest(input *DescribeVolumeAttributeInput) (req *request.Request, output *DescribeVolumeAttributeOutput) {
22301	op := &request.Operation{
22302		Name:       opDescribeVolumeAttribute,
22303		HTTPMethod: "POST",
22304		HTTPPath:   "/",
22305	}
22306
22307	if input == nil {
22308		input = &DescribeVolumeAttributeInput{}
22309	}
22310
22311	output = &DescribeVolumeAttributeOutput{}
22312	req = c.newRequest(op, input, output)
22313	return
22314}
22315
22316// DescribeVolumeAttribute API operation for Amazon Elastic Compute Cloud.
22317//
22318// Describes the specified attribute of the specified volume. You can specify
22319// only one attribute at a time.
22320//
22321// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
22322// in the Amazon Elastic Compute Cloud User Guide.
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 DescribeVolumeAttribute for usage and error information.
22330// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeAttribute
22331func (c *EC2) DescribeVolumeAttribute(input *DescribeVolumeAttributeInput) (*DescribeVolumeAttributeOutput, error) {
22332	req, out := c.DescribeVolumeAttributeRequest(input)
22333	return out, req.Send()
22334}
22335
22336// DescribeVolumeAttributeWithContext is the same as DescribeVolumeAttribute with the addition of
22337// the ability to pass a context and additional request options.
22338//
22339// See DescribeVolumeAttribute 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) DescribeVolumeAttributeWithContext(ctx aws.Context, input *DescribeVolumeAttributeInput, opts ...request.Option) (*DescribeVolumeAttributeOutput, error) {
22346	req, out := c.DescribeVolumeAttributeRequest(input)
22347	req.SetContext(ctx)
22348	req.ApplyOptions(opts...)
22349	return out, req.Send()
22350}
22351
22352const opDescribeVolumeStatus = "DescribeVolumeStatus"
22353
22354// DescribeVolumeStatusRequest generates a "aws/request.Request" representing the
22355// client's request for the DescribeVolumeStatus operation. The "output" return
22356// value will be populated with the request's response once the request completes
22357// successfully.
22358//
22359// Use "Send" method on the returned Request to send the API call to the service.
22360// the "output" return value is not valid until after Send returns without error.
22361//
22362// See DescribeVolumeStatus for more information on using the DescribeVolumeStatus
22363// API call, and error handling.
22364//
22365// This method is useful when you want to inject custom logic or configuration
22366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22367//
22368//
22369//    // Example sending a request using the DescribeVolumeStatusRequest method.
22370//    req, resp := client.DescribeVolumeStatusRequest(params)
22371//
22372//    err := req.Send()
22373//    if err == nil { // resp is now filled
22374//        fmt.Println(resp)
22375//    }
22376//
22377// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
22378func (c *EC2) DescribeVolumeStatusRequest(input *DescribeVolumeStatusInput) (req *request.Request, output *DescribeVolumeStatusOutput) {
22379	op := &request.Operation{
22380		Name:       opDescribeVolumeStatus,
22381		HTTPMethod: "POST",
22382		HTTPPath:   "/",
22383		Paginator: &request.Paginator{
22384			InputTokens:     []string{"NextToken"},
22385			OutputTokens:    []string{"NextToken"},
22386			LimitToken:      "MaxResults",
22387			TruncationToken: "",
22388		},
22389	}
22390
22391	if input == nil {
22392		input = &DescribeVolumeStatusInput{}
22393	}
22394
22395	output = &DescribeVolumeStatusOutput{}
22396	req = c.newRequest(op, input, output)
22397	return
22398}
22399
22400// DescribeVolumeStatus API operation for Amazon Elastic Compute Cloud.
22401//
22402// Describes the status of the specified volumes. Volume status provides the
22403// result of the checks performed on your volumes to determine events that can
22404// impair the performance of your volumes. The performance of a volume can be
22405// affected if an issue occurs on the volume's underlying host. If the volume's
22406// underlying host experiences a power outage or system issue, after the system
22407// is restored, there could be data inconsistencies on the volume. Volume events
22408// notify you if this occurs. Volume actions notify you if any action needs
22409// to be taken in response to the event.
22410//
22411// The DescribeVolumeStatus operation provides the following information about
22412// the specified volumes:
22413//
22414// Status: Reflects the current status of the volume. The possible values are
22415// ok, impaired , warning, or insufficient-data. If all checks pass, the overall
22416// status of the volume is ok. If the check fails, the overall status is impaired.
22417// If the status is insufficient-data, then the checks may still be taking place
22418// on your volume at the time. We recommend that you retry the request. For
22419// more information about volume status, see Monitoring the Status of Your Volumes
22420// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-volume-status.html)
22421// in the Amazon Elastic Compute Cloud User Guide.
22422//
22423// Events: Reflect the cause of a volume status and may require you to take
22424// action. For example, if your volume returns an impaired status, then the
22425// volume event might be potential-data-inconsistency. This means that your
22426// volume has been affected by an issue with the underlying host, has all I/O
22427// operations disabled, and may have inconsistent data.
22428//
22429// Actions: Reflect the actions you may have to take in response to an event.
22430// For example, if the status of the volume is impaired and the volume event
22431// shows potential-data-inconsistency, then the action shows enable-volume-io.
22432// This means that you may want to enable the I/O operations for the volume
22433// by calling the EnableVolumeIO action and then check the volume for data consistency.
22434//
22435// Volume status is based on the volume status checks, and does not reflect
22436// the volume state. Therefore, volume status does not indicate volumes in the
22437// error state (for example, when a volume is incapable of accepting I/O.)
22438//
22439// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22440// with awserr.Error's Code and Message methods to get detailed information about
22441// the error.
22442//
22443// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22444// API operation DescribeVolumeStatus for usage and error information.
22445// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumeStatus
22446func (c *EC2) DescribeVolumeStatus(input *DescribeVolumeStatusInput) (*DescribeVolumeStatusOutput, error) {
22447	req, out := c.DescribeVolumeStatusRequest(input)
22448	return out, req.Send()
22449}
22450
22451// DescribeVolumeStatusWithContext is the same as DescribeVolumeStatus with the addition of
22452// the ability to pass a context and additional request options.
22453//
22454// See DescribeVolumeStatus for details on how to use this API operation.
22455//
22456// The context must be non-nil and will be used for request cancellation. If
22457// the context is nil a panic will occur. In the future the SDK may create
22458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22459// for more information on using Contexts.
22460func (c *EC2) DescribeVolumeStatusWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, opts ...request.Option) (*DescribeVolumeStatusOutput, error) {
22461	req, out := c.DescribeVolumeStatusRequest(input)
22462	req.SetContext(ctx)
22463	req.ApplyOptions(opts...)
22464	return out, req.Send()
22465}
22466
22467// DescribeVolumeStatusPages iterates over the pages of a DescribeVolumeStatus operation,
22468// calling the "fn" function with the response data for each page. To stop
22469// iterating, return false from the fn function.
22470//
22471// See DescribeVolumeStatus method for more information on how to use this operation.
22472//
22473// Note: This operation can generate multiple requests to a service.
22474//
22475//    // Example iterating over at most 3 pages of a DescribeVolumeStatus operation.
22476//    pageNum := 0
22477//    err := client.DescribeVolumeStatusPages(params,
22478//        func(page *ec2.DescribeVolumeStatusOutput, lastPage bool) bool {
22479//            pageNum++
22480//            fmt.Println(page)
22481//            return pageNum <= 3
22482//        })
22483//
22484func (c *EC2) DescribeVolumeStatusPages(input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool) error {
22485	return c.DescribeVolumeStatusPagesWithContext(aws.BackgroundContext(), input, fn)
22486}
22487
22488// DescribeVolumeStatusPagesWithContext same as DescribeVolumeStatusPages except
22489// it takes a Context and allows setting request options on the pages.
22490//
22491// The context must be non-nil and will be used for request cancellation. If
22492// the context is nil a panic will occur. In the future the SDK may create
22493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22494// for more information on using Contexts.
22495func (c *EC2) DescribeVolumeStatusPagesWithContext(ctx aws.Context, input *DescribeVolumeStatusInput, fn func(*DescribeVolumeStatusOutput, bool) bool, opts ...request.Option) error {
22496	p := request.Pagination{
22497		NewRequest: func() (*request.Request, error) {
22498			var inCpy *DescribeVolumeStatusInput
22499			if input != nil {
22500				tmp := *input
22501				inCpy = &tmp
22502			}
22503			req, _ := c.DescribeVolumeStatusRequest(inCpy)
22504			req.SetContext(ctx)
22505			req.ApplyOptions(opts...)
22506			return req, nil
22507		},
22508	}
22509
22510	for p.Next() {
22511		if !fn(p.Page().(*DescribeVolumeStatusOutput), !p.HasNextPage()) {
22512			break
22513		}
22514	}
22515
22516	return p.Err()
22517}
22518
22519const opDescribeVolumes = "DescribeVolumes"
22520
22521// DescribeVolumesRequest generates a "aws/request.Request" representing the
22522// client's request for the DescribeVolumes operation. The "output" return
22523// value will be populated with the request's response once the request completes
22524// successfully.
22525//
22526// Use "Send" method on the returned Request to send the API call to the service.
22527// the "output" return value is not valid until after Send returns without error.
22528//
22529// See DescribeVolumes for more information on using the DescribeVolumes
22530// API call, and error handling.
22531//
22532// This method is useful when you want to inject custom logic or configuration
22533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22534//
22535//
22536//    // Example sending a request using the DescribeVolumesRequest method.
22537//    req, resp := client.DescribeVolumesRequest(params)
22538//
22539//    err := req.Send()
22540//    if err == nil { // resp is now filled
22541//        fmt.Println(resp)
22542//    }
22543//
22544// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
22545func (c *EC2) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) {
22546	op := &request.Operation{
22547		Name:       opDescribeVolumes,
22548		HTTPMethod: "POST",
22549		HTTPPath:   "/",
22550		Paginator: &request.Paginator{
22551			InputTokens:     []string{"NextToken"},
22552			OutputTokens:    []string{"NextToken"},
22553			LimitToken:      "MaxResults",
22554			TruncationToken: "",
22555		},
22556	}
22557
22558	if input == nil {
22559		input = &DescribeVolumesInput{}
22560	}
22561
22562	output = &DescribeVolumesOutput{}
22563	req = c.newRequest(op, input, output)
22564	return
22565}
22566
22567// DescribeVolumes API operation for Amazon Elastic Compute Cloud.
22568//
22569// Describes the specified EBS volumes or all of your EBS volumes.
22570//
22571// If you are describing a long list of volumes, you can paginate the output
22572// to make the list more manageable. The MaxResults parameter sets the maximum
22573// number of results returned in a single page. If the list of results exceeds
22574// your MaxResults value, then that number of results is returned along with
22575// a NextToken value that can be passed to a subsequent DescribeVolumes request
22576// to retrieve the remaining results.
22577//
22578// For more information about EBS volumes, see Amazon EBS Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumes.html)
22579// in the Amazon Elastic Compute Cloud User Guide.
22580//
22581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22582// with awserr.Error's Code and Message methods to get detailed information about
22583// the error.
22584//
22585// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22586// API operation DescribeVolumes for usage and error information.
22587// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumes
22588func (c *EC2) DescribeVolumes(input *DescribeVolumesInput) (*DescribeVolumesOutput, error) {
22589	req, out := c.DescribeVolumesRequest(input)
22590	return out, req.Send()
22591}
22592
22593// DescribeVolumesWithContext is the same as DescribeVolumes with the addition of
22594// the ability to pass a context and additional request options.
22595//
22596// See DescribeVolumes for details on how to use this API operation.
22597//
22598// The context must be non-nil and will be used for request cancellation. If
22599// the context is nil a panic will occur. In the future the SDK may create
22600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22601// for more information on using Contexts.
22602func (c *EC2) DescribeVolumesWithContext(ctx aws.Context, input *DescribeVolumesInput, opts ...request.Option) (*DescribeVolumesOutput, error) {
22603	req, out := c.DescribeVolumesRequest(input)
22604	req.SetContext(ctx)
22605	req.ApplyOptions(opts...)
22606	return out, req.Send()
22607}
22608
22609// DescribeVolumesPages iterates over the pages of a DescribeVolumes operation,
22610// calling the "fn" function with the response data for each page. To stop
22611// iterating, return false from the fn function.
22612//
22613// See DescribeVolumes method for more information on how to use this operation.
22614//
22615// Note: This operation can generate multiple requests to a service.
22616//
22617//    // Example iterating over at most 3 pages of a DescribeVolumes operation.
22618//    pageNum := 0
22619//    err := client.DescribeVolumesPages(params,
22620//        func(page *ec2.DescribeVolumesOutput, lastPage bool) bool {
22621//            pageNum++
22622//            fmt.Println(page)
22623//            return pageNum <= 3
22624//        })
22625//
22626func (c *EC2) DescribeVolumesPages(input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool) error {
22627	return c.DescribeVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
22628}
22629
22630// DescribeVolumesPagesWithContext same as DescribeVolumesPages except
22631// it takes a Context and allows setting request options on the pages.
22632//
22633// The context must be non-nil and will be used for request cancellation. If
22634// the context is nil a panic will occur. In the future the SDK may create
22635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22636// for more information on using Contexts.
22637func (c *EC2) DescribeVolumesPagesWithContext(ctx aws.Context, input *DescribeVolumesInput, fn func(*DescribeVolumesOutput, bool) bool, opts ...request.Option) error {
22638	p := request.Pagination{
22639		NewRequest: func() (*request.Request, error) {
22640			var inCpy *DescribeVolumesInput
22641			if input != nil {
22642				tmp := *input
22643				inCpy = &tmp
22644			}
22645			req, _ := c.DescribeVolumesRequest(inCpy)
22646			req.SetContext(ctx)
22647			req.ApplyOptions(opts...)
22648			return req, nil
22649		},
22650	}
22651
22652	for p.Next() {
22653		if !fn(p.Page().(*DescribeVolumesOutput), !p.HasNextPage()) {
22654			break
22655		}
22656	}
22657
22658	return p.Err()
22659}
22660
22661const opDescribeVolumesModifications = "DescribeVolumesModifications"
22662
22663// DescribeVolumesModificationsRequest generates a "aws/request.Request" representing the
22664// client's request for the DescribeVolumesModifications operation. The "output" return
22665// value will be populated with the request's response once the request completes
22666// successfully.
22667//
22668// Use "Send" method on the returned Request to send the API call to the service.
22669// the "output" return value is not valid until after Send returns without error.
22670//
22671// See DescribeVolumesModifications for more information on using the DescribeVolumesModifications
22672// API call, and error handling.
22673//
22674// This method is useful when you want to inject custom logic or configuration
22675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22676//
22677//
22678//    // Example sending a request using the DescribeVolumesModificationsRequest method.
22679//    req, resp := client.DescribeVolumesModificationsRequest(params)
22680//
22681//    err := req.Send()
22682//    if err == nil { // resp is now filled
22683//        fmt.Println(resp)
22684//    }
22685//
22686// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
22687func (c *EC2) DescribeVolumesModificationsRequest(input *DescribeVolumesModificationsInput) (req *request.Request, output *DescribeVolumesModificationsOutput) {
22688	op := &request.Operation{
22689		Name:       opDescribeVolumesModifications,
22690		HTTPMethod: "POST",
22691		HTTPPath:   "/",
22692		Paginator: &request.Paginator{
22693			InputTokens:     []string{"NextToken"},
22694			OutputTokens:    []string{"NextToken"},
22695			LimitToken:      "MaxResults",
22696			TruncationToken: "",
22697		},
22698	}
22699
22700	if input == nil {
22701		input = &DescribeVolumesModificationsInput{}
22702	}
22703
22704	output = &DescribeVolumesModificationsOutput{}
22705	req = c.newRequest(op, input, output)
22706	return
22707}
22708
22709// DescribeVolumesModifications API operation for Amazon Elastic Compute Cloud.
22710//
22711// Reports the current modification status of EBS volumes.
22712//
22713// Current-generation EBS volumes support modification of attributes including
22714// type, size, and (for io1 volumes) IOPS provisioning while either attached
22715// to or detached from an instance. Following an action from the API or the
22716// console to modify a volume, the status of the modification may be modifying,
22717// optimizing, completed, or failed. If a volume has never been modified, then
22718// certain elements of the returned VolumeModification objects are null.
22719//
22720// You can also use CloudWatch Events to check the status of a modification
22721// to an EBS volume. For information about CloudWatch Events, see the Amazon
22722// CloudWatch Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
22723// For more information, see Monitoring Volume Modifications" (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods)
22724// in the Amazon Elastic Compute Cloud User Guide.
22725//
22726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22727// with awserr.Error's Code and Message methods to get detailed information about
22728// the error.
22729//
22730// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22731// API operation DescribeVolumesModifications for usage and error information.
22732// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVolumesModifications
22733func (c *EC2) DescribeVolumesModifications(input *DescribeVolumesModificationsInput) (*DescribeVolumesModificationsOutput, error) {
22734	req, out := c.DescribeVolumesModificationsRequest(input)
22735	return out, req.Send()
22736}
22737
22738// DescribeVolumesModificationsWithContext is the same as DescribeVolumesModifications with the addition of
22739// the ability to pass a context and additional request options.
22740//
22741// See DescribeVolumesModifications for details on how to use this API operation.
22742//
22743// The context must be non-nil and will be used for request cancellation. If
22744// the context is nil a panic will occur. In the future the SDK may create
22745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22746// for more information on using Contexts.
22747func (c *EC2) DescribeVolumesModificationsWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, opts ...request.Option) (*DescribeVolumesModificationsOutput, error) {
22748	req, out := c.DescribeVolumesModificationsRequest(input)
22749	req.SetContext(ctx)
22750	req.ApplyOptions(opts...)
22751	return out, req.Send()
22752}
22753
22754// DescribeVolumesModificationsPages iterates over the pages of a DescribeVolumesModifications operation,
22755// calling the "fn" function with the response data for each page. To stop
22756// iterating, return false from the fn function.
22757//
22758// See DescribeVolumesModifications method for more information on how to use this operation.
22759//
22760// Note: This operation can generate multiple requests to a service.
22761//
22762//    // Example iterating over at most 3 pages of a DescribeVolumesModifications operation.
22763//    pageNum := 0
22764//    err := client.DescribeVolumesModificationsPages(params,
22765//        func(page *ec2.DescribeVolumesModificationsOutput, lastPage bool) bool {
22766//            pageNum++
22767//            fmt.Println(page)
22768//            return pageNum <= 3
22769//        })
22770//
22771func (c *EC2) DescribeVolumesModificationsPages(input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool) error {
22772	return c.DescribeVolumesModificationsPagesWithContext(aws.BackgroundContext(), input, fn)
22773}
22774
22775// DescribeVolumesModificationsPagesWithContext same as DescribeVolumesModificationsPages except
22776// it takes a Context and allows setting request options on the pages.
22777//
22778// The context must be non-nil and will be used for request cancellation. If
22779// the context is nil a panic will occur. In the future the SDK may create
22780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22781// for more information on using Contexts.
22782func (c *EC2) DescribeVolumesModificationsPagesWithContext(ctx aws.Context, input *DescribeVolumesModificationsInput, fn func(*DescribeVolumesModificationsOutput, bool) bool, opts ...request.Option) error {
22783	p := request.Pagination{
22784		NewRequest: func() (*request.Request, error) {
22785			var inCpy *DescribeVolumesModificationsInput
22786			if input != nil {
22787				tmp := *input
22788				inCpy = &tmp
22789			}
22790			req, _ := c.DescribeVolumesModificationsRequest(inCpy)
22791			req.SetContext(ctx)
22792			req.ApplyOptions(opts...)
22793			return req, nil
22794		},
22795	}
22796
22797	for p.Next() {
22798		if !fn(p.Page().(*DescribeVolumesModificationsOutput), !p.HasNextPage()) {
22799			break
22800		}
22801	}
22802
22803	return p.Err()
22804}
22805
22806const opDescribeVpcAttribute = "DescribeVpcAttribute"
22807
22808// DescribeVpcAttributeRequest generates a "aws/request.Request" representing the
22809// client's request for the DescribeVpcAttribute operation. The "output" return
22810// value will be populated with the request's response once the request completes
22811// successfully.
22812//
22813// Use "Send" method on the returned Request to send the API call to the service.
22814// the "output" return value is not valid until after Send returns without error.
22815//
22816// See DescribeVpcAttribute for more information on using the DescribeVpcAttribute
22817// API call, and error handling.
22818//
22819// This method is useful when you want to inject custom logic or configuration
22820// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22821//
22822//
22823//    // Example sending a request using the DescribeVpcAttributeRequest method.
22824//    req, resp := client.DescribeVpcAttributeRequest(params)
22825//
22826//    err := req.Send()
22827//    if err == nil { // resp is now filled
22828//        fmt.Println(resp)
22829//    }
22830//
22831// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
22832func (c *EC2) DescribeVpcAttributeRequest(input *DescribeVpcAttributeInput) (req *request.Request, output *DescribeVpcAttributeOutput) {
22833	op := &request.Operation{
22834		Name:       opDescribeVpcAttribute,
22835		HTTPMethod: "POST",
22836		HTTPPath:   "/",
22837	}
22838
22839	if input == nil {
22840		input = &DescribeVpcAttributeInput{}
22841	}
22842
22843	output = &DescribeVpcAttributeOutput{}
22844	req = c.newRequest(op, input, output)
22845	return
22846}
22847
22848// DescribeVpcAttribute API operation for Amazon Elastic Compute Cloud.
22849//
22850// Describes the specified attribute of the specified VPC. You can specify only
22851// one attribute at a time.
22852//
22853// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22854// with awserr.Error's Code and Message methods to get detailed information about
22855// the error.
22856//
22857// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22858// API operation DescribeVpcAttribute for usage and error information.
22859// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcAttribute
22860func (c *EC2) DescribeVpcAttribute(input *DescribeVpcAttributeInput) (*DescribeVpcAttributeOutput, error) {
22861	req, out := c.DescribeVpcAttributeRequest(input)
22862	return out, req.Send()
22863}
22864
22865// DescribeVpcAttributeWithContext is the same as DescribeVpcAttribute with the addition of
22866// the ability to pass a context and additional request options.
22867//
22868// See DescribeVpcAttribute for details on how to use this API operation.
22869//
22870// The context must be non-nil and will be used for request cancellation. If
22871// the context is nil a panic will occur. In the future the SDK may create
22872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22873// for more information on using Contexts.
22874func (c *EC2) DescribeVpcAttributeWithContext(ctx aws.Context, input *DescribeVpcAttributeInput, opts ...request.Option) (*DescribeVpcAttributeOutput, error) {
22875	req, out := c.DescribeVpcAttributeRequest(input)
22876	req.SetContext(ctx)
22877	req.ApplyOptions(opts...)
22878	return out, req.Send()
22879}
22880
22881const opDescribeVpcClassicLink = "DescribeVpcClassicLink"
22882
22883// DescribeVpcClassicLinkRequest generates a "aws/request.Request" representing the
22884// client's request for the DescribeVpcClassicLink operation. The "output" return
22885// value will be populated with the request's response once the request completes
22886// successfully.
22887//
22888// Use "Send" method on the returned Request to send the API call to the service.
22889// the "output" return value is not valid until after Send returns without error.
22890//
22891// See DescribeVpcClassicLink for more information on using the DescribeVpcClassicLink
22892// API call, and error handling.
22893//
22894// This method is useful when you want to inject custom logic or configuration
22895// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22896//
22897//
22898//    // Example sending a request using the DescribeVpcClassicLinkRequest method.
22899//    req, resp := client.DescribeVpcClassicLinkRequest(params)
22900//
22901//    err := req.Send()
22902//    if err == nil { // resp is now filled
22903//        fmt.Println(resp)
22904//    }
22905//
22906// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
22907func (c *EC2) DescribeVpcClassicLinkRequest(input *DescribeVpcClassicLinkInput) (req *request.Request, output *DescribeVpcClassicLinkOutput) {
22908	op := &request.Operation{
22909		Name:       opDescribeVpcClassicLink,
22910		HTTPMethod: "POST",
22911		HTTPPath:   "/",
22912	}
22913
22914	if input == nil {
22915		input = &DescribeVpcClassicLinkInput{}
22916	}
22917
22918	output = &DescribeVpcClassicLinkOutput{}
22919	req = c.newRequest(op, input, output)
22920	return
22921}
22922
22923// DescribeVpcClassicLink API operation for Amazon Elastic Compute Cloud.
22924//
22925// Describes the ClassicLink status of one or more VPCs.
22926//
22927// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
22928// with awserr.Error's Code and Message methods to get detailed information about
22929// the error.
22930//
22931// See the AWS API reference guide for Amazon Elastic Compute Cloud's
22932// API operation DescribeVpcClassicLink for usage and error information.
22933// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLink
22934func (c *EC2) DescribeVpcClassicLink(input *DescribeVpcClassicLinkInput) (*DescribeVpcClassicLinkOutput, error) {
22935	req, out := c.DescribeVpcClassicLinkRequest(input)
22936	return out, req.Send()
22937}
22938
22939// DescribeVpcClassicLinkWithContext is the same as DescribeVpcClassicLink with the addition of
22940// the ability to pass a context and additional request options.
22941//
22942// See DescribeVpcClassicLink for details on how to use this API operation.
22943//
22944// The context must be non-nil and will be used for request cancellation. If
22945// the context is nil a panic will occur. In the future the SDK may create
22946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
22947// for more information on using Contexts.
22948func (c *EC2) DescribeVpcClassicLinkWithContext(ctx aws.Context, input *DescribeVpcClassicLinkInput, opts ...request.Option) (*DescribeVpcClassicLinkOutput, error) {
22949	req, out := c.DescribeVpcClassicLinkRequest(input)
22950	req.SetContext(ctx)
22951	req.ApplyOptions(opts...)
22952	return out, req.Send()
22953}
22954
22955const opDescribeVpcClassicLinkDnsSupport = "DescribeVpcClassicLinkDnsSupport"
22956
22957// DescribeVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
22958// client's request for the DescribeVpcClassicLinkDnsSupport operation. The "output" return
22959// value will be populated with the request's response once the request completes
22960// successfully.
22961//
22962// Use "Send" method on the returned Request to send the API call to the service.
22963// the "output" return value is not valid until after Send returns without error.
22964//
22965// See DescribeVpcClassicLinkDnsSupport for more information on using the DescribeVpcClassicLinkDnsSupport
22966// API call, and error handling.
22967//
22968// This method is useful when you want to inject custom logic or configuration
22969// into the SDK's request lifecycle. Such as custom headers, or retry logic.
22970//
22971//
22972//    // Example sending a request using the DescribeVpcClassicLinkDnsSupportRequest method.
22973//    req, resp := client.DescribeVpcClassicLinkDnsSupportRequest(params)
22974//
22975//    err := req.Send()
22976//    if err == nil { // resp is now filled
22977//        fmt.Println(resp)
22978//    }
22979//
22980// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
22981func (c *EC2) DescribeVpcClassicLinkDnsSupportRequest(input *DescribeVpcClassicLinkDnsSupportInput) (req *request.Request, output *DescribeVpcClassicLinkDnsSupportOutput) {
22982	op := &request.Operation{
22983		Name:       opDescribeVpcClassicLinkDnsSupport,
22984		HTTPMethod: "POST",
22985		HTTPPath:   "/",
22986		Paginator: &request.Paginator{
22987			InputTokens:     []string{"NextToken"},
22988			OutputTokens:    []string{"NextToken"},
22989			LimitToken:      "MaxResults",
22990			TruncationToken: "",
22991		},
22992	}
22993
22994	if input == nil {
22995		input = &DescribeVpcClassicLinkDnsSupportInput{}
22996	}
22997
22998	output = &DescribeVpcClassicLinkDnsSupportOutput{}
22999	req = c.newRequest(op, input, output)
23000	return
23001}
23002
23003// DescribeVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
23004//
23005// Describes the ClassicLink DNS support status of one or more VPCs. If enabled,
23006// the DNS hostname of a linked EC2-Classic instance resolves to its private
23007// IP address when addressed from an instance in the VPC to which it's linked.
23008// Similarly, the DNS hostname of an instance in a VPC resolves to its private
23009// IP address when addressed from a linked EC2-Classic instance. For more information,
23010// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
23011// in the Amazon Elastic Compute Cloud User Guide.
23012//
23013// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23014// with awserr.Error's Code and Message methods to get detailed information about
23015// the error.
23016//
23017// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23018// API operation DescribeVpcClassicLinkDnsSupport for usage and error information.
23019// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcClassicLinkDnsSupport
23020func (c *EC2) DescribeVpcClassicLinkDnsSupport(input *DescribeVpcClassicLinkDnsSupportInput) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
23021	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
23022	return out, req.Send()
23023}
23024
23025// DescribeVpcClassicLinkDnsSupportWithContext is the same as DescribeVpcClassicLinkDnsSupport with the addition of
23026// the ability to pass a context and additional request options.
23027//
23028// See DescribeVpcClassicLinkDnsSupport for details on how to use this API operation.
23029//
23030// The context must be non-nil and will be used for request cancellation. If
23031// the context is nil a panic will occur. In the future the SDK may create
23032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23033// for more information on using Contexts.
23034func (c *EC2) DescribeVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DescribeVpcClassicLinkDnsSupportOutput, error) {
23035	req, out := c.DescribeVpcClassicLinkDnsSupportRequest(input)
23036	req.SetContext(ctx)
23037	req.ApplyOptions(opts...)
23038	return out, req.Send()
23039}
23040
23041// DescribeVpcClassicLinkDnsSupportPages iterates over the pages of a DescribeVpcClassicLinkDnsSupport operation,
23042// calling the "fn" function with the response data for each page. To stop
23043// iterating, return false from the fn function.
23044//
23045// See DescribeVpcClassicLinkDnsSupport method for more information on how to use this operation.
23046//
23047// Note: This operation can generate multiple requests to a service.
23048//
23049//    // Example iterating over at most 3 pages of a DescribeVpcClassicLinkDnsSupport operation.
23050//    pageNum := 0
23051//    err := client.DescribeVpcClassicLinkDnsSupportPages(params,
23052//        func(page *ec2.DescribeVpcClassicLinkDnsSupportOutput, lastPage bool) bool {
23053//            pageNum++
23054//            fmt.Println(page)
23055//            return pageNum <= 3
23056//        })
23057//
23058func (c *EC2) DescribeVpcClassicLinkDnsSupportPages(input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool) error {
23059	return c.DescribeVpcClassicLinkDnsSupportPagesWithContext(aws.BackgroundContext(), input, fn)
23060}
23061
23062// DescribeVpcClassicLinkDnsSupportPagesWithContext same as DescribeVpcClassicLinkDnsSupportPages except
23063// it takes a Context and allows setting request options on the pages.
23064//
23065// The context must be non-nil and will be used for request cancellation. If
23066// the context is nil a panic will occur. In the future the SDK may create
23067// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23068// for more information on using Contexts.
23069func (c *EC2) DescribeVpcClassicLinkDnsSupportPagesWithContext(ctx aws.Context, input *DescribeVpcClassicLinkDnsSupportInput, fn func(*DescribeVpcClassicLinkDnsSupportOutput, bool) bool, opts ...request.Option) error {
23070	p := request.Pagination{
23071		NewRequest: func() (*request.Request, error) {
23072			var inCpy *DescribeVpcClassicLinkDnsSupportInput
23073			if input != nil {
23074				tmp := *input
23075				inCpy = &tmp
23076			}
23077			req, _ := c.DescribeVpcClassicLinkDnsSupportRequest(inCpy)
23078			req.SetContext(ctx)
23079			req.ApplyOptions(opts...)
23080			return req, nil
23081		},
23082	}
23083
23084	for p.Next() {
23085		if !fn(p.Page().(*DescribeVpcClassicLinkDnsSupportOutput), !p.HasNextPage()) {
23086			break
23087		}
23088	}
23089
23090	return p.Err()
23091}
23092
23093const opDescribeVpcEndpointConnectionNotifications = "DescribeVpcEndpointConnectionNotifications"
23094
23095// DescribeVpcEndpointConnectionNotificationsRequest generates a "aws/request.Request" representing the
23096// client's request for the DescribeVpcEndpointConnectionNotifications operation. The "output" return
23097// value will be populated with the request's response once the request completes
23098// successfully.
23099//
23100// Use "Send" method on the returned Request to send the API call to the service.
23101// the "output" return value is not valid until after Send returns without error.
23102//
23103// See DescribeVpcEndpointConnectionNotifications for more information on using the DescribeVpcEndpointConnectionNotifications
23104// API call, and error handling.
23105//
23106// This method is useful when you want to inject custom logic or configuration
23107// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23108//
23109//
23110//    // Example sending a request using the DescribeVpcEndpointConnectionNotificationsRequest method.
23111//    req, resp := client.DescribeVpcEndpointConnectionNotificationsRequest(params)
23112//
23113//    err := req.Send()
23114//    if err == nil { // resp is now filled
23115//        fmt.Println(resp)
23116//    }
23117//
23118// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
23119func (c *EC2) DescribeVpcEndpointConnectionNotificationsRequest(input *DescribeVpcEndpointConnectionNotificationsInput) (req *request.Request, output *DescribeVpcEndpointConnectionNotificationsOutput) {
23120	op := &request.Operation{
23121		Name:       opDescribeVpcEndpointConnectionNotifications,
23122		HTTPMethod: "POST",
23123		HTTPPath:   "/",
23124		Paginator: &request.Paginator{
23125			InputTokens:     []string{"NextToken"},
23126			OutputTokens:    []string{"NextToken"},
23127			LimitToken:      "MaxResults",
23128			TruncationToken: "",
23129		},
23130	}
23131
23132	if input == nil {
23133		input = &DescribeVpcEndpointConnectionNotificationsInput{}
23134	}
23135
23136	output = &DescribeVpcEndpointConnectionNotificationsOutput{}
23137	req = c.newRequest(op, input, output)
23138	return
23139}
23140
23141// DescribeVpcEndpointConnectionNotifications API operation for Amazon Elastic Compute Cloud.
23142//
23143// Describes the connection notifications for VPC endpoints and VPC endpoint
23144// services.
23145//
23146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23147// with awserr.Error's Code and Message methods to get detailed information about
23148// the error.
23149//
23150// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23151// API operation DescribeVpcEndpointConnectionNotifications for usage and error information.
23152// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnectionNotifications
23153func (c *EC2) DescribeVpcEndpointConnectionNotifications(input *DescribeVpcEndpointConnectionNotificationsInput) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
23154	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
23155	return out, req.Send()
23156}
23157
23158// DescribeVpcEndpointConnectionNotificationsWithContext is the same as DescribeVpcEndpointConnectionNotifications with the addition of
23159// the ability to pass a context and additional request options.
23160//
23161// See DescribeVpcEndpointConnectionNotifications for details on how to use this API operation.
23162//
23163// The context must be non-nil and will be used for request cancellation. If
23164// the context is nil a panic will occur. In the future the SDK may create
23165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23166// for more information on using Contexts.
23167func (c *EC2) DescribeVpcEndpointConnectionNotificationsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionNotificationsOutput, error) {
23168	req, out := c.DescribeVpcEndpointConnectionNotificationsRequest(input)
23169	req.SetContext(ctx)
23170	req.ApplyOptions(opts...)
23171	return out, req.Send()
23172}
23173
23174// DescribeVpcEndpointConnectionNotificationsPages iterates over the pages of a DescribeVpcEndpointConnectionNotifications operation,
23175// calling the "fn" function with the response data for each page. To stop
23176// iterating, return false from the fn function.
23177//
23178// See DescribeVpcEndpointConnectionNotifications method for more information on how to use this operation.
23179//
23180// Note: This operation can generate multiple requests to a service.
23181//
23182//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnectionNotifications operation.
23183//    pageNum := 0
23184//    err := client.DescribeVpcEndpointConnectionNotificationsPages(params,
23185//        func(page *ec2.DescribeVpcEndpointConnectionNotificationsOutput, lastPage bool) bool {
23186//            pageNum++
23187//            fmt.Println(page)
23188//            return pageNum <= 3
23189//        })
23190//
23191func (c *EC2) DescribeVpcEndpointConnectionNotificationsPages(input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool) error {
23192	return c.DescribeVpcEndpointConnectionNotificationsPagesWithContext(aws.BackgroundContext(), input, fn)
23193}
23194
23195// DescribeVpcEndpointConnectionNotificationsPagesWithContext same as DescribeVpcEndpointConnectionNotificationsPages except
23196// it takes a Context and allows setting request options on the pages.
23197//
23198// The context must be non-nil and will be used for request cancellation. If
23199// the context is nil a panic will occur. In the future the SDK may create
23200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23201// for more information on using Contexts.
23202func (c *EC2) DescribeVpcEndpointConnectionNotificationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionNotificationsInput, fn func(*DescribeVpcEndpointConnectionNotificationsOutput, bool) bool, opts ...request.Option) error {
23203	p := request.Pagination{
23204		NewRequest: func() (*request.Request, error) {
23205			var inCpy *DescribeVpcEndpointConnectionNotificationsInput
23206			if input != nil {
23207				tmp := *input
23208				inCpy = &tmp
23209			}
23210			req, _ := c.DescribeVpcEndpointConnectionNotificationsRequest(inCpy)
23211			req.SetContext(ctx)
23212			req.ApplyOptions(opts...)
23213			return req, nil
23214		},
23215	}
23216
23217	for p.Next() {
23218		if !fn(p.Page().(*DescribeVpcEndpointConnectionNotificationsOutput), !p.HasNextPage()) {
23219			break
23220		}
23221	}
23222
23223	return p.Err()
23224}
23225
23226const opDescribeVpcEndpointConnections = "DescribeVpcEndpointConnections"
23227
23228// DescribeVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
23229// client's request for the DescribeVpcEndpointConnections operation. The "output" return
23230// value will be populated with the request's response once the request completes
23231// successfully.
23232//
23233// Use "Send" method on the returned Request to send the API call to the service.
23234// the "output" return value is not valid until after Send returns without error.
23235//
23236// See DescribeVpcEndpointConnections for more information on using the DescribeVpcEndpointConnections
23237// API call, and error handling.
23238//
23239// This method is useful when you want to inject custom logic or configuration
23240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23241//
23242//
23243//    // Example sending a request using the DescribeVpcEndpointConnectionsRequest method.
23244//    req, resp := client.DescribeVpcEndpointConnectionsRequest(params)
23245//
23246//    err := req.Send()
23247//    if err == nil { // resp is now filled
23248//        fmt.Println(resp)
23249//    }
23250//
23251// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
23252func (c *EC2) DescribeVpcEndpointConnectionsRequest(input *DescribeVpcEndpointConnectionsInput) (req *request.Request, output *DescribeVpcEndpointConnectionsOutput) {
23253	op := &request.Operation{
23254		Name:       opDescribeVpcEndpointConnections,
23255		HTTPMethod: "POST",
23256		HTTPPath:   "/",
23257		Paginator: &request.Paginator{
23258			InputTokens:     []string{"NextToken"},
23259			OutputTokens:    []string{"NextToken"},
23260			LimitToken:      "MaxResults",
23261			TruncationToken: "",
23262		},
23263	}
23264
23265	if input == nil {
23266		input = &DescribeVpcEndpointConnectionsInput{}
23267	}
23268
23269	output = &DescribeVpcEndpointConnectionsOutput{}
23270	req = c.newRequest(op, input, output)
23271	return
23272}
23273
23274// DescribeVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
23275//
23276// Describes the VPC endpoint connections to your VPC endpoint services, including
23277// any endpoints that are pending your acceptance.
23278//
23279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23280// with awserr.Error's Code and Message methods to get detailed information about
23281// the error.
23282//
23283// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23284// API operation DescribeVpcEndpointConnections for usage and error information.
23285// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointConnections
23286func (c *EC2) DescribeVpcEndpointConnections(input *DescribeVpcEndpointConnectionsInput) (*DescribeVpcEndpointConnectionsOutput, error) {
23287	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
23288	return out, req.Send()
23289}
23290
23291// DescribeVpcEndpointConnectionsWithContext is the same as DescribeVpcEndpointConnections with the addition of
23292// the ability to pass a context and additional request options.
23293//
23294// See DescribeVpcEndpointConnections for details on how to use this API operation.
23295//
23296// The context must be non-nil and will be used for request cancellation. If
23297// the context is nil a panic will occur. In the future the SDK may create
23298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23299// for more information on using Contexts.
23300func (c *EC2) DescribeVpcEndpointConnectionsWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, opts ...request.Option) (*DescribeVpcEndpointConnectionsOutput, error) {
23301	req, out := c.DescribeVpcEndpointConnectionsRequest(input)
23302	req.SetContext(ctx)
23303	req.ApplyOptions(opts...)
23304	return out, req.Send()
23305}
23306
23307// DescribeVpcEndpointConnectionsPages iterates over the pages of a DescribeVpcEndpointConnections operation,
23308// calling the "fn" function with the response data for each page. To stop
23309// iterating, return false from the fn function.
23310//
23311// See DescribeVpcEndpointConnections method for more information on how to use this operation.
23312//
23313// Note: This operation can generate multiple requests to a service.
23314//
23315//    // Example iterating over at most 3 pages of a DescribeVpcEndpointConnections operation.
23316//    pageNum := 0
23317//    err := client.DescribeVpcEndpointConnectionsPages(params,
23318//        func(page *ec2.DescribeVpcEndpointConnectionsOutput, lastPage bool) bool {
23319//            pageNum++
23320//            fmt.Println(page)
23321//            return pageNum <= 3
23322//        })
23323//
23324func (c *EC2) DescribeVpcEndpointConnectionsPages(input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool) error {
23325	return c.DescribeVpcEndpointConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
23326}
23327
23328// DescribeVpcEndpointConnectionsPagesWithContext same as DescribeVpcEndpointConnectionsPages except
23329// it takes a Context and allows setting request options on the pages.
23330//
23331// The context must be non-nil and will be used for request cancellation. If
23332// the context is nil a panic will occur. In the future the SDK may create
23333// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23334// for more information on using Contexts.
23335func (c *EC2) DescribeVpcEndpointConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointConnectionsInput, fn func(*DescribeVpcEndpointConnectionsOutput, bool) bool, opts ...request.Option) error {
23336	p := request.Pagination{
23337		NewRequest: func() (*request.Request, error) {
23338			var inCpy *DescribeVpcEndpointConnectionsInput
23339			if input != nil {
23340				tmp := *input
23341				inCpy = &tmp
23342			}
23343			req, _ := c.DescribeVpcEndpointConnectionsRequest(inCpy)
23344			req.SetContext(ctx)
23345			req.ApplyOptions(opts...)
23346			return req, nil
23347		},
23348	}
23349
23350	for p.Next() {
23351		if !fn(p.Page().(*DescribeVpcEndpointConnectionsOutput), !p.HasNextPage()) {
23352			break
23353		}
23354	}
23355
23356	return p.Err()
23357}
23358
23359const opDescribeVpcEndpointServiceConfigurations = "DescribeVpcEndpointServiceConfigurations"
23360
23361// DescribeVpcEndpointServiceConfigurationsRequest generates a "aws/request.Request" representing the
23362// client's request for the DescribeVpcEndpointServiceConfigurations operation. The "output" return
23363// value will be populated with the request's response once the request completes
23364// successfully.
23365//
23366// Use "Send" method on the returned Request to send the API call to the service.
23367// the "output" return value is not valid until after Send returns without error.
23368//
23369// See DescribeVpcEndpointServiceConfigurations for more information on using the DescribeVpcEndpointServiceConfigurations
23370// API call, and error handling.
23371//
23372// This method is useful when you want to inject custom logic or configuration
23373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23374//
23375//
23376//    // Example sending a request using the DescribeVpcEndpointServiceConfigurationsRequest method.
23377//    req, resp := client.DescribeVpcEndpointServiceConfigurationsRequest(params)
23378//
23379//    err := req.Send()
23380//    if err == nil { // resp is now filled
23381//        fmt.Println(resp)
23382//    }
23383//
23384// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
23385func (c *EC2) DescribeVpcEndpointServiceConfigurationsRequest(input *DescribeVpcEndpointServiceConfigurationsInput) (req *request.Request, output *DescribeVpcEndpointServiceConfigurationsOutput) {
23386	op := &request.Operation{
23387		Name:       opDescribeVpcEndpointServiceConfigurations,
23388		HTTPMethod: "POST",
23389		HTTPPath:   "/",
23390		Paginator: &request.Paginator{
23391			InputTokens:     []string{"NextToken"},
23392			OutputTokens:    []string{"NextToken"},
23393			LimitToken:      "MaxResults",
23394			TruncationToken: "",
23395		},
23396	}
23397
23398	if input == nil {
23399		input = &DescribeVpcEndpointServiceConfigurationsInput{}
23400	}
23401
23402	output = &DescribeVpcEndpointServiceConfigurationsOutput{}
23403	req = c.newRequest(op, input, output)
23404	return
23405}
23406
23407// DescribeVpcEndpointServiceConfigurations API operation for Amazon Elastic Compute Cloud.
23408//
23409// Describes the VPC endpoint service configurations in your account (your services).
23410//
23411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23412// with awserr.Error's Code and Message methods to get detailed information about
23413// the error.
23414//
23415// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23416// API operation DescribeVpcEndpointServiceConfigurations for usage and error information.
23417// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServiceConfigurations
23418func (c *EC2) DescribeVpcEndpointServiceConfigurations(input *DescribeVpcEndpointServiceConfigurationsInput) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
23419	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
23420	return out, req.Send()
23421}
23422
23423// DescribeVpcEndpointServiceConfigurationsWithContext is the same as DescribeVpcEndpointServiceConfigurations with the addition of
23424// the ability to pass a context and additional request options.
23425//
23426// See DescribeVpcEndpointServiceConfigurations for details on how to use this API operation.
23427//
23428// The context must be non-nil and will be used for request cancellation. If
23429// the context is nil a panic will occur. In the future the SDK may create
23430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23431// for more information on using Contexts.
23432func (c *EC2) DescribeVpcEndpointServiceConfigurationsWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, opts ...request.Option) (*DescribeVpcEndpointServiceConfigurationsOutput, error) {
23433	req, out := c.DescribeVpcEndpointServiceConfigurationsRequest(input)
23434	req.SetContext(ctx)
23435	req.ApplyOptions(opts...)
23436	return out, req.Send()
23437}
23438
23439// DescribeVpcEndpointServiceConfigurationsPages iterates over the pages of a DescribeVpcEndpointServiceConfigurations operation,
23440// calling the "fn" function with the response data for each page. To stop
23441// iterating, return false from the fn function.
23442//
23443// See DescribeVpcEndpointServiceConfigurations method for more information on how to use this operation.
23444//
23445// Note: This operation can generate multiple requests to a service.
23446//
23447//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServiceConfigurations operation.
23448//    pageNum := 0
23449//    err := client.DescribeVpcEndpointServiceConfigurationsPages(params,
23450//        func(page *ec2.DescribeVpcEndpointServiceConfigurationsOutput, lastPage bool) bool {
23451//            pageNum++
23452//            fmt.Println(page)
23453//            return pageNum <= 3
23454//        })
23455//
23456func (c *EC2) DescribeVpcEndpointServiceConfigurationsPages(input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool) error {
23457	return c.DescribeVpcEndpointServiceConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn)
23458}
23459
23460// DescribeVpcEndpointServiceConfigurationsPagesWithContext same as DescribeVpcEndpointServiceConfigurationsPages except
23461// it takes a Context and allows setting request options on the pages.
23462//
23463// The context must be non-nil and will be used for request cancellation. If
23464// the context is nil a panic will occur. In the future the SDK may create
23465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23466// for more information on using Contexts.
23467func (c *EC2) DescribeVpcEndpointServiceConfigurationsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServiceConfigurationsInput, fn func(*DescribeVpcEndpointServiceConfigurationsOutput, bool) bool, opts ...request.Option) error {
23468	p := request.Pagination{
23469		NewRequest: func() (*request.Request, error) {
23470			var inCpy *DescribeVpcEndpointServiceConfigurationsInput
23471			if input != nil {
23472				tmp := *input
23473				inCpy = &tmp
23474			}
23475			req, _ := c.DescribeVpcEndpointServiceConfigurationsRequest(inCpy)
23476			req.SetContext(ctx)
23477			req.ApplyOptions(opts...)
23478			return req, nil
23479		},
23480	}
23481
23482	for p.Next() {
23483		if !fn(p.Page().(*DescribeVpcEndpointServiceConfigurationsOutput), !p.HasNextPage()) {
23484			break
23485		}
23486	}
23487
23488	return p.Err()
23489}
23490
23491const opDescribeVpcEndpointServicePermissions = "DescribeVpcEndpointServicePermissions"
23492
23493// DescribeVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
23494// client's request for the DescribeVpcEndpointServicePermissions operation. The "output" return
23495// value will be populated with the request's response once the request completes
23496// successfully.
23497//
23498// Use "Send" method on the returned Request to send the API call to the service.
23499// the "output" return value is not valid until after Send returns without error.
23500//
23501// See DescribeVpcEndpointServicePermissions for more information on using the DescribeVpcEndpointServicePermissions
23502// API call, and error handling.
23503//
23504// This method is useful when you want to inject custom logic or configuration
23505// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23506//
23507//
23508//    // Example sending a request using the DescribeVpcEndpointServicePermissionsRequest method.
23509//    req, resp := client.DescribeVpcEndpointServicePermissionsRequest(params)
23510//
23511//    err := req.Send()
23512//    if err == nil { // resp is now filled
23513//        fmt.Println(resp)
23514//    }
23515//
23516// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
23517func (c *EC2) DescribeVpcEndpointServicePermissionsRequest(input *DescribeVpcEndpointServicePermissionsInput) (req *request.Request, output *DescribeVpcEndpointServicePermissionsOutput) {
23518	op := &request.Operation{
23519		Name:       opDescribeVpcEndpointServicePermissions,
23520		HTTPMethod: "POST",
23521		HTTPPath:   "/",
23522		Paginator: &request.Paginator{
23523			InputTokens:     []string{"NextToken"},
23524			OutputTokens:    []string{"NextToken"},
23525			LimitToken:      "MaxResults",
23526			TruncationToken: "",
23527		},
23528	}
23529
23530	if input == nil {
23531		input = &DescribeVpcEndpointServicePermissionsInput{}
23532	}
23533
23534	output = &DescribeVpcEndpointServicePermissionsOutput{}
23535	req = c.newRequest(op, input, output)
23536	return
23537}
23538
23539// DescribeVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
23540//
23541// Describes the principals (service consumers) that are permitted to discover
23542// your VPC endpoint service.
23543//
23544// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23545// with awserr.Error's Code and Message methods to get detailed information about
23546// the error.
23547//
23548// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23549// API operation DescribeVpcEndpointServicePermissions for usage and error information.
23550// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicePermissions
23551func (c *EC2) DescribeVpcEndpointServicePermissions(input *DescribeVpcEndpointServicePermissionsInput) (*DescribeVpcEndpointServicePermissionsOutput, error) {
23552	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
23553	return out, req.Send()
23554}
23555
23556// DescribeVpcEndpointServicePermissionsWithContext is the same as DescribeVpcEndpointServicePermissions with the addition of
23557// the ability to pass a context and additional request options.
23558//
23559// See DescribeVpcEndpointServicePermissions for details on how to use this API operation.
23560//
23561// The context must be non-nil and will be used for request cancellation. If
23562// the context is nil a panic will occur. In the future the SDK may create
23563// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23564// for more information on using Contexts.
23565func (c *EC2) DescribeVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, opts ...request.Option) (*DescribeVpcEndpointServicePermissionsOutput, error) {
23566	req, out := c.DescribeVpcEndpointServicePermissionsRequest(input)
23567	req.SetContext(ctx)
23568	req.ApplyOptions(opts...)
23569	return out, req.Send()
23570}
23571
23572// DescribeVpcEndpointServicePermissionsPages iterates over the pages of a DescribeVpcEndpointServicePermissions operation,
23573// calling the "fn" function with the response data for each page. To stop
23574// iterating, return false from the fn function.
23575//
23576// See DescribeVpcEndpointServicePermissions method for more information on how to use this operation.
23577//
23578// Note: This operation can generate multiple requests to a service.
23579//
23580//    // Example iterating over at most 3 pages of a DescribeVpcEndpointServicePermissions operation.
23581//    pageNum := 0
23582//    err := client.DescribeVpcEndpointServicePermissionsPages(params,
23583//        func(page *ec2.DescribeVpcEndpointServicePermissionsOutput, lastPage bool) bool {
23584//            pageNum++
23585//            fmt.Println(page)
23586//            return pageNum <= 3
23587//        })
23588//
23589func (c *EC2) DescribeVpcEndpointServicePermissionsPages(input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool) error {
23590	return c.DescribeVpcEndpointServicePermissionsPagesWithContext(aws.BackgroundContext(), input, fn)
23591}
23592
23593// DescribeVpcEndpointServicePermissionsPagesWithContext same as DescribeVpcEndpointServicePermissionsPages except
23594// it takes a Context and allows setting request options on the pages.
23595//
23596// The context must be non-nil and will be used for request cancellation. If
23597// the context is nil a panic will occur. In the future the SDK may create
23598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23599// for more information on using Contexts.
23600func (c *EC2) DescribeVpcEndpointServicePermissionsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicePermissionsInput, fn func(*DescribeVpcEndpointServicePermissionsOutput, bool) bool, opts ...request.Option) error {
23601	p := request.Pagination{
23602		NewRequest: func() (*request.Request, error) {
23603			var inCpy *DescribeVpcEndpointServicePermissionsInput
23604			if input != nil {
23605				tmp := *input
23606				inCpy = &tmp
23607			}
23608			req, _ := c.DescribeVpcEndpointServicePermissionsRequest(inCpy)
23609			req.SetContext(ctx)
23610			req.ApplyOptions(opts...)
23611			return req, nil
23612		},
23613	}
23614
23615	for p.Next() {
23616		if !fn(p.Page().(*DescribeVpcEndpointServicePermissionsOutput), !p.HasNextPage()) {
23617			break
23618		}
23619	}
23620
23621	return p.Err()
23622}
23623
23624const opDescribeVpcEndpointServices = "DescribeVpcEndpointServices"
23625
23626// DescribeVpcEndpointServicesRequest generates a "aws/request.Request" representing the
23627// client's request for the DescribeVpcEndpointServices operation. The "output" return
23628// value will be populated with the request's response once the request completes
23629// successfully.
23630//
23631// Use "Send" method on the returned Request to send the API call to the service.
23632// the "output" return value is not valid until after Send returns without error.
23633//
23634// See DescribeVpcEndpointServices for more information on using the DescribeVpcEndpointServices
23635// API call, and error handling.
23636//
23637// This method is useful when you want to inject custom logic or configuration
23638// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23639//
23640//
23641//    // Example sending a request using the DescribeVpcEndpointServicesRequest method.
23642//    req, resp := client.DescribeVpcEndpointServicesRequest(params)
23643//
23644//    err := req.Send()
23645//    if err == nil { // resp is now filled
23646//        fmt.Println(resp)
23647//    }
23648//
23649// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
23650func (c *EC2) DescribeVpcEndpointServicesRequest(input *DescribeVpcEndpointServicesInput) (req *request.Request, output *DescribeVpcEndpointServicesOutput) {
23651	op := &request.Operation{
23652		Name:       opDescribeVpcEndpointServices,
23653		HTTPMethod: "POST",
23654		HTTPPath:   "/",
23655	}
23656
23657	if input == nil {
23658		input = &DescribeVpcEndpointServicesInput{}
23659	}
23660
23661	output = &DescribeVpcEndpointServicesOutput{}
23662	req = c.newRequest(op, input, output)
23663	return
23664}
23665
23666// DescribeVpcEndpointServices API operation for Amazon Elastic Compute Cloud.
23667//
23668// Describes available services to which you can create a VPC endpoint.
23669//
23670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23671// with awserr.Error's Code and Message methods to get detailed information about
23672// the error.
23673//
23674// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23675// API operation DescribeVpcEndpointServices for usage and error information.
23676// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServices
23677func (c *EC2) DescribeVpcEndpointServices(input *DescribeVpcEndpointServicesInput) (*DescribeVpcEndpointServicesOutput, error) {
23678	req, out := c.DescribeVpcEndpointServicesRequest(input)
23679	return out, req.Send()
23680}
23681
23682// DescribeVpcEndpointServicesWithContext is the same as DescribeVpcEndpointServices with the addition of
23683// the ability to pass a context and additional request options.
23684//
23685// See DescribeVpcEndpointServices for details on how to use this API operation.
23686//
23687// The context must be non-nil and will be used for request cancellation. If
23688// the context is nil a panic will occur. In the future the SDK may create
23689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23690// for more information on using Contexts.
23691func (c *EC2) DescribeVpcEndpointServicesWithContext(ctx aws.Context, input *DescribeVpcEndpointServicesInput, opts ...request.Option) (*DescribeVpcEndpointServicesOutput, error) {
23692	req, out := c.DescribeVpcEndpointServicesRequest(input)
23693	req.SetContext(ctx)
23694	req.ApplyOptions(opts...)
23695	return out, req.Send()
23696}
23697
23698const opDescribeVpcEndpoints = "DescribeVpcEndpoints"
23699
23700// DescribeVpcEndpointsRequest generates a "aws/request.Request" representing the
23701// client's request for the DescribeVpcEndpoints operation. The "output" return
23702// value will be populated with the request's response once the request completes
23703// successfully.
23704//
23705// Use "Send" method on the returned Request to send the API call to the service.
23706// the "output" return value is not valid until after Send returns without error.
23707//
23708// See DescribeVpcEndpoints for more information on using the DescribeVpcEndpoints
23709// API call, and error handling.
23710//
23711// This method is useful when you want to inject custom logic or configuration
23712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23713//
23714//
23715//    // Example sending a request using the DescribeVpcEndpointsRequest method.
23716//    req, resp := client.DescribeVpcEndpointsRequest(params)
23717//
23718//    err := req.Send()
23719//    if err == nil { // resp is now filled
23720//        fmt.Println(resp)
23721//    }
23722//
23723// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
23724func (c *EC2) DescribeVpcEndpointsRequest(input *DescribeVpcEndpointsInput) (req *request.Request, output *DescribeVpcEndpointsOutput) {
23725	op := &request.Operation{
23726		Name:       opDescribeVpcEndpoints,
23727		HTTPMethod: "POST",
23728		HTTPPath:   "/",
23729		Paginator: &request.Paginator{
23730			InputTokens:     []string{"NextToken"},
23731			OutputTokens:    []string{"NextToken"},
23732			LimitToken:      "MaxResults",
23733			TruncationToken: "",
23734		},
23735	}
23736
23737	if input == nil {
23738		input = &DescribeVpcEndpointsInput{}
23739	}
23740
23741	output = &DescribeVpcEndpointsOutput{}
23742	req = c.newRequest(op, input, output)
23743	return
23744}
23745
23746// DescribeVpcEndpoints API operation for Amazon Elastic Compute Cloud.
23747//
23748// Describes one or more of your VPC endpoints.
23749//
23750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23751// with awserr.Error's Code and Message methods to get detailed information about
23752// the error.
23753//
23754// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23755// API operation DescribeVpcEndpoints for usage and error information.
23756// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpoints
23757func (c *EC2) DescribeVpcEndpoints(input *DescribeVpcEndpointsInput) (*DescribeVpcEndpointsOutput, error) {
23758	req, out := c.DescribeVpcEndpointsRequest(input)
23759	return out, req.Send()
23760}
23761
23762// DescribeVpcEndpointsWithContext is the same as DescribeVpcEndpoints with the addition of
23763// the ability to pass a context and additional request options.
23764//
23765// See DescribeVpcEndpoints for details on how to use this API operation.
23766//
23767// The context must be non-nil and will be used for request cancellation. If
23768// the context is nil a panic will occur. In the future the SDK may create
23769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23770// for more information on using Contexts.
23771func (c *EC2) DescribeVpcEndpointsWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, opts ...request.Option) (*DescribeVpcEndpointsOutput, error) {
23772	req, out := c.DescribeVpcEndpointsRequest(input)
23773	req.SetContext(ctx)
23774	req.ApplyOptions(opts...)
23775	return out, req.Send()
23776}
23777
23778// DescribeVpcEndpointsPages iterates over the pages of a DescribeVpcEndpoints operation,
23779// calling the "fn" function with the response data for each page. To stop
23780// iterating, return false from the fn function.
23781//
23782// See DescribeVpcEndpoints method for more information on how to use this operation.
23783//
23784// Note: This operation can generate multiple requests to a service.
23785//
23786//    // Example iterating over at most 3 pages of a DescribeVpcEndpoints operation.
23787//    pageNum := 0
23788//    err := client.DescribeVpcEndpointsPages(params,
23789//        func(page *ec2.DescribeVpcEndpointsOutput, lastPage bool) bool {
23790//            pageNum++
23791//            fmt.Println(page)
23792//            return pageNum <= 3
23793//        })
23794//
23795func (c *EC2) DescribeVpcEndpointsPages(input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool) error {
23796	return c.DescribeVpcEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
23797}
23798
23799// DescribeVpcEndpointsPagesWithContext same as DescribeVpcEndpointsPages except
23800// it takes a Context and allows setting request options on the pages.
23801//
23802// The context must be non-nil and will be used for request cancellation. If
23803// the context is nil a panic will occur. In the future the SDK may create
23804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23805// for more information on using Contexts.
23806func (c *EC2) DescribeVpcEndpointsPagesWithContext(ctx aws.Context, input *DescribeVpcEndpointsInput, fn func(*DescribeVpcEndpointsOutput, bool) bool, opts ...request.Option) error {
23807	p := request.Pagination{
23808		NewRequest: func() (*request.Request, error) {
23809			var inCpy *DescribeVpcEndpointsInput
23810			if input != nil {
23811				tmp := *input
23812				inCpy = &tmp
23813			}
23814			req, _ := c.DescribeVpcEndpointsRequest(inCpy)
23815			req.SetContext(ctx)
23816			req.ApplyOptions(opts...)
23817			return req, nil
23818		},
23819	}
23820
23821	for p.Next() {
23822		if !fn(p.Page().(*DescribeVpcEndpointsOutput), !p.HasNextPage()) {
23823			break
23824		}
23825	}
23826
23827	return p.Err()
23828}
23829
23830const opDescribeVpcPeeringConnections = "DescribeVpcPeeringConnections"
23831
23832// DescribeVpcPeeringConnectionsRequest generates a "aws/request.Request" representing the
23833// client's request for the DescribeVpcPeeringConnections operation. The "output" return
23834// value will be populated with the request's response once the request completes
23835// successfully.
23836//
23837// Use "Send" method on the returned Request to send the API call to the service.
23838// the "output" return value is not valid until after Send returns without error.
23839//
23840// See DescribeVpcPeeringConnections for more information on using the DescribeVpcPeeringConnections
23841// API call, and error handling.
23842//
23843// This method is useful when you want to inject custom logic or configuration
23844// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23845//
23846//
23847//    // Example sending a request using the DescribeVpcPeeringConnectionsRequest method.
23848//    req, resp := client.DescribeVpcPeeringConnectionsRequest(params)
23849//
23850//    err := req.Send()
23851//    if err == nil { // resp is now filled
23852//        fmt.Println(resp)
23853//    }
23854//
23855// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
23856func (c *EC2) DescribeVpcPeeringConnectionsRequest(input *DescribeVpcPeeringConnectionsInput) (req *request.Request, output *DescribeVpcPeeringConnectionsOutput) {
23857	op := &request.Operation{
23858		Name:       opDescribeVpcPeeringConnections,
23859		HTTPMethod: "POST",
23860		HTTPPath:   "/",
23861		Paginator: &request.Paginator{
23862			InputTokens:     []string{"NextToken"},
23863			OutputTokens:    []string{"NextToken"},
23864			LimitToken:      "MaxResults",
23865			TruncationToken: "",
23866		},
23867	}
23868
23869	if input == nil {
23870		input = &DescribeVpcPeeringConnectionsInput{}
23871	}
23872
23873	output = &DescribeVpcPeeringConnectionsOutput{}
23874	req = c.newRequest(op, input, output)
23875	return
23876}
23877
23878// DescribeVpcPeeringConnections API operation for Amazon Elastic Compute Cloud.
23879//
23880// Describes one or more of your VPC peering connections.
23881//
23882// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
23883// with awserr.Error's Code and Message methods to get detailed information about
23884// the error.
23885//
23886// See the AWS API reference guide for Amazon Elastic Compute Cloud's
23887// API operation DescribeVpcPeeringConnections for usage and error information.
23888// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcPeeringConnections
23889func (c *EC2) DescribeVpcPeeringConnections(input *DescribeVpcPeeringConnectionsInput) (*DescribeVpcPeeringConnectionsOutput, error) {
23890	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
23891	return out, req.Send()
23892}
23893
23894// DescribeVpcPeeringConnectionsWithContext is the same as DescribeVpcPeeringConnections with the addition of
23895// the ability to pass a context and additional request options.
23896//
23897// See DescribeVpcPeeringConnections for details on how to use this API operation.
23898//
23899// The context must be non-nil and will be used for request cancellation. If
23900// the context is nil a panic will occur. In the future the SDK may create
23901// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23902// for more information on using Contexts.
23903func (c *EC2) DescribeVpcPeeringConnectionsWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, opts ...request.Option) (*DescribeVpcPeeringConnectionsOutput, error) {
23904	req, out := c.DescribeVpcPeeringConnectionsRequest(input)
23905	req.SetContext(ctx)
23906	req.ApplyOptions(opts...)
23907	return out, req.Send()
23908}
23909
23910// DescribeVpcPeeringConnectionsPages iterates over the pages of a DescribeVpcPeeringConnections operation,
23911// calling the "fn" function with the response data for each page. To stop
23912// iterating, return false from the fn function.
23913//
23914// See DescribeVpcPeeringConnections method for more information on how to use this operation.
23915//
23916// Note: This operation can generate multiple requests to a service.
23917//
23918//    // Example iterating over at most 3 pages of a DescribeVpcPeeringConnections operation.
23919//    pageNum := 0
23920//    err := client.DescribeVpcPeeringConnectionsPages(params,
23921//        func(page *ec2.DescribeVpcPeeringConnectionsOutput, lastPage bool) bool {
23922//            pageNum++
23923//            fmt.Println(page)
23924//            return pageNum <= 3
23925//        })
23926//
23927func (c *EC2) DescribeVpcPeeringConnectionsPages(input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool) error {
23928	return c.DescribeVpcPeeringConnectionsPagesWithContext(aws.BackgroundContext(), input, fn)
23929}
23930
23931// DescribeVpcPeeringConnectionsPagesWithContext same as DescribeVpcPeeringConnectionsPages except
23932// it takes a Context and allows setting request options on the pages.
23933//
23934// The context must be non-nil and will be used for request cancellation. If
23935// the context is nil a panic will occur. In the future the SDK may create
23936// sub-contexts for http.Requests. See https://golang.org/pkg/context/
23937// for more information on using Contexts.
23938func (c *EC2) DescribeVpcPeeringConnectionsPagesWithContext(ctx aws.Context, input *DescribeVpcPeeringConnectionsInput, fn func(*DescribeVpcPeeringConnectionsOutput, bool) bool, opts ...request.Option) error {
23939	p := request.Pagination{
23940		NewRequest: func() (*request.Request, error) {
23941			var inCpy *DescribeVpcPeeringConnectionsInput
23942			if input != nil {
23943				tmp := *input
23944				inCpy = &tmp
23945			}
23946			req, _ := c.DescribeVpcPeeringConnectionsRequest(inCpy)
23947			req.SetContext(ctx)
23948			req.ApplyOptions(opts...)
23949			return req, nil
23950		},
23951	}
23952
23953	for p.Next() {
23954		if !fn(p.Page().(*DescribeVpcPeeringConnectionsOutput), !p.HasNextPage()) {
23955			break
23956		}
23957	}
23958
23959	return p.Err()
23960}
23961
23962const opDescribeVpcs = "DescribeVpcs"
23963
23964// DescribeVpcsRequest generates a "aws/request.Request" representing the
23965// client's request for the DescribeVpcs operation. The "output" return
23966// value will be populated with the request's response once the request completes
23967// successfully.
23968//
23969// Use "Send" method on the returned Request to send the API call to the service.
23970// the "output" return value is not valid until after Send returns without error.
23971//
23972// See DescribeVpcs for more information on using the DescribeVpcs
23973// API call, and error handling.
23974//
23975// This method is useful when you want to inject custom logic or configuration
23976// into the SDK's request lifecycle. Such as custom headers, or retry logic.
23977//
23978//
23979//    // Example sending a request using the DescribeVpcsRequest method.
23980//    req, resp := client.DescribeVpcsRequest(params)
23981//
23982//    err := req.Send()
23983//    if err == nil { // resp is now filled
23984//        fmt.Println(resp)
23985//    }
23986//
23987// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
23988func (c *EC2) DescribeVpcsRequest(input *DescribeVpcsInput) (req *request.Request, output *DescribeVpcsOutput) {
23989	op := &request.Operation{
23990		Name:       opDescribeVpcs,
23991		HTTPMethod: "POST",
23992		HTTPPath:   "/",
23993		Paginator: &request.Paginator{
23994			InputTokens:     []string{"NextToken"},
23995			OutputTokens:    []string{"NextToken"},
23996			LimitToken:      "MaxResults",
23997			TruncationToken: "",
23998		},
23999	}
24000
24001	if input == nil {
24002		input = &DescribeVpcsInput{}
24003	}
24004
24005	output = &DescribeVpcsOutput{}
24006	req = c.newRequest(op, input, output)
24007	return
24008}
24009
24010// DescribeVpcs API operation for Amazon Elastic Compute Cloud.
24011//
24012// Describes one or more of your VPCs.
24013//
24014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24015// with awserr.Error's Code and Message methods to get detailed information about
24016// the error.
24017//
24018// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24019// API operation DescribeVpcs for usage and error information.
24020// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcs
24021func (c *EC2) DescribeVpcs(input *DescribeVpcsInput) (*DescribeVpcsOutput, error) {
24022	req, out := c.DescribeVpcsRequest(input)
24023	return out, req.Send()
24024}
24025
24026// DescribeVpcsWithContext is the same as DescribeVpcs with the addition of
24027// the ability to pass a context and additional request options.
24028//
24029// See DescribeVpcs for details on how to use this API operation.
24030//
24031// The context must be non-nil and will be used for request cancellation. If
24032// the context is nil a panic will occur. In the future the SDK may create
24033// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24034// for more information on using Contexts.
24035func (c *EC2) DescribeVpcsWithContext(ctx aws.Context, input *DescribeVpcsInput, opts ...request.Option) (*DescribeVpcsOutput, error) {
24036	req, out := c.DescribeVpcsRequest(input)
24037	req.SetContext(ctx)
24038	req.ApplyOptions(opts...)
24039	return out, req.Send()
24040}
24041
24042// DescribeVpcsPages iterates over the pages of a DescribeVpcs operation,
24043// calling the "fn" function with the response data for each page. To stop
24044// iterating, return false from the fn function.
24045//
24046// See DescribeVpcs method for more information on how to use this operation.
24047//
24048// Note: This operation can generate multiple requests to a service.
24049//
24050//    // Example iterating over at most 3 pages of a DescribeVpcs operation.
24051//    pageNum := 0
24052//    err := client.DescribeVpcsPages(params,
24053//        func(page *ec2.DescribeVpcsOutput, lastPage bool) bool {
24054//            pageNum++
24055//            fmt.Println(page)
24056//            return pageNum <= 3
24057//        })
24058//
24059func (c *EC2) DescribeVpcsPages(input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool) error {
24060	return c.DescribeVpcsPagesWithContext(aws.BackgroundContext(), input, fn)
24061}
24062
24063// DescribeVpcsPagesWithContext same as DescribeVpcsPages except
24064// it takes a Context and allows setting request options on the pages.
24065//
24066// The context must be non-nil and will be used for request cancellation. If
24067// the context is nil a panic will occur. In the future the SDK may create
24068// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24069// for more information on using Contexts.
24070func (c *EC2) DescribeVpcsPagesWithContext(ctx aws.Context, input *DescribeVpcsInput, fn func(*DescribeVpcsOutput, bool) bool, opts ...request.Option) error {
24071	p := request.Pagination{
24072		NewRequest: func() (*request.Request, error) {
24073			var inCpy *DescribeVpcsInput
24074			if input != nil {
24075				tmp := *input
24076				inCpy = &tmp
24077			}
24078			req, _ := c.DescribeVpcsRequest(inCpy)
24079			req.SetContext(ctx)
24080			req.ApplyOptions(opts...)
24081			return req, nil
24082		},
24083	}
24084
24085	for p.Next() {
24086		if !fn(p.Page().(*DescribeVpcsOutput), !p.HasNextPage()) {
24087			break
24088		}
24089	}
24090
24091	return p.Err()
24092}
24093
24094const opDescribeVpnConnections = "DescribeVpnConnections"
24095
24096// DescribeVpnConnectionsRequest generates a "aws/request.Request" representing the
24097// client's request for the DescribeVpnConnections operation. The "output" return
24098// value will be populated with the request's response once the request completes
24099// successfully.
24100//
24101// Use "Send" method on the returned Request to send the API call to the service.
24102// the "output" return value is not valid until after Send returns without error.
24103//
24104// See DescribeVpnConnections for more information on using the DescribeVpnConnections
24105// API call, and error handling.
24106//
24107// This method is useful when you want to inject custom logic or configuration
24108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24109//
24110//
24111//    // Example sending a request using the DescribeVpnConnectionsRequest method.
24112//    req, resp := client.DescribeVpnConnectionsRequest(params)
24113//
24114//    err := req.Send()
24115//    if err == nil { // resp is now filled
24116//        fmt.Println(resp)
24117//    }
24118//
24119// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
24120func (c *EC2) DescribeVpnConnectionsRequest(input *DescribeVpnConnectionsInput) (req *request.Request, output *DescribeVpnConnectionsOutput) {
24121	op := &request.Operation{
24122		Name:       opDescribeVpnConnections,
24123		HTTPMethod: "POST",
24124		HTTPPath:   "/",
24125	}
24126
24127	if input == nil {
24128		input = &DescribeVpnConnectionsInput{}
24129	}
24130
24131	output = &DescribeVpnConnectionsOutput{}
24132	req = c.newRequest(op, input, output)
24133	return
24134}
24135
24136// DescribeVpnConnections API operation for Amazon Elastic Compute Cloud.
24137//
24138// Describes one or more of your VPN connections.
24139//
24140// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
24141// in the AWS Site-to-Site VPN User Guide.
24142//
24143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24144// with awserr.Error's Code and Message methods to get detailed information about
24145// the error.
24146//
24147// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24148// API operation DescribeVpnConnections for usage and error information.
24149// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnConnections
24150func (c *EC2) DescribeVpnConnections(input *DescribeVpnConnectionsInput) (*DescribeVpnConnectionsOutput, error) {
24151	req, out := c.DescribeVpnConnectionsRequest(input)
24152	return out, req.Send()
24153}
24154
24155// DescribeVpnConnectionsWithContext is the same as DescribeVpnConnections with the addition of
24156// the ability to pass a context and additional request options.
24157//
24158// See DescribeVpnConnections for details on how to use this API operation.
24159//
24160// The context must be non-nil and will be used for request cancellation. If
24161// the context is nil a panic will occur. In the future the SDK may create
24162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24163// for more information on using Contexts.
24164func (c *EC2) DescribeVpnConnectionsWithContext(ctx aws.Context, input *DescribeVpnConnectionsInput, opts ...request.Option) (*DescribeVpnConnectionsOutput, error) {
24165	req, out := c.DescribeVpnConnectionsRequest(input)
24166	req.SetContext(ctx)
24167	req.ApplyOptions(opts...)
24168	return out, req.Send()
24169}
24170
24171const opDescribeVpnGateways = "DescribeVpnGateways"
24172
24173// DescribeVpnGatewaysRequest generates a "aws/request.Request" representing the
24174// client's request for the DescribeVpnGateways operation. The "output" return
24175// value will be populated with the request's response once the request completes
24176// successfully.
24177//
24178// Use "Send" method on the returned Request to send the API call to the service.
24179// the "output" return value is not valid until after Send returns without error.
24180//
24181// See DescribeVpnGateways for more information on using the DescribeVpnGateways
24182// API call, and error handling.
24183//
24184// This method is useful when you want to inject custom logic or configuration
24185// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24186//
24187//
24188//    // Example sending a request using the DescribeVpnGatewaysRequest method.
24189//    req, resp := client.DescribeVpnGatewaysRequest(params)
24190//
24191//    err := req.Send()
24192//    if err == nil { // resp is now filled
24193//        fmt.Println(resp)
24194//    }
24195//
24196// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
24197func (c *EC2) DescribeVpnGatewaysRequest(input *DescribeVpnGatewaysInput) (req *request.Request, output *DescribeVpnGatewaysOutput) {
24198	op := &request.Operation{
24199		Name:       opDescribeVpnGateways,
24200		HTTPMethod: "POST",
24201		HTTPPath:   "/",
24202	}
24203
24204	if input == nil {
24205		input = &DescribeVpnGatewaysInput{}
24206	}
24207
24208	output = &DescribeVpnGatewaysOutput{}
24209	req = c.newRequest(op, input, output)
24210	return
24211}
24212
24213// DescribeVpnGateways API operation for Amazon Elastic Compute Cloud.
24214//
24215// Describes one or more of your virtual private gateways.
24216//
24217// For more information, see AWS Site-to-Site VPN (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
24218// in the AWS Site-to-Site VPN User Guide.
24219//
24220// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24221// with awserr.Error's Code and Message methods to get detailed information about
24222// the error.
24223//
24224// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24225// API operation DescribeVpnGateways for usage and error information.
24226// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpnGateways
24227func (c *EC2) DescribeVpnGateways(input *DescribeVpnGatewaysInput) (*DescribeVpnGatewaysOutput, error) {
24228	req, out := c.DescribeVpnGatewaysRequest(input)
24229	return out, req.Send()
24230}
24231
24232// DescribeVpnGatewaysWithContext is the same as DescribeVpnGateways with the addition of
24233// the ability to pass a context and additional request options.
24234//
24235// See DescribeVpnGateways for details on how to use this API operation.
24236//
24237// The context must be non-nil and will be used for request cancellation. If
24238// the context is nil a panic will occur. In the future the SDK may create
24239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24240// for more information on using Contexts.
24241func (c *EC2) DescribeVpnGatewaysWithContext(ctx aws.Context, input *DescribeVpnGatewaysInput, opts ...request.Option) (*DescribeVpnGatewaysOutput, error) {
24242	req, out := c.DescribeVpnGatewaysRequest(input)
24243	req.SetContext(ctx)
24244	req.ApplyOptions(opts...)
24245	return out, req.Send()
24246}
24247
24248const opDetachClassicLinkVpc = "DetachClassicLinkVpc"
24249
24250// DetachClassicLinkVpcRequest generates a "aws/request.Request" representing the
24251// client's request for the DetachClassicLinkVpc operation. The "output" return
24252// value will be populated with the request's response once the request completes
24253// successfully.
24254//
24255// Use "Send" method on the returned Request to send the API call to the service.
24256// the "output" return value is not valid until after Send returns without error.
24257//
24258// See DetachClassicLinkVpc for more information on using the DetachClassicLinkVpc
24259// API call, and error handling.
24260//
24261// This method is useful when you want to inject custom logic or configuration
24262// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24263//
24264//
24265//    // Example sending a request using the DetachClassicLinkVpcRequest method.
24266//    req, resp := client.DetachClassicLinkVpcRequest(params)
24267//
24268//    err := req.Send()
24269//    if err == nil { // resp is now filled
24270//        fmt.Println(resp)
24271//    }
24272//
24273// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
24274func (c *EC2) DetachClassicLinkVpcRequest(input *DetachClassicLinkVpcInput) (req *request.Request, output *DetachClassicLinkVpcOutput) {
24275	op := &request.Operation{
24276		Name:       opDetachClassicLinkVpc,
24277		HTTPMethod: "POST",
24278		HTTPPath:   "/",
24279	}
24280
24281	if input == nil {
24282		input = &DetachClassicLinkVpcInput{}
24283	}
24284
24285	output = &DetachClassicLinkVpcOutput{}
24286	req = c.newRequest(op, input, output)
24287	return
24288}
24289
24290// DetachClassicLinkVpc API operation for Amazon Elastic Compute Cloud.
24291//
24292// Unlinks (detaches) a linked EC2-Classic instance from a VPC. After the instance
24293// has been unlinked, the VPC security groups are no longer associated with
24294// it. An instance is automatically unlinked from a VPC when it's stopped.
24295//
24296// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24297// with awserr.Error's Code and Message methods to get detailed information about
24298// the error.
24299//
24300// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24301// API operation DetachClassicLinkVpc for usage and error information.
24302// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachClassicLinkVpc
24303func (c *EC2) DetachClassicLinkVpc(input *DetachClassicLinkVpcInput) (*DetachClassicLinkVpcOutput, error) {
24304	req, out := c.DetachClassicLinkVpcRequest(input)
24305	return out, req.Send()
24306}
24307
24308// DetachClassicLinkVpcWithContext is the same as DetachClassicLinkVpc with the addition of
24309// the ability to pass a context and additional request options.
24310//
24311// See DetachClassicLinkVpc for details on how to use this API operation.
24312//
24313// The context must be non-nil and will be used for request cancellation. If
24314// the context is nil a panic will occur. In the future the SDK may create
24315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24316// for more information on using Contexts.
24317func (c *EC2) DetachClassicLinkVpcWithContext(ctx aws.Context, input *DetachClassicLinkVpcInput, opts ...request.Option) (*DetachClassicLinkVpcOutput, error) {
24318	req, out := c.DetachClassicLinkVpcRequest(input)
24319	req.SetContext(ctx)
24320	req.ApplyOptions(opts...)
24321	return out, req.Send()
24322}
24323
24324const opDetachInternetGateway = "DetachInternetGateway"
24325
24326// DetachInternetGatewayRequest generates a "aws/request.Request" representing the
24327// client's request for the DetachInternetGateway operation. The "output" return
24328// value will be populated with the request's response once the request completes
24329// successfully.
24330//
24331// Use "Send" method on the returned Request to send the API call to the service.
24332// the "output" return value is not valid until after Send returns without error.
24333//
24334// See DetachInternetGateway for more information on using the DetachInternetGateway
24335// API call, and error handling.
24336//
24337// This method is useful when you want to inject custom logic or configuration
24338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24339//
24340//
24341//    // Example sending a request using the DetachInternetGatewayRequest method.
24342//    req, resp := client.DetachInternetGatewayRequest(params)
24343//
24344//    err := req.Send()
24345//    if err == nil { // resp is now filled
24346//        fmt.Println(resp)
24347//    }
24348//
24349// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
24350func (c *EC2) DetachInternetGatewayRequest(input *DetachInternetGatewayInput) (req *request.Request, output *DetachInternetGatewayOutput) {
24351	op := &request.Operation{
24352		Name:       opDetachInternetGateway,
24353		HTTPMethod: "POST",
24354		HTTPPath:   "/",
24355	}
24356
24357	if input == nil {
24358		input = &DetachInternetGatewayInput{}
24359	}
24360
24361	output = &DetachInternetGatewayOutput{}
24362	req = c.newRequest(op, input, output)
24363	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
24364	return
24365}
24366
24367// DetachInternetGateway API operation for Amazon Elastic Compute Cloud.
24368//
24369// Detaches an internet gateway from a VPC, disabling connectivity between the
24370// internet and the VPC. The VPC must not contain any running instances with
24371// Elastic IP addresses or public IPv4 addresses.
24372//
24373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24374// with awserr.Error's Code and Message methods to get detailed information about
24375// the error.
24376//
24377// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24378// API operation DetachInternetGateway for usage and error information.
24379// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachInternetGateway
24380func (c *EC2) DetachInternetGateway(input *DetachInternetGatewayInput) (*DetachInternetGatewayOutput, error) {
24381	req, out := c.DetachInternetGatewayRequest(input)
24382	return out, req.Send()
24383}
24384
24385// DetachInternetGatewayWithContext is the same as DetachInternetGateway with the addition of
24386// the ability to pass a context and additional request options.
24387//
24388// See DetachInternetGateway for details on how to use this API operation.
24389//
24390// The context must be non-nil and will be used for request cancellation. If
24391// the context is nil a panic will occur. In the future the SDK may create
24392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24393// for more information on using Contexts.
24394func (c *EC2) DetachInternetGatewayWithContext(ctx aws.Context, input *DetachInternetGatewayInput, opts ...request.Option) (*DetachInternetGatewayOutput, error) {
24395	req, out := c.DetachInternetGatewayRequest(input)
24396	req.SetContext(ctx)
24397	req.ApplyOptions(opts...)
24398	return out, req.Send()
24399}
24400
24401const opDetachNetworkInterface = "DetachNetworkInterface"
24402
24403// DetachNetworkInterfaceRequest generates a "aws/request.Request" representing the
24404// client's request for the DetachNetworkInterface operation. The "output" return
24405// value will be populated with the request's response once the request completes
24406// successfully.
24407//
24408// Use "Send" method on the returned Request to send the API call to the service.
24409// the "output" return value is not valid until after Send returns without error.
24410//
24411// See DetachNetworkInterface for more information on using the DetachNetworkInterface
24412// API call, and error handling.
24413//
24414// This method is useful when you want to inject custom logic or configuration
24415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24416//
24417//
24418//    // Example sending a request using the DetachNetworkInterfaceRequest method.
24419//    req, resp := client.DetachNetworkInterfaceRequest(params)
24420//
24421//    err := req.Send()
24422//    if err == nil { // resp is now filled
24423//        fmt.Println(resp)
24424//    }
24425//
24426// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
24427func (c *EC2) DetachNetworkInterfaceRequest(input *DetachNetworkInterfaceInput) (req *request.Request, output *DetachNetworkInterfaceOutput) {
24428	op := &request.Operation{
24429		Name:       opDetachNetworkInterface,
24430		HTTPMethod: "POST",
24431		HTTPPath:   "/",
24432	}
24433
24434	if input == nil {
24435		input = &DetachNetworkInterfaceInput{}
24436	}
24437
24438	output = &DetachNetworkInterfaceOutput{}
24439	req = c.newRequest(op, input, output)
24440	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
24441	return
24442}
24443
24444// DetachNetworkInterface API operation for Amazon Elastic Compute Cloud.
24445//
24446// Detaches a network interface from an instance.
24447//
24448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24449// with awserr.Error's Code and Message methods to get detailed information about
24450// the error.
24451//
24452// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24453// API operation DetachNetworkInterface for usage and error information.
24454// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachNetworkInterface
24455func (c *EC2) DetachNetworkInterface(input *DetachNetworkInterfaceInput) (*DetachNetworkInterfaceOutput, error) {
24456	req, out := c.DetachNetworkInterfaceRequest(input)
24457	return out, req.Send()
24458}
24459
24460// DetachNetworkInterfaceWithContext is the same as DetachNetworkInterface with the addition of
24461// the ability to pass a context and additional request options.
24462//
24463// See DetachNetworkInterface for details on how to use this API operation.
24464//
24465// The context must be non-nil and will be used for request cancellation. If
24466// the context is nil a panic will occur. In the future the SDK may create
24467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24468// for more information on using Contexts.
24469func (c *EC2) DetachNetworkInterfaceWithContext(ctx aws.Context, input *DetachNetworkInterfaceInput, opts ...request.Option) (*DetachNetworkInterfaceOutput, error) {
24470	req, out := c.DetachNetworkInterfaceRequest(input)
24471	req.SetContext(ctx)
24472	req.ApplyOptions(opts...)
24473	return out, req.Send()
24474}
24475
24476const opDetachVolume = "DetachVolume"
24477
24478// DetachVolumeRequest generates a "aws/request.Request" representing the
24479// client's request for the DetachVolume operation. The "output" return
24480// value will be populated with the request's response once the request completes
24481// successfully.
24482//
24483// Use "Send" method on the returned Request to send the API call to the service.
24484// the "output" return value is not valid until after Send returns without error.
24485//
24486// See DetachVolume for more information on using the DetachVolume
24487// API call, and error handling.
24488//
24489// This method is useful when you want to inject custom logic or configuration
24490// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24491//
24492//
24493//    // Example sending a request using the DetachVolumeRequest method.
24494//    req, resp := client.DetachVolumeRequest(params)
24495//
24496//    err := req.Send()
24497//    if err == nil { // resp is now filled
24498//        fmt.Println(resp)
24499//    }
24500//
24501// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
24502func (c *EC2) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *VolumeAttachment) {
24503	op := &request.Operation{
24504		Name:       opDetachVolume,
24505		HTTPMethod: "POST",
24506		HTTPPath:   "/",
24507	}
24508
24509	if input == nil {
24510		input = &DetachVolumeInput{}
24511	}
24512
24513	output = &VolumeAttachment{}
24514	req = c.newRequest(op, input, output)
24515	return
24516}
24517
24518// DetachVolume API operation for Amazon Elastic Compute Cloud.
24519//
24520// Detaches an EBS volume from an instance. Make sure to unmount any file systems
24521// on the device within your operating system before detaching the volume. Failure
24522// to do so can result in the volume becoming stuck in the busy state while
24523// detaching. If this happens, detachment can be delayed indefinitely until
24524// you unmount the volume, force detachment, reboot the instance, or all three.
24525// If an EBS volume is the root device of an instance, it can't be detached
24526// while the instance is running. To detach the root volume, stop the instance
24527// first.
24528//
24529// When a volume with an AWS Marketplace product code is detached from an instance,
24530// the product code is no longer associated with the instance.
24531//
24532// For more information, see Detaching an Amazon EBS Volume (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-detaching-volume.html)
24533// in the Amazon Elastic Compute Cloud User Guide.
24534//
24535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24536// with awserr.Error's Code and Message methods to get detailed information about
24537// the error.
24538//
24539// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24540// API operation DetachVolume for usage and error information.
24541// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVolume
24542func (c *EC2) DetachVolume(input *DetachVolumeInput) (*VolumeAttachment, error) {
24543	req, out := c.DetachVolumeRequest(input)
24544	return out, req.Send()
24545}
24546
24547// DetachVolumeWithContext is the same as DetachVolume with the addition of
24548// the ability to pass a context and additional request options.
24549//
24550// See DetachVolume for details on how to use this API operation.
24551//
24552// The context must be non-nil and will be used for request cancellation. If
24553// the context is nil a panic will occur. In the future the SDK may create
24554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24555// for more information on using Contexts.
24556func (c *EC2) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*VolumeAttachment, error) {
24557	req, out := c.DetachVolumeRequest(input)
24558	req.SetContext(ctx)
24559	req.ApplyOptions(opts...)
24560	return out, req.Send()
24561}
24562
24563const opDetachVpnGateway = "DetachVpnGateway"
24564
24565// DetachVpnGatewayRequest generates a "aws/request.Request" representing the
24566// client's request for the DetachVpnGateway operation. The "output" return
24567// value will be populated with the request's response once the request completes
24568// successfully.
24569//
24570// Use "Send" method on the returned Request to send the API call to the service.
24571// the "output" return value is not valid until after Send returns without error.
24572//
24573// See DetachVpnGateway for more information on using the DetachVpnGateway
24574// API call, and error handling.
24575//
24576// This method is useful when you want to inject custom logic or configuration
24577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24578//
24579//
24580//    // Example sending a request using the DetachVpnGatewayRequest method.
24581//    req, resp := client.DetachVpnGatewayRequest(params)
24582//
24583//    err := req.Send()
24584//    if err == nil { // resp is now filled
24585//        fmt.Println(resp)
24586//    }
24587//
24588// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
24589func (c *EC2) DetachVpnGatewayRequest(input *DetachVpnGatewayInput) (req *request.Request, output *DetachVpnGatewayOutput) {
24590	op := &request.Operation{
24591		Name:       opDetachVpnGateway,
24592		HTTPMethod: "POST",
24593		HTTPPath:   "/",
24594	}
24595
24596	if input == nil {
24597		input = &DetachVpnGatewayInput{}
24598	}
24599
24600	output = &DetachVpnGatewayOutput{}
24601	req = c.newRequest(op, input, output)
24602	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
24603	return
24604}
24605
24606// DetachVpnGateway API operation for Amazon Elastic Compute Cloud.
24607//
24608// Detaches a virtual private gateway from a VPC. You do this if you're planning
24609// to turn off the VPC and not use it anymore. You can confirm a virtual private
24610// gateway has been completely detached from a VPC by describing the virtual
24611// private gateway (any attachments to the virtual private gateway are also
24612// described).
24613//
24614// You must wait for the attachment's state to switch to detached before you
24615// can delete the VPC or attach a different VPC to the virtual private gateway.
24616//
24617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24618// with awserr.Error's Code and Message methods to get detailed information about
24619// the error.
24620//
24621// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24622// API operation DetachVpnGateway for usage and error information.
24623// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DetachVpnGateway
24624func (c *EC2) DetachVpnGateway(input *DetachVpnGatewayInput) (*DetachVpnGatewayOutput, error) {
24625	req, out := c.DetachVpnGatewayRequest(input)
24626	return out, req.Send()
24627}
24628
24629// DetachVpnGatewayWithContext is the same as DetachVpnGateway with the addition of
24630// the ability to pass a context and additional request options.
24631//
24632// See DetachVpnGateway for details on how to use this API operation.
24633//
24634// The context must be non-nil and will be used for request cancellation. If
24635// the context is nil a panic will occur. In the future the SDK may create
24636// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24637// for more information on using Contexts.
24638func (c *EC2) DetachVpnGatewayWithContext(ctx aws.Context, input *DetachVpnGatewayInput, opts ...request.Option) (*DetachVpnGatewayOutput, error) {
24639	req, out := c.DetachVpnGatewayRequest(input)
24640	req.SetContext(ctx)
24641	req.ApplyOptions(opts...)
24642	return out, req.Send()
24643}
24644
24645const opDisableEbsEncryptionByDefault = "DisableEbsEncryptionByDefault"
24646
24647// DisableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
24648// client's request for the DisableEbsEncryptionByDefault operation. The "output" return
24649// value will be populated with the request's response once the request completes
24650// successfully.
24651//
24652// Use "Send" method on the returned Request to send the API call to the service.
24653// the "output" return value is not valid until after Send returns without error.
24654//
24655// See DisableEbsEncryptionByDefault for more information on using the DisableEbsEncryptionByDefault
24656// API call, and error handling.
24657//
24658// This method is useful when you want to inject custom logic or configuration
24659// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24660//
24661//
24662//    // Example sending a request using the DisableEbsEncryptionByDefaultRequest method.
24663//    req, resp := client.DisableEbsEncryptionByDefaultRequest(params)
24664//
24665//    err := req.Send()
24666//    if err == nil { // resp is now filled
24667//        fmt.Println(resp)
24668//    }
24669//
24670// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
24671func (c *EC2) DisableEbsEncryptionByDefaultRequest(input *DisableEbsEncryptionByDefaultInput) (req *request.Request, output *DisableEbsEncryptionByDefaultOutput) {
24672	op := &request.Operation{
24673		Name:       opDisableEbsEncryptionByDefault,
24674		HTTPMethod: "POST",
24675		HTTPPath:   "/",
24676	}
24677
24678	if input == nil {
24679		input = &DisableEbsEncryptionByDefaultInput{}
24680	}
24681
24682	output = &DisableEbsEncryptionByDefaultOutput{}
24683	req = c.newRequest(op, input, output)
24684	return
24685}
24686
24687// DisableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
24688//
24689// Disables EBS encryption by default for your account in the current Region.
24690//
24691// After you disable encryption by default, you can still create encrypted volumes
24692// by enabling encryption when you create each volume.
24693//
24694// Disabling encryption by default does not change the encryption status of
24695// your existing volumes.
24696//
24697// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
24698// in the Amazon Elastic Compute Cloud User Guide.
24699//
24700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24701// with awserr.Error's Code and Message methods to get detailed information about
24702// the error.
24703//
24704// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24705// API operation DisableEbsEncryptionByDefault for usage and error information.
24706// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableEbsEncryptionByDefault
24707func (c *EC2) DisableEbsEncryptionByDefault(input *DisableEbsEncryptionByDefaultInput) (*DisableEbsEncryptionByDefaultOutput, error) {
24708	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
24709	return out, req.Send()
24710}
24711
24712// DisableEbsEncryptionByDefaultWithContext is the same as DisableEbsEncryptionByDefault with the addition of
24713// the ability to pass a context and additional request options.
24714//
24715// See DisableEbsEncryptionByDefault for details on how to use this API operation.
24716//
24717// The context must be non-nil and will be used for request cancellation. If
24718// the context is nil a panic will occur. In the future the SDK may create
24719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24720// for more information on using Contexts.
24721func (c *EC2) DisableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *DisableEbsEncryptionByDefaultInput, opts ...request.Option) (*DisableEbsEncryptionByDefaultOutput, error) {
24722	req, out := c.DisableEbsEncryptionByDefaultRequest(input)
24723	req.SetContext(ctx)
24724	req.ApplyOptions(opts...)
24725	return out, req.Send()
24726}
24727
24728const opDisableFastSnapshotRestores = "DisableFastSnapshotRestores"
24729
24730// DisableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
24731// client's request for the DisableFastSnapshotRestores operation. The "output" return
24732// value will be populated with the request's response once the request completes
24733// successfully.
24734//
24735// Use "Send" method on the returned Request to send the API call to the service.
24736// the "output" return value is not valid until after Send returns without error.
24737//
24738// See DisableFastSnapshotRestores for more information on using the DisableFastSnapshotRestores
24739// API call, and error handling.
24740//
24741// This method is useful when you want to inject custom logic or configuration
24742// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24743//
24744//
24745//    // Example sending a request using the DisableFastSnapshotRestoresRequest method.
24746//    req, resp := client.DisableFastSnapshotRestoresRequest(params)
24747//
24748//    err := req.Send()
24749//    if err == nil { // resp is now filled
24750//        fmt.Println(resp)
24751//    }
24752//
24753// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
24754func (c *EC2) DisableFastSnapshotRestoresRequest(input *DisableFastSnapshotRestoresInput) (req *request.Request, output *DisableFastSnapshotRestoresOutput) {
24755	op := &request.Operation{
24756		Name:       opDisableFastSnapshotRestores,
24757		HTTPMethod: "POST",
24758		HTTPPath:   "/",
24759	}
24760
24761	if input == nil {
24762		input = &DisableFastSnapshotRestoresInput{}
24763	}
24764
24765	output = &DisableFastSnapshotRestoresOutput{}
24766	req = c.newRequest(op, input, output)
24767	return
24768}
24769
24770// DisableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
24771//
24772// Disables fast snapshot restores for the specified snapshots in the specified
24773// Availability Zones.
24774//
24775// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24776// with awserr.Error's Code and Message methods to get detailed information about
24777// the error.
24778//
24779// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24780// API operation DisableFastSnapshotRestores for usage and error information.
24781// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableFastSnapshotRestores
24782func (c *EC2) DisableFastSnapshotRestores(input *DisableFastSnapshotRestoresInput) (*DisableFastSnapshotRestoresOutput, error) {
24783	req, out := c.DisableFastSnapshotRestoresRequest(input)
24784	return out, req.Send()
24785}
24786
24787// DisableFastSnapshotRestoresWithContext is the same as DisableFastSnapshotRestores with the addition of
24788// the ability to pass a context and additional request options.
24789//
24790// See DisableFastSnapshotRestores for details on how to use this API operation.
24791//
24792// The context must be non-nil and will be used for request cancellation. If
24793// the context is nil a panic will occur. In the future the SDK may create
24794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24795// for more information on using Contexts.
24796func (c *EC2) DisableFastSnapshotRestoresWithContext(ctx aws.Context, input *DisableFastSnapshotRestoresInput, opts ...request.Option) (*DisableFastSnapshotRestoresOutput, error) {
24797	req, out := c.DisableFastSnapshotRestoresRequest(input)
24798	req.SetContext(ctx)
24799	req.ApplyOptions(opts...)
24800	return out, req.Send()
24801}
24802
24803const opDisableTransitGatewayRouteTablePropagation = "DisableTransitGatewayRouteTablePropagation"
24804
24805// DisableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
24806// client's request for the DisableTransitGatewayRouteTablePropagation operation. The "output" return
24807// value will be populated with the request's response once the request completes
24808// successfully.
24809//
24810// Use "Send" method on the returned Request to send the API call to the service.
24811// the "output" return value is not valid until after Send returns without error.
24812//
24813// See DisableTransitGatewayRouteTablePropagation for more information on using the DisableTransitGatewayRouteTablePropagation
24814// API call, and error handling.
24815//
24816// This method is useful when you want to inject custom logic or configuration
24817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24818//
24819//
24820//    // Example sending a request using the DisableTransitGatewayRouteTablePropagationRequest method.
24821//    req, resp := client.DisableTransitGatewayRouteTablePropagationRequest(params)
24822//
24823//    err := req.Send()
24824//    if err == nil { // resp is now filled
24825//        fmt.Println(resp)
24826//    }
24827//
24828// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
24829func (c *EC2) DisableTransitGatewayRouteTablePropagationRequest(input *DisableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *DisableTransitGatewayRouteTablePropagationOutput) {
24830	op := &request.Operation{
24831		Name:       opDisableTransitGatewayRouteTablePropagation,
24832		HTTPMethod: "POST",
24833		HTTPPath:   "/",
24834	}
24835
24836	if input == nil {
24837		input = &DisableTransitGatewayRouteTablePropagationInput{}
24838	}
24839
24840	output = &DisableTransitGatewayRouteTablePropagationOutput{}
24841	req = c.newRequest(op, input, output)
24842	return
24843}
24844
24845// DisableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
24846//
24847// Disables the specified resource attachment from propagating routes to the
24848// specified propagation route table.
24849//
24850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24851// with awserr.Error's Code and Message methods to get detailed information about
24852// the error.
24853//
24854// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24855// API operation DisableTransitGatewayRouteTablePropagation for usage and error information.
24856// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableTransitGatewayRouteTablePropagation
24857func (c *EC2) DisableTransitGatewayRouteTablePropagation(input *DisableTransitGatewayRouteTablePropagationInput) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
24858	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
24859	return out, req.Send()
24860}
24861
24862// DisableTransitGatewayRouteTablePropagationWithContext is the same as DisableTransitGatewayRouteTablePropagation with the addition of
24863// the ability to pass a context and additional request options.
24864//
24865// See DisableTransitGatewayRouteTablePropagation for details on how to use this API operation.
24866//
24867// The context must be non-nil and will be used for request cancellation. If
24868// the context is nil a panic will occur. In the future the SDK may create
24869// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24870// for more information on using Contexts.
24871func (c *EC2) DisableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *DisableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*DisableTransitGatewayRouteTablePropagationOutput, error) {
24872	req, out := c.DisableTransitGatewayRouteTablePropagationRequest(input)
24873	req.SetContext(ctx)
24874	req.ApplyOptions(opts...)
24875	return out, req.Send()
24876}
24877
24878const opDisableVgwRoutePropagation = "DisableVgwRoutePropagation"
24879
24880// DisableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
24881// client's request for the DisableVgwRoutePropagation operation. The "output" return
24882// value will be populated with the request's response once the request completes
24883// successfully.
24884//
24885// Use "Send" method on the returned Request to send the API call to the service.
24886// the "output" return value is not valid until after Send returns without error.
24887//
24888// See DisableVgwRoutePropagation for more information on using the DisableVgwRoutePropagation
24889// API call, and error handling.
24890//
24891// This method is useful when you want to inject custom logic or configuration
24892// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24893//
24894//
24895//    // Example sending a request using the DisableVgwRoutePropagationRequest method.
24896//    req, resp := client.DisableVgwRoutePropagationRequest(params)
24897//
24898//    err := req.Send()
24899//    if err == nil { // resp is now filled
24900//        fmt.Println(resp)
24901//    }
24902//
24903// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
24904func (c *EC2) DisableVgwRoutePropagationRequest(input *DisableVgwRoutePropagationInput) (req *request.Request, output *DisableVgwRoutePropagationOutput) {
24905	op := &request.Operation{
24906		Name:       opDisableVgwRoutePropagation,
24907		HTTPMethod: "POST",
24908		HTTPPath:   "/",
24909	}
24910
24911	if input == nil {
24912		input = &DisableVgwRoutePropagationInput{}
24913	}
24914
24915	output = &DisableVgwRoutePropagationOutput{}
24916	req = c.newRequest(op, input, output)
24917	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
24918	return
24919}
24920
24921// DisableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
24922//
24923// Disables a virtual private gateway (VGW) from propagating routes to a specified
24924// route table of a VPC.
24925//
24926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
24927// with awserr.Error's Code and Message methods to get detailed information about
24928// the error.
24929//
24930// See the AWS API reference guide for Amazon Elastic Compute Cloud's
24931// API operation DisableVgwRoutePropagation for usage and error information.
24932// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVgwRoutePropagation
24933func (c *EC2) DisableVgwRoutePropagation(input *DisableVgwRoutePropagationInput) (*DisableVgwRoutePropagationOutput, error) {
24934	req, out := c.DisableVgwRoutePropagationRequest(input)
24935	return out, req.Send()
24936}
24937
24938// DisableVgwRoutePropagationWithContext is the same as DisableVgwRoutePropagation with the addition of
24939// the ability to pass a context and additional request options.
24940//
24941// See DisableVgwRoutePropagation for details on how to use this API operation.
24942//
24943// The context must be non-nil and will be used for request cancellation. If
24944// the context is nil a panic will occur. In the future the SDK may create
24945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
24946// for more information on using Contexts.
24947func (c *EC2) DisableVgwRoutePropagationWithContext(ctx aws.Context, input *DisableVgwRoutePropagationInput, opts ...request.Option) (*DisableVgwRoutePropagationOutput, error) {
24948	req, out := c.DisableVgwRoutePropagationRequest(input)
24949	req.SetContext(ctx)
24950	req.ApplyOptions(opts...)
24951	return out, req.Send()
24952}
24953
24954const opDisableVpcClassicLink = "DisableVpcClassicLink"
24955
24956// DisableVpcClassicLinkRequest generates a "aws/request.Request" representing the
24957// client's request for the DisableVpcClassicLink operation. The "output" return
24958// value will be populated with the request's response once the request completes
24959// successfully.
24960//
24961// Use "Send" method on the returned Request to send the API call to the service.
24962// the "output" return value is not valid until after Send returns without error.
24963//
24964// See DisableVpcClassicLink for more information on using the DisableVpcClassicLink
24965// API call, and error handling.
24966//
24967// This method is useful when you want to inject custom logic or configuration
24968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
24969//
24970//
24971//    // Example sending a request using the DisableVpcClassicLinkRequest method.
24972//    req, resp := client.DisableVpcClassicLinkRequest(params)
24973//
24974//    err := req.Send()
24975//    if err == nil { // resp is now filled
24976//        fmt.Println(resp)
24977//    }
24978//
24979// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
24980func (c *EC2) DisableVpcClassicLinkRequest(input *DisableVpcClassicLinkInput) (req *request.Request, output *DisableVpcClassicLinkOutput) {
24981	op := &request.Operation{
24982		Name:       opDisableVpcClassicLink,
24983		HTTPMethod: "POST",
24984		HTTPPath:   "/",
24985	}
24986
24987	if input == nil {
24988		input = &DisableVpcClassicLinkInput{}
24989	}
24990
24991	output = &DisableVpcClassicLinkOutput{}
24992	req = c.newRequest(op, input, output)
24993	return
24994}
24995
24996// DisableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
24997//
24998// Disables ClassicLink for a VPC. You cannot disable ClassicLink for a VPC
24999// that has EC2-Classic instances linked to it.
25000//
25001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25002// with awserr.Error's Code and Message methods to get detailed information about
25003// the error.
25004//
25005// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25006// API operation DisableVpcClassicLink for usage and error information.
25007// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLink
25008func (c *EC2) DisableVpcClassicLink(input *DisableVpcClassicLinkInput) (*DisableVpcClassicLinkOutput, error) {
25009	req, out := c.DisableVpcClassicLinkRequest(input)
25010	return out, req.Send()
25011}
25012
25013// DisableVpcClassicLinkWithContext is the same as DisableVpcClassicLink with the addition of
25014// the ability to pass a context and additional request options.
25015//
25016// See DisableVpcClassicLink for details on how to use this API operation.
25017//
25018// The context must be non-nil and will be used for request cancellation. If
25019// the context is nil a panic will occur. In the future the SDK may create
25020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25021// for more information on using Contexts.
25022func (c *EC2) DisableVpcClassicLinkWithContext(ctx aws.Context, input *DisableVpcClassicLinkInput, opts ...request.Option) (*DisableVpcClassicLinkOutput, error) {
25023	req, out := c.DisableVpcClassicLinkRequest(input)
25024	req.SetContext(ctx)
25025	req.ApplyOptions(opts...)
25026	return out, req.Send()
25027}
25028
25029const opDisableVpcClassicLinkDnsSupport = "DisableVpcClassicLinkDnsSupport"
25030
25031// DisableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
25032// client's request for the DisableVpcClassicLinkDnsSupport operation. The "output" return
25033// value will be populated with the request's response once the request completes
25034// successfully.
25035//
25036// Use "Send" method on the returned Request to send the API call to the service.
25037// the "output" return value is not valid until after Send returns without error.
25038//
25039// See DisableVpcClassicLinkDnsSupport for more information on using the DisableVpcClassicLinkDnsSupport
25040// API call, and error handling.
25041//
25042// This method is useful when you want to inject custom logic or configuration
25043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25044//
25045//
25046//    // Example sending a request using the DisableVpcClassicLinkDnsSupportRequest method.
25047//    req, resp := client.DisableVpcClassicLinkDnsSupportRequest(params)
25048//
25049//    err := req.Send()
25050//    if err == nil { // resp is now filled
25051//        fmt.Println(resp)
25052//    }
25053//
25054// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
25055func (c *EC2) DisableVpcClassicLinkDnsSupportRequest(input *DisableVpcClassicLinkDnsSupportInput) (req *request.Request, output *DisableVpcClassicLinkDnsSupportOutput) {
25056	op := &request.Operation{
25057		Name:       opDisableVpcClassicLinkDnsSupport,
25058		HTTPMethod: "POST",
25059		HTTPPath:   "/",
25060	}
25061
25062	if input == nil {
25063		input = &DisableVpcClassicLinkDnsSupportInput{}
25064	}
25065
25066	output = &DisableVpcClassicLinkDnsSupportOutput{}
25067	req = c.newRequest(op, input, output)
25068	return
25069}
25070
25071// DisableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
25072//
25073// Disables ClassicLink DNS support for a VPC. If disabled, DNS hostnames resolve
25074// to public IP addresses when addressed between a linked EC2-Classic instance
25075// and instances in the VPC to which it's linked. For more information, see
25076// ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
25077// in the Amazon Elastic Compute Cloud User Guide.
25078//
25079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25080// with awserr.Error's Code and Message methods to get detailed information about
25081// the error.
25082//
25083// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25084// API operation DisableVpcClassicLinkDnsSupport for usage and error information.
25085// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisableVpcClassicLinkDnsSupport
25086func (c *EC2) DisableVpcClassicLinkDnsSupport(input *DisableVpcClassicLinkDnsSupportInput) (*DisableVpcClassicLinkDnsSupportOutput, error) {
25087	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
25088	return out, req.Send()
25089}
25090
25091// DisableVpcClassicLinkDnsSupportWithContext is the same as DisableVpcClassicLinkDnsSupport with the addition of
25092// the ability to pass a context and additional request options.
25093//
25094// See DisableVpcClassicLinkDnsSupport for details on how to use this API operation.
25095//
25096// The context must be non-nil and will be used for request cancellation. If
25097// the context is nil a panic will occur. In the future the SDK may create
25098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25099// for more information on using Contexts.
25100func (c *EC2) DisableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *DisableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*DisableVpcClassicLinkDnsSupportOutput, error) {
25101	req, out := c.DisableVpcClassicLinkDnsSupportRequest(input)
25102	req.SetContext(ctx)
25103	req.ApplyOptions(opts...)
25104	return out, req.Send()
25105}
25106
25107const opDisassociateAddress = "DisassociateAddress"
25108
25109// DisassociateAddressRequest generates a "aws/request.Request" representing the
25110// client's request for the DisassociateAddress operation. The "output" return
25111// value will be populated with the request's response once the request completes
25112// successfully.
25113//
25114// Use "Send" method on the returned Request to send the API call to the service.
25115// the "output" return value is not valid until after Send returns without error.
25116//
25117// See DisassociateAddress for more information on using the DisassociateAddress
25118// API call, and error handling.
25119//
25120// This method is useful when you want to inject custom logic or configuration
25121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25122//
25123//
25124//    // Example sending a request using the DisassociateAddressRequest method.
25125//    req, resp := client.DisassociateAddressRequest(params)
25126//
25127//    err := req.Send()
25128//    if err == nil { // resp is now filled
25129//        fmt.Println(resp)
25130//    }
25131//
25132// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
25133func (c *EC2) DisassociateAddressRequest(input *DisassociateAddressInput) (req *request.Request, output *DisassociateAddressOutput) {
25134	op := &request.Operation{
25135		Name:       opDisassociateAddress,
25136		HTTPMethod: "POST",
25137		HTTPPath:   "/",
25138	}
25139
25140	if input == nil {
25141		input = &DisassociateAddressInput{}
25142	}
25143
25144	output = &DisassociateAddressOutput{}
25145	req = c.newRequest(op, input, output)
25146	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25147	return
25148}
25149
25150// DisassociateAddress API operation for Amazon Elastic Compute Cloud.
25151//
25152// Disassociates an Elastic IP address from the instance or network interface
25153// it's associated with.
25154//
25155// An Elastic IP address is for use in either the EC2-Classic platform or in
25156// a VPC. For more information, see Elastic IP Addresses (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)
25157// in the Amazon Elastic Compute Cloud User Guide.
25158//
25159// This is an idempotent operation. If you perform the operation more than once,
25160// Amazon EC2 doesn't return an error.
25161//
25162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25163// with awserr.Error's Code and Message methods to get detailed information about
25164// the error.
25165//
25166// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25167// API operation DisassociateAddress for usage and error information.
25168// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateAddress
25169func (c *EC2) DisassociateAddress(input *DisassociateAddressInput) (*DisassociateAddressOutput, error) {
25170	req, out := c.DisassociateAddressRequest(input)
25171	return out, req.Send()
25172}
25173
25174// DisassociateAddressWithContext is the same as DisassociateAddress with the addition of
25175// the ability to pass a context and additional request options.
25176//
25177// See DisassociateAddress for details on how to use this API operation.
25178//
25179// The context must be non-nil and will be used for request cancellation. If
25180// the context is nil a panic will occur. In the future the SDK may create
25181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25182// for more information on using Contexts.
25183func (c *EC2) DisassociateAddressWithContext(ctx aws.Context, input *DisassociateAddressInput, opts ...request.Option) (*DisassociateAddressOutput, error) {
25184	req, out := c.DisassociateAddressRequest(input)
25185	req.SetContext(ctx)
25186	req.ApplyOptions(opts...)
25187	return out, req.Send()
25188}
25189
25190const opDisassociateClientVpnTargetNetwork = "DisassociateClientVpnTargetNetwork"
25191
25192// DisassociateClientVpnTargetNetworkRequest generates a "aws/request.Request" representing the
25193// client's request for the DisassociateClientVpnTargetNetwork operation. The "output" return
25194// value will be populated with the request's response once the request completes
25195// successfully.
25196//
25197// Use "Send" method on the returned Request to send the API call to the service.
25198// the "output" return value is not valid until after Send returns without error.
25199//
25200// See DisassociateClientVpnTargetNetwork for more information on using the DisassociateClientVpnTargetNetwork
25201// API call, and error handling.
25202//
25203// This method is useful when you want to inject custom logic or configuration
25204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25205//
25206//
25207//    // Example sending a request using the DisassociateClientVpnTargetNetworkRequest method.
25208//    req, resp := client.DisassociateClientVpnTargetNetworkRequest(params)
25209//
25210//    err := req.Send()
25211//    if err == nil { // resp is now filled
25212//        fmt.Println(resp)
25213//    }
25214//
25215// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
25216func (c *EC2) DisassociateClientVpnTargetNetworkRequest(input *DisassociateClientVpnTargetNetworkInput) (req *request.Request, output *DisassociateClientVpnTargetNetworkOutput) {
25217	op := &request.Operation{
25218		Name:       opDisassociateClientVpnTargetNetwork,
25219		HTTPMethod: "POST",
25220		HTTPPath:   "/",
25221	}
25222
25223	if input == nil {
25224		input = &DisassociateClientVpnTargetNetworkInput{}
25225	}
25226
25227	output = &DisassociateClientVpnTargetNetworkOutput{}
25228	req = c.newRequest(op, input, output)
25229	return
25230}
25231
25232// DisassociateClientVpnTargetNetwork API operation for Amazon Elastic Compute Cloud.
25233//
25234// Disassociates a target network from the specified Client VPN endpoint. When
25235// you disassociate the last target network from a Client VPN, the following
25236// happens:
25237//
25238//    * The route that was automatically added for the VPC is deleted
25239//
25240//    * All active client connections are terminated
25241//
25242//    * New client connections are disallowed
25243//
25244//    * The Client VPN endpoint's status changes to pending-associate
25245//
25246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25247// with awserr.Error's Code and Message methods to get detailed information about
25248// the error.
25249//
25250// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25251// API operation DisassociateClientVpnTargetNetwork for usage and error information.
25252// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateClientVpnTargetNetwork
25253func (c *EC2) DisassociateClientVpnTargetNetwork(input *DisassociateClientVpnTargetNetworkInput) (*DisassociateClientVpnTargetNetworkOutput, error) {
25254	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
25255	return out, req.Send()
25256}
25257
25258// DisassociateClientVpnTargetNetworkWithContext is the same as DisassociateClientVpnTargetNetwork with the addition of
25259// the ability to pass a context and additional request options.
25260//
25261// See DisassociateClientVpnTargetNetwork for details on how to use this API operation.
25262//
25263// The context must be non-nil and will be used for request cancellation. If
25264// the context is nil a panic will occur. In the future the SDK may create
25265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25266// for more information on using Contexts.
25267func (c *EC2) DisassociateClientVpnTargetNetworkWithContext(ctx aws.Context, input *DisassociateClientVpnTargetNetworkInput, opts ...request.Option) (*DisassociateClientVpnTargetNetworkOutput, error) {
25268	req, out := c.DisassociateClientVpnTargetNetworkRequest(input)
25269	req.SetContext(ctx)
25270	req.ApplyOptions(opts...)
25271	return out, req.Send()
25272}
25273
25274const opDisassociateIamInstanceProfile = "DisassociateIamInstanceProfile"
25275
25276// DisassociateIamInstanceProfileRequest generates a "aws/request.Request" representing the
25277// client's request for the DisassociateIamInstanceProfile operation. The "output" return
25278// value will be populated with the request's response once the request completes
25279// successfully.
25280//
25281// Use "Send" method on the returned Request to send the API call to the service.
25282// the "output" return value is not valid until after Send returns without error.
25283//
25284// See DisassociateIamInstanceProfile for more information on using the DisassociateIamInstanceProfile
25285// API call, and error handling.
25286//
25287// This method is useful when you want to inject custom logic or configuration
25288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25289//
25290//
25291//    // Example sending a request using the DisassociateIamInstanceProfileRequest method.
25292//    req, resp := client.DisassociateIamInstanceProfileRequest(params)
25293//
25294//    err := req.Send()
25295//    if err == nil { // resp is now filled
25296//        fmt.Println(resp)
25297//    }
25298//
25299// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
25300func (c *EC2) DisassociateIamInstanceProfileRequest(input *DisassociateIamInstanceProfileInput) (req *request.Request, output *DisassociateIamInstanceProfileOutput) {
25301	op := &request.Operation{
25302		Name:       opDisassociateIamInstanceProfile,
25303		HTTPMethod: "POST",
25304		HTTPPath:   "/",
25305	}
25306
25307	if input == nil {
25308		input = &DisassociateIamInstanceProfileInput{}
25309	}
25310
25311	output = &DisassociateIamInstanceProfileOutput{}
25312	req = c.newRequest(op, input, output)
25313	return
25314}
25315
25316// DisassociateIamInstanceProfile API operation for Amazon Elastic Compute Cloud.
25317//
25318// Disassociates an IAM instance profile from a running or stopped instance.
25319//
25320// Use DescribeIamInstanceProfileAssociations to get the association ID.
25321//
25322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25323// with awserr.Error's Code and Message methods to get detailed information about
25324// the error.
25325//
25326// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25327// API operation DisassociateIamInstanceProfile for usage and error information.
25328// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateIamInstanceProfile
25329func (c *EC2) DisassociateIamInstanceProfile(input *DisassociateIamInstanceProfileInput) (*DisassociateIamInstanceProfileOutput, error) {
25330	req, out := c.DisassociateIamInstanceProfileRequest(input)
25331	return out, req.Send()
25332}
25333
25334// DisassociateIamInstanceProfileWithContext is the same as DisassociateIamInstanceProfile with the addition of
25335// the ability to pass a context and additional request options.
25336//
25337// See DisassociateIamInstanceProfile for details on how to use this API operation.
25338//
25339// The context must be non-nil and will be used for request cancellation. If
25340// the context is nil a panic will occur. In the future the SDK may create
25341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25342// for more information on using Contexts.
25343func (c *EC2) DisassociateIamInstanceProfileWithContext(ctx aws.Context, input *DisassociateIamInstanceProfileInput, opts ...request.Option) (*DisassociateIamInstanceProfileOutput, error) {
25344	req, out := c.DisassociateIamInstanceProfileRequest(input)
25345	req.SetContext(ctx)
25346	req.ApplyOptions(opts...)
25347	return out, req.Send()
25348}
25349
25350const opDisassociateRouteTable = "DisassociateRouteTable"
25351
25352// DisassociateRouteTableRequest generates a "aws/request.Request" representing the
25353// client's request for the DisassociateRouteTable operation. The "output" return
25354// value will be populated with the request's response once the request completes
25355// successfully.
25356//
25357// Use "Send" method on the returned Request to send the API call to the service.
25358// the "output" return value is not valid until after Send returns without error.
25359//
25360// See DisassociateRouteTable for more information on using the DisassociateRouteTable
25361// API call, and error handling.
25362//
25363// This method is useful when you want to inject custom logic or configuration
25364// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25365//
25366//
25367//    // Example sending a request using the DisassociateRouteTableRequest method.
25368//    req, resp := client.DisassociateRouteTableRequest(params)
25369//
25370//    err := req.Send()
25371//    if err == nil { // resp is now filled
25372//        fmt.Println(resp)
25373//    }
25374//
25375// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
25376func (c *EC2) DisassociateRouteTableRequest(input *DisassociateRouteTableInput) (req *request.Request, output *DisassociateRouteTableOutput) {
25377	op := &request.Operation{
25378		Name:       opDisassociateRouteTable,
25379		HTTPMethod: "POST",
25380		HTTPPath:   "/",
25381	}
25382
25383	if input == nil {
25384		input = &DisassociateRouteTableInput{}
25385	}
25386
25387	output = &DisassociateRouteTableOutput{}
25388	req = c.newRequest(op, input, output)
25389	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
25390	return
25391}
25392
25393// DisassociateRouteTable API operation for Amazon Elastic Compute Cloud.
25394//
25395// Disassociates a subnet from a route table.
25396//
25397// After you perform this action, the subnet no longer uses the routes in the
25398// route table. Instead, it uses the routes in the VPC's main route table. For
25399// more information about route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
25400// in the Amazon Virtual Private Cloud User Guide.
25401//
25402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25403// with awserr.Error's Code and Message methods to get detailed information about
25404// the error.
25405//
25406// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25407// API operation DisassociateRouteTable for usage and error information.
25408// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateRouteTable
25409func (c *EC2) DisassociateRouteTable(input *DisassociateRouteTableInput) (*DisassociateRouteTableOutput, error) {
25410	req, out := c.DisassociateRouteTableRequest(input)
25411	return out, req.Send()
25412}
25413
25414// DisassociateRouteTableWithContext is the same as DisassociateRouteTable with the addition of
25415// the ability to pass a context and additional request options.
25416//
25417// See DisassociateRouteTable for details on how to use this API operation.
25418//
25419// The context must be non-nil and will be used for request cancellation. If
25420// the context is nil a panic will occur. In the future the SDK may create
25421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25422// for more information on using Contexts.
25423func (c *EC2) DisassociateRouteTableWithContext(ctx aws.Context, input *DisassociateRouteTableInput, opts ...request.Option) (*DisassociateRouteTableOutput, error) {
25424	req, out := c.DisassociateRouteTableRequest(input)
25425	req.SetContext(ctx)
25426	req.ApplyOptions(opts...)
25427	return out, req.Send()
25428}
25429
25430const opDisassociateSubnetCidrBlock = "DisassociateSubnetCidrBlock"
25431
25432// DisassociateSubnetCidrBlockRequest generates a "aws/request.Request" representing the
25433// client's request for the DisassociateSubnetCidrBlock operation. The "output" return
25434// value will be populated with the request's response once the request completes
25435// successfully.
25436//
25437// Use "Send" method on the returned Request to send the API call to the service.
25438// the "output" return value is not valid until after Send returns without error.
25439//
25440// See DisassociateSubnetCidrBlock for more information on using the DisassociateSubnetCidrBlock
25441// API call, and error handling.
25442//
25443// This method is useful when you want to inject custom logic or configuration
25444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25445//
25446//
25447//    // Example sending a request using the DisassociateSubnetCidrBlockRequest method.
25448//    req, resp := client.DisassociateSubnetCidrBlockRequest(params)
25449//
25450//    err := req.Send()
25451//    if err == nil { // resp is now filled
25452//        fmt.Println(resp)
25453//    }
25454//
25455// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
25456func (c *EC2) DisassociateSubnetCidrBlockRequest(input *DisassociateSubnetCidrBlockInput) (req *request.Request, output *DisassociateSubnetCidrBlockOutput) {
25457	op := &request.Operation{
25458		Name:       opDisassociateSubnetCidrBlock,
25459		HTTPMethod: "POST",
25460		HTTPPath:   "/",
25461	}
25462
25463	if input == nil {
25464		input = &DisassociateSubnetCidrBlockInput{}
25465	}
25466
25467	output = &DisassociateSubnetCidrBlockOutput{}
25468	req = c.newRequest(op, input, output)
25469	return
25470}
25471
25472// DisassociateSubnetCidrBlock API operation for Amazon Elastic Compute Cloud.
25473//
25474// Disassociates a CIDR block from a subnet. Currently, you can disassociate
25475// an IPv6 CIDR block only. You must detach or delete all gateways and resources
25476// that are associated with the CIDR block before you can disassociate it.
25477//
25478// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25479// with awserr.Error's Code and Message methods to get detailed information about
25480// the error.
25481//
25482// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25483// API operation DisassociateSubnetCidrBlock for usage and error information.
25484// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateSubnetCidrBlock
25485func (c *EC2) DisassociateSubnetCidrBlock(input *DisassociateSubnetCidrBlockInput) (*DisassociateSubnetCidrBlockOutput, error) {
25486	req, out := c.DisassociateSubnetCidrBlockRequest(input)
25487	return out, req.Send()
25488}
25489
25490// DisassociateSubnetCidrBlockWithContext is the same as DisassociateSubnetCidrBlock with the addition of
25491// the ability to pass a context and additional request options.
25492//
25493// See DisassociateSubnetCidrBlock for details on how to use this API operation.
25494//
25495// The context must be non-nil and will be used for request cancellation. If
25496// the context is nil a panic will occur. In the future the SDK may create
25497// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25498// for more information on using Contexts.
25499func (c *EC2) DisassociateSubnetCidrBlockWithContext(ctx aws.Context, input *DisassociateSubnetCidrBlockInput, opts ...request.Option) (*DisassociateSubnetCidrBlockOutput, error) {
25500	req, out := c.DisassociateSubnetCidrBlockRequest(input)
25501	req.SetContext(ctx)
25502	req.ApplyOptions(opts...)
25503	return out, req.Send()
25504}
25505
25506const opDisassociateTransitGatewayMulticastDomain = "DisassociateTransitGatewayMulticastDomain"
25507
25508// DisassociateTransitGatewayMulticastDomainRequest generates a "aws/request.Request" representing the
25509// client's request for the DisassociateTransitGatewayMulticastDomain operation. The "output" return
25510// value will be populated with the request's response once the request completes
25511// successfully.
25512//
25513// Use "Send" method on the returned Request to send the API call to the service.
25514// the "output" return value is not valid until after Send returns without error.
25515//
25516// See DisassociateTransitGatewayMulticastDomain for more information on using the DisassociateTransitGatewayMulticastDomain
25517// API call, and error handling.
25518//
25519// This method is useful when you want to inject custom logic or configuration
25520// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25521//
25522//
25523//    // Example sending a request using the DisassociateTransitGatewayMulticastDomainRequest method.
25524//    req, resp := client.DisassociateTransitGatewayMulticastDomainRequest(params)
25525//
25526//    err := req.Send()
25527//    if err == nil { // resp is now filled
25528//        fmt.Println(resp)
25529//    }
25530//
25531// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
25532func (c *EC2) DisassociateTransitGatewayMulticastDomainRequest(input *DisassociateTransitGatewayMulticastDomainInput) (req *request.Request, output *DisassociateTransitGatewayMulticastDomainOutput) {
25533	op := &request.Operation{
25534		Name:       opDisassociateTransitGatewayMulticastDomain,
25535		HTTPMethod: "POST",
25536		HTTPPath:   "/",
25537	}
25538
25539	if input == nil {
25540		input = &DisassociateTransitGatewayMulticastDomainInput{}
25541	}
25542
25543	output = &DisassociateTransitGatewayMulticastDomainOutput{}
25544	req = c.newRequest(op, input, output)
25545	return
25546}
25547
25548// DisassociateTransitGatewayMulticastDomain API operation for Amazon Elastic Compute Cloud.
25549//
25550// Disassociates the specified subnets from the transit gateway multicast domain.
25551//
25552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25553// with awserr.Error's Code and Message methods to get detailed information about
25554// the error.
25555//
25556// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25557// API operation DisassociateTransitGatewayMulticastDomain for usage and error information.
25558// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayMulticastDomain
25559func (c *EC2) DisassociateTransitGatewayMulticastDomain(input *DisassociateTransitGatewayMulticastDomainInput) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
25560	req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
25561	return out, req.Send()
25562}
25563
25564// DisassociateTransitGatewayMulticastDomainWithContext is the same as DisassociateTransitGatewayMulticastDomain with the addition of
25565// the ability to pass a context and additional request options.
25566//
25567// See DisassociateTransitGatewayMulticastDomain for details on how to use this API operation.
25568//
25569// The context must be non-nil and will be used for request cancellation. If
25570// the context is nil a panic will occur. In the future the SDK may create
25571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25572// for more information on using Contexts.
25573func (c *EC2) DisassociateTransitGatewayMulticastDomainWithContext(ctx aws.Context, input *DisassociateTransitGatewayMulticastDomainInput, opts ...request.Option) (*DisassociateTransitGatewayMulticastDomainOutput, error) {
25574	req, out := c.DisassociateTransitGatewayMulticastDomainRequest(input)
25575	req.SetContext(ctx)
25576	req.ApplyOptions(opts...)
25577	return out, req.Send()
25578}
25579
25580const opDisassociateTransitGatewayRouteTable = "DisassociateTransitGatewayRouteTable"
25581
25582// DisassociateTransitGatewayRouteTableRequest generates a "aws/request.Request" representing the
25583// client's request for the DisassociateTransitGatewayRouteTable operation. The "output" return
25584// value will be populated with the request's response once the request completes
25585// successfully.
25586//
25587// Use "Send" method on the returned Request to send the API call to the service.
25588// the "output" return value is not valid until after Send returns without error.
25589//
25590// See DisassociateTransitGatewayRouteTable for more information on using the DisassociateTransitGatewayRouteTable
25591// API call, and error handling.
25592//
25593// This method is useful when you want to inject custom logic or configuration
25594// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25595//
25596//
25597//    // Example sending a request using the DisassociateTransitGatewayRouteTableRequest method.
25598//    req, resp := client.DisassociateTransitGatewayRouteTableRequest(params)
25599//
25600//    err := req.Send()
25601//    if err == nil { // resp is now filled
25602//        fmt.Println(resp)
25603//    }
25604//
25605// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
25606func (c *EC2) DisassociateTransitGatewayRouteTableRequest(input *DisassociateTransitGatewayRouteTableInput) (req *request.Request, output *DisassociateTransitGatewayRouteTableOutput) {
25607	op := &request.Operation{
25608		Name:       opDisassociateTransitGatewayRouteTable,
25609		HTTPMethod: "POST",
25610		HTTPPath:   "/",
25611	}
25612
25613	if input == nil {
25614		input = &DisassociateTransitGatewayRouteTableInput{}
25615	}
25616
25617	output = &DisassociateTransitGatewayRouteTableOutput{}
25618	req = c.newRequest(op, input, output)
25619	return
25620}
25621
25622// DisassociateTransitGatewayRouteTable API operation for Amazon Elastic Compute Cloud.
25623//
25624// Disassociates a resource attachment from a transit gateway route table.
25625//
25626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25627// with awserr.Error's Code and Message methods to get detailed information about
25628// the error.
25629//
25630// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25631// API operation DisassociateTransitGatewayRouteTable for usage and error information.
25632// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateTransitGatewayRouteTable
25633func (c *EC2) DisassociateTransitGatewayRouteTable(input *DisassociateTransitGatewayRouteTableInput) (*DisassociateTransitGatewayRouteTableOutput, error) {
25634	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
25635	return out, req.Send()
25636}
25637
25638// DisassociateTransitGatewayRouteTableWithContext is the same as DisassociateTransitGatewayRouteTable with the addition of
25639// the ability to pass a context and additional request options.
25640//
25641// See DisassociateTransitGatewayRouteTable for details on how to use this API operation.
25642//
25643// The context must be non-nil and will be used for request cancellation. If
25644// the context is nil a panic will occur. In the future the SDK may create
25645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25646// for more information on using Contexts.
25647func (c *EC2) DisassociateTransitGatewayRouteTableWithContext(ctx aws.Context, input *DisassociateTransitGatewayRouteTableInput, opts ...request.Option) (*DisassociateTransitGatewayRouteTableOutput, error) {
25648	req, out := c.DisassociateTransitGatewayRouteTableRequest(input)
25649	req.SetContext(ctx)
25650	req.ApplyOptions(opts...)
25651	return out, req.Send()
25652}
25653
25654const opDisassociateVpcCidrBlock = "DisassociateVpcCidrBlock"
25655
25656// DisassociateVpcCidrBlockRequest generates a "aws/request.Request" representing the
25657// client's request for the DisassociateVpcCidrBlock operation. The "output" return
25658// value will be populated with the request's response once the request completes
25659// successfully.
25660//
25661// Use "Send" method on the returned Request to send the API call to the service.
25662// the "output" return value is not valid until after Send returns without error.
25663//
25664// See DisassociateVpcCidrBlock for more information on using the DisassociateVpcCidrBlock
25665// API call, and error handling.
25666//
25667// This method is useful when you want to inject custom logic or configuration
25668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25669//
25670//
25671//    // Example sending a request using the DisassociateVpcCidrBlockRequest method.
25672//    req, resp := client.DisassociateVpcCidrBlockRequest(params)
25673//
25674//    err := req.Send()
25675//    if err == nil { // resp is now filled
25676//        fmt.Println(resp)
25677//    }
25678//
25679// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
25680func (c *EC2) DisassociateVpcCidrBlockRequest(input *DisassociateVpcCidrBlockInput) (req *request.Request, output *DisassociateVpcCidrBlockOutput) {
25681	op := &request.Operation{
25682		Name:       opDisassociateVpcCidrBlock,
25683		HTTPMethod: "POST",
25684		HTTPPath:   "/",
25685	}
25686
25687	if input == nil {
25688		input = &DisassociateVpcCidrBlockInput{}
25689	}
25690
25691	output = &DisassociateVpcCidrBlockOutput{}
25692	req = c.newRequest(op, input, output)
25693	return
25694}
25695
25696// DisassociateVpcCidrBlock API operation for Amazon Elastic Compute Cloud.
25697//
25698// Disassociates a CIDR block from a VPC. To disassociate the CIDR block, you
25699// must specify its association ID. You can get the association ID by using
25700// DescribeVpcs. You must detach or delete all gateways and resources that are
25701// associated with the CIDR block before you can disassociate it.
25702//
25703// You cannot disassociate the CIDR block with which you originally created
25704// the VPC (the primary CIDR block).
25705//
25706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25707// with awserr.Error's Code and Message methods to get detailed information about
25708// the error.
25709//
25710// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25711// API operation DisassociateVpcCidrBlock for usage and error information.
25712// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DisassociateVpcCidrBlock
25713func (c *EC2) DisassociateVpcCidrBlock(input *DisassociateVpcCidrBlockInput) (*DisassociateVpcCidrBlockOutput, error) {
25714	req, out := c.DisassociateVpcCidrBlockRequest(input)
25715	return out, req.Send()
25716}
25717
25718// DisassociateVpcCidrBlockWithContext is the same as DisassociateVpcCidrBlock with the addition of
25719// the ability to pass a context and additional request options.
25720//
25721// See DisassociateVpcCidrBlock for details on how to use this API operation.
25722//
25723// The context must be non-nil and will be used for request cancellation. If
25724// the context is nil a panic will occur. In the future the SDK may create
25725// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25726// for more information on using Contexts.
25727func (c *EC2) DisassociateVpcCidrBlockWithContext(ctx aws.Context, input *DisassociateVpcCidrBlockInput, opts ...request.Option) (*DisassociateVpcCidrBlockOutput, error) {
25728	req, out := c.DisassociateVpcCidrBlockRequest(input)
25729	req.SetContext(ctx)
25730	req.ApplyOptions(opts...)
25731	return out, req.Send()
25732}
25733
25734const opEnableEbsEncryptionByDefault = "EnableEbsEncryptionByDefault"
25735
25736// EnableEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
25737// client's request for the EnableEbsEncryptionByDefault operation. The "output" return
25738// value will be populated with the request's response once the request completes
25739// successfully.
25740//
25741// Use "Send" method on the returned Request to send the API call to the service.
25742// the "output" return value is not valid until after Send returns without error.
25743//
25744// See EnableEbsEncryptionByDefault for more information on using the EnableEbsEncryptionByDefault
25745// API call, and error handling.
25746//
25747// This method is useful when you want to inject custom logic or configuration
25748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25749//
25750//
25751//    // Example sending a request using the EnableEbsEncryptionByDefaultRequest method.
25752//    req, resp := client.EnableEbsEncryptionByDefaultRequest(params)
25753//
25754//    err := req.Send()
25755//    if err == nil { // resp is now filled
25756//        fmt.Println(resp)
25757//    }
25758//
25759// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
25760func (c *EC2) EnableEbsEncryptionByDefaultRequest(input *EnableEbsEncryptionByDefaultInput) (req *request.Request, output *EnableEbsEncryptionByDefaultOutput) {
25761	op := &request.Operation{
25762		Name:       opEnableEbsEncryptionByDefault,
25763		HTTPMethod: "POST",
25764		HTTPPath:   "/",
25765	}
25766
25767	if input == nil {
25768		input = &EnableEbsEncryptionByDefaultInput{}
25769	}
25770
25771	output = &EnableEbsEncryptionByDefaultOutput{}
25772	req = c.newRequest(op, input, output)
25773	return
25774}
25775
25776// EnableEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
25777//
25778// Enables EBS encryption by default for your account in the current Region.
25779//
25780// After you enable encryption by default, the EBS volumes that you create are
25781// are always encrypted, either using the default CMK or the CMK that you specified
25782// when you created each volume. For more information, see Amazon EBS Encryption
25783// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
25784// in the Amazon Elastic Compute Cloud User Guide.
25785//
25786// You can specify the default CMK for encryption by default using ModifyEbsDefaultKmsKeyId
25787// or ResetEbsDefaultKmsKeyId.
25788//
25789// Enabling encryption by default has no effect on the encryption status of
25790// your existing volumes.
25791//
25792// After you enable encryption by default, you can no longer launch instances
25793// using instance types that do not support encryption. For more information,
25794// see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
25795//
25796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25797// with awserr.Error's Code and Message methods to get detailed information about
25798// the error.
25799//
25800// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25801// API operation EnableEbsEncryptionByDefault for usage and error information.
25802// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableEbsEncryptionByDefault
25803func (c *EC2) EnableEbsEncryptionByDefault(input *EnableEbsEncryptionByDefaultInput) (*EnableEbsEncryptionByDefaultOutput, error) {
25804	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
25805	return out, req.Send()
25806}
25807
25808// EnableEbsEncryptionByDefaultWithContext is the same as EnableEbsEncryptionByDefault with the addition of
25809// the ability to pass a context and additional request options.
25810//
25811// See EnableEbsEncryptionByDefault for details on how to use this API operation.
25812//
25813// The context must be non-nil and will be used for request cancellation. If
25814// the context is nil a panic will occur. In the future the SDK may create
25815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25816// for more information on using Contexts.
25817func (c *EC2) EnableEbsEncryptionByDefaultWithContext(ctx aws.Context, input *EnableEbsEncryptionByDefaultInput, opts ...request.Option) (*EnableEbsEncryptionByDefaultOutput, error) {
25818	req, out := c.EnableEbsEncryptionByDefaultRequest(input)
25819	req.SetContext(ctx)
25820	req.ApplyOptions(opts...)
25821	return out, req.Send()
25822}
25823
25824const opEnableFastSnapshotRestores = "EnableFastSnapshotRestores"
25825
25826// EnableFastSnapshotRestoresRequest generates a "aws/request.Request" representing the
25827// client's request for the EnableFastSnapshotRestores operation. The "output" return
25828// value will be populated with the request's response once the request completes
25829// successfully.
25830//
25831// Use "Send" method on the returned Request to send the API call to the service.
25832// the "output" return value is not valid until after Send returns without error.
25833//
25834// See EnableFastSnapshotRestores for more information on using the EnableFastSnapshotRestores
25835// API call, and error handling.
25836//
25837// This method is useful when you want to inject custom logic or configuration
25838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25839//
25840//
25841//    // Example sending a request using the EnableFastSnapshotRestoresRequest method.
25842//    req, resp := client.EnableFastSnapshotRestoresRequest(params)
25843//
25844//    err := req.Send()
25845//    if err == nil { // resp is now filled
25846//        fmt.Println(resp)
25847//    }
25848//
25849// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
25850func (c *EC2) EnableFastSnapshotRestoresRequest(input *EnableFastSnapshotRestoresInput) (req *request.Request, output *EnableFastSnapshotRestoresOutput) {
25851	op := &request.Operation{
25852		Name:       opEnableFastSnapshotRestores,
25853		HTTPMethod: "POST",
25854		HTTPPath:   "/",
25855	}
25856
25857	if input == nil {
25858		input = &EnableFastSnapshotRestoresInput{}
25859	}
25860
25861	output = &EnableFastSnapshotRestoresOutput{}
25862	req = c.newRequest(op, input, output)
25863	return
25864}
25865
25866// EnableFastSnapshotRestores API operation for Amazon Elastic Compute Cloud.
25867//
25868// Enables fast snapshot restores for the specified snapshots in the specified
25869// Availability Zones.
25870//
25871// You get the full benefit of fast snapshot restores after they enter the enabled
25872// state. To get the current state of fast snapshot restores, use DescribeFastSnapshotRestores.
25873// To disable fast snapshot restores, use DisableFastSnapshotRestores.
25874//
25875// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25876// with awserr.Error's Code and Message methods to get detailed information about
25877// the error.
25878//
25879// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25880// API operation EnableFastSnapshotRestores for usage and error information.
25881// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableFastSnapshotRestores
25882func (c *EC2) EnableFastSnapshotRestores(input *EnableFastSnapshotRestoresInput) (*EnableFastSnapshotRestoresOutput, error) {
25883	req, out := c.EnableFastSnapshotRestoresRequest(input)
25884	return out, req.Send()
25885}
25886
25887// EnableFastSnapshotRestoresWithContext is the same as EnableFastSnapshotRestores with the addition of
25888// the ability to pass a context and additional request options.
25889//
25890// See EnableFastSnapshotRestores for details on how to use this API operation.
25891//
25892// The context must be non-nil and will be used for request cancellation. If
25893// the context is nil a panic will occur. In the future the SDK may create
25894// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25895// for more information on using Contexts.
25896func (c *EC2) EnableFastSnapshotRestoresWithContext(ctx aws.Context, input *EnableFastSnapshotRestoresInput, opts ...request.Option) (*EnableFastSnapshotRestoresOutput, error) {
25897	req, out := c.EnableFastSnapshotRestoresRequest(input)
25898	req.SetContext(ctx)
25899	req.ApplyOptions(opts...)
25900	return out, req.Send()
25901}
25902
25903const opEnableTransitGatewayRouteTablePropagation = "EnableTransitGatewayRouteTablePropagation"
25904
25905// EnableTransitGatewayRouteTablePropagationRequest generates a "aws/request.Request" representing the
25906// client's request for the EnableTransitGatewayRouteTablePropagation operation. The "output" return
25907// value will be populated with the request's response once the request completes
25908// successfully.
25909//
25910// Use "Send" method on the returned Request to send the API call to the service.
25911// the "output" return value is not valid until after Send returns without error.
25912//
25913// See EnableTransitGatewayRouteTablePropagation for more information on using the EnableTransitGatewayRouteTablePropagation
25914// API call, and error handling.
25915//
25916// This method is useful when you want to inject custom logic or configuration
25917// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25918//
25919//
25920//    // Example sending a request using the EnableTransitGatewayRouteTablePropagationRequest method.
25921//    req, resp := client.EnableTransitGatewayRouteTablePropagationRequest(params)
25922//
25923//    err := req.Send()
25924//    if err == nil { // resp is now filled
25925//        fmt.Println(resp)
25926//    }
25927//
25928// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
25929func (c *EC2) EnableTransitGatewayRouteTablePropagationRequest(input *EnableTransitGatewayRouteTablePropagationInput) (req *request.Request, output *EnableTransitGatewayRouteTablePropagationOutput) {
25930	op := &request.Operation{
25931		Name:       opEnableTransitGatewayRouteTablePropagation,
25932		HTTPMethod: "POST",
25933		HTTPPath:   "/",
25934	}
25935
25936	if input == nil {
25937		input = &EnableTransitGatewayRouteTablePropagationInput{}
25938	}
25939
25940	output = &EnableTransitGatewayRouteTablePropagationOutput{}
25941	req = c.newRequest(op, input, output)
25942	return
25943}
25944
25945// EnableTransitGatewayRouteTablePropagation API operation for Amazon Elastic Compute Cloud.
25946//
25947// Enables the specified attachment to propagate routes to the specified propagation
25948// route table.
25949//
25950// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
25951// with awserr.Error's Code and Message methods to get detailed information about
25952// the error.
25953//
25954// See the AWS API reference guide for Amazon Elastic Compute Cloud's
25955// API operation EnableTransitGatewayRouteTablePropagation for usage and error information.
25956// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableTransitGatewayRouteTablePropagation
25957func (c *EC2) EnableTransitGatewayRouteTablePropagation(input *EnableTransitGatewayRouteTablePropagationInput) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
25958	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
25959	return out, req.Send()
25960}
25961
25962// EnableTransitGatewayRouteTablePropagationWithContext is the same as EnableTransitGatewayRouteTablePropagation with the addition of
25963// the ability to pass a context and additional request options.
25964//
25965// See EnableTransitGatewayRouteTablePropagation for details on how to use this API operation.
25966//
25967// The context must be non-nil and will be used for request cancellation. If
25968// the context is nil a panic will occur. In the future the SDK may create
25969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
25970// for more information on using Contexts.
25971func (c *EC2) EnableTransitGatewayRouteTablePropagationWithContext(ctx aws.Context, input *EnableTransitGatewayRouteTablePropagationInput, opts ...request.Option) (*EnableTransitGatewayRouteTablePropagationOutput, error) {
25972	req, out := c.EnableTransitGatewayRouteTablePropagationRequest(input)
25973	req.SetContext(ctx)
25974	req.ApplyOptions(opts...)
25975	return out, req.Send()
25976}
25977
25978const opEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
25979
25980// EnableVgwRoutePropagationRequest generates a "aws/request.Request" representing the
25981// client's request for the EnableVgwRoutePropagation operation. The "output" return
25982// value will be populated with the request's response once the request completes
25983// successfully.
25984//
25985// Use "Send" method on the returned Request to send the API call to the service.
25986// the "output" return value is not valid until after Send returns without error.
25987//
25988// See EnableVgwRoutePropagation for more information on using the EnableVgwRoutePropagation
25989// API call, and error handling.
25990//
25991// This method is useful when you want to inject custom logic or configuration
25992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
25993//
25994//
25995//    // Example sending a request using the EnableVgwRoutePropagationRequest method.
25996//    req, resp := client.EnableVgwRoutePropagationRequest(params)
25997//
25998//    err := req.Send()
25999//    if err == nil { // resp is now filled
26000//        fmt.Println(resp)
26001//    }
26002//
26003// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
26004func (c *EC2) EnableVgwRoutePropagationRequest(input *EnableVgwRoutePropagationInput) (req *request.Request, output *EnableVgwRoutePropagationOutput) {
26005	op := &request.Operation{
26006		Name:       opEnableVgwRoutePropagation,
26007		HTTPMethod: "POST",
26008		HTTPPath:   "/",
26009	}
26010
26011	if input == nil {
26012		input = &EnableVgwRoutePropagationInput{}
26013	}
26014
26015	output = &EnableVgwRoutePropagationOutput{}
26016	req = c.newRequest(op, input, output)
26017	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
26018	return
26019}
26020
26021// EnableVgwRoutePropagation API operation for Amazon Elastic Compute Cloud.
26022//
26023// Enables a virtual private gateway (VGW) to propagate routes to the specified
26024// route table of a VPC.
26025//
26026// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26027// with awserr.Error's Code and Message methods to get detailed information about
26028// the error.
26029//
26030// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26031// API operation EnableVgwRoutePropagation for usage and error information.
26032// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVgwRoutePropagation
26033func (c *EC2) EnableVgwRoutePropagation(input *EnableVgwRoutePropagationInput) (*EnableVgwRoutePropagationOutput, error) {
26034	req, out := c.EnableVgwRoutePropagationRequest(input)
26035	return out, req.Send()
26036}
26037
26038// EnableVgwRoutePropagationWithContext is the same as EnableVgwRoutePropagation with the addition of
26039// the ability to pass a context and additional request options.
26040//
26041// See EnableVgwRoutePropagation for details on how to use this API operation.
26042//
26043// The context must be non-nil and will be used for request cancellation. If
26044// the context is nil a panic will occur. In the future the SDK may create
26045// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26046// for more information on using Contexts.
26047func (c *EC2) EnableVgwRoutePropagationWithContext(ctx aws.Context, input *EnableVgwRoutePropagationInput, opts ...request.Option) (*EnableVgwRoutePropagationOutput, error) {
26048	req, out := c.EnableVgwRoutePropagationRequest(input)
26049	req.SetContext(ctx)
26050	req.ApplyOptions(opts...)
26051	return out, req.Send()
26052}
26053
26054const opEnableVolumeIO = "EnableVolumeIO"
26055
26056// EnableVolumeIORequest generates a "aws/request.Request" representing the
26057// client's request for the EnableVolumeIO operation. The "output" return
26058// value will be populated with the request's response once the request completes
26059// successfully.
26060//
26061// Use "Send" method on the returned Request to send the API call to the service.
26062// the "output" return value is not valid until after Send returns without error.
26063//
26064// See EnableVolumeIO for more information on using the EnableVolumeIO
26065// API call, and error handling.
26066//
26067// This method is useful when you want to inject custom logic or configuration
26068// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26069//
26070//
26071//    // Example sending a request using the EnableVolumeIORequest method.
26072//    req, resp := client.EnableVolumeIORequest(params)
26073//
26074//    err := req.Send()
26075//    if err == nil { // resp is now filled
26076//        fmt.Println(resp)
26077//    }
26078//
26079// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
26080func (c *EC2) EnableVolumeIORequest(input *EnableVolumeIOInput) (req *request.Request, output *EnableVolumeIOOutput) {
26081	op := &request.Operation{
26082		Name:       opEnableVolumeIO,
26083		HTTPMethod: "POST",
26084		HTTPPath:   "/",
26085	}
26086
26087	if input == nil {
26088		input = &EnableVolumeIOInput{}
26089	}
26090
26091	output = &EnableVolumeIOOutput{}
26092	req = c.newRequest(op, input, output)
26093	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
26094	return
26095}
26096
26097// EnableVolumeIO API operation for Amazon Elastic Compute Cloud.
26098//
26099// Enables I/O operations for a volume that had I/O operations disabled because
26100// the data on the volume was potentially inconsistent.
26101//
26102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26103// with awserr.Error's Code and Message methods to get detailed information about
26104// the error.
26105//
26106// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26107// API operation EnableVolumeIO for usage and error information.
26108// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVolumeIO
26109func (c *EC2) EnableVolumeIO(input *EnableVolumeIOInput) (*EnableVolumeIOOutput, error) {
26110	req, out := c.EnableVolumeIORequest(input)
26111	return out, req.Send()
26112}
26113
26114// EnableVolumeIOWithContext is the same as EnableVolumeIO with the addition of
26115// the ability to pass a context and additional request options.
26116//
26117// See EnableVolumeIO for details on how to use this API operation.
26118//
26119// The context must be non-nil and will be used for request cancellation. If
26120// the context is nil a panic will occur. In the future the SDK may create
26121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26122// for more information on using Contexts.
26123func (c *EC2) EnableVolumeIOWithContext(ctx aws.Context, input *EnableVolumeIOInput, opts ...request.Option) (*EnableVolumeIOOutput, error) {
26124	req, out := c.EnableVolumeIORequest(input)
26125	req.SetContext(ctx)
26126	req.ApplyOptions(opts...)
26127	return out, req.Send()
26128}
26129
26130const opEnableVpcClassicLink = "EnableVpcClassicLink"
26131
26132// EnableVpcClassicLinkRequest generates a "aws/request.Request" representing the
26133// client's request for the EnableVpcClassicLink operation. The "output" return
26134// value will be populated with the request's response once the request completes
26135// successfully.
26136//
26137// Use "Send" method on the returned Request to send the API call to the service.
26138// the "output" return value is not valid until after Send returns without error.
26139//
26140// See EnableVpcClassicLink for more information on using the EnableVpcClassicLink
26141// API call, and error handling.
26142//
26143// This method is useful when you want to inject custom logic or configuration
26144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26145//
26146//
26147//    // Example sending a request using the EnableVpcClassicLinkRequest method.
26148//    req, resp := client.EnableVpcClassicLinkRequest(params)
26149//
26150//    err := req.Send()
26151//    if err == nil { // resp is now filled
26152//        fmt.Println(resp)
26153//    }
26154//
26155// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
26156func (c *EC2) EnableVpcClassicLinkRequest(input *EnableVpcClassicLinkInput) (req *request.Request, output *EnableVpcClassicLinkOutput) {
26157	op := &request.Operation{
26158		Name:       opEnableVpcClassicLink,
26159		HTTPMethod: "POST",
26160		HTTPPath:   "/",
26161	}
26162
26163	if input == nil {
26164		input = &EnableVpcClassicLinkInput{}
26165	}
26166
26167	output = &EnableVpcClassicLinkOutput{}
26168	req = c.newRequest(op, input, output)
26169	return
26170}
26171
26172// EnableVpcClassicLink API operation for Amazon Elastic Compute Cloud.
26173//
26174// Enables a VPC for ClassicLink. You can then link EC2-Classic instances to
26175// your ClassicLink-enabled VPC to allow communication over private IP addresses.
26176// You cannot enable your VPC for ClassicLink if any of your VPC route tables
26177// have existing routes for address ranges within the 10.0.0.0/8 IP address
26178// range, excluding local routes for VPCs in the 10.0.0.0/16 and 10.1.0.0/16
26179// IP address ranges. For more information, see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
26180// in the Amazon Elastic Compute Cloud User Guide.
26181//
26182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26183// with awserr.Error's Code and Message methods to get detailed information about
26184// the error.
26185//
26186// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26187// API operation EnableVpcClassicLink for usage and error information.
26188// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLink
26189func (c *EC2) EnableVpcClassicLink(input *EnableVpcClassicLinkInput) (*EnableVpcClassicLinkOutput, error) {
26190	req, out := c.EnableVpcClassicLinkRequest(input)
26191	return out, req.Send()
26192}
26193
26194// EnableVpcClassicLinkWithContext is the same as EnableVpcClassicLink with the addition of
26195// the ability to pass a context and additional request options.
26196//
26197// See EnableVpcClassicLink for details on how to use this API operation.
26198//
26199// The context must be non-nil and will be used for request cancellation. If
26200// the context is nil a panic will occur. In the future the SDK may create
26201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26202// for more information on using Contexts.
26203func (c *EC2) EnableVpcClassicLinkWithContext(ctx aws.Context, input *EnableVpcClassicLinkInput, opts ...request.Option) (*EnableVpcClassicLinkOutput, error) {
26204	req, out := c.EnableVpcClassicLinkRequest(input)
26205	req.SetContext(ctx)
26206	req.ApplyOptions(opts...)
26207	return out, req.Send()
26208}
26209
26210const opEnableVpcClassicLinkDnsSupport = "EnableVpcClassicLinkDnsSupport"
26211
26212// EnableVpcClassicLinkDnsSupportRequest generates a "aws/request.Request" representing the
26213// client's request for the EnableVpcClassicLinkDnsSupport operation. The "output" return
26214// value will be populated with the request's response once the request completes
26215// successfully.
26216//
26217// Use "Send" method on the returned Request to send the API call to the service.
26218// the "output" return value is not valid until after Send returns without error.
26219//
26220// See EnableVpcClassicLinkDnsSupport for more information on using the EnableVpcClassicLinkDnsSupport
26221// API call, and error handling.
26222//
26223// This method is useful when you want to inject custom logic or configuration
26224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26225//
26226//
26227//    // Example sending a request using the EnableVpcClassicLinkDnsSupportRequest method.
26228//    req, resp := client.EnableVpcClassicLinkDnsSupportRequest(params)
26229//
26230//    err := req.Send()
26231//    if err == nil { // resp is now filled
26232//        fmt.Println(resp)
26233//    }
26234//
26235// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
26236func (c *EC2) EnableVpcClassicLinkDnsSupportRequest(input *EnableVpcClassicLinkDnsSupportInput) (req *request.Request, output *EnableVpcClassicLinkDnsSupportOutput) {
26237	op := &request.Operation{
26238		Name:       opEnableVpcClassicLinkDnsSupport,
26239		HTTPMethod: "POST",
26240		HTTPPath:   "/",
26241	}
26242
26243	if input == nil {
26244		input = &EnableVpcClassicLinkDnsSupportInput{}
26245	}
26246
26247	output = &EnableVpcClassicLinkDnsSupportOutput{}
26248	req = c.newRequest(op, input, output)
26249	return
26250}
26251
26252// EnableVpcClassicLinkDnsSupport API operation for Amazon Elastic Compute Cloud.
26253//
26254// Enables a VPC to support DNS hostname resolution for ClassicLink. If enabled,
26255// the DNS hostname of a linked EC2-Classic instance resolves to its private
26256// IP address when addressed from an instance in the VPC to which it's linked.
26257// Similarly, the DNS hostname of an instance in a VPC resolves to its private
26258// IP address when addressed from a linked EC2-Classic instance. For more information,
26259// see ClassicLink (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-classiclink.html)
26260// in the Amazon Elastic Compute Cloud User Guide.
26261//
26262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26263// with awserr.Error's Code and Message methods to get detailed information about
26264// the error.
26265//
26266// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26267// API operation EnableVpcClassicLinkDnsSupport for usage and error information.
26268// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EnableVpcClassicLinkDnsSupport
26269func (c *EC2) EnableVpcClassicLinkDnsSupport(input *EnableVpcClassicLinkDnsSupportInput) (*EnableVpcClassicLinkDnsSupportOutput, error) {
26270	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
26271	return out, req.Send()
26272}
26273
26274// EnableVpcClassicLinkDnsSupportWithContext is the same as EnableVpcClassicLinkDnsSupport with the addition of
26275// the ability to pass a context and additional request options.
26276//
26277// See EnableVpcClassicLinkDnsSupport for details on how to use this API operation.
26278//
26279// The context must be non-nil and will be used for request cancellation. If
26280// the context is nil a panic will occur. In the future the SDK may create
26281// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26282// for more information on using Contexts.
26283func (c *EC2) EnableVpcClassicLinkDnsSupportWithContext(ctx aws.Context, input *EnableVpcClassicLinkDnsSupportInput, opts ...request.Option) (*EnableVpcClassicLinkDnsSupportOutput, error) {
26284	req, out := c.EnableVpcClassicLinkDnsSupportRequest(input)
26285	req.SetContext(ctx)
26286	req.ApplyOptions(opts...)
26287	return out, req.Send()
26288}
26289
26290const opExportClientVpnClientCertificateRevocationList = "ExportClientVpnClientCertificateRevocationList"
26291
26292// ExportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
26293// client's request for the ExportClientVpnClientCertificateRevocationList operation. The "output" return
26294// value will be populated with the request's response once the request completes
26295// successfully.
26296//
26297// Use "Send" method on the returned Request to send the API call to the service.
26298// the "output" return value is not valid until after Send returns without error.
26299//
26300// See ExportClientVpnClientCertificateRevocationList for more information on using the ExportClientVpnClientCertificateRevocationList
26301// API call, and error handling.
26302//
26303// This method is useful when you want to inject custom logic or configuration
26304// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26305//
26306//
26307//    // Example sending a request using the ExportClientVpnClientCertificateRevocationListRequest method.
26308//    req, resp := client.ExportClientVpnClientCertificateRevocationListRequest(params)
26309//
26310//    err := req.Send()
26311//    if err == nil { // resp is now filled
26312//        fmt.Println(resp)
26313//    }
26314//
26315// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
26316func (c *EC2) ExportClientVpnClientCertificateRevocationListRequest(input *ExportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ExportClientVpnClientCertificateRevocationListOutput) {
26317	op := &request.Operation{
26318		Name:       opExportClientVpnClientCertificateRevocationList,
26319		HTTPMethod: "POST",
26320		HTTPPath:   "/",
26321	}
26322
26323	if input == nil {
26324		input = &ExportClientVpnClientCertificateRevocationListInput{}
26325	}
26326
26327	output = &ExportClientVpnClientCertificateRevocationListOutput{}
26328	req = c.newRequest(op, input, output)
26329	return
26330}
26331
26332// ExportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
26333//
26334// Downloads the client certificate revocation list for the specified Client
26335// VPN endpoint.
26336//
26337// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26338// with awserr.Error's Code and Message methods to get detailed information about
26339// the error.
26340//
26341// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26342// API operation ExportClientVpnClientCertificateRevocationList for usage and error information.
26343// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientCertificateRevocationList
26344func (c *EC2) ExportClientVpnClientCertificateRevocationList(input *ExportClientVpnClientCertificateRevocationListInput) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
26345	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
26346	return out, req.Send()
26347}
26348
26349// ExportClientVpnClientCertificateRevocationListWithContext is the same as ExportClientVpnClientCertificateRevocationList with the addition of
26350// the ability to pass a context and additional request options.
26351//
26352// See ExportClientVpnClientCertificateRevocationList for details on how to use this API operation.
26353//
26354// The context must be non-nil and will be used for request cancellation. If
26355// the context is nil a panic will occur. In the future the SDK may create
26356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26357// for more information on using Contexts.
26358func (c *EC2) ExportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ExportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ExportClientVpnClientCertificateRevocationListOutput, error) {
26359	req, out := c.ExportClientVpnClientCertificateRevocationListRequest(input)
26360	req.SetContext(ctx)
26361	req.ApplyOptions(opts...)
26362	return out, req.Send()
26363}
26364
26365const opExportClientVpnClientConfiguration = "ExportClientVpnClientConfiguration"
26366
26367// ExportClientVpnClientConfigurationRequest generates a "aws/request.Request" representing the
26368// client's request for the ExportClientVpnClientConfiguration operation. The "output" return
26369// value will be populated with the request's response once the request completes
26370// successfully.
26371//
26372// Use "Send" method on the returned Request to send the API call to the service.
26373// the "output" return value is not valid until after Send returns without error.
26374//
26375// See ExportClientVpnClientConfiguration for more information on using the ExportClientVpnClientConfiguration
26376// API call, and error handling.
26377//
26378// This method is useful when you want to inject custom logic or configuration
26379// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26380//
26381//
26382//    // Example sending a request using the ExportClientVpnClientConfigurationRequest method.
26383//    req, resp := client.ExportClientVpnClientConfigurationRequest(params)
26384//
26385//    err := req.Send()
26386//    if err == nil { // resp is now filled
26387//        fmt.Println(resp)
26388//    }
26389//
26390// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
26391func (c *EC2) ExportClientVpnClientConfigurationRequest(input *ExportClientVpnClientConfigurationInput) (req *request.Request, output *ExportClientVpnClientConfigurationOutput) {
26392	op := &request.Operation{
26393		Name:       opExportClientVpnClientConfiguration,
26394		HTTPMethod: "POST",
26395		HTTPPath:   "/",
26396	}
26397
26398	if input == nil {
26399		input = &ExportClientVpnClientConfigurationInput{}
26400	}
26401
26402	output = &ExportClientVpnClientConfigurationOutput{}
26403	req = c.newRequest(op, input, output)
26404	return
26405}
26406
26407// ExportClientVpnClientConfiguration API operation for Amazon Elastic Compute Cloud.
26408//
26409// Downloads the contents of the Client VPN endpoint configuration file for
26410// the specified Client VPN endpoint. The Client VPN endpoint configuration
26411// file includes the Client VPN endpoint and certificate information clients
26412// need to establish a connection with the Client VPN endpoint.
26413//
26414// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26415// with awserr.Error's Code and Message methods to get detailed information about
26416// the error.
26417//
26418// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26419// API operation ExportClientVpnClientConfiguration for usage and error information.
26420// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportClientVpnClientConfiguration
26421func (c *EC2) ExportClientVpnClientConfiguration(input *ExportClientVpnClientConfigurationInput) (*ExportClientVpnClientConfigurationOutput, error) {
26422	req, out := c.ExportClientVpnClientConfigurationRequest(input)
26423	return out, req.Send()
26424}
26425
26426// ExportClientVpnClientConfigurationWithContext is the same as ExportClientVpnClientConfiguration with the addition of
26427// the ability to pass a context and additional request options.
26428//
26429// See ExportClientVpnClientConfiguration for details on how to use this API operation.
26430//
26431// The context must be non-nil and will be used for request cancellation. If
26432// the context is nil a panic will occur. In the future the SDK may create
26433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26434// for more information on using Contexts.
26435func (c *EC2) ExportClientVpnClientConfigurationWithContext(ctx aws.Context, input *ExportClientVpnClientConfigurationInput, opts ...request.Option) (*ExportClientVpnClientConfigurationOutput, error) {
26436	req, out := c.ExportClientVpnClientConfigurationRequest(input)
26437	req.SetContext(ctx)
26438	req.ApplyOptions(opts...)
26439	return out, req.Send()
26440}
26441
26442const opExportImage = "ExportImage"
26443
26444// ExportImageRequest generates a "aws/request.Request" representing the
26445// client's request for the ExportImage operation. The "output" return
26446// value will be populated with the request's response once the request completes
26447// successfully.
26448//
26449// Use "Send" method on the returned Request to send the API call to the service.
26450// the "output" return value is not valid until after Send returns without error.
26451//
26452// See ExportImage for more information on using the ExportImage
26453// API call, and error handling.
26454//
26455// This method is useful when you want to inject custom logic or configuration
26456// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26457//
26458//
26459//    // Example sending a request using the ExportImageRequest method.
26460//    req, resp := client.ExportImageRequest(params)
26461//
26462//    err := req.Send()
26463//    if err == nil { // resp is now filled
26464//        fmt.Println(resp)
26465//    }
26466//
26467// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
26468func (c *EC2) ExportImageRequest(input *ExportImageInput) (req *request.Request, output *ExportImageOutput) {
26469	op := &request.Operation{
26470		Name:       opExportImage,
26471		HTTPMethod: "POST",
26472		HTTPPath:   "/",
26473	}
26474
26475	if input == nil {
26476		input = &ExportImageInput{}
26477	}
26478
26479	output = &ExportImageOutput{}
26480	req = c.newRequest(op, input, output)
26481	return
26482}
26483
26484// ExportImage API operation for Amazon Elastic Compute Cloud.
26485//
26486// Exports an Amazon Machine Image (AMI) to a VM file. For more information,
26487// see Exporting a VM Directory from an Amazon Machine Image (AMI) (https://docs.aws.amazon.com/vm-import/latest/userguide/vmexport_image.html)
26488// in the VM Import/Export User Guide.
26489//
26490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26491// with awserr.Error's Code and Message methods to get detailed information about
26492// the error.
26493//
26494// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26495// API operation ExportImage for usage and error information.
26496// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportImage
26497func (c *EC2) ExportImage(input *ExportImageInput) (*ExportImageOutput, error) {
26498	req, out := c.ExportImageRequest(input)
26499	return out, req.Send()
26500}
26501
26502// ExportImageWithContext is the same as ExportImage with the addition of
26503// the ability to pass a context and additional request options.
26504//
26505// See ExportImage for details on how to use this API operation.
26506//
26507// The context must be non-nil and will be used for request cancellation. If
26508// the context is nil a panic will occur. In the future the SDK may create
26509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26510// for more information on using Contexts.
26511func (c *EC2) ExportImageWithContext(ctx aws.Context, input *ExportImageInput, opts ...request.Option) (*ExportImageOutput, error) {
26512	req, out := c.ExportImageRequest(input)
26513	req.SetContext(ctx)
26514	req.ApplyOptions(opts...)
26515	return out, req.Send()
26516}
26517
26518const opExportTransitGatewayRoutes = "ExportTransitGatewayRoutes"
26519
26520// ExportTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
26521// client's request for the ExportTransitGatewayRoutes operation. The "output" return
26522// value will be populated with the request's response once the request completes
26523// successfully.
26524//
26525// Use "Send" method on the returned Request to send the API call to the service.
26526// the "output" return value is not valid until after Send returns without error.
26527//
26528// See ExportTransitGatewayRoutes for more information on using the ExportTransitGatewayRoutes
26529// API call, and error handling.
26530//
26531// This method is useful when you want to inject custom logic or configuration
26532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26533//
26534//
26535//    // Example sending a request using the ExportTransitGatewayRoutesRequest method.
26536//    req, resp := client.ExportTransitGatewayRoutesRequest(params)
26537//
26538//    err := req.Send()
26539//    if err == nil { // resp is now filled
26540//        fmt.Println(resp)
26541//    }
26542//
26543// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
26544func (c *EC2) ExportTransitGatewayRoutesRequest(input *ExportTransitGatewayRoutesInput) (req *request.Request, output *ExportTransitGatewayRoutesOutput) {
26545	op := &request.Operation{
26546		Name:       opExportTransitGatewayRoutes,
26547		HTTPMethod: "POST",
26548		HTTPPath:   "/",
26549	}
26550
26551	if input == nil {
26552		input = &ExportTransitGatewayRoutesInput{}
26553	}
26554
26555	output = &ExportTransitGatewayRoutesOutput{}
26556	req = c.newRequest(op, input, output)
26557	return
26558}
26559
26560// ExportTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
26561//
26562// Exports routes from the specified transit gateway route table to the specified
26563// S3 bucket. By default, all routes are exported. Alternatively, you can filter
26564// by CIDR range.
26565//
26566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26567// with awserr.Error's Code and Message methods to get detailed information about
26568// the error.
26569//
26570// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26571// API operation ExportTransitGatewayRoutes for usage and error information.
26572// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ExportTransitGatewayRoutes
26573func (c *EC2) ExportTransitGatewayRoutes(input *ExportTransitGatewayRoutesInput) (*ExportTransitGatewayRoutesOutput, error) {
26574	req, out := c.ExportTransitGatewayRoutesRequest(input)
26575	return out, req.Send()
26576}
26577
26578// ExportTransitGatewayRoutesWithContext is the same as ExportTransitGatewayRoutes with the addition of
26579// the ability to pass a context and additional request options.
26580//
26581// See ExportTransitGatewayRoutes for details on how to use this API operation.
26582//
26583// The context must be non-nil and will be used for request cancellation. If
26584// the context is nil a panic will occur. In the future the SDK may create
26585// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26586// for more information on using Contexts.
26587func (c *EC2) ExportTransitGatewayRoutesWithContext(ctx aws.Context, input *ExportTransitGatewayRoutesInput, opts ...request.Option) (*ExportTransitGatewayRoutesOutput, error) {
26588	req, out := c.ExportTransitGatewayRoutesRequest(input)
26589	req.SetContext(ctx)
26590	req.ApplyOptions(opts...)
26591	return out, req.Send()
26592}
26593
26594const opGetCapacityReservationUsage = "GetCapacityReservationUsage"
26595
26596// GetCapacityReservationUsageRequest generates a "aws/request.Request" representing the
26597// client's request for the GetCapacityReservationUsage operation. The "output" return
26598// value will be populated with the request's response once the request completes
26599// successfully.
26600//
26601// Use "Send" method on the returned Request to send the API call to the service.
26602// the "output" return value is not valid until after Send returns without error.
26603//
26604// See GetCapacityReservationUsage for more information on using the GetCapacityReservationUsage
26605// API call, and error handling.
26606//
26607// This method is useful when you want to inject custom logic or configuration
26608// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26609//
26610//
26611//    // Example sending a request using the GetCapacityReservationUsageRequest method.
26612//    req, resp := client.GetCapacityReservationUsageRequest(params)
26613//
26614//    err := req.Send()
26615//    if err == nil { // resp is now filled
26616//        fmt.Println(resp)
26617//    }
26618//
26619// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
26620func (c *EC2) GetCapacityReservationUsageRequest(input *GetCapacityReservationUsageInput) (req *request.Request, output *GetCapacityReservationUsageOutput) {
26621	op := &request.Operation{
26622		Name:       opGetCapacityReservationUsage,
26623		HTTPMethod: "POST",
26624		HTTPPath:   "/",
26625	}
26626
26627	if input == nil {
26628		input = &GetCapacityReservationUsageInput{}
26629	}
26630
26631	output = &GetCapacityReservationUsageOutput{}
26632	req = c.newRequest(op, input, output)
26633	return
26634}
26635
26636// GetCapacityReservationUsage API operation for Amazon Elastic Compute Cloud.
26637//
26638// Gets usage information about a Capacity Reservation. If the Capacity Reservation
26639// is shared, it shows usage information for the Capacity Reservation owner
26640// and each AWS account that is currently using the shared capacity. If the
26641// Capacity Reservation is not shared, it shows only the Capacity Reservation
26642// owner's usage.
26643//
26644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26645// with awserr.Error's Code and Message methods to get detailed information about
26646// the error.
26647//
26648// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26649// API operation GetCapacityReservationUsage for usage and error information.
26650// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCapacityReservationUsage
26651func (c *EC2) GetCapacityReservationUsage(input *GetCapacityReservationUsageInput) (*GetCapacityReservationUsageOutput, error) {
26652	req, out := c.GetCapacityReservationUsageRequest(input)
26653	return out, req.Send()
26654}
26655
26656// GetCapacityReservationUsageWithContext is the same as GetCapacityReservationUsage with the addition of
26657// the ability to pass a context and additional request options.
26658//
26659// See GetCapacityReservationUsage for details on how to use this API operation.
26660//
26661// The context must be non-nil and will be used for request cancellation. If
26662// the context is nil a panic will occur. In the future the SDK may create
26663// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26664// for more information on using Contexts.
26665func (c *EC2) GetCapacityReservationUsageWithContext(ctx aws.Context, input *GetCapacityReservationUsageInput, opts ...request.Option) (*GetCapacityReservationUsageOutput, error) {
26666	req, out := c.GetCapacityReservationUsageRequest(input)
26667	req.SetContext(ctx)
26668	req.ApplyOptions(opts...)
26669	return out, req.Send()
26670}
26671
26672const opGetCoipPoolUsage = "GetCoipPoolUsage"
26673
26674// GetCoipPoolUsageRequest generates a "aws/request.Request" representing the
26675// client's request for the GetCoipPoolUsage operation. The "output" return
26676// value will be populated with the request's response once the request completes
26677// successfully.
26678//
26679// Use "Send" method on the returned Request to send the API call to the service.
26680// the "output" return value is not valid until after Send returns without error.
26681//
26682// See GetCoipPoolUsage for more information on using the GetCoipPoolUsage
26683// API call, and error handling.
26684//
26685// This method is useful when you want to inject custom logic or configuration
26686// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26687//
26688//
26689//    // Example sending a request using the GetCoipPoolUsageRequest method.
26690//    req, resp := client.GetCoipPoolUsageRequest(params)
26691//
26692//    err := req.Send()
26693//    if err == nil { // resp is now filled
26694//        fmt.Println(resp)
26695//    }
26696//
26697// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
26698func (c *EC2) GetCoipPoolUsageRequest(input *GetCoipPoolUsageInput) (req *request.Request, output *GetCoipPoolUsageOutput) {
26699	op := &request.Operation{
26700		Name:       opGetCoipPoolUsage,
26701		HTTPMethod: "POST",
26702		HTTPPath:   "/",
26703	}
26704
26705	if input == nil {
26706		input = &GetCoipPoolUsageInput{}
26707	}
26708
26709	output = &GetCoipPoolUsageOutput{}
26710	req = c.newRequest(op, input, output)
26711	return
26712}
26713
26714// GetCoipPoolUsage API operation for Amazon Elastic Compute Cloud.
26715//
26716// Describes the allocations from the specified customer-owned address pool.
26717//
26718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26719// with awserr.Error's Code and Message methods to get detailed information about
26720// the error.
26721//
26722// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26723// API operation GetCoipPoolUsage for usage and error information.
26724// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetCoipPoolUsage
26725func (c *EC2) GetCoipPoolUsage(input *GetCoipPoolUsageInput) (*GetCoipPoolUsageOutput, error) {
26726	req, out := c.GetCoipPoolUsageRequest(input)
26727	return out, req.Send()
26728}
26729
26730// GetCoipPoolUsageWithContext is the same as GetCoipPoolUsage with the addition of
26731// the ability to pass a context and additional request options.
26732//
26733// See GetCoipPoolUsage for details on how to use this API operation.
26734//
26735// The context must be non-nil and will be used for request cancellation. If
26736// the context is nil a panic will occur. In the future the SDK may create
26737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26738// for more information on using Contexts.
26739func (c *EC2) GetCoipPoolUsageWithContext(ctx aws.Context, input *GetCoipPoolUsageInput, opts ...request.Option) (*GetCoipPoolUsageOutput, error) {
26740	req, out := c.GetCoipPoolUsageRequest(input)
26741	req.SetContext(ctx)
26742	req.ApplyOptions(opts...)
26743	return out, req.Send()
26744}
26745
26746const opGetConsoleOutput = "GetConsoleOutput"
26747
26748// GetConsoleOutputRequest generates a "aws/request.Request" representing the
26749// client's request for the GetConsoleOutput operation. The "output" return
26750// value will be populated with the request's response once the request completes
26751// successfully.
26752//
26753// Use "Send" method on the returned Request to send the API call to the service.
26754// the "output" return value is not valid until after Send returns without error.
26755//
26756// See GetConsoleOutput for more information on using the GetConsoleOutput
26757// API call, and error handling.
26758//
26759// This method is useful when you want to inject custom logic or configuration
26760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26761//
26762//
26763//    // Example sending a request using the GetConsoleOutputRequest method.
26764//    req, resp := client.GetConsoleOutputRequest(params)
26765//
26766//    err := req.Send()
26767//    if err == nil { // resp is now filled
26768//        fmt.Println(resp)
26769//    }
26770//
26771// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
26772func (c *EC2) GetConsoleOutputRequest(input *GetConsoleOutputInput) (req *request.Request, output *GetConsoleOutputOutput) {
26773	op := &request.Operation{
26774		Name:       opGetConsoleOutput,
26775		HTTPMethod: "POST",
26776		HTTPPath:   "/",
26777	}
26778
26779	if input == nil {
26780		input = &GetConsoleOutputInput{}
26781	}
26782
26783	output = &GetConsoleOutputOutput{}
26784	req = c.newRequest(op, input, output)
26785	return
26786}
26787
26788// GetConsoleOutput API operation for Amazon Elastic Compute Cloud.
26789//
26790// Gets the console output for the specified instance. For Linux instances,
26791// the instance console output displays the exact console output that would
26792// normally be displayed on a physical monitor attached to a computer. For Windows
26793// instances, the instance console output includes the last three system event
26794// log errors.
26795//
26796// By default, the console output returns buffered information that was posted
26797// shortly after an instance transition state (start, stop, reboot, or terminate).
26798// This information is available for at least one hour after the most recent
26799// post. Only the most recent 64 KB of console output is available.
26800//
26801// You can optionally retrieve the latest serial console output at any time
26802// during the instance lifecycle. This option is supported on instance types
26803// that use the Nitro hypervisor.
26804//
26805// For more information, see Instance Console Output (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html#instance-console-console-output)
26806// in the Amazon Elastic Compute Cloud User Guide.
26807//
26808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26809// with awserr.Error's Code and Message methods to get detailed information about
26810// the error.
26811//
26812// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26813// API operation GetConsoleOutput for usage and error information.
26814// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleOutput
26815func (c *EC2) GetConsoleOutput(input *GetConsoleOutputInput) (*GetConsoleOutputOutput, error) {
26816	req, out := c.GetConsoleOutputRequest(input)
26817	return out, req.Send()
26818}
26819
26820// GetConsoleOutputWithContext is the same as GetConsoleOutput with the addition of
26821// the ability to pass a context and additional request options.
26822//
26823// See GetConsoleOutput for details on how to use this API operation.
26824//
26825// The context must be non-nil and will be used for request cancellation. If
26826// the context is nil a panic will occur. In the future the SDK may create
26827// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26828// for more information on using Contexts.
26829func (c *EC2) GetConsoleOutputWithContext(ctx aws.Context, input *GetConsoleOutputInput, opts ...request.Option) (*GetConsoleOutputOutput, error) {
26830	req, out := c.GetConsoleOutputRequest(input)
26831	req.SetContext(ctx)
26832	req.ApplyOptions(opts...)
26833	return out, req.Send()
26834}
26835
26836const opGetConsoleScreenshot = "GetConsoleScreenshot"
26837
26838// GetConsoleScreenshotRequest generates a "aws/request.Request" representing the
26839// client's request for the GetConsoleScreenshot operation. The "output" return
26840// value will be populated with the request's response once the request completes
26841// successfully.
26842//
26843// Use "Send" method on the returned Request to send the API call to the service.
26844// the "output" return value is not valid until after Send returns without error.
26845//
26846// See GetConsoleScreenshot for more information on using the GetConsoleScreenshot
26847// API call, and error handling.
26848//
26849// This method is useful when you want to inject custom logic or configuration
26850// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26851//
26852//
26853//    // Example sending a request using the GetConsoleScreenshotRequest method.
26854//    req, resp := client.GetConsoleScreenshotRequest(params)
26855//
26856//    err := req.Send()
26857//    if err == nil { // resp is now filled
26858//        fmt.Println(resp)
26859//    }
26860//
26861// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
26862func (c *EC2) GetConsoleScreenshotRequest(input *GetConsoleScreenshotInput) (req *request.Request, output *GetConsoleScreenshotOutput) {
26863	op := &request.Operation{
26864		Name:       opGetConsoleScreenshot,
26865		HTTPMethod: "POST",
26866		HTTPPath:   "/",
26867	}
26868
26869	if input == nil {
26870		input = &GetConsoleScreenshotInput{}
26871	}
26872
26873	output = &GetConsoleScreenshotOutput{}
26874	req = c.newRequest(op, input, output)
26875	return
26876}
26877
26878// GetConsoleScreenshot API operation for Amazon Elastic Compute Cloud.
26879//
26880// Retrieve a JPG-format screenshot of a running instance to help with troubleshooting.
26881//
26882// The returned content is Base64-encoded.
26883//
26884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26885// with awserr.Error's Code and Message methods to get detailed information about
26886// the error.
26887//
26888// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26889// API operation GetConsoleScreenshot for usage and error information.
26890// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetConsoleScreenshot
26891func (c *EC2) GetConsoleScreenshot(input *GetConsoleScreenshotInput) (*GetConsoleScreenshotOutput, error) {
26892	req, out := c.GetConsoleScreenshotRequest(input)
26893	return out, req.Send()
26894}
26895
26896// GetConsoleScreenshotWithContext is the same as GetConsoleScreenshot with the addition of
26897// the ability to pass a context and additional request options.
26898//
26899// See GetConsoleScreenshot for details on how to use this API operation.
26900//
26901// The context must be non-nil and will be used for request cancellation. If
26902// the context is nil a panic will occur. In the future the SDK may create
26903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26904// for more information on using Contexts.
26905func (c *EC2) GetConsoleScreenshotWithContext(ctx aws.Context, input *GetConsoleScreenshotInput, opts ...request.Option) (*GetConsoleScreenshotOutput, error) {
26906	req, out := c.GetConsoleScreenshotRequest(input)
26907	req.SetContext(ctx)
26908	req.ApplyOptions(opts...)
26909	return out, req.Send()
26910}
26911
26912const opGetDefaultCreditSpecification = "GetDefaultCreditSpecification"
26913
26914// GetDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
26915// client's request for the GetDefaultCreditSpecification operation. The "output" return
26916// value will be populated with the request's response once the request completes
26917// successfully.
26918//
26919// Use "Send" method on the returned Request to send the API call to the service.
26920// the "output" return value is not valid until after Send returns without error.
26921//
26922// See GetDefaultCreditSpecification for more information on using the GetDefaultCreditSpecification
26923// API call, and error handling.
26924//
26925// This method is useful when you want to inject custom logic or configuration
26926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
26927//
26928//
26929//    // Example sending a request using the GetDefaultCreditSpecificationRequest method.
26930//    req, resp := client.GetDefaultCreditSpecificationRequest(params)
26931//
26932//    err := req.Send()
26933//    if err == nil { // resp is now filled
26934//        fmt.Println(resp)
26935//    }
26936//
26937// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
26938func (c *EC2) GetDefaultCreditSpecificationRequest(input *GetDefaultCreditSpecificationInput) (req *request.Request, output *GetDefaultCreditSpecificationOutput) {
26939	op := &request.Operation{
26940		Name:       opGetDefaultCreditSpecification,
26941		HTTPMethod: "POST",
26942		HTTPPath:   "/",
26943	}
26944
26945	if input == nil {
26946		input = &GetDefaultCreditSpecificationInput{}
26947	}
26948
26949	output = &GetDefaultCreditSpecificationOutput{}
26950	req = c.newRequest(op, input, output)
26951	return
26952}
26953
26954// GetDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
26955//
26956// Describes the default credit option for CPU usage of a burstable performance
26957// instance family.
26958//
26959// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
26960// in the Amazon Elastic Compute Cloud User Guide.
26961//
26962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
26963// with awserr.Error's Code and Message methods to get detailed information about
26964// the error.
26965//
26966// See the AWS API reference guide for Amazon Elastic Compute Cloud's
26967// API operation GetDefaultCreditSpecification for usage and error information.
26968// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetDefaultCreditSpecification
26969func (c *EC2) GetDefaultCreditSpecification(input *GetDefaultCreditSpecificationInput) (*GetDefaultCreditSpecificationOutput, error) {
26970	req, out := c.GetDefaultCreditSpecificationRequest(input)
26971	return out, req.Send()
26972}
26973
26974// GetDefaultCreditSpecificationWithContext is the same as GetDefaultCreditSpecification with the addition of
26975// the ability to pass a context and additional request options.
26976//
26977// See GetDefaultCreditSpecification for details on how to use this API operation.
26978//
26979// The context must be non-nil and will be used for request cancellation. If
26980// the context is nil a panic will occur. In the future the SDK may create
26981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
26982// for more information on using Contexts.
26983func (c *EC2) GetDefaultCreditSpecificationWithContext(ctx aws.Context, input *GetDefaultCreditSpecificationInput, opts ...request.Option) (*GetDefaultCreditSpecificationOutput, error) {
26984	req, out := c.GetDefaultCreditSpecificationRequest(input)
26985	req.SetContext(ctx)
26986	req.ApplyOptions(opts...)
26987	return out, req.Send()
26988}
26989
26990const opGetEbsDefaultKmsKeyId = "GetEbsDefaultKmsKeyId"
26991
26992// GetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
26993// client's request for the GetEbsDefaultKmsKeyId operation. The "output" return
26994// value will be populated with the request's response once the request completes
26995// successfully.
26996//
26997// Use "Send" method on the returned Request to send the API call to the service.
26998// the "output" return value is not valid until after Send returns without error.
26999//
27000// See GetEbsDefaultKmsKeyId for more information on using the GetEbsDefaultKmsKeyId
27001// API call, and error handling.
27002//
27003// This method is useful when you want to inject custom logic or configuration
27004// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27005//
27006//
27007//    // Example sending a request using the GetEbsDefaultKmsKeyIdRequest method.
27008//    req, resp := client.GetEbsDefaultKmsKeyIdRequest(params)
27009//
27010//    err := req.Send()
27011//    if err == nil { // resp is now filled
27012//        fmt.Println(resp)
27013//    }
27014//
27015// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
27016func (c *EC2) GetEbsDefaultKmsKeyIdRequest(input *GetEbsDefaultKmsKeyIdInput) (req *request.Request, output *GetEbsDefaultKmsKeyIdOutput) {
27017	op := &request.Operation{
27018		Name:       opGetEbsDefaultKmsKeyId,
27019		HTTPMethod: "POST",
27020		HTTPPath:   "/",
27021	}
27022
27023	if input == nil {
27024		input = &GetEbsDefaultKmsKeyIdInput{}
27025	}
27026
27027	output = &GetEbsDefaultKmsKeyIdOutput{}
27028	req = c.newRequest(op, input, output)
27029	return
27030}
27031
27032// GetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
27033//
27034// Describes the default customer master key (CMK) for EBS encryption by default
27035// for your account in this Region. You can change the default CMK for encryption
27036// by default using ModifyEbsDefaultKmsKeyId or ResetEbsDefaultKmsKeyId.
27037//
27038// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
27039// in the Amazon Elastic Compute Cloud User Guide.
27040//
27041// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27042// with awserr.Error's Code and Message methods to get detailed information about
27043// the error.
27044//
27045// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27046// API operation GetEbsDefaultKmsKeyId for usage and error information.
27047// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsDefaultKmsKeyId
27048func (c *EC2) GetEbsDefaultKmsKeyId(input *GetEbsDefaultKmsKeyIdInput) (*GetEbsDefaultKmsKeyIdOutput, error) {
27049	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
27050	return out, req.Send()
27051}
27052
27053// GetEbsDefaultKmsKeyIdWithContext is the same as GetEbsDefaultKmsKeyId with the addition of
27054// the ability to pass a context and additional request options.
27055//
27056// See GetEbsDefaultKmsKeyId for details on how to use this API operation.
27057//
27058// The context must be non-nil and will be used for request cancellation. If
27059// the context is nil a panic will occur. In the future the SDK may create
27060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27061// for more information on using Contexts.
27062func (c *EC2) GetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *GetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*GetEbsDefaultKmsKeyIdOutput, error) {
27063	req, out := c.GetEbsDefaultKmsKeyIdRequest(input)
27064	req.SetContext(ctx)
27065	req.ApplyOptions(opts...)
27066	return out, req.Send()
27067}
27068
27069const opGetEbsEncryptionByDefault = "GetEbsEncryptionByDefault"
27070
27071// GetEbsEncryptionByDefaultRequest generates a "aws/request.Request" representing the
27072// client's request for the GetEbsEncryptionByDefault operation. The "output" return
27073// value will be populated with the request's response once the request completes
27074// successfully.
27075//
27076// Use "Send" method on the returned Request to send the API call to the service.
27077// the "output" return value is not valid until after Send returns without error.
27078//
27079// See GetEbsEncryptionByDefault for more information on using the GetEbsEncryptionByDefault
27080// API call, and error handling.
27081//
27082// This method is useful when you want to inject custom logic or configuration
27083// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27084//
27085//
27086//    // Example sending a request using the GetEbsEncryptionByDefaultRequest method.
27087//    req, resp := client.GetEbsEncryptionByDefaultRequest(params)
27088//
27089//    err := req.Send()
27090//    if err == nil { // resp is now filled
27091//        fmt.Println(resp)
27092//    }
27093//
27094// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
27095func (c *EC2) GetEbsEncryptionByDefaultRequest(input *GetEbsEncryptionByDefaultInput) (req *request.Request, output *GetEbsEncryptionByDefaultOutput) {
27096	op := &request.Operation{
27097		Name:       opGetEbsEncryptionByDefault,
27098		HTTPMethod: "POST",
27099		HTTPPath:   "/",
27100	}
27101
27102	if input == nil {
27103		input = &GetEbsEncryptionByDefaultInput{}
27104	}
27105
27106	output = &GetEbsEncryptionByDefaultOutput{}
27107	req = c.newRequest(op, input, output)
27108	return
27109}
27110
27111// GetEbsEncryptionByDefault API operation for Amazon Elastic Compute Cloud.
27112//
27113// Describes whether EBS encryption by default is enabled for your account in
27114// the current Region.
27115//
27116// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
27117// in the Amazon Elastic Compute Cloud User Guide.
27118//
27119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27120// with awserr.Error's Code and Message methods to get detailed information about
27121// the error.
27122//
27123// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27124// API operation GetEbsEncryptionByDefault for usage and error information.
27125// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetEbsEncryptionByDefault
27126func (c *EC2) GetEbsEncryptionByDefault(input *GetEbsEncryptionByDefaultInput) (*GetEbsEncryptionByDefaultOutput, error) {
27127	req, out := c.GetEbsEncryptionByDefaultRequest(input)
27128	return out, req.Send()
27129}
27130
27131// GetEbsEncryptionByDefaultWithContext is the same as GetEbsEncryptionByDefault with the addition of
27132// the ability to pass a context and additional request options.
27133//
27134// See GetEbsEncryptionByDefault for details on how to use this API operation.
27135//
27136// The context must be non-nil and will be used for request cancellation. If
27137// the context is nil a panic will occur. In the future the SDK may create
27138// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27139// for more information on using Contexts.
27140func (c *EC2) GetEbsEncryptionByDefaultWithContext(ctx aws.Context, input *GetEbsEncryptionByDefaultInput, opts ...request.Option) (*GetEbsEncryptionByDefaultOutput, error) {
27141	req, out := c.GetEbsEncryptionByDefaultRequest(input)
27142	req.SetContext(ctx)
27143	req.ApplyOptions(opts...)
27144	return out, req.Send()
27145}
27146
27147const opGetHostReservationPurchasePreview = "GetHostReservationPurchasePreview"
27148
27149// GetHostReservationPurchasePreviewRequest generates a "aws/request.Request" representing the
27150// client's request for the GetHostReservationPurchasePreview operation. The "output" return
27151// value will be populated with the request's response once the request completes
27152// successfully.
27153//
27154// Use "Send" method on the returned Request to send the API call to the service.
27155// the "output" return value is not valid until after Send returns without error.
27156//
27157// See GetHostReservationPurchasePreview for more information on using the GetHostReservationPurchasePreview
27158// API call, and error handling.
27159//
27160// This method is useful when you want to inject custom logic or configuration
27161// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27162//
27163//
27164//    // Example sending a request using the GetHostReservationPurchasePreviewRequest method.
27165//    req, resp := client.GetHostReservationPurchasePreviewRequest(params)
27166//
27167//    err := req.Send()
27168//    if err == nil { // resp is now filled
27169//        fmt.Println(resp)
27170//    }
27171//
27172// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
27173func (c *EC2) GetHostReservationPurchasePreviewRequest(input *GetHostReservationPurchasePreviewInput) (req *request.Request, output *GetHostReservationPurchasePreviewOutput) {
27174	op := &request.Operation{
27175		Name:       opGetHostReservationPurchasePreview,
27176		HTTPMethod: "POST",
27177		HTTPPath:   "/",
27178	}
27179
27180	if input == nil {
27181		input = &GetHostReservationPurchasePreviewInput{}
27182	}
27183
27184	output = &GetHostReservationPurchasePreviewOutput{}
27185	req = c.newRequest(op, input, output)
27186	return
27187}
27188
27189// GetHostReservationPurchasePreview API operation for Amazon Elastic Compute Cloud.
27190//
27191// Preview a reservation purchase with configurations that match those of your
27192// Dedicated Host. You must have active Dedicated Hosts in your account before
27193// you purchase a reservation.
27194//
27195// This is a preview of the PurchaseHostReservation action and does not result
27196// in the offering being purchased.
27197//
27198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27199// with awserr.Error's Code and Message methods to get detailed information about
27200// the error.
27201//
27202// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27203// API operation GetHostReservationPurchasePreview for usage and error information.
27204// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetHostReservationPurchasePreview
27205func (c *EC2) GetHostReservationPurchasePreview(input *GetHostReservationPurchasePreviewInput) (*GetHostReservationPurchasePreviewOutput, error) {
27206	req, out := c.GetHostReservationPurchasePreviewRequest(input)
27207	return out, req.Send()
27208}
27209
27210// GetHostReservationPurchasePreviewWithContext is the same as GetHostReservationPurchasePreview with the addition of
27211// the ability to pass a context and additional request options.
27212//
27213// See GetHostReservationPurchasePreview for details on how to use this API operation.
27214//
27215// The context must be non-nil and will be used for request cancellation. If
27216// the context is nil a panic will occur. In the future the SDK may create
27217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27218// for more information on using Contexts.
27219func (c *EC2) GetHostReservationPurchasePreviewWithContext(ctx aws.Context, input *GetHostReservationPurchasePreviewInput, opts ...request.Option) (*GetHostReservationPurchasePreviewOutput, error) {
27220	req, out := c.GetHostReservationPurchasePreviewRequest(input)
27221	req.SetContext(ctx)
27222	req.ApplyOptions(opts...)
27223	return out, req.Send()
27224}
27225
27226const opGetLaunchTemplateData = "GetLaunchTemplateData"
27227
27228// GetLaunchTemplateDataRequest generates a "aws/request.Request" representing the
27229// client's request for the GetLaunchTemplateData operation. The "output" return
27230// value will be populated with the request's response once the request completes
27231// successfully.
27232//
27233// Use "Send" method on the returned Request to send the API call to the service.
27234// the "output" return value is not valid until after Send returns without error.
27235//
27236// See GetLaunchTemplateData for more information on using the GetLaunchTemplateData
27237// API call, and error handling.
27238//
27239// This method is useful when you want to inject custom logic or configuration
27240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27241//
27242//
27243//    // Example sending a request using the GetLaunchTemplateDataRequest method.
27244//    req, resp := client.GetLaunchTemplateDataRequest(params)
27245//
27246//    err := req.Send()
27247//    if err == nil { // resp is now filled
27248//        fmt.Println(resp)
27249//    }
27250//
27251// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
27252func (c *EC2) GetLaunchTemplateDataRequest(input *GetLaunchTemplateDataInput) (req *request.Request, output *GetLaunchTemplateDataOutput) {
27253	op := &request.Operation{
27254		Name:       opGetLaunchTemplateData,
27255		HTTPMethod: "POST",
27256		HTTPPath:   "/",
27257	}
27258
27259	if input == nil {
27260		input = &GetLaunchTemplateDataInput{}
27261	}
27262
27263	output = &GetLaunchTemplateDataOutput{}
27264	req = c.newRequest(op, input, output)
27265	return
27266}
27267
27268// GetLaunchTemplateData API operation for Amazon Elastic Compute Cloud.
27269//
27270// Retrieves the configuration data of the specified instance. You can use this
27271// data to create a launch template.
27272//
27273// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27274// with awserr.Error's Code and Message methods to get detailed information about
27275// the error.
27276//
27277// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27278// API operation GetLaunchTemplateData for usage and error information.
27279// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetLaunchTemplateData
27280func (c *EC2) GetLaunchTemplateData(input *GetLaunchTemplateDataInput) (*GetLaunchTemplateDataOutput, error) {
27281	req, out := c.GetLaunchTemplateDataRequest(input)
27282	return out, req.Send()
27283}
27284
27285// GetLaunchTemplateDataWithContext is the same as GetLaunchTemplateData with the addition of
27286// the ability to pass a context and additional request options.
27287//
27288// See GetLaunchTemplateData for details on how to use this API operation.
27289//
27290// The context must be non-nil and will be used for request cancellation. If
27291// the context is nil a panic will occur. In the future the SDK may create
27292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27293// for more information on using Contexts.
27294func (c *EC2) GetLaunchTemplateDataWithContext(ctx aws.Context, input *GetLaunchTemplateDataInput, opts ...request.Option) (*GetLaunchTemplateDataOutput, error) {
27295	req, out := c.GetLaunchTemplateDataRequest(input)
27296	req.SetContext(ctx)
27297	req.ApplyOptions(opts...)
27298	return out, req.Send()
27299}
27300
27301const opGetPasswordData = "GetPasswordData"
27302
27303// GetPasswordDataRequest generates a "aws/request.Request" representing the
27304// client's request for the GetPasswordData operation. The "output" return
27305// value will be populated with the request's response once the request completes
27306// successfully.
27307//
27308// Use "Send" method on the returned Request to send the API call to the service.
27309// the "output" return value is not valid until after Send returns without error.
27310//
27311// See GetPasswordData for more information on using the GetPasswordData
27312// API call, and error handling.
27313//
27314// This method is useful when you want to inject custom logic or configuration
27315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27316//
27317//
27318//    // Example sending a request using the GetPasswordDataRequest method.
27319//    req, resp := client.GetPasswordDataRequest(params)
27320//
27321//    err := req.Send()
27322//    if err == nil { // resp is now filled
27323//        fmt.Println(resp)
27324//    }
27325//
27326// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
27327func (c *EC2) GetPasswordDataRequest(input *GetPasswordDataInput) (req *request.Request, output *GetPasswordDataOutput) {
27328	op := &request.Operation{
27329		Name:       opGetPasswordData,
27330		HTTPMethod: "POST",
27331		HTTPPath:   "/",
27332	}
27333
27334	if input == nil {
27335		input = &GetPasswordDataInput{}
27336	}
27337
27338	output = &GetPasswordDataOutput{}
27339	req = c.newRequest(op, input, output)
27340	return
27341}
27342
27343// GetPasswordData API operation for Amazon Elastic Compute Cloud.
27344//
27345// Retrieves the encrypted administrator password for a running Windows instance.
27346//
27347// The Windows password is generated at boot by the EC2Config service or EC2Launch
27348// scripts (Windows Server 2016 and later). This usually only happens the first
27349// time an instance is launched. For more information, see EC2Config (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html)
27350// and EC2Launch (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2launch.html)
27351// in the Amazon Elastic Compute Cloud User Guide.
27352//
27353// For the EC2Config service, the password is not generated for rebundled AMIs
27354// unless Ec2SetPassword is enabled before bundling.
27355//
27356// The password is encrypted using the key pair that you specified when you
27357// launched the instance. You must provide the corresponding key pair file.
27358//
27359// When you launch an instance, password generation and encryption may take
27360// a few minutes. If you try to retrieve the password before it's available,
27361// the output returns an empty string. We recommend that you wait up to 15 minutes
27362// after launching an instance before trying to retrieve the generated password.
27363//
27364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27365// with awserr.Error's Code and Message methods to get detailed information about
27366// the error.
27367//
27368// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27369// API operation GetPasswordData for usage and error information.
27370// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetPasswordData
27371func (c *EC2) GetPasswordData(input *GetPasswordDataInput) (*GetPasswordDataOutput, error) {
27372	req, out := c.GetPasswordDataRequest(input)
27373	return out, req.Send()
27374}
27375
27376// GetPasswordDataWithContext is the same as GetPasswordData with the addition of
27377// the ability to pass a context and additional request options.
27378//
27379// See GetPasswordData for details on how to use this API operation.
27380//
27381// The context must be non-nil and will be used for request cancellation. If
27382// the context is nil a panic will occur. In the future the SDK may create
27383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27384// for more information on using Contexts.
27385func (c *EC2) GetPasswordDataWithContext(ctx aws.Context, input *GetPasswordDataInput, opts ...request.Option) (*GetPasswordDataOutput, error) {
27386	req, out := c.GetPasswordDataRequest(input)
27387	req.SetContext(ctx)
27388	req.ApplyOptions(opts...)
27389	return out, req.Send()
27390}
27391
27392const opGetReservedInstancesExchangeQuote = "GetReservedInstancesExchangeQuote"
27393
27394// GetReservedInstancesExchangeQuoteRequest generates a "aws/request.Request" representing the
27395// client's request for the GetReservedInstancesExchangeQuote operation. The "output" return
27396// value will be populated with the request's response once the request completes
27397// successfully.
27398//
27399// Use "Send" method on the returned Request to send the API call to the service.
27400// the "output" return value is not valid until after Send returns without error.
27401//
27402// See GetReservedInstancesExchangeQuote for more information on using the GetReservedInstancesExchangeQuote
27403// API call, and error handling.
27404//
27405// This method is useful when you want to inject custom logic or configuration
27406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27407//
27408//
27409//    // Example sending a request using the GetReservedInstancesExchangeQuoteRequest method.
27410//    req, resp := client.GetReservedInstancesExchangeQuoteRequest(params)
27411//
27412//    err := req.Send()
27413//    if err == nil { // resp is now filled
27414//        fmt.Println(resp)
27415//    }
27416//
27417// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
27418func (c *EC2) GetReservedInstancesExchangeQuoteRequest(input *GetReservedInstancesExchangeQuoteInput) (req *request.Request, output *GetReservedInstancesExchangeQuoteOutput) {
27419	op := &request.Operation{
27420		Name:       opGetReservedInstancesExchangeQuote,
27421		HTTPMethod: "POST",
27422		HTTPPath:   "/",
27423	}
27424
27425	if input == nil {
27426		input = &GetReservedInstancesExchangeQuoteInput{}
27427	}
27428
27429	output = &GetReservedInstancesExchangeQuoteOutput{}
27430	req = c.newRequest(op, input, output)
27431	return
27432}
27433
27434// GetReservedInstancesExchangeQuote API operation for Amazon Elastic Compute Cloud.
27435//
27436// Returns a quote and exchange information for exchanging one or more specified
27437// Convertible Reserved Instances for a new Convertible Reserved Instance. If
27438// the exchange cannot be performed, the reason is returned in the response.
27439// Use AcceptReservedInstancesExchangeQuote to perform the exchange.
27440//
27441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27442// with awserr.Error's Code and Message methods to get detailed information about
27443// the error.
27444//
27445// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27446// API operation GetReservedInstancesExchangeQuote for usage and error information.
27447// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetReservedInstancesExchangeQuote
27448func (c *EC2) GetReservedInstancesExchangeQuote(input *GetReservedInstancesExchangeQuoteInput) (*GetReservedInstancesExchangeQuoteOutput, error) {
27449	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
27450	return out, req.Send()
27451}
27452
27453// GetReservedInstancesExchangeQuoteWithContext is the same as GetReservedInstancesExchangeQuote with the addition of
27454// the ability to pass a context and additional request options.
27455//
27456// See GetReservedInstancesExchangeQuote for details on how to use this API operation.
27457//
27458// The context must be non-nil and will be used for request cancellation. If
27459// the context is nil a panic will occur. In the future the SDK may create
27460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27461// for more information on using Contexts.
27462func (c *EC2) GetReservedInstancesExchangeQuoteWithContext(ctx aws.Context, input *GetReservedInstancesExchangeQuoteInput, opts ...request.Option) (*GetReservedInstancesExchangeQuoteOutput, error) {
27463	req, out := c.GetReservedInstancesExchangeQuoteRequest(input)
27464	req.SetContext(ctx)
27465	req.ApplyOptions(opts...)
27466	return out, req.Send()
27467}
27468
27469const opGetTransitGatewayAttachmentPropagations = "GetTransitGatewayAttachmentPropagations"
27470
27471// GetTransitGatewayAttachmentPropagationsRequest generates a "aws/request.Request" representing the
27472// client's request for the GetTransitGatewayAttachmentPropagations operation. The "output" return
27473// value will be populated with the request's response once the request completes
27474// successfully.
27475//
27476// Use "Send" method on the returned Request to send the API call to the service.
27477// the "output" return value is not valid until after Send returns without error.
27478//
27479// See GetTransitGatewayAttachmentPropagations for more information on using the GetTransitGatewayAttachmentPropagations
27480// API call, and error handling.
27481//
27482// This method is useful when you want to inject custom logic or configuration
27483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27484//
27485//
27486//    // Example sending a request using the GetTransitGatewayAttachmentPropagationsRequest method.
27487//    req, resp := client.GetTransitGatewayAttachmentPropagationsRequest(params)
27488//
27489//    err := req.Send()
27490//    if err == nil { // resp is now filled
27491//        fmt.Println(resp)
27492//    }
27493//
27494// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
27495func (c *EC2) GetTransitGatewayAttachmentPropagationsRequest(input *GetTransitGatewayAttachmentPropagationsInput) (req *request.Request, output *GetTransitGatewayAttachmentPropagationsOutput) {
27496	op := &request.Operation{
27497		Name:       opGetTransitGatewayAttachmentPropagations,
27498		HTTPMethod: "POST",
27499		HTTPPath:   "/",
27500		Paginator: &request.Paginator{
27501			InputTokens:     []string{"NextToken"},
27502			OutputTokens:    []string{"NextToken"},
27503			LimitToken:      "MaxResults",
27504			TruncationToken: "",
27505		},
27506	}
27507
27508	if input == nil {
27509		input = &GetTransitGatewayAttachmentPropagationsInput{}
27510	}
27511
27512	output = &GetTransitGatewayAttachmentPropagationsOutput{}
27513	req = c.newRequest(op, input, output)
27514	return
27515}
27516
27517// GetTransitGatewayAttachmentPropagations API operation for Amazon Elastic Compute Cloud.
27518//
27519// Lists the route tables to which the specified resource attachment propagates
27520// routes.
27521//
27522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27523// with awserr.Error's Code and Message methods to get detailed information about
27524// the error.
27525//
27526// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27527// API operation GetTransitGatewayAttachmentPropagations for usage and error information.
27528// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayAttachmentPropagations
27529func (c *EC2) GetTransitGatewayAttachmentPropagations(input *GetTransitGatewayAttachmentPropagationsInput) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
27530	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
27531	return out, req.Send()
27532}
27533
27534// GetTransitGatewayAttachmentPropagationsWithContext is the same as GetTransitGatewayAttachmentPropagations with the addition of
27535// the ability to pass a context and additional request options.
27536//
27537// See GetTransitGatewayAttachmentPropagations for details on how to use this API operation.
27538//
27539// The context must be non-nil and will be used for request cancellation. If
27540// the context is nil a panic will occur. In the future the SDK may create
27541// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27542// for more information on using Contexts.
27543func (c *EC2) GetTransitGatewayAttachmentPropagationsWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, opts ...request.Option) (*GetTransitGatewayAttachmentPropagationsOutput, error) {
27544	req, out := c.GetTransitGatewayAttachmentPropagationsRequest(input)
27545	req.SetContext(ctx)
27546	req.ApplyOptions(opts...)
27547	return out, req.Send()
27548}
27549
27550// GetTransitGatewayAttachmentPropagationsPages iterates over the pages of a GetTransitGatewayAttachmentPropagations operation,
27551// calling the "fn" function with the response data for each page. To stop
27552// iterating, return false from the fn function.
27553//
27554// See GetTransitGatewayAttachmentPropagations method for more information on how to use this operation.
27555//
27556// Note: This operation can generate multiple requests to a service.
27557//
27558//    // Example iterating over at most 3 pages of a GetTransitGatewayAttachmentPropagations operation.
27559//    pageNum := 0
27560//    err := client.GetTransitGatewayAttachmentPropagationsPages(params,
27561//        func(page *ec2.GetTransitGatewayAttachmentPropagationsOutput, lastPage bool) bool {
27562//            pageNum++
27563//            fmt.Println(page)
27564//            return pageNum <= 3
27565//        })
27566//
27567func (c *EC2) GetTransitGatewayAttachmentPropagationsPages(input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool) error {
27568	return c.GetTransitGatewayAttachmentPropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
27569}
27570
27571// GetTransitGatewayAttachmentPropagationsPagesWithContext same as GetTransitGatewayAttachmentPropagationsPages except
27572// it takes a Context and allows setting request options on the pages.
27573//
27574// The context must be non-nil and will be used for request cancellation. If
27575// the context is nil a panic will occur. In the future the SDK may create
27576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27577// for more information on using Contexts.
27578func (c *EC2) GetTransitGatewayAttachmentPropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayAttachmentPropagationsInput, fn func(*GetTransitGatewayAttachmentPropagationsOutput, bool) bool, opts ...request.Option) error {
27579	p := request.Pagination{
27580		NewRequest: func() (*request.Request, error) {
27581			var inCpy *GetTransitGatewayAttachmentPropagationsInput
27582			if input != nil {
27583				tmp := *input
27584				inCpy = &tmp
27585			}
27586			req, _ := c.GetTransitGatewayAttachmentPropagationsRequest(inCpy)
27587			req.SetContext(ctx)
27588			req.ApplyOptions(opts...)
27589			return req, nil
27590		},
27591	}
27592
27593	for p.Next() {
27594		if !fn(p.Page().(*GetTransitGatewayAttachmentPropagationsOutput), !p.HasNextPage()) {
27595			break
27596		}
27597	}
27598
27599	return p.Err()
27600}
27601
27602const opGetTransitGatewayMulticastDomainAssociations = "GetTransitGatewayMulticastDomainAssociations"
27603
27604// GetTransitGatewayMulticastDomainAssociationsRequest generates a "aws/request.Request" representing the
27605// client's request for the GetTransitGatewayMulticastDomainAssociations operation. The "output" return
27606// value will be populated with the request's response once the request completes
27607// successfully.
27608//
27609// Use "Send" method on the returned Request to send the API call to the service.
27610// the "output" return value is not valid until after Send returns without error.
27611//
27612// See GetTransitGatewayMulticastDomainAssociations for more information on using the GetTransitGatewayMulticastDomainAssociations
27613// API call, and error handling.
27614//
27615// This method is useful when you want to inject custom logic or configuration
27616// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27617//
27618//
27619//    // Example sending a request using the GetTransitGatewayMulticastDomainAssociationsRequest method.
27620//    req, resp := client.GetTransitGatewayMulticastDomainAssociationsRequest(params)
27621//
27622//    err := req.Send()
27623//    if err == nil { // resp is now filled
27624//        fmt.Println(resp)
27625//    }
27626//
27627// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
27628func (c *EC2) GetTransitGatewayMulticastDomainAssociationsRequest(input *GetTransitGatewayMulticastDomainAssociationsInput) (req *request.Request, output *GetTransitGatewayMulticastDomainAssociationsOutput) {
27629	op := &request.Operation{
27630		Name:       opGetTransitGatewayMulticastDomainAssociations,
27631		HTTPMethod: "POST",
27632		HTTPPath:   "/",
27633	}
27634
27635	if input == nil {
27636		input = &GetTransitGatewayMulticastDomainAssociationsInput{}
27637	}
27638
27639	output = &GetTransitGatewayMulticastDomainAssociationsOutput{}
27640	req = c.newRequest(op, input, output)
27641	return
27642}
27643
27644// GetTransitGatewayMulticastDomainAssociations API operation for Amazon Elastic Compute Cloud.
27645//
27646// Gets information about the associations for the transit gateway multicast
27647// domain.
27648//
27649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27650// with awserr.Error's Code and Message methods to get detailed information about
27651// the error.
27652//
27653// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27654// API operation GetTransitGatewayMulticastDomainAssociations for usage and error information.
27655// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayMulticastDomainAssociations
27656func (c *EC2) GetTransitGatewayMulticastDomainAssociations(input *GetTransitGatewayMulticastDomainAssociationsInput) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
27657	req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
27658	return out, req.Send()
27659}
27660
27661// GetTransitGatewayMulticastDomainAssociationsWithContext is the same as GetTransitGatewayMulticastDomainAssociations with the addition of
27662// the ability to pass a context and additional request options.
27663//
27664// See GetTransitGatewayMulticastDomainAssociations for details on how to use this API operation.
27665//
27666// The context must be non-nil and will be used for request cancellation. If
27667// the context is nil a panic will occur. In the future the SDK may create
27668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27669// for more information on using Contexts.
27670func (c *EC2) GetTransitGatewayMulticastDomainAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayMulticastDomainAssociationsInput, opts ...request.Option) (*GetTransitGatewayMulticastDomainAssociationsOutput, error) {
27671	req, out := c.GetTransitGatewayMulticastDomainAssociationsRequest(input)
27672	req.SetContext(ctx)
27673	req.ApplyOptions(opts...)
27674	return out, req.Send()
27675}
27676
27677const opGetTransitGatewayRouteTableAssociations = "GetTransitGatewayRouteTableAssociations"
27678
27679// GetTransitGatewayRouteTableAssociationsRequest generates a "aws/request.Request" representing the
27680// client's request for the GetTransitGatewayRouteTableAssociations operation. The "output" return
27681// value will be populated with the request's response once the request completes
27682// successfully.
27683//
27684// Use "Send" method on the returned Request to send the API call to the service.
27685// the "output" return value is not valid until after Send returns without error.
27686//
27687// See GetTransitGatewayRouteTableAssociations for more information on using the GetTransitGatewayRouteTableAssociations
27688// API call, and error handling.
27689//
27690// This method is useful when you want to inject custom logic or configuration
27691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27692//
27693//
27694//    // Example sending a request using the GetTransitGatewayRouteTableAssociationsRequest method.
27695//    req, resp := client.GetTransitGatewayRouteTableAssociationsRequest(params)
27696//
27697//    err := req.Send()
27698//    if err == nil { // resp is now filled
27699//        fmt.Println(resp)
27700//    }
27701//
27702// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
27703func (c *EC2) GetTransitGatewayRouteTableAssociationsRequest(input *GetTransitGatewayRouteTableAssociationsInput) (req *request.Request, output *GetTransitGatewayRouteTableAssociationsOutput) {
27704	op := &request.Operation{
27705		Name:       opGetTransitGatewayRouteTableAssociations,
27706		HTTPMethod: "POST",
27707		HTTPPath:   "/",
27708		Paginator: &request.Paginator{
27709			InputTokens:     []string{"NextToken"},
27710			OutputTokens:    []string{"NextToken"},
27711			LimitToken:      "MaxResults",
27712			TruncationToken: "",
27713		},
27714	}
27715
27716	if input == nil {
27717		input = &GetTransitGatewayRouteTableAssociationsInput{}
27718	}
27719
27720	output = &GetTransitGatewayRouteTableAssociationsOutput{}
27721	req = c.newRequest(op, input, output)
27722	return
27723}
27724
27725// GetTransitGatewayRouteTableAssociations API operation for Amazon Elastic Compute Cloud.
27726//
27727// Gets information about the associations for the specified transit gateway
27728// route table.
27729//
27730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27731// with awserr.Error's Code and Message methods to get detailed information about
27732// the error.
27733//
27734// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27735// API operation GetTransitGatewayRouteTableAssociations for usage and error information.
27736// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTableAssociations
27737func (c *EC2) GetTransitGatewayRouteTableAssociations(input *GetTransitGatewayRouteTableAssociationsInput) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
27738	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
27739	return out, req.Send()
27740}
27741
27742// GetTransitGatewayRouteTableAssociationsWithContext is the same as GetTransitGatewayRouteTableAssociations with the addition of
27743// the ability to pass a context and additional request options.
27744//
27745// See GetTransitGatewayRouteTableAssociations for details on how to use this API operation.
27746//
27747// The context must be non-nil and will be used for request cancellation. If
27748// the context is nil a panic will occur. In the future the SDK may create
27749// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27750// for more information on using Contexts.
27751func (c *EC2) GetTransitGatewayRouteTableAssociationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, opts ...request.Option) (*GetTransitGatewayRouteTableAssociationsOutput, error) {
27752	req, out := c.GetTransitGatewayRouteTableAssociationsRequest(input)
27753	req.SetContext(ctx)
27754	req.ApplyOptions(opts...)
27755	return out, req.Send()
27756}
27757
27758// GetTransitGatewayRouteTableAssociationsPages iterates over the pages of a GetTransitGatewayRouteTableAssociations operation,
27759// calling the "fn" function with the response data for each page. To stop
27760// iterating, return false from the fn function.
27761//
27762// See GetTransitGatewayRouteTableAssociations method for more information on how to use this operation.
27763//
27764// Note: This operation can generate multiple requests to a service.
27765//
27766//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTableAssociations operation.
27767//    pageNum := 0
27768//    err := client.GetTransitGatewayRouteTableAssociationsPages(params,
27769//        func(page *ec2.GetTransitGatewayRouteTableAssociationsOutput, lastPage bool) bool {
27770//            pageNum++
27771//            fmt.Println(page)
27772//            return pageNum <= 3
27773//        })
27774//
27775func (c *EC2) GetTransitGatewayRouteTableAssociationsPages(input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool) error {
27776	return c.GetTransitGatewayRouteTableAssociationsPagesWithContext(aws.BackgroundContext(), input, fn)
27777}
27778
27779// GetTransitGatewayRouteTableAssociationsPagesWithContext same as GetTransitGatewayRouteTableAssociationsPages except
27780// it takes a Context and allows setting request options on the pages.
27781//
27782// The context must be non-nil and will be used for request cancellation. If
27783// the context is nil a panic will occur. In the future the SDK may create
27784// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27785// for more information on using Contexts.
27786func (c *EC2) GetTransitGatewayRouteTableAssociationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTableAssociationsInput, fn func(*GetTransitGatewayRouteTableAssociationsOutput, bool) bool, opts ...request.Option) error {
27787	p := request.Pagination{
27788		NewRequest: func() (*request.Request, error) {
27789			var inCpy *GetTransitGatewayRouteTableAssociationsInput
27790			if input != nil {
27791				tmp := *input
27792				inCpy = &tmp
27793			}
27794			req, _ := c.GetTransitGatewayRouteTableAssociationsRequest(inCpy)
27795			req.SetContext(ctx)
27796			req.ApplyOptions(opts...)
27797			return req, nil
27798		},
27799	}
27800
27801	for p.Next() {
27802		if !fn(p.Page().(*GetTransitGatewayRouteTableAssociationsOutput), !p.HasNextPage()) {
27803			break
27804		}
27805	}
27806
27807	return p.Err()
27808}
27809
27810const opGetTransitGatewayRouteTablePropagations = "GetTransitGatewayRouteTablePropagations"
27811
27812// GetTransitGatewayRouteTablePropagationsRequest generates a "aws/request.Request" representing the
27813// client's request for the GetTransitGatewayRouteTablePropagations operation. The "output" return
27814// value will be populated with the request's response once the request completes
27815// successfully.
27816//
27817// Use "Send" method on the returned Request to send the API call to the service.
27818// the "output" return value is not valid until after Send returns without error.
27819//
27820// See GetTransitGatewayRouteTablePropagations for more information on using the GetTransitGatewayRouteTablePropagations
27821// API call, and error handling.
27822//
27823// This method is useful when you want to inject custom logic or configuration
27824// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27825//
27826//
27827//    // Example sending a request using the GetTransitGatewayRouteTablePropagationsRequest method.
27828//    req, resp := client.GetTransitGatewayRouteTablePropagationsRequest(params)
27829//
27830//    err := req.Send()
27831//    if err == nil { // resp is now filled
27832//        fmt.Println(resp)
27833//    }
27834//
27835// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
27836func (c *EC2) GetTransitGatewayRouteTablePropagationsRequest(input *GetTransitGatewayRouteTablePropagationsInput) (req *request.Request, output *GetTransitGatewayRouteTablePropagationsOutput) {
27837	op := &request.Operation{
27838		Name:       opGetTransitGatewayRouteTablePropagations,
27839		HTTPMethod: "POST",
27840		HTTPPath:   "/",
27841		Paginator: &request.Paginator{
27842			InputTokens:     []string{"NextToken"},
27843			OutputTokens:    []string{"NextToken"},
27844			LimitToken:      "MaxResults",
27845			TruncationToken: "",
27846		},
27847	}
27848
27849	if input == nil {
27850		input = &GetTransitGatewayRouteTablePropagationsInput{}
27851	}
27852
27853	output = &GetTransitGatewayRouteTablePropagationsOutput{}
27854	req = c.newRequest(op, input, output)
27855	return
27856}
27857
27858// GetTransitGatewayRouteTablePropagations API operation for Amazon Elastic Compute Cloud.
27859//
27860// Gets information about the route table propagations for the specified transit
27861// gateway route table.
27862//
27863// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27864// with awserr.Error's Code and Message methods to get detailed information about
27865// the error.
27866//
27867// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27868// API operation GetTransitGatewayRouteTablePropagations for usage and error information.
27869// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/GetTransitGatewayRouteTablePropagations
27870func (c *EC2) GetTransitGatewayRouteTablePropagations(input *GetTransitGatewayRouteTablePropagationsInput) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
27871	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
27872	return out, req.Send()
27873}
27874
27875// GetTransitGatewayRouteTablePropagationsWithContext is the same as GetTransitGatewayRouteTablePropagations with the addition of
27876// the ability to pass a context and additional request options.
27877//
27878// See GetTransitGatewayRouteTablePropagations for details on how to use this API operation.
27879//
27880// The context must be non-nil and will be used for request cancellation. If
27881// the context is nil a panic will occur. In the future the SDK may create
27882// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27883// for more information on using Contexts.
27884func (c *EC2) GetTransitGatewayRouteTablePropagationsWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, opts ...request.Option) (*GetTransitGatewayRouteTablePropagationsOutput, error) {
27885	req, out := c.GetTransitGatewayRouteTablePropagationsRequest(input)
27886	req.SetContext(ctx)
27887	req.ApplyOptions(opts...)
27888	return out, req.Send()
27889}
27890
27891// GetTransitGatewayRouteTablePropagationsPages iterates over the pages of a GetTransitGatewayRouteTablePropagations operation,
27892// calling the "fn" function with the response data for each page. To stop
27893// iterating, return false from the fn function.
27894//
27895// See GetTransitGatewayRouteTablePropagations method for more information on how to use this operation.
27896//
27897// Note: This operation can generate multiple requests to a service.
27898//
27899//    // Example iterating over at most 3 pages of a GetTransitGatewayRouteTablePropagations operation.
27900//    pageNum := 0
27901//    err := client.GetTransitGatewayRouteTablePropagationsPages(params,
27902//        func(page *ec2.GetTransitGatewayRouteTablePropagationsOutput, lastPage bool) bool {
27903//            pageNum++
27904//            fmt.Println(page)
27905//            return pageNum <= 3
27906//        })
27907//
27908func (c *EC2) GetTransitGatewayRouteTablePropagationsPages(input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool) error {
27909	return c.GetTransitGatewayRouteTablePropagationsPagesWithContext(aws.BackgroundContext(), input, fn)
27910}
27911
27912// GetTransitGatewayRouteTablePropagationsPagesWithContext same as GetTransitGatewayRouteTablePropagationsPages except
27913// it takes a Context and allows setting request options on the pages.
27914//
27915// The context must be non-nil and will be used for request cancellation. If
27916// the context is nil a panic will occur. In the future the SDK may create
27917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
27918// for more information on using Contexts.
27919func (c *EC2) GetTransitGatewayRouteTablePropagationsPagesWithContext(ctx aws.Context, input *GetTransitGatewayRouteTablePropagationsInput, fn func(*GetTransitGatewayRouteTablePropagationsOutput, bool) bool, opts ...request.Option) error {
27920	p := request.Pagination{
27921		NewRequest: func() (*request.Request, error) {
27922			var inCpy *GetTransitGatewayRouteTablePropagationsInput
27923			if input != nil {
27924				tmp := *input
27925				inCpy = &tmp
27926			}
27927			req, _ := c.GetTransitGatewayRouteTablePropagationsRequest(inCpy)
27928			req.SetContext(ctx)
27929			req.ApplyOptions(opts...)
27930			return req, nil
27931		},
27932	}
27933
27934	for p.Next() {
27935		if !fn(p.Page().(*GetTransitGatewayRouteTablePropagationsOutput), !p.HasNextPage()) {
27936			break
27937		}
27938	}
27939
27940	return p.Err()
27941}
27942
27943const opImportClientVpnClientCertificateRevocationList = "ImportClientVpnClientCertificateRevocationList"
27944
27945// ImportClientVpnClientCertificateRevocationListRequest generates a "aws/request.Request" representing the
27946// client's request for the ImportClientVpnClientCertificateRevocationList operation. The "output" return
27947// value will be populated with the request's response once the request completes
27948// successfully.
27949//
27950// Use "Send" method on the returned Request to send the API call to the service.
27951// the "output" return value is not valid until after Send returns without error.
27952//
27953// See ImportClientVpnClientCertificateRevocationList for more information on using the ImportClientVpnClientCertificateRevocationList
27954// API call, and error handling.
27955//
27956// This method is useful when you want to inject custom logic or configuration
27957// into the SDK's request lifecycle. Such as custom headers, or retry logic.
27958//
27959//
27960//    // Example sending a request using the ImportClientVpnClientCertificateRevocationListRequest method.
27961//    req, resp := client.ImportClientVpnClientCertificateRevocationListRequest(params)
27962//
27963//    err := req.Send()
27964//    if err == nil { // resp is now filled
27965//        fmt.Println(resp)
27966//    }
27967//
27968// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
27969func (c *EC2) ImportClientVpnClientCertificateRevocationListRequest(input *ImportClientVpnClientCertificateRevocationListInput) (req *request.Request, output *ImportClientVpnClientCertificateRevocationListOutput) {
27970	op := &request.Operation{
27971		Name:       opImportClientVpnClientCertificateRevocationList,
27972		HTTPMethod: "POST",
27973		HTTPPath:   "/",
27974	}
27975
27976	if input == nil {
27977		input = &ImportClientVpnClientCertificateRevocationListInput{}
27978	}
27979
27980	output = &ImportClientVpnClientCertificateRevocationListOutput{}
27981	req = c.newRequest(op, input, output)
27982	return
27983}
27984
27985// ImportClientVpnClientCertificateRevocationList API operation for Amazon Elastic Compute Cloud.
27986//
27987// Uploads a client certificate revocation list to the specified Client VPN
27988// endpoint. Uploading a client certificate revocation list overwrites the existing
27989// client certificate revocation list.
27990//
27991// Uploading a client certificate revocation list resets existing client connections.
27992//
27993// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
27994// with awserr.Error's Code and Message methods to get detailed information about
27995// the error.
27996//
27997// See the AWS API reference guide for Amazon Elastic Compute Cloud's
27998// API operation ImportClientVpnClientCertificateRevocationList for usage and error information.
27999// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportClientVpnClientCertificateRevocationList
28000func (c *EC2) ImportClientVpnClientCertificateRevocationList(input *ImportClientVpnClientCertificateRevocationListInput) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
28001	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
28002	return out, req.Send()
28003}
28004
28005// ImportClientVpnClientCertificateRevocationListWithContext is the same as ImportClientVpnClientCertificateRevocationList with the addition of
28006// the ability to pass a context and additional request options.
28007//
28008// See ImportClientVpnClientCertificateRevocationList for details on how to use this API operation.
28009//
28010// The context must be non-nil and will be used for request cancellation. If
28011// the context is nil a panic will occur. In the future the SDK may create
28012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28013// for more information on using Contexts.
28014func (c *EC2) ImportClientVpnClientCertificateRevocationListWithContext(ctx aws.Context, input *ImportClientVpnClientCertificateRevocationListInput, opts ...request.Option) (*ImportClientVpnClientCertificateRevocationListOutput, error) {
28015	req, out := c.ImportClientVpnClientCertificateRevocationListRequest(input)
28016	req.SetContext(ctx)
28017	req.ApplyOptions(opts...)
28018	return out, req.Send()
28019}
28020
28021const opImportImage = "ImportImage"
28022
28023// ImportImageRequest generates a "aws/request.Request" representing the
28024// client's request for the ImportImage operation. The "output" return
28025// value will be populated with the request's response once the request completes
28026// successfully.
28027//
28028// Use "Send" method on the returned Request to send the API call to the service.
28029// the "output" return value is not valid until after Send returns without error.
28030//
28031// See ImportImage for more information on using the ImportImage
28032// API call, and error handling.
28033//
28034// This method is useful when you want to inject custom logic or configuration
28035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28036//
28037//
28038//    // Example sending a request using the ImportImageRequest method.
28039//    req, resp := client.ImportImageRequest(params)
28040//
28041//    err := req.Send()
28042//    if err == nil { // resp is now filled
28043//        fmt.Println(resp)
28044//    }
28045//
28046// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
28047func (c *EC2) ImportImageRequest(input *ImportImageInput) (req *request.Request, output *ImportImageOutput) {
28048	op := &request.Operation{
28049		Name:       opImportImage,
28050		HTTPMethod: "POST",
28051		HTTPPath:   "/",
28052	}
28053
28054	if input == nil {
28055		input = &ImportImageInput{}
28056	}
28057
28058	output = &ImportImageOutput{}
28059	req = c.newRequest(op, input, output)
28060	return
28061}
28062
28063// ImportImage API operation for Amazon Elastic Compute Cloud.
28064//
28065// Import single or multi-volume disk images or EBS snapshots into an Amazon
28066// Machine Image (AMI). For more information, see Importing a VM as an Image
28067// Using VM Import/Export (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html)
28068// in the VM Import/Export User Guide.
28069//
28070// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28071// with awserr.Error's Code and Message methods to get detailed information about
28072// the error.
28073//
28074// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28075// API operation ImportImage for usage and error information.
28076// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportImage
28077func (c *EC2) ImportImage(input *ImportImageInput) (*ImportImageOutput, error) {
28078	req, out := c.ImportImageRequest(input)
28079	return out, req.Send()
28080}
28081
28082// ImportImageWithContext is the same as ImportImage with the addition of
28083// the ability to pass a context and additional request options.
28084//
28085// See ImportImage for details on how to use this API operation.
28086//
28087// The context must be non-nil and will be used for request cancellation. If
28088// the context is nil a panic will occur. In the future the SDK may create
28089// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28090// for more information on using Contexts.
28091func (c *EC2) ImportImageWithContext(ctx aws.Context, input *ImportImageInput, opts ...request.Option) (*ImportImageOutput, error) {
28092	req, out := c.ImportImageRequest(input)
28093	req.SetContext(ctx)
28094	req.ApplyOptions(opts...)
28095	return out, req.Send()
28096}
28097
28098const opImportInstance = "ImportInstance"
28099
28100// ImportInstanceRequest generates a "aws/request.Request" representing the
28101// client's request for the ImportInstance operation. The "output" return
28102// value will be populated with the request's response once the request completes
28103// successfully.
28104//
28105// Use "Send" method on the returned Request to send the API call to the service.
28106// the "output" return value is not valid until after Send returns without error.
28107//
28108// See ImportInstance for more information on using the ImportInstance
28109// API call, and error handling.
28110//
28111// This method is useful when you want to inject custom logic or configuration
28112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28113//
28114//
28115//    // Example sending a request using the ImportInstanceRequest method.
28116//    req, resp := client.ImportInstanceRequest(params)
28117//
28118//    err := req.Send()
28119//    if err == nil { // resp is now filled
28120//        fmt.Println(resp)
28121//    }
28122//
28123// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
28124func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Request, output *ImportInstanceOutput) {
28125	op := &request.Operation{
28126		Name:       opImportInstance,
28127		HTTPMethod: "POST",
28128		HTTPPath:   "/",
28129	}
28130
28131	if input == nil {
28132		input = &ImportInstanceInput{}
28133	}
28134
28135	output = &ImportInstanceOutput{}
28136	req = c.newRequest(op, input, output)
28137	return
28138}
28139
28140// ImportInstance API operation for Amazon Elastic Compute Cloud.
28141//
28142// Creates an import instance task using metadata from the specified disk image.
28143// ImportInstance only supports single-volume VMs. To import multi-volume VMs,
28144// use ImportImage. For more information, see Importing a Virtual Machine Using
28145// the Amazon EC2 CLI (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ec2-cli-vmimport-export.html).
28146//
28147// For information about the import manifest referenced by this API action,
28148// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
28149//
28150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28151// with awserr.Error's Code and Message methods to get detailed information about
28152// the error.
28153//
28154// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28155// API operation ImportInstance for usage and error information.
28156// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportInstance
28157func (c *EC2) ImportInstance(input *ImportInstanceInput) (*ImportInstanceOutput, error) {
28158	req, out := c.ImportInstanceRequest(input)
28159	return out, req.Send()
28160}
28161
28162// ImportInstanceWithContext is the same as ImportInstance with the addition of
28163// the ability to pass a context and additional request options.
28164//
28165// See ImportInstance for details on how to use this API operation.
28166//
28167// The context must be non-nil and will be used for request cancellation. If
28168// the context is nil a panic will occur. In the future the SDK may create
28169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28170// for more information on using Contexts.
28171func (c *EC2) ImportInstanceWithContext(ctx aws.Context, input *ImportInstanceInput, opts ...request.Option) (*ImportInstanceOutput, error) {
28172	req, out := c.ImportInstanceRequest(input)
28173	req.SetContext(ctx)
28174	req.ApplyOptions(opts...)
28175	return out, req.Send()
28176}
28177
28178const opImportKeyPair = "ImportKeyPair"
28179
28180// ImportKeyPairRequest generates a "aws/request.Request" representing the
28181// client's request for the ImportKeyPair operation. The "output" return
28182// value will be populated with the request's response once the request completes
28183// successfully.
28184//
28185// Use "Send" method on the returned Request to send the API call to the service.
28186// the "output" return value is not valid until after Send returns without error.
28187//
28188// See ImportKeyPair for more information on using the ImportKeyPair
28189// API call, and error handling.
28190//
28191// This method is useful when you want to inject custom logic or configuration
28192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28193//
28194//
28195//    // Example sending a request using the ImportKeyPairRequest method.
28196//    req, resp := client.ImportKeyPairRequest(params)
28197//
28198//    err := req.Send()
28199//    if err == nil { // resp is now filled
28200//        fmt.Println(resp)
28201//    }
28202//
28203// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
28204func (c *EC2) ImportKeyPairRequest(input *ImportKeyPairInput) (req *request.Request, output *ImportKeyPairOutput) {
28205	op := &request.Operation{
28206		Name:       opImportKeyPair,
28207		HTTPMethod: "POST",
28208		HTTPPath:   "/",
28209	}
28210
28211	if input == nil {
28212		input = &ImportKeyPairInput{}
28213	}
28214
28215	output = &ImportKeyPairOutput{}
28216	req = c.newRequest(op, input, output)
28217	return
28218}
28219
28220// ImportKeyPair API operation for Amazon Elastic Compute Cloud.
28221//
28222// Imports the public key from an RSA key pair that you created with a third-party
28223// tool. Compare this with CreateKeyPair, in which AWS creates the key pair
28224// and gives the keys to you (AWS keeps a copy of the public key). With ImportKeyPair,
28225// you create the key pair and give AWS just the public key. The private key
28226// is never transferred between you and AWS.
28227//
28228// For more information about key pairs, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
28229// in the Amazon Elastic Compute Cloud User Guide.
28230//
28231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28232// with awserr.Error's Code and Message methods to get detailed information about
28233// the error.
28234//
28235// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28236// API operation ImportKeyPair for usage and error information.
28237// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportKeyPair
28238func (c *EC2) ImportKeyPair(input *ImportKeyPairInput) (*ImportKeyPairOutput, error) {
28239	req, out := c.ImportKeyPairRequest(input)
28240	return out, req.Send()
28241}
28242
28243// ImportKeyPairWithContext is the same as ImportKeyPair with the addition of
28244// the ability to pass a context and additional request options.
28245//
28246// See ImportKeyPair for details on how to use this API operation.
28247//
28248// The context must be non-nil and will be used for request cancellation. If
28249// the context is nil a panic will occur. In the future the SDK may create
28250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28251// for more information on using Contexts.
28252func (c *EC2) ImportKeyPairWithContext(ctx aws.Context, input *ImportKeyPairInput, opts ...request.Option) (*ImportKeyPairOutput, error) {
28253	req, out := c.ImportKeyPairRequest(input)
28254	req.SetContext(ctx)
28255	req.ApplyOptions(opts...)
28256	return out, req.Send()
28257}
28258
28259const opImportSnapshot = "ImportSnapshot"
28260
28261// ImportSnapshotRequest generates a "aws/request.Request" representing the
28262// client's request for the ImportSnapshot operation. The "output" return
28263// value will be populated with the request's response once the request completes
28264// successfully.
28265//
28266// Use "Send" method on the returned Request to send the API call to the service.
28267// the "output" return value is not valid until after Send returns without error.
28268//
28269// See ImportSnapshot for more information on using the ImportSnapshot
28270// API call, and error handling.
28271//
28272// This method is useful when you want to inject custom logic or configuration
28273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28274//
28275//
28276//    // Example sending a request using the ImportSnapshotRequest method.
28277//    req, resp := client.ImportSnapshotRequest(params)
28278//
28279//    err := req.Send()
28280//    if err == nil { // resp is now filled
28281//        fmt.Println(resp)
28282//    }
28283//
28284// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
28285func (c *EC2) ImportSnapshotRequest(input *ImportSnapshotInput) (req *request.Request, output *ImportSnapshotOutput) {
28286	op := &request.Operation{
28287		Name:       opImportSnapshot,
28288		HTTPMethod: "POST",
28289		HTTPPath:   "/",
28290	}
28291
28292	if input == nil {
28293		input = &ImportSnapshotInput{}
28294	}
28295
28296	output = &ImportSnapshotOutput{}
28297	req = c.newRequest(op, input, output)
28298	return
28299}
28300
28301// ImportSnapshot API operation for Amazon Elastic Compute Cloud.
28302//
28303// Imports a disk into an EBS snapshot.
28304//
28305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28306// with awserr.Error's Code and Message methods to get detailed information about
28307// the error.
28308//
28309// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28310// API operation ImportSnapshot for usage and error information.
28311// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportSnapshot
28312func (c *EC2) ImportSnapshot(input *ImportSnapshotInput) (*ImportSnapshotOutput, error) {
28313	req, out := c.ImportSnapshotRequest(input)
28314	return out, req.Send()
28315}
28316
28317// ImportSnapshotWithContext is the same as ImportSnapshot with the addition of
28318// the ability to pass a context and additional request options.
28319//
28320// See ImportSnapshot for details on how to use this API operation.
28321//
28322// The context must be non-nil and will be used for request cancellation. If
28323// the context is nil a panic will occur. In the future the SDK may create
28324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28325// for more information on using Contexts.
28326func (c *EC2) ImportSnapshotWithContext(ctx aws.Context, input *ImportSnapshotInput, opts ...request.Option) (*ImportSnapshotOutput, error) {
28327	req, out := c.ImportSnapshotRequest(input)
28328	req.SetContext(ctx)
28329	req.ApplyOptions(opts...)
28330	return out, req.Send()
28331}
28332
28333const opImportVolume = "ImportVolume"
28334
28335// ImportVolumeRequest generates a "aws/request.Request" representing the
28336// client's request for the ImportVolume operation. The "output" return
28337// value will be populated with the request's response once the request completes
28338// successfully.
28339//
28340// Use "Send" method on the returned Request to send the API call to the service.
28341// the "output" return value is not valid until after Send returns without error.
28342//
28343// See ImportVolume for more information on using the ImportVolume
28344// API call, and error handling.
28345//
28346// This method is useful when you want to inject custom logic or configuration
28347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28348//
28349//
28350//    // Example sending a request using the ImportVolumeRequest method.
28351//    req, resp := client.ImportVolumeRequest(params)
28352//
28353//    err := req.Send()
28354//    if err == nil { // resp is now filled
28355//        fmt.Println(resp)
28356//    }
28357//
28358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
28359func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Request, output *ImportVolumeOutput) {
28360	op := &request.Operation{
28361		Name:       opImportVolume,
28362		HTTPMethod: "POST",
28363		HTTPPath:   "/",
28364	}
28365
28366	if input == nil {
28367		input = &ImportVolumeInput{}
28368	}
28369
28370	output = &ImportVolumeOutput{}
28371	req = c.newRequest(op, input, output)
28372	return
28373}
28374
28375// ImportVolume API operation for Amazon Elastic Compute Cloud.
28376//
28377// Creates an import volume task using metadata from the specified disk image.For
28378// more information, see Importing Disks to Amazon EBS (https://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/importing-your-volumes-into-amazon-ebs.html).
28379//
28380// For information about the import manifest referenced by this API action,
28381// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
28382//
28383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28384// with awserr.Error's Code and Message methods to get detailed information about
28385// the error.
28386//
28387// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28388// API operation ImportVolume for usage and error information.
28389// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ImportVolume
28390func (c *EC2) ImportVolume(input *ImportVolumeInput) (*ImportVolumeOutput, error) {
28391	req, out := c.ImportVolumeRequest(input)
28392	return out, req.Send()
28393}
28394
28395// ImportVolumeWithContext is the same as ImportVolume with the addition of
28396// the ability to pass a context and additional request options.
28397//
28398// See ImportVolume for details on how to use this API operation.
28399//
28400// The context must be non-nil and will be used for request cancellation. If
28401// the context is nil a panic will occur. In the future the SDK may create
28402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28403// for more information on using Contexts.
28404func (c *EC2) ImportVolumeWithContext(ctx aws.Context, input *ImportVolumeInput, opts ...request.Option) (*ImportVolumeOutput, error) {
28405	req, out := c.ImportVolumeRequest(input)
28406	req.SetContext(ctx)
28407	req.ApplyOptions(opts...)
28408	return out, req.Send()
28409}
28410
28411const opModifyCapacityReservation = "ModifyCapacityReservation"
28412
28413// ModifyCapacityReservationRequest generates a "aws/request.Request" representing the
28414// client's request for the ModifyCapacityReservation operation. The "output" return
28415// value will be populated with the request's response once the request completes
28416// successfully.
28417//
28418// Use "Send" method on the returned Request to send the API call to the service.
28419// the "output" return value is not valid until after Send returns without error.
28420//
28421// See ModifyCapacityReservation for more information on using the ModifyCapacityReservation
28422// API call, and error handling.
28423//
28424// This method is useful when you want to inject custom logic or configuration
28425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28426//
28427//
28428//    // Example sending a request using the ModifyCapacityReservationRequest method.
28429//    req, resp := client.ModifyCapacityReservationRequest(params)
28430//
28431//    err := req.Send()
28432//    if err == nil { // resp is now filled
28433//        fmt.Println(resp)
28434//    }
28435//
28436// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
28437func (c *EC2) ModifyCapacityReservationRequest(input *ModifyCapacityReservationInput) (req *request.Request, output *ModifyCapacityReservationOutput) {
28438	op := &request.Operation{
28439		Name:       opModifyCapacityReservation,
28440		HTTPMethod: "POST",
28441		HTTPPath:   "/",
28442	}
28443
28444	if input == nil {
28445		input = &ModifyCapacityReservationInput{}
28446	}
28447
28448	output = &ModifyCapacityReservationOutput{}
28449	req = c.newRequest(op, input, output)
28450	return
28451}
28452
28453// ModifyCapacityReservation API operation for Amazon Elastic Compute Cloud.
28454//
28455// Modifies a Capacity Reservation's capacity and the conditions under which
28456// it is to be released. You cannot change a Capacity Reservation's instance
28457// type, EBS optimization, instance store settings, platform, Availability Zone,
28458// or instance eligibility. If you need to modify any of these attributes, we
28459// recommend that you cancel the Capacity Reservation, and then create a new
28460// one with the required attributes.
28461//
28462// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28463// with awserr.Error's Code and Message methods to get detailed information about
28464// the error.
28465//
28466// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28467// API operation ModifyCapacityReservation for usage and error information.
28468// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyCapacityReservation
28469func (c *EC2) ModifyCapacityReservation(input *ModifyCapacityReservationInput) (*ModifyCapacityReservationOutput, error) {
28470	req, out := c.ModifyCapacityReservationRequest(input)
28471	return out, req.Send()
28472}
28473
28474// ModifyCapacityReservationWithContext is the same as ModifyCapacityReservation with the addition of
28475// the ability to pass a context and additional request options.
28476//
28477// See ModifyCapacityReservation for details on how to use this API operation.
28478//
28479// The context must be non-nil and will be used for request cancellation. If
28480// the context is nil a panic will occur. In the future the SDK may create
28481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28482// for more information on using Contexts.
28483func (c *EC2) ModifyCapacityReservationWithContext(ctx aws.Context, input *ModifyCapacityReservationInput, opts ...request.Option) (*ModifyCapacityReservationOutput, error) {
28484	req, out := c.ModifyCapacityReservationRequest(input)
28485	req.SetContext(ctx)
28486	req.ApplyOptions(opts...)
28487	return out, req.Send()
28488}
28489
28490const opModifyClientVpnEndpoint = "ModifyClientVpnEndpoint"
28491
28492// ModifyClientVpnEndpointRequest generates a "aws/request.Request" representing the
28493// client's request for the ModifyClientVpnEndpoint operation. The "output" return
28494// value will be populated with the request's response once the request completes
28495// successfully.
28496//
28497// Use "Send" method on the returned Request to send the API call to the service.
28498// the "output" return value is not valid until after Send returns without error.
28499//
28500// See ModifyClientVpnEndpoint for more information on using the ModifyClientVpnEndpoint
28501// API call, and error handling.
28502//
28503// This method is useful when you want to inject custom logic or configuration
28504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28505//
28506//
28507//    // Example sending a request using the ModifyClientVpnEndpointRequest method.
28508//    req, resp := client.ModifyClientVpnEndpointRequest(params)
28509//
28510//    err := req.Send()
28511//    if err == nil { // resp is now filled
28512//        fmt.Println(resp)
28513//    }
28514//
28515// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
28516func (c *EC2) ModifyClientVpnEndpointRequest(input *ModifyClientVpnEndpointInput) (req *request.Request, output *ModifyClientVpnEndpointOutput) {
28517	op := &request.Operation{
28518		Name:       opModifyClientVpnEndpoint,
28519		HTTPMethod: "POST",
28520		HTTPPath:   "/",
28521	}
28522
28523	if input == nil {
28524		input = &ModifyClientVpnEndpointInput{}
28525	}
28526
28527	output = &ModifyClientVpnEndpointOutput{}
28528	req = c.newRequest(op, input, output)
28529	return
28530}
28531
28532// ModifyClientVpnEndpoint API operation for Amazon Elastic Compute Cloud.
28533//
28534// Modifies the specified Client VPN endpoint. You can only modify an endpoint's
28535// server certificate information, client connection logging information, DNS
28536// server, and description. Modifying the DNS server resets existing client
28537// connections.
28538//
28539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28540// with awserr.Error's Code and Message methods to get detailed information about
28541// the error.
28542//
28543// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28544// API operation ModifyClientVpnEndpoint for usage and error information.
28545// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyClientVpnEndpoint
28546func (c *EC2) ModifyClientVpnEndpoint(input *ModifyClientVpnEndpointInput) (*ModifyClientVpnEndpointOutput, error) {
28547	req, out := c.ModifyClientVpnEndpointRequest(input)
28548	return out, req.Send()
28549}
28550
28551// ModifyClientVpnEndpointWithContext is the same as ModifyClientVpnEndpoint with the addition of
28552// the ability to pass a context and additional request options.
28553//
28554// See ModifyClientVpnEndpoint for details on how to use this API operation.
28555//
28556// The context must be non-nil and will be used for request cancellation. If
28557// the context is nil a panic will occur. In the future the SDK may create
28558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28559// for more information on using Contexts.
28560func (c *EC2) ModifyClientVpnEndpointWithContext(ctx aws.Context, input *ModifyClientVpnEndpointInput, opts ...request.Option) (*ModifyClientVpnEndpointOutput, error) {
28561	req, out := c.ModifyClientVpnEndpointRequest(input)
28562	req.SetContext(ctx)
28563	req.ApplyOptions(opts...)
28564	return out, req.Send()
28565}
28566
28567const opModifyDefaultCreditSpecification = "ModifyDefaultCreditSpecification"
28568
28569// ModifyDefaultCreditSpecificationRequest generates a "aws/request.Request" representing the
28570// client's request for the ModifyDefaultCreditSpecification operation. The "output" return
28571// value will be populated with the request's response once the request completes
28572// successfully.
28573//
28574// Use "Send" method on the returned Request to send the API call to the service.
28575// the "output" return value is not valid until after Send returns without error.
28576//
28577// See ModifyDefaultCreditSpecification for more information on using the ModifyDefaultCreditSpecification
28578// API call, and error handling.
28579//
28580// This method is useful when you want to inject custom logic or configuration
28581// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28582//
28583//
28584//    // Example sending a request using the ModifyDefaultCreditSpecificationRequest method.
28585//    req, resp := client.ModifyDefaultCreditSpecificationRequest(params)
28586//
28587//    err := req.Send()
28588//    if err == nil { // resp is now filled
28589//        fmt.Println(resp)
28590//    }
28591//
28592// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
28593func (c *EC2) ModifyDefaultCreditSpecificationRequest(input *ModifyDefaultCreditSpecificationInput) (req *request.Request, output *ModifyDefaultCreditSpecificationOutput) {
28594	op := &request.Operation{
28595		Name:       opModifyDefaultCreditSpecification,
28596		HTTPMethod: "POST",
28597		HTTPPath:   "/",
28598	}
28599
28600	if input == nil {
28601		input = &ModifyDefaultCreditSpecificationInput{}
28602	}
28603
28604	output = &ModifyDefaultCreditSpecificationOutput{}
28605	req = c.newRequest(op, input, output)
28606	return
28607}
28608
28609// ModifyDefaultCreditSpecification API operation for Amazon Elastic Compute Cloud.
28610//
28611// Modifies the default credit option for CPU usage of burstable performance
28612// instances. The default credit option is set at the account level per AWS
28613// Region, and is specified per instance family. All new burstable performance
28614// instances in the account launch using the default credit option.
28615//
28616// ModifyDefaultCreditSpecification is an asynchronous operation, which works
28617// at an AWS Region level and modifies the credit option for each Availability
28618// Zone. All zones in a Region are updated within five minutes. But if instances
28619// are launched during this operation, they might not get the new credit option
28620// until the zone is updated. To verify whether the update has occurred, you
28621// can call GetDefaultCreditSpecification and check DefaultCreditSpecification
28622// for updates.
28623//
28624// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
28625// in the Amazon Elastic Compute Cloud User Guide.
28626//
28627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28628// with awserr.Error's Code and Message methods to get detailed information about
28629// the error.
28630//
28631// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28632// API operation ModifyDefaultCreditSpecification for usage and error information.
28633// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyDefaultCreditSpecification
28634func (c *EC2) ModifyDefaultCreditSpecification(input *ModifyDefaultCreditSpecificationInput) (*ModifyDefaultCreditSpecificationOutput, error) {
28635	req, out := c.ModifyDefaultCreditSpecificationRequest(input)
28636	return out, req.Send()
28637}
28638
28639// ModifyDefaultCreditSpecificationWithContext is the same as ModifyDefaultCreditSpecification with the addition of
28640// the ability to pass a context and additional request options.
28641//
28642// See ModifyDefaultCreditSpecification for details on how to use this API operation.
28643//
28644// The context must be non-nil and will be used for request cancellation. If
28645// the context is nil a panic will occur. In the future the SDK may create
28646// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28647// for more information on using Contexts.
28648func (c *EC2) ModifyDefaultCreditSpecificationWithContext(ctx aws.Context, input *ModifyDefaultCreditSpecificationInput, opts ...request.Option) (*ModifyDefaultCreditSpecificationOutput, error) {
28649	req, out := c.ModifyDefaultCreditSpecificationRequest(input)
28650	req.SetContext(ctx)
28651	req.ApplyOptions(opts...)
28652	return out, req.Send()
28653}
28654
28655const opModifyEbsDefaultKmsKeyId = "ModifyEbsDefaultKmsKeyId"
28656
28657// ModifyEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
28658// client's request for the ModifyEbsDefaultKmsKeyId operation. The "output" return
28659// value will be populated with the request's response once the request completes
28660// successfully.
28661//
28662// Use "Send" method on the returned Request to send the API call to the service.
28663// the "output" return value is not valid until after Send returns without error.
28664//
28665// See ModifyEbsDefaultKmsKeyId for more information on using the ModifyEbsDefaultKmsKeyId
28666// API call, and error handling.
28667//
28668// This method is useful when you want to inject custom logic or configuration
28669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28670//
28671//
28672//    // Example sending a request using the ModifyEbsDefaultKmsKeyIdRequest method.
28673//    req, resp := client.ModifyEbsDefaultKmsKeyIdRequest(params)
28674//
28675//    err := req.Send()
28676//    if err == nil { // resp is now filled
28677//        fmt.Println(resp)
28678//    }
28679//
28680// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
28681func (c *EC2) ModifyEbsDefaultKmsKeyIdRequest(input *ModifyEbsDefaultKmsKeyIdInput) (req *request.Request, output *ModifyEbsDefaultKmsKeyIdOutput) {
28682	op := &request.Operation{
28683		Name:       opModifyEbsDefaultKmsKeyId,
28684		HTTPMethod: "POST",
28685		HTTPPath:   "/",
28686	}
28687
28688	if input == nil {
28689		input = &ModifyEbsDefaultKmsKeyIdInput{}
28690	}
28691
28692	output = &ModifyEbsDefaultKmsKeyIdOutput{}
28693	req = c.newRequest(op, input, output)
28694	return
28695}
28696
28697// ModifyEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
28698//
28699// Changes the default customer master key (CMK) for EBS encryption by default
28700// for your account in this Region.
28701//
28702// AWS creates a unique AWS managed CMK in each Region for use with encryption
28703// by default. If you change the default CMK to a symmetric customer managed
28704// CMK, it is used instead of the AWS managed CMK. To reset the default CMK
28705// to the AWS managed CMK for EBS, use ResetEbsDefaultKmsKeyId. Amazon EBS does
28706// not support asymmetric CMKs.
28707//
28708// If you delete or disable the customer managed CMK that you specified for
28709// use with encryption by default, your instances will fail to launch.
28710//
28711// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
28712// in the Amazon Elastic Compute Cloud User Guide.
28713//
28714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28715// with awserr.Error's Code and Message methods to get detailed information about
28716// the error.
28717//
28718// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28719// API operation ModifyEbsDefaultKmsKeyId for usage and error information.
28720// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyEbsDefaultKmsKeyId
28721func (c *EC2) ModifyEbsDefaultKmsKeyId(input *ModifyEbsDefaultKmsKeyIdInput) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
28722	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
28723	return out, req.Send()
28724}
28725
28726// ModifyEbsDefaultKmsKeyIdWithContext is the same as ModifyEbsDefaultKmsKeyId with the addition of
28727// the ability to pass a context and additional request options.
28728//
28729// See ModifyEbsDefaultKmsKeyId for details on how to use this API operation.
28730//
28731// The context must be non-nil and will be used for request cancellation. If
28732// the context is nil a panic will occur. In the future the SDK may create
28733// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28734// for more information on using Contexts.
28735func (c *EC2) ModifyEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ModifyEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ModifyEbsDefaultKmsKeyIdOutput, error) {
28736	req, out := c.ModifyEbsDefaultKmsKeyIdRequest(input)
28737	req.SetContext(ctx)
28738	req.ApplyOptions(opts...)
28739	return out, req.Send()
28740}
28741
28742const opModifyFleet = "ModifyFleet"
28743
28744// ModifyFleetRequest generates a "aws/request.Request" representing the
28745// client's request for the ModifyFleet operation. The "output" return
28746// value will be populated with the request's response once the request completes
28747// successfully.
28748//
28749// Use "Send" method on the returned Request to send the API call to the service.
28750// the "output" return value is not valid until after Send returns without error.
28751//
28752// See ModifyFleet for more information on using the ModifyFleet
28753// API call, and error handling.
28754//
28755// This method is useful when you want to inject custom logic or configuration
28756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28757//
28758//
28759//    // Example sending a request using the ModifyFleetRequest method.
28760//    req, resp := client.ModifyFleetRequest(params)
28761//
28762//    err := req.Send()
28763//    if err == nil { // resp is now filled
28764//        fmt.Println(resp)
28765//    }
28766//
28767// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
28768func (c *EC2) ModifyFleetRequest(input *ModifyFleetInput) (req *request.Request, output *ModifyFleetOutput) {
28769	op := &request.Operation{
28770		Name:       opModifyFleet,
28771		HTTPMethod: "POST",
28772		HTTPPath:   "/",
28773	}
28774
28775	if input == nil {
28776		input = &ModifyFleetInput{}
28777	}
28778
28779	output = &ModifyFleetOutput{}
28780	req = c.newRequest(op, input, output)
28781	return
28782}
28783
28784// ModifyFleet API operation for Amazon Elastic Compute Cloud.
28785//
28786// Modifies the specified EC2 Fleet.
28787//
28788// You can only modify an EC2 Fleet request of type maintain.
28789//
28790// While the EC2 Fleet is being modified, it is in the modifying state.
28791//
28792// To scale up your EC2 Fleet, increase its target capacity. The EC2 Fleet launches
28793// the additional Spot Instances according to the allocation strategy for the
28794// EC2 Fleet request. If the allocation strategy is lowest-price, the EC2 Fleet
28795// launches instances using the Spot Instance pool with the lowest price. If
28796// the allocation strategy is diversified, the EC2 Fleet distributes the instances
28797// across the Spot Instance pools. If the allocation strategy is capacity-optimized,
28798// EC2 Fleet launches instances from Spot Instance pools with optimal capacity
28799// for the number of instances that are launching.
28800//
28801// To scale down your EC2 Fleet, decrease its target capacity. First, the EC2
28802// Fleet cancels any open requests that exceed the new target capacity. You
28803// can request that the EC2 Fleet terminate Spot Instances until the size of
28804// the fleet no longer exceeds the new target capacity. If the allocation strategy
28805// is lowest-price, the EC2 Fleet terminates the instances with the highest
28806// price per unit. If the allocation strategy is capacity-optimized, the EC2
28807// Fleet terminates the instances in the Spot Instance pools that have the least
28808// available Spot Instance capacity. If the allocation strategy is diversified,
28809// the EC2 Fleet terminates instances across the Spot Instance pools. Alternatively,
28810// you can request that the EC2 Fleet keep the fleet at its current size, but
28811// not replace any Spot Instances that are interrupted or that you terminate
28812// manually.
28813//
28814// If you are finished with your EC2 Fleet for now, but will use it again later,
28815// you can set the target capacity to 0.
28816//
28817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28818// with awserr.Error's Code and Message methods to get detailed information about
28819// the error.
28820//
28821// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28822// API operation ModifyFleet for usage and error information.
28823// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFleet
28824func (c *EC2) ModifyFleet(input *ModifyFleetInput) (*ModifyFleetOutput, error) {
28825	req, out := c.ModifyFleetRequest(input)
28826	return out, req.Send()
28827}
28828
28829// ModifyFleetWithContext is the same as ModifyFleet with the addition of
28830// the ability to pass a context and additional request options.
28831//
28832// See ModifyFleet for details on how to use this API operation.
28833//
28834// The context must be non-nil and will be used for request cancellation. If
28835// the context is nil a panic will occur. In the future the SDK may create
28836// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28837// for more information on using Contexts.
28838func (c *EC2) ModifyFleetWithContext(ctx aws.Context, input *ModifyFleetInput, opts ...request.Option) (*ModifyFleetOutput, error) {
28839	req, out := c.ModifyFleetRequest(input)
28840	req.SetContext(ctx)
28841	req.ApplyOptions(opts...)
28842	return out, req.Send()
28843}
28844
28845const opModifyFpgaImageAttribute = "ModifyFpgaImageAttribute"
28846
28847// ModifyFpgaImageAttributeRequest generates a "aws/request.Request" representing the
28848// client's request for the ModifyFpgaImageAttribute operation. The "output" return
28849// value will be populated with the request's response once the request completes
28850// successfully.
28851//
28852// Use "Send" method on the returned Request to send the API call to the service.
28853// the "output" return value is not valid until after Send returns without error.
28854//
28855// See ModifyFpgaImageAttribute for more information on using the ModifyFpgaImageAttribute
28856// API call, and error handling.
28857//
28858// This method is useful when you want to inject custom logic or configuration
28859// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28860//
28861//
28862//    // Example sending a request using the ModifyFpgaImageAttributeRequest method.
28863//    req, resp := client.ModifyFpgaImageAttributeRequest(params)
28864//
28865//    err := req.Send()
28866//    if err == nil { // resp is now filled
28867//        fmt.Println(resp)
28868//    }
28869//
28870// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
28871func (c *EC2) ModifyFpgaImageAttributeRequest(input *ModifyFpgaImageAttributeInput) (req *request.Request, output *ModifyFpgaImageAttributeOutput) {
28872	op := &request.Operation{
28873		Name:       opModifyFpgaImageAttribute,
28874		HTTPMethod: "POST",
28875		HTTPPath:   "/",
28876	}
28877
28878	if input == nil {
28879		input = &ModifyFpgaImageAttributeInput{}
28880	}
28881
28882	output = &ModifyFpgaImageAttributeOutput{}
28883	req = c.newRequest(op, input, output)
28884	return
28885}
28886
28887// ModifyFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
28888//
28889// Modifies the specified attribute of the specified Amazon FPGA Image (AFI).
28890//
28891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28892// with awserr.Error's Code and Message methods to get detailed information about
28893// the error.
28894//
28895// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28896// API operation ModifyFpgaImageAttribute for usage and error information.
28897// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyFpgaImageAttribute
28898func (c *EC2) ModifyFpgaImageAttribute(input *ModifyFpgaImageAttributeInput) (*ModifyFpgaImageAttributeOutput, error) {
28899	req, out := c.ModifyFpgaImageAttributeRequest(input)
28900	return out, req.Send()
28901}
28902
28903// ModifyFpgaImageAttributeWithContext is the same as ModifyFpgaImageAttribute with the addition of
28904// the ability to pass a context and additional request options.
28905//
28906// See ModifyFpgaImageAttribute for details on how to use this API operation.
28907//
28908// The context must be non-nil and will be used for request cancellation. If
28909// the context is nil a panic will occur. In the future the SDK may create
28910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28911// for more information on using Contexts.
28912func (c *EC2) ModifyFpgaImageAttributeWithContext(ctx aws.Context, input *ModifyFpgaImageAttributeInput, opts ...request.Option) (*ModifyFpgaImageAttributeOutput, error) {
28913	req, out := c.ModifyFpgaImageAttributeRequest(input)
28914	req.SetContext(ctx)
28915	req.ApplyOptions(opts...)
28916	return out, req.Send()
28917}
28918
28919const opModifyHosts = "ModifyHosts"
28920
28921// ModifyHostsRequest generates a "aws/request.Request" representing the
28922// client's request for the ModifyHosts operation. The "output" return
28923// value will be populated with the request's response once the request completes
28924// successfully.
28925//
28926// Use "Send" method on the returned Request to send the API call to the service.
28927// the "output" return value is not valid until after Send returns without error.
28928//
28929// See ModifyHosts for more information on using the ModifyHosts
28930// API call, and error handling.
28931//
28932// This method is useful when you want to inject custom logic or configuration
28933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28934//
28935//
28936//    // Example sending a request using the ModifyHostsRequest method.
28937//    req, resp := client.ModifyHostsRequest(params)
28938//
28939//    err := req.Send()
28940//    if err == nil { // resp is now filled
28941//        fmt.Println(resp)
28942//    }
28943//
28944// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
28945func (c *EC2) ModifyHostsRequest(input *ModifyHostsInput) (req *request.Request, output *ModifyHostsOutput) {
28946	op := &request.Operation{
28947		Name:       opModifyHosts,
28948		HTTPMethod: "POST",
28949		HTTPPath:   "/",
28950	}
28951
28952	if input == nil {
28953		input = &ModifyHostsInput{}
28954	}
28955
28956	output = &ModifyHostsOutput{}
28957	req = c.newRequest(op, input, output)
28958	return
28959}
28960
28961// ModifyHosts API operation for Amazon Elastic Compute Cloud.
28962//
28963// Modify the auto-placement setting of a Dedicated Host. When auto-placement
28964// is enabled, any instances that you launch with a tenancy of host but without
28965// a specific host ID are placed onto any available Dedicated Host in your account
28966// that has auto-placement enabled. When auto-placement is disabled, you need
28967// to provide a host ID to have the instance launch onto a specific host. If
28968// no host ID is provided, the instance is launched onto a suitable host with
28969// auto-placement enabled.
28970//
28971// You can also use this API action to modify a Dedicated Host to support either
28972// multiple instance types in an instance family, or to support a specific instance
28973// type only.
28974//
28975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
28976// with awserr.Error's Code and Message methods to get detailed information about
28977// the error.
28978//
28979// See the AWS API reference guide for Amazon Elastic Compute Cloud's
28980// API operation ModifyHosts for usage and error information.
28981// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyHosts
28982func (c *EC2) ModifyHosts(input *ModifyHostsInput) (*ModifyHostsOutput, error) {
28983	req, out := c.ModifyHostsRequest(input)
28984	return out, req.Send()
28985}
28986
28987// ModifyHostsWithContext is the same as ModifyHosts with the addition of
28988// the ability to pass a context and additional request options.
28989//
28990// See ModifyHosts for details on how to use this API operation.
28991//
28992// The context must be non-nil and will be used for request cancellation. If
28993// the context is nil a panic will occur. In the future the SDK may create
28994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
28995// for more information on using Contexts.
28996func (c *EC2) ModifyHostsWithContext(ctx aws.Context, input *ModifyHostsInput, opts ...request.Option) (*ModifyHostsOutput, error) {
28997	req, out := c.ModifyHostsRequest(input)
28998	req.SetContext(ctx)
28999	req.ApplyOptions(opts...)
29000	return out, req.Send()
29001}
29002
29003const opModifyIdFormat = "ModifyIdFormat"
29004
29005// ModifyIdFormatRequest generates a "aws/request.Request" representing the
29006// client's request for the ModifyIdFormat operation. The "output" return
29007// value will be populated with the request's response once the request completes
29008// successfully.
29009//
29010// Use "Send" method on the returned Request to send the API call to the service.
29011// the "output" return value is not valid until after Send returns without error.
29012//
29013// See ModifyIdFormat for more information on using the ModifyIdFormat
29014// API call, and error handling.
29015//
29016// This method is useful when you want to inject custom logic or configuration
29017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29018//
29019//
29020//    // Example sending a request using the ModifyIdFormatRequest method.
29021//    req, resp := client.ModifyIdFormatRequest(params)
29022//
29023//    err := req.Send()
29024//    if err == nil { // resp is now filled
29025//        fmt.Println(resp)
29026//    }
29027//
29028// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
29029func (c *EC2) ModifyIdFormatRequest(input *ModifyIdFormatInput) (req *request.Request, output *ModifyIdFormatOutput) {
29030	op := &request.Operation{
29031		Name:       opModifyIdFormat,
29032		HTTPMethod: "POST",
29033		HTTPPath:   "/",
29034	}
29035
29036	if input == nil {
29037		input = &ModifyIdFormatInput{}
29038	}
29039
29040	output = &ModifyIdFormatOutput{}
29041	req = c.newRequest(op, input, output)
29042	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29043	return
29044}
29045
29046// ModifyIdFormat API operation for Amazon Elastic Compute Cloud.
29047//
29048// Modifies the ID format for the specified resource on a per-Region basis.
29049// You can specify that resources should receive longer IDs (17-character IDs)
29050// when they are created.
29051//
29052// This request can only be used to modify longer ID settings for resource types
29053// that are within the opt-in period. Resources currently in their opt-in period
29054// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
29055// | elastic-ip-association | export-task | flow-log | image | import-task |
29056// internet-gateway | network-acl | network-acl-association | network-interface
29057// | network-interface-attachment | prefix-list | route-table | route-table-association
29058// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
29059// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
29060//
29061// This setting applies to the IAM user who makes the request; it does not apply
29062// to the entire AWS account. By default, an IAM user defaults to the same settings
29063// as the root user. If you're using this action as the root user, then these
29064// settings apply to the entire account, unless an IAM user explicitly overrides
29065// these settings for themselves. For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
29066// in the Amazon Elastic Compute Cloud User Guide.
29067//
29068// Resources created with longer IDs are visible to all IAM roles and users,
29069// regardless of these settings and provided that they have permission to use
29070// the relevant Describe command for the resource type.
29071//
29072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29073// with awserr.Error's Code and Message methods to get detailed information about
29074// the error.
29075//
29076// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29077// API operation ModifyIdFormat for usage and error information.
29078// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdFormat
29079func (c *EC2) ModifyIdFormat(input *ModifyIdFormatInput) (*ModifyIdFormatOutput, error) {
29080	req, out := c.ModifyIdFormatRequest(input)
29081	return out, req.Send()
29082}
29083
29084// ModifyIdFormatWithContext is the same as ModifyIdFormat with the addition of
29085// the ability to pass a context and additional request options.
29086//
29087// See ModifyIdFormat for details on how to use this API operation.
29088//
29089// The context must be non-nil and will be used for request cancellation. If
29090// the context is nil a panic will occur. In the future the SDK may create
29091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29092// for more information on using Contexts.
29093func (c *EC2) ModifyIdFormatWithContext(ctx aws.Context, input *ModifyIdFormatInput, opts ...request.Option) (*ModifyIdFormatOutput, error) {
29094	req, out := c.ModifyIdFormatRequest(input)
29095	req.SetContext(ctx)
29096	req.ApplyOptions(opts...)
29097	return out, req.Send()
29098}
29099
29100const opModifyIdentityIdFormat = "ModifyIdentityIdFormat"
29101
29102// ModifyIdentityIdFormatRequest generates a "aws/request.Request" representing the
29103// client's request for the ModifyIdentityIdFormat operation. The "output" return
29104// value will be populated with the request's response once the request completes
29105// successfully.
29106//
29107// Use "Send" method on the returned Request to send the API call to the service.
29108// the "output" return value is not valid until after Send returns without error.
29109//
29110// See ModifyIdentityIdFormat for more information on using the ModifyIdentityIdFormat
29111// API call, and error handling.
29112//
29113// This method is useful when you want to inject custom logic or configuration
29114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29115//
29116//
29117//    // Example sending a request using the ModifyIdentityIdFormatRequest method.
29118//    req, resp := client.ModifyIdentityIdFormatRequest(params)
29119//
29120//    err := req.Send()
29121//    if err == nil { // resp is now filled
29122//        fmt.Println(resp)
29123//    }
29124//
29125// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
29126func (c *EC2) ModifyIdentityIdFormatRequest(input *ModifyIdentityIdFormatInput) (req *request.Request, output *ModifyIdentityIdFormatOutput) {
29127	op := &request.Operation{
29128		Name:       opModifyIdentityIdFormat,
29129		HTTPMethod: "POST",
29130		HTTPPath:   "/",
29131	}
29132
29133	if input == nil {
29134		input = &ModifyIdentityIdFormatInput{}
29135	}
29136
29137	output = &ModifyIdentityIdFormatOutput{}
29138	req = c.newRequest(op, input, output)
29139	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29140	return
29141}
29142
29143// ModifyIdentityIdFormat API operation for Amazon Elastic Compute Cloud.
29144//
29145// Modifies the ID format of a resource for a specified IAM user, IAM role,
29146// or the root user for an account; or all IAM users, IAM roles, and the root
29147// user for an account. You can specify that resources should receive longer
29148// IDs (17-character IDs) when they are created.
29149//
29150// This request can only be used to modify longer ID settings for resource types
29151// that are within the opt-in period. Resources currently in their opt-in period
29152// include: bundle | conversion-task | customer-gateway | dhcp-options | elastic-ip-allocation
29153// | elastic-ip-association | export-task | flow-log | image | import-task |
29154// internet-gateway | network-acl | network-acl-association | network-interface
29155// | network-interface-attachment | prefix-list | route-table | route-table-association
29156// | security-group | subnet | subnet-cidr-block-association | vpc | vpc-cidr-block-association
29157// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway.
29158//
29159// For more information, see Resource IDs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)
29160// in the Amazon Elastic Compute Cloud User Guide.
29161//
29162// This setting applies to the principal specified in the request; it does not
29163// apply to the principal that makes the request.
29164//
29165// Resources created with longer IDs are visible to all IAM roles and users,
29166// regardless of these settings and provided that they have permission to use
29167// the relevant Describe command for the resource type.
29168//
29169// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29170// with awserr.Error's Code and Message methods to get detailed information about
29171// the error.
29172//
29173// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29174// API operation ModifyIdentityIdFormat for usage and error information.
29175// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyIdentityIdFormat
29176func (c *EC2) ModifyIdentityIdFormat(input *ModifyIdentityIdFormatInput) (*ModifyIdentityIdFormatOutput, error) {
29177	req, out := c.ModifyIdentityIdFormatRequest(input)
29178	return out, req.Send()
29179}
29180
29181// ModifyIdentityIdFormatWithContext is the same as ModifyIdentityIdFormat with the addition of
29182// the ability to pass a context and additional request options.
29183//
29184// See ModifyIdentityIdFormat for details on how to use this API operation.
29185//
29186// The context must be non-nil and will be used for request cancellation. If
29187// the context is nil a panic will occur. In the future the SDK may create
29188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29189// for more information on using Contexts.
29190func (c *EC2) ModifyIdentityIdFormatWithContext(ctx aws.Context, input *ModifyIdentityIdFormatInput, opts ...request.Option) (*ModifyIdentityIdFormatOutput, error) {
29191	req, out := c.ModifyIdentityIdFormatRequest(input)
29192	req.SetContext(ctx)
29193	req.ApplyOptions(opts...)
29194	return out, req.Send()
29195}
29196
29197const opModifyImageAttribute = "ModifyImageAttribute"
29198
29199// ModifyImageAttributeRequest generates a "aws/request.Request" representing the
29200// client's request for the ModifyImageAttribute operation. The "output" return
29201// value will be populated with the request's response once the request completes
29202// successfully.
29203//
29204// Use "Send" method on the returned Request to send the API call to the service.
29205// the "output" return value is not valid until after Send returns without error.
29206//
29207// See ModifyImageAttribute for more information on using the ModifyImageAttribute
29208// API call, and error handling.
29209//
29210// This method is useful when you want to inject custom logic or configuration
29211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29212//
29213//
29214//    // Example sending a request using the ModifyImageAttributeRequest method.
29215//    req, resp := client.ModifyImageAttributeRequest(params)
29216//
29217//    err := req.Send()
29218//    if err == nil { // resp is now filled
29219//        fmt.Println(resp)
29220//    }
29221//
29222// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
29223func (c *EC2) ModifyImageAttributeRequest(input *ModifyImageAttributeInput) (req *request.Request, output *ModifyImageAttributeOutput) {
29224	op := &request.Operation{
29225		Name:       opModifyImageAttribute,
29226		HTTPMethod: "POST",
29227		HTTPPath:   "/",
29228	}
29229
29230	if input == nil {
29231		input = &ModifyImageAttributeInput{}
29232	}
29233
29234	output = &ModifyImageAttributeOutput{}
29235	req = c.newRequest(op, input, output)
29236	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29237	return
29238}
29239
29240// ModifyImageAttribute API operation for Amazon Elastic Compute Cloud.
29241//
29242// Modifies the specified attribute of the specified AMI. You can specify only
29243// one attribute at a time. You can use the Attribute parameter to specify the
29244// attribute or one of the following parameters: Description, LaunchPermission,
29245// or ProductCode.
29246//
29247// AWS Marketplace product codes cannot be modified. Images with an AWS Marketplace
29248// product code cannot be made public.
29249//
29250// To enable the SriovNetSupport enhanced networking attribute of an image,
29251// enable SriovNetSupport on an instance and create an AMI from the instance.
29252//
29253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29254// with awserr.Error's Code and Message methods to get detailed information about
29255// the error.
29256//
29257// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29258// API operation ModifyImageAttribute for usage and error information.
29259// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyImageAttribute
29260func (c *EC2) ModifyImageAttribute(input *ModifyImageAttributeInput) (*ModifyImageAttributeOutput, error) {
29261	req, out := c.ModifyImageAttributeRequest(input)
29262	return out, req.Send()
29263}
29264
29265// ModifyImageAttributeWithContext is the same as ModifyImageAttribute with the addition of
29266// the ability to pass a context and additional request options.
29267//
29268// See ModifyImageAttribute for details on how to use this API operation.
29269//
29270// The context must be non-nil and will be used for request cancellation. If
29271// the context is nil a panic will occur. In the future the SDK may create
29272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29273// for more information on using Contexts.
29274func (c *EC2) ModifyImageAttributeWithContext(ctx aws.Context, input *ModifyImageAttributeInput, opts ...request.Option) (*ModifyImageAttributeOutput, error) {
29275	req, out := c.ModifyImageAttributeRequest(input)
29276	req.SetContext(ctx)
29277	req.ApplyOptions(opts...)
29278	return out, req.Send()
29279}
29280
29281const opModifyInstanceAttribute = "ModifyInstanceAttribute"
29282
29283// ModifyInstanceAttributeRequest generates a "aws/request.Request" representing the
29284// client's request for the ModifyInstanceAttribute operation. The "output" return
29285// value will be populated with the request's response once the request completes
29286// successfully.
29287//
29288// Use "Send" method on the returned Request to send the API call to the service.
29289// the "output" return value is not valid until after Send returns without error.
29290//
29291// See ModifyInstanceAttribute for more information on using the ModifyInstanceAttribute
29292// API call, and error handling.
29293//
29294// This method is useful when you want to inject custom logic or configuration
29295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29296//
29297//
29298//    // Example sending a request using the ModifyInstanceAttributeRequest method.
29299//    req, resp := client.ModifyInstanceAttributeRequest(params)
29300//
29301//    err := req.Send()
29302//    if err == nil { // resp is now filled
29303//        fmt.Println(resp)
29304//    }
29305//
29306// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
29307func (c *EC2) ModifyInstanceAttributeRequest(input *ModifyInstanceAttributeInput) (req *request.Request, output *ModifyInstanceAttributeOutput) {
29308	op := &request.Operation{
29309		Name:       opModifyInstanceAttribute,
29310		HTTPMethod: "POST",
29311		HTTPPath:   "/",
29312	}
29313
29314	if input == nil {
29315		input = &ModifyInstanceAttributeInput{}
29316	}
29317
29318	output = &ModifyInstanceAttributeOutput{}
29319	req = c.newRequest(op, input, output)
29320	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29321	return
29322}
29323
29324// ModifyInstanceAttribute API operation for Amazon Elastic Compute Cloud.
29325//
29326// Modifies the specified attribute of the specified instance. You can specify
29327// only one attribute at a time.
29328//
29329// Note: Using this action to change the security groups associated with an
29330// elastic network interface (ENI) attached to an instance in a VPC can result
29331// in an error if the instance has more than one ENI. To change the security
29332// groups associated with an ENI attached to an instance that has multiple ENIs,
29333// we recommend that you use the ModifyNetworkInterfaceAttribute action.
29334//
29335// To modify some attributes, the instance must be stopped. For more information,
29336// see Modifying Attributes of a Stopped Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingAttributesWhileInstanceStopped.html)
29337// in the Amazon Elastic Compute Cloud User Guide.
29338//
29339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29340// with awserr.Error's Code and Message methods to get detailed information about
29341// the error.
29342//
29343// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29344// API operation ModifyInstanceAttribute for usage and error information.
29345// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceAttribute
29346func (c *EC2) ModifyInstanceAttribute(input *ModifyInstanceAttributeInput) (*ModifyInstanceAttributeOutput, error) {
29347	req, out := c.ModifyInstanceAttributeRequest(input)
29348	return out, req.Send()
29349}
29350
29351// ModifyInstanceAttributeWithContext is the same as ModifyInstanceAttribute with the addition of
29352// the ability to pass a context and additional request options.
29353//
29354// See ModifyInstanceAttribute for details on how to use this API operation.
29355//
29356// The context must be non-nil and will be used for request cancellation. If
29357// the context is nil a panic will occur. In the future the SDK may create
29358// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29359// for more information on using Contexts.
29360func (c *EC2) ModifyInstanceAttributeWithContext(ctx aws.Context, input *ModifyInstanceAttributeInput, opts ...request.Option) (*ModifyInstanceAttributeOutput, error) {
29361	req, out := c.ModifyInstanceAttributeRequest(input)
29362	req.SetContext(ctx)
29363	req.ApplyOptions(opts...)
29364	return out, req.Send()
29365}
29366
29367const opModifyInstanceCapacityReservationAttributes = "ModifyInstanceCapacityReservationAttributes"
29368
29369// ModifyInstanceCapacityReservationAttributesRequest generates a "aws/request.Request" representing the
29370// client's request for the ModifyInstanceCapacityReservationAttributes operation. The "output" return
29371// value will be populated with the request's response once the request completes
29372// successfully.
29373//
29374// Use "Send" method on the returned Request to send the API call to the service.
29375// the "output" return value is not valid until after Send returns without error.
29376//
29377// See ModifyInstanceCapacityReservationAttributes for more information on using the ModifyInstanceCapacityReservationAttributes
29378// API call, and error handling.
29379//
29380// This method is useful when you want to inject custom logic or configuration
29381// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29382//
29383//
29384//    // Example sending a request using the ModifyInstanceCapacityReservationAttributesRequest method.
29385//    req, resp := client.ModifyInstanceCapacityReservationAttributesRequest(params)
29386//
29387//    err := req.Send()
29388//    if err == nil { // resp is now filled
29389//        fmt.Println(resp)
29390//    }
29391//
29392// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
29393func (c *EC2) ModifyInstanceCapacityReservationAttributesRequest(input *ModifyInstanceCapacityReservationAttributesInput) (req *request.Request, output *ModifyInstanceCapacityReservationAttributesOutput) {
29394	op := &request.Operation{
29395		Name:       opModifyInstanceCapacityReservationAttributes,
29396		HTTPMethod: "POST",
29397		HTTPPath:   "/",
29398	}
29399
29400	if input == nil {
29401		input = &ModifyInstanceCapacityReservationAttributesInput{}
29402	}
29403
29404	output = &ModifyInstanceCapacityReservationAttributesOutput{}
29405	req = c.newRequest(op, input, output)
29406	return
29407}
29408
29409// ModifyInstanceCapacityReservationAttributes API operation for Amazon Elastic Compute Cloud.
29410//
29411// Modifies the Capacity Reservation settings for a stopped instance. Use this
29412// action to configure an instance to target a specific Capacity Reservation,
29413// run in any open Capacity Reservation with matching attributes, or run On-Demand
29414// Instance capacity.
29415//
29416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29417// with awserr.Error's Code and Message methods to get detailed information about
29418// the error.
29419//
29420// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29421// API operation ModifyInstanceCapacityReservationAttributes for usage and error information.
29422// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCapacityReservationAttributes
29423func (c *EC2) ModifyInstanceCapacityReservationAttributes(input *ModifyInstanceCapacityReservationAttributesInput) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
29424	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
29425	return out, req.Send()
29426}
29427
29428// ModifyInstanceCapacityReservationAttributesWithContext is the same as ModifyInstanceCapacityReservationAttributes with the addition of
29429// the ability to pass a context and additional request options.
29430//
29431// See ModifyInstanceCapacityReservationAttributes for details on how to use this API operation.
29432//
29433// The context must be non-nil and will be used for request cancellation. If
29434// the context is nil a panic will occur. In the future the SDK may create
29435// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29436// for more information on using Contexts.
29437func (c *EC2) ModifyInstanceCapacityReservationAttributesWithContext(ctx aws.Context, input *ModifyInstanceCapacityReservationAttributesInput, opts ...request.Option) (*ModifyInstanceCapacityReservationAttributesOutput, error) {
29438	req, out := c.ModifyInstanceCapacityReservationAttributesRequest(input)
29439	req.SetContext(ctx)
29440	req.ApplyOptions(opts...)
29441	return out, req.Send()
29442}
29443
29444const opModifyInstanceCreditSpecification = "ModifyInstanceCreditSpecification"
29445
29446// ModifyInstanceCreditSpecificationRequest generates a "aws/request.Request" representing the
29447// client's request for the ModifyInstanceCreditSpecification operation. The "output" return
29448// value will be populated with the request's response once the request completes
29449// successfully.
29450//
29451// Use "Send" method on the returned Request to send the API call to the service.
29452// the "output" return value is not valid until after Send returns without error.
29453//
29454// See ModifyInstanceCreditSpecification for more information on using the ModifyInstanceCreditSpecification
29455// API call, and error handling.
29456//
29457// This method is useful when you want to inject custom logic or configuration
29458// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29459//
29460//
29461//    // Example sending a request using the ModifyInstanceCreditSpecificationRequest method.
29462//    req, resp := client.ModifyInstanceCreditSpecificationRequest(params)
29463//
29464//    err := req.Send()
29465//    if err == nil { // resp is now filled
29466//        fmt.Println(resp)
29467//    }
29468//
29469// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
29470func (c *EC2) ModifyInstanceCreditSpecificationRequest(input *ModifyInstanceCreditSpecificationInput) (req *request.Request, output *ModifyInstanceCreditSpecificationOutput) {
29471	op := &request.Operation{
29472		Name:       opModifyInstanceCreditSpecification,
29473		HTTPMethod: "POST",
29474		HTTPPath:   "/",
29475	}
29476
29477	if input == nil {
29478		input = &ModifyInstanceCreditSpecificationInput{}
29479	}
29480
29481	output = &ModifyInstanceCreditSpecificationOutput{}
29482	req = c.newRequest(op, input, output)
29483	return
29484}
29485
29486// ModifyInstanceCreditSpecification API operation for Amazon Elastic Compute Cloud.
29487//
29488// Modifies the credit option for CPU usage on a running or stopped burstable
29489// performance instance. The credit options are standard and unlimited.
29490//
29491// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
29492// in the Amazon Elastic Compute Cloud User Guide.
29493//
29494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29495// with awserr.Error's Code and Message methods to get detailed information about
29496// the error.
29497//
29498// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29499// API operation ModifyInstanceCreditSpecification for usage and error information.
29500// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceCreditSpecification
29501func (c *EC2) ModifyInstanceCreditSpecification(input *ModifyInstanceCreditSpecificationInput) (*ModifyInstanceCreditSpecificationOutput, error) {
29502	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
29503	return out, req.Send()
29504}
29505
29506// ModifyInstanceCreditSpecificationWithContext is the same as ModifyInstanceCreditSpecification with the addition of
29507// the ability to pass a context and additional request options.
29508//
29509// See ModifyInstanceCreditSpecification for details on how to use this API operation.
29510//
29511// The context must be non-nil and will be used for request cancellation. If
29512// the context is nil a panic will occur. In the future the SDK may create
29513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29514// for more information on using Contexts.
29515func (c *EC2) ModifyInstanceCreditSpecificationWithContext(ctx aws.Context, input *ModifyInstanceCreditSpecificationInput, opts ...request.Option) (*ModifyInstanceCreditSpecificationOutput, error) {
29516	req, out := c.ModifyInstanceCreditSpecificationRequest(input)
29517	req.SetContext(ctx)
29518	req.ApplyOptions(opts...)
29519	return out, req.Send()
29520}
29521
29522const opModifyInstanceEventStartTime = "ModifyInstanceEventStartTime"
29523
29524// ModifyInstanceEventStartTimeRequest generates a "aws/request.Request" representing the
29525// client's request for the ModifyInstanceEventStartTime operation. The "output" return
29526// value will be populated with the request's response once the request completes
29527// successfully.
29528//
29529// Use "Send" method on the returned Request to send the API call to the service.
29530// the "output" return value is not valid until after Send returns without error.
29531//
29532// See ModifyInstanceEventStartTime for more information on using the ModifyInstanceEventStartTime
29533// API call, and error handling.
29534//
29535// This method is useful when you want to inject custom logic or configuration
29536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29537//
29538//
29539//    // Example sending a request using the ModifyInstanceEventStartTimeRequest method.
29540//    req, resp := client.ModifyInstanceEventStartTimeRequest(params)
29541//
29542//    err := req.Send()
29543//    if err == nil { // resp is now filled
29544//        fmt.Println(resp)
29545//    }
29546//
29547// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
29548func (c *EC2) ModifyInstanceEventStartTimeRequest(input *ModifyInstanceEventStartTimeInput) (req *request.Request, output *ModifyInstanceEventStartTimeOutput) {
29549	op := &request.Operation{
29550		Name:       opModifyInstanceEventStartTime,
29551		HTTPMethod: "POST",
29552		HTTPPath:   "/",
29553	}
29554
29555	if input == nil {
29556		input = &ModifyInstanceEventStartTimeInput{}
29557	}
29558
29559	output = &ModifyInstanceEventStartTimeOutput{}
29560	req = c.newRequest(op, input, output)
29561	return
29562}
29563
29564// ModifyInstanceEventStartTime API operation for Amazon Elastic Compute Cloud.
29565//
29566// Modifies the start time for a scheduled Amazon EC2 instance event.
29567//
29568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29569// with awserr.Error's Code and Message methods to get detailed information about
29570// the error.
29571//
29572// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29573// API operation ModifyInstanceEventStartTime for usage and error information.
29574// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceEventStartTime
29575func (c *EC2) ModifyInstanceEventStartTime(input *ModifyInstanceEventStartTimeInput) (*ModifyInstanceEventStartTimeOutput, error) {
29576	req, out := c.ModifyInstanceEventStartTimeRequest(input)
29577	return out, req.Send()
29578}
29579
29580// ModifyInstanceEventStartTimeWithContext is the same as ModifyInstanceEventStartTime with the addition of
29581// the ability to pass a context and additional request options.
29582//
29583// See ModifyInstanceEventStartTime for details on how to use this API operation.
29584//
29585// The context must be non-nil and will be used for request cancellation. If
29586// the context is nil a panic will occur. In the future the SDK may create
29587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29588// for more information on using Contexts.
29589func (c *EC2) ModifyInstanceEventStartTimeWithContext(ctx aws.Context, input *ModifyInstanceEventStartTimeInput, opts ...request.Option) (*ModifyInstanceEventStartTimeOutput, error) {
29590	req, out := c.ModifyInstanceEventStartTimeRequest(input)
29591	req.SetContext(ctx)
29592	req.ApplyOptions(opts...)
29593	return out, req.Send()
29594}
29595
29596const opModifyInstanceMetadataOptions = "ModifyInstanceMetadataOptions"
29597
29598// ModifyInstanceMetadataOptionsRequest generates a "aws/request.Request" representing the
29599// client's request for the ModifyInstanceMetadataOptions operation. The "output" return
29600// value will be populated with the request's response once the request completes
29601// successfully.
29602//
29603// Use "Send" method on the returned Request to send the API call to the service.
29604// the "output" return value is not valid until after Send returns without error.
29605//
29606// See ModifyInstanceMetadataOptions for more information on using the ModifyInstanceMetadataOptions
29607// API call, and error handling.
29608//
29609// This method is useful when you want to inject custom logic or configuration
29610// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29611//
29612//
29613//    // Example sending a request using the ModifyInstanceMetadataOptionsRequest method.
29614//    req, resp := client.ModifyInstanceMetadataOptionsRequest(params)
29615//
29616//    err := req.Send()
29617//    if err == nil { // resp is now filled
29618//        fmt.Println(resp)
29619//    }
29620//
29621// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
29622func (c *EC2) ModifyInstanceMetadataOptionsRequest(input *ModifyInstanceMetadataOptionsInput) (req *request.Request, output *ModifyInstanceMetadataOptionsOutput) {
29623	op := &request.Operation{
29624		Name:       opModifyInstanceMetadataOptions,
29625		HTTPMethod: "POST",
29626		HTTPPath:   "/",
29627	}
29628
29629	if input == nil {
29630		input = &ModifyInstanceMetadataOptionsInput{}
29631	}
29632
29633	output = &ModifyInstanceMetadataOptionsOutput{}
29634	req = c.newRequest(op, input, output)
29635	return
29636}
29637
29638// ModifyInstanceMetadataOptions API operation for Amazon Elastic Compute Cloud.
29639//
29640// Modify the instance metadata parameters on a running or stopped instance.
29641// When you modify the parameters on a stopped instance, they are applied when
29642// the instance is started. When you modify the parameters on a running instance,
29643// the API responds with a state of “pending”. After the parameter modifications
29644// are successfully applied to the instance, the state of the modifications
29645// changes from “pending” to “applied” in subsequent describe-instances
29646// API calls. For more information, see Instance Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).
29647//
29648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29649// with awserr.Error's Code and Message methods to get detailed information about
29650// the error.
29651//
29652// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29653// API operation ModifyInstanceMetadataOptions for usage and error information.
29654// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstanceMetadataOptions
29655func (c *EC2) ModifyInstanceMetadataOptions(input *ModifyInstanceMetadataOptionsInput) (*ModifyInstanceMetadataOptionsOutput, error) {
29656	req, out := c.ModifyInstanceMetadataOptionsRequest(input)
29657	return out, req.Send()
29658}
29659
29660// ModifyInstanceMetadataOptionsWithContext is the same as ModifyInstanceMetadataOptions with the addition of
29661// the ability to pass a context and additional request options.
29662//
29663// See ModifyInstanceMetadataOptions for details on how to use this API operation.
29664//
29665// The context must be non-nil and will be used for request cancellation. If
29666// the context is nil a panic will occur. In the future the SDK may create
29667// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29668// for more information on using Contexts.
29669func (c *EC2) ModifyInstanceMetadataOptionsWithContext(ctx aws.Context, input *ModifyInstanceMetadataOptionsInput, opts ...request.Option) (*ModifyInstanceMetadataOptionsOutput, error) {
29670	req, out := c.ModifyInstanceMetadataOptionsRequest(input)
29671	req.SetContext(ctx)
29672	req.ApplyOptions(opts...)
29673	return out, req.Send()
29674}
29675
29676const opModifyInstancePlacement = "ModifyInstancePlacement"
29677
29678// ModifyInstancePlacementRequest generates a "aws/request.Request" representing the
29679// client's request for the ModifyInstancePlacement operation. The "output" return
29680// value will be populated with the request's response once the request completes
29681// successfully.
29682//
29683// Use "Send" method on the returned Request to send the API call to the service.
29684// the "output" return value is not valid until after Send returns without error.
29685//
29686// See ModifyInstancePlacement for more information on using the ModifyInstancePlacement
29687// API call, and error handling.
29688//
29689// This method is useful when you want to inject custom logic or configuration
29690// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29691//
29692//
29693//    // Example sending a request using the ModifyInstancePlacementRequest method.
29694//    req, resp := client.ModifyInstancePlacementRequest(params)
29695//
29696//    err := req.Send()
29697//    if err == nil { // resp is now filled
29698//        fmt.Println(resp)
29699//    }
29700//
29701// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
29702func (c *EC2) ModifyInstancePlacementRequest(input *ModifyInstancePlacementInput) (req *request.Request, output *ModifyInstancePlacementOutput) {
29703	op := &request.Operation{
29704		Name:       opModifyInstancePlacement,
29705		HTTPMethod: "POST",
29706		HTTPPath:   "/",
29707	}
29708
29709	if input == nil {
29710		input = &ModifyInstancePlacementInput{}
29711	}
29712
29713	output = &ModifyInstancePlacementOutput{}
29714	req = c.newRequest(op, input, output)
29715	return
29716}
29717
29718// ModifyInstancePlacement API operation for Amazon Elastic Compute Cloud.
29719//
29720// Modifies the placement attributes for a specified instance. You can do the
29721// following:
29722//
29723//    * Modify the affinity between an instance and a Dedicated Host (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-overview.html).
29724//    When affinity is set to host and the instance is not associated with a
29725//    specific Dedicated Host, the next time the instance is launched, it is
29726//    automatically associated with the host on which it lands. If the instance
29727//    is restarted or rebooted, this relationship persists.
29728//
29729//    * Change the Dedicated Host with which an instance is associated.
29730//
29731//    * Change the instance tenancy of an instance from host to dedicated, or
29732//    from dedicated to host.
29733//
29734//    * Move an instance to or from a placement group (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html).
29735//
29736// At least one attribute for affinity, host ID, tenancy, or placement group
29737// name must be specified in the request. Affinity and tenancy can be modified
29738// in the same request.
29739//
29740// To modify the host ID, tenancy, placement group, or partition for an instance,
29741// the instance must be in the stopped state.
29742//
29743// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29744// with awserr.Error's Code and Message methods to get detailed information about
29745// the error.
29746//
29747// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29748// API operation ModifyInstancePlacement for usage and error information.
29749// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyInstancePlacement
29750func (c *EC2) ModifyInstancePlacement(input *ModifyInstancePlacementInput) (*ModifyInstancePlacementOutput, error) {
29751	req, out := c.ModifyInstancePlacementRequest(input)
29752	return out, req.Send()
29753}
29754
29755// ModifyInstancePlacementWithContext is the same as ModifyInstancePlacement with the addition of
29756// the ability to pass a context and additional request options.
29757//
29758// See ModifyInstancePlacement for details on how to use this API operation.
29759//
29760// The context must be non-nil and will be used for request cancellation. If
29761// the context is nil a panic will occur. In the future the SDK may create
29762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29763// for more information on using Contexts.
29764func (c *EC2) ModifyInstancePlacementWithContext(ctx aws.Context, input *ModifyInstancePlacementInput, opts ...request.Option) (*ModifyInstancePlacementOutput, error) {
29765	req, out := c.ModifyInstancePlacementRequest(input)
29766	req.SetContext(ctx)
29767	req.ApplyOptions(opts...)
29768	return out, req.Send()
29769}
29770
29771const opModifyLaunchTemplate = "ModifyLaunchTemplate"
29772
29773// ModifyLaunchTemplateRequest generates a "aws/request.Request" representing the
29774// client's request for the ModifyLaunchTemplate operation. The "output" return
29775// value will be populated with the request's response once the request completes
29776// successfully.
29777//
29778// Use "Send" method on the returned Request to send the API call to the service.
29779// the "output" return value is not valid until after Send returns without error.
29780//
29781// See ModifyLaunchTemplate for more information on using the ModifyLaunchTemplate
29782// API call, and error handling.
29783//
29784// This method is useful when you want to inject custom logic or configuration
29785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29786//
29787//
29788//    // Example sending a request using the ModifyLaunchTemplateRequest method.
29789//    req, resp := client.ModifyLaunchTemplateRequest(params)
29790//
29791//    err := req.Send()
29792//    if err == nil { // resp is now filled
29793//        fmt.Println(resp)
29794//    }
29795//
29796// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
29797func (c *EC2) ModifyLaunchTemplateRequest(input *ModifyLaunchTemplateInput) (req *request.Request, output *ModifyLaunchTemplateOutput) {
29798	op := &request.Operation{
29799		Name:       opModifyLaunchTemplate,
29800		HTTPMethod: "POST",
29801		HTTPPath:   "/",
29802	}
29803
29804	if input == nil {
29805		input = &ModifyLaunchTemplateInput{}
29806	}
29807
29808	output = &ModifyLaunchTemplateOutput{}
29809	req = c.newRequest(op, input, output)
29810	return
29811}
29812
29813// ModifyLaunchTemplate API operation for Amazon Elastic Compute Cloud.
29814//
29815// Modifies a launch template. You can specify which version of the launch template
29816// to set as the default version. When launching an instance, the default version
29817// applies when a launch template version is not specified.
29818//
29819// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29820// with awserr.Error's Code and Message methods to get detailed information about
29821// the error.
29822//
29823// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29824// API operation ModifyLaunchTemplate for usage and error information.
29825// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyLaunchTemplate
29826func (c *EC2) ModifyLaunchTemplate(input *ModifyLaunchTemplateInput) (*ModifyLaunchTemplateOutput, error) {
29827	req, out := c.ModifyLaunchTemplateRequest(input)
29828	return out, req.Send()
29829}
29830
29831// ModifyLaunchTemplateWithContext is the same as ModifyLaunchTemplate with the addition of
29832// the ability to pass a context and additional request options.
29833//
29834// See ModifyLaunchTemplate for details on how to use this API operation.
29835//
29836// The context must be non-nil and will be used for request cancellation. If
29837// the context is nil a panic will occur. In the future the SDK may create
29838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29839// for more information on using Contexts.
29840func (c *EC2) ModifyLaunchTemplateWithContext(ctx aws.Context, input *ModifyLaunchTemplateInput, opts ...request.Option) (*ModifyLaunchTemplateOutput, error) {
29841	req, out := c.ModifyLaunchTemplateRequest(input)
29842	req.SetContext(ctx)
29843	req.ApplyOptions(opts...)
29844	return out, req.Send()
29845}
29846
29847const opModifyNetworkInterfaceAttribute = "ModifyNetworkInterfaceAttribute"
29848
29849// ModifyNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
29850// client's request for the ModifyNetworkInterfaceAttribute operation. The "output" return
29851// value will be populated with the request's response once the request completes
29852// successfully.
29853//
29854// Use "Send" method on the returned Request to send the API call to the service.
29855// the "output" return value is not valid until after Send returns without error.
29856//
29857// See ModifyNetworkInterfaceAttribute for more information on using the ModifyNetworkInterfaceAttribute
29858// API call, and error handling.
29859//
29860// This method is useful when you want to inject custom logic or configuration
29861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29862//
29863//
29864//    // Example sending a request using the ModifyNetworkInterfaceAttributeRequest method.
29865//    req, resp := client.ModifyNetworkInterfaceAttributeRequest(params)
29866//
29867//    err := req.Send()
29868//    if err == nil { // resp is now filled
29869//        fmt.Println(resp)
29870//    }
29871//
29872// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
29873func (c *EC2) ModifyNetworkInterfaceAttributeRequest(input *ModifyNetworkInterfaceAttributeInput) (req *request.Request, output *ModifyNetworkInterfaceAttributeOutput) {
29874	op := &request.Operation{
29875		Name:       opModifyNetworkInterfaceAttribute,
29876		HTTPMethod: "POST",
29877		HTTPPath:   "/",
29878	}
29879
29880	if input == nil {
29881		input = &ModifyNetworkInterfaceAttributeInput{}
29882	}
29883
29884	output = &ModifyNetworkInterfaceAttributeOutput{}
29885	req = c.newRequest(op, input, output)
29886	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
29887	return
29888}
29889
29890// ModifyNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
29891//
29892// Modifies the specified network interface attribute. You can specify only
29893// one attribute at a time. You can use this action to attach and detach security
29894// groups from an existing EC2 instance.
29895//
29896// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29897// with awserr.Error's Code and Message methods to get detailed information about
29898// the error.
29899//
29900// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29901// API operation ModifyNetworkInterfaceAttribute for usage and error information.
29902// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyNetworkInterfaceAttribute
29903func (c *EC2) ModifyNetworkInterfaceAttribute(input *ModifyNetworkInterfaceAttributeInput) (*ModifyNetworkInterfaceAttributeOutput, error) {
29904	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
29905	return out, req.Send()
29906}
29907
29908// ModifyNetworkInterfaceAttributeWithContext is the same as ModifyNetworkInterfaceAttribute with the addition of
29909// the ability to pass a context and additional request options.
29910//
29911// See ModifyNetworkInterfaceAttribute for details on how to use this API operation.
29912//
29913// The context must be non-nil and will be used for request cancellation. If
29914// the context is nil a panic will occur. In the future the SDK may create
29915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29916// for more information on using Contexts.
29917func (c *EC2) ModifyNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ModifyNetworkInterfaceAttributeInput, opts ...request.Option) (*ModifyNetworkInterfaceAttributeOutput, error) {
29918	req, out := c.ModifyNetworkInterfaceAttributeRequest(input)
29919	req.SetContext(ctx)
29920	req.ApplyOptions(opts...)
29921	return out, req.Send()
29922}
29923
29924const opModifyReservedInstances = "ModifyReservedInstances"
29925
29926// ModifyReservedInstancesRequest generates a "aws/request.Request" representing the
29927// client's request for the ModifyReservedInstances operation. The "output" return
29928// value will be populated with the request's response once the request completes
29929// successfully.
29930//
29931// Use "Send" method on the returned Request to send the API call to the service.
29932// the "output" return value is not valid until after Send returns without error.
29933//
29934// See ModifyReservedInstances for more information on using the ModifyReservedInstances
29935// API call, and error handling.
29936//
29937// This method is useful when you want to inject custom logic or configuration
29938// into the SDK's request lifecycle. Such as custom headers, or retry logic.
29939//
29940//
29941//    // Example sending a request using the ModifyReservedInstancesRequest method.
29942//    req, resp := client.ModifyReservedInstancesRequest(params)
29943//
29944//    err := req.Send()
29945//    if err == nil { // resp is now filled
29946//        fmt.Println(resp)
29947//    }
29948//
29949// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
29950func (c *EC2) ModifyReservedInstancesRequest(input *ModifyReservedInstancesInput) (req *request.Request, output *ModifyReservedInstancesOutput) {
29951	op := &request.Operation{
29952		Name:       opModifyReservedInstances,
29953		HTTPMethod: "POST",
29954		HTTPPath:   "/",
29955	}
29956
29957	if input == nil {
29958		input = &ModifyReservedInstancesInput{}
29959	}
29960
29961	output = &ModifyReservedInstancesOutput{}
29962	req = c.newRequest(op, input, output)
29963	return
29964}
29965
29966// ModifyReservedInstances API operation for Amazon Elastic Compute Cloud.
29967//
29968// Modifies the Availability Zone, instance count, instance type, or network
29969// platform (EC2-Classic or EC2-VPC) of your Reserved Instances. The Reserved
29970// Instances to be modified must be identical, except for Availability Zone,
29971// network platform, and instance type.
29972//
29973// For more information, see Modifying Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-modifying.html)
29974// in the Amazon Elastic Compute Cloud User Guide.
29975//
29976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
29977// with awserr.Error's Code and Message methods to get detailed information about
29978// the error.
29979//
29980// See the AWS API reference guide for Amazon Elastic Compute Cloud's
29981// API operation ModifyReservedInstances for usage and error information.
29982// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyReservedInstances
29983func (c *EC2) ModifyReservedInstances(input *ModifyReservedInstancesInput) (*ModifyReservedInstancesOutput, error) {
29984	req, out := c.ModifyReservedInstancesRequest(input)
29985	return out, req.Send()
29986}
29987
29988// ModifyReservedInstancesWithContext is the same as ModifyReservedInstances with the addition of
29989// the ability to pass a context and additional request options.
29990//
29991// See ModifyReservedInstances for details on how to use this API operation.
29992//
29993// The context must be non-nil and will be used for request cancellation. If
29994// the context is nil a panic will occur. In the future the SDK may create
29995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
29996// for more information on using Contexts.
29997func (c *EC2) ModifyReservedInstancesWithContext(ctx aws.Context, input *ModifyReservedInstancesInput, opts ...request.Option) (*ModifyReservedInstancesOutput, error) {
29998	req, out := c.ModifyReservedInstancesRequest(input)
29999	req.SetContext(ctx)
30000	req.ApplyOptions(opts...)
30001	return out, req.Send()
30002}
30003
30004const opModifySnapshotAttribute = "ModifySnapshotAttribute"
30005
30006// ModifySnapshotAttributeRequest generates a "aws/request.Request" representing the
30007// client's request for the ModifySnapshotAttribute operation. The "output" return
30008// value will be populated with the request's response once the request completes
30009// successfully.
30010//
30011// Use "Send" method on the returned Request to send the API call to the service.
30012// the "output" return value is not valid until after Send returns without error.
30013//
30014// See ModifySnapshotAttribute for more information on using the ModifySnapshotAttribute
30015// API call, and error handling.
30016//
30017// This method is useful when you want to inject custom logic or configuration
30018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30019//
30020//
30021//    // Example sending a request using the ModifySnapshotAttributeRequest method.
30022//    req, resp := client.ModifySnapshotAttributeRequest(params)
30023//
30024//    err := req.Send()
30025//    if err == nil { // resp is now filled
30026//        fmt.Println(resp)
30027//    }
30028//
30029// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
30030func (c *EC2) ModifySnapshotAttributeRequest(input *ModifySnapshotAttributeInput) (req *request.Request, output *ModifySnapshotAttributeOutput) {
30031	op := &request.Operation{
30032		Name:       opModifySnapshotAttribute,
30033		HTTPMethod: "POST",
30034		HTTPPath:   "/",
30035	}
30036
30037	if input == nil {
30038		input = &ModifySnapshotAttributeInput{}
30039	}
30040
30041	output = &ModifySnapshotAttributeOutput{}
30042	req = c.newRequest(op, input, output)
30043	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30044	return
30045}
30046
30047// ModifySnapshotAttribute API operation for Amazon Elastic Compute Cloud.
30048//
30049// Adds or removes permission settings for the specified snapshot. You may add
30050// or remove specified AWS account IDs from a snapshot's list of create volume
30051// permissions, but you cannot do both in a single operation. If you need to
30052// both add and remove account IDs for a snapshot, you must use multiple operations.
30053// You can make up to 500 modifications to a snapshot in a single operation.
30054//
30055// Encrypted snapshots and snapshots with AWS Marketplace product codes cannot
30056// be made public. Snapshots encrypted with your default CMK cannot be shared
30057// with other accounts.
30058//
30059// For more information about modifying snapshot permissions, see Sharing Snapshots
30060// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
30061// in the Amazon Elastic Compute Cloud User Guide.
30062//
30063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30064// with awserr.Error's Code and Message methods to get detailed information about
30065// the error.
30066//
30067// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30068// API operation ModifySnapshotAttribute for usage and error information.
30069// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySnapshotAttribute
30070func (c *EC2) ModifySnapshotAttribute(input *ModifySnapshotAttributeInput) (*ModifySnapshotAttributeOutput, error) {
30071	req, out := c.ModifySnapshotAttributeRequest(input)
30072	return out, req.Send()
30073}
30074
30075// ModifySnapshotAttributeWithContext is the same as ModifySnapshotAttribute with the addition of
30076// the ability to pass a context and additional request options.
30077//
30078// See ModifySnapshotAttribute for details on how to use this API operation.
30079//
30080// The context must be non-nil and will be used for request cancellation. If
30081// the context is nil a panic will occur. In the future the SDK may create
30082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30083// for more information on using Contexts.
30084func (c *EC2) ModifySnapshotAttributeWithContext(ctx aws.Context, input *ModifySnapshotAttributeInput, opts ...request.Option) (*ModifySnapshotAttributeOutput, error) {
30085	req, out := c.ModifySnapshotAttributeRequest(input)
30086	req.SetContext(ctx)
30087	req.ApplyOptions(opts...)
30088	return out, req.Send()
30089}
30090
30091const opModifySpotFleetRequest = "ModifySpotFleetRequest"
30092
30093// ModifySpotFleetRequestRequest generates a "aws/request.Request" representing the
30094// client's request for the ModifySpotFleetRequest operation. The "output" return
30095// value will be populated with the request's response once the request completes
30096// successfully.
30097//
30098// Use "Send" method on the returned Request to send the API call to the service.
30099// the "output" return value is not valid until after Send returns without error.
30100//
30101// See ModifySpotFleetRequest for more information on using the ModifySpotFleetRequest
30102// API call, and error handling.
30103//
30104// This method is useful when you want to inject custom logic or configuration
30105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30106//
30107//
30108//    // Example sending a request using the ModifySpotFleetRequestRequest method.
30109//    req, resp := client.ModifySpotFleetRequestRequest(params)
30110//
30111//    err := req.Send()
30112//    if err == nil { // resp is now filled
30113//        fmt.Println(resp)
30114//    }
30115//
30116// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
30117func (c *EC2) ModifySpotFleetRequestRequest(input *ModifySpotFleetRequestInput) (req *request.Request, output *ModifySpotFleetRequestOutput) {
30118	op := &request.Operation{
30119		Name:       opModifySpotFleetRequest,
30120		HTTPMethod: "POST",
30121		HTTPPath:   "/",
30122	}
30123
30124	if input == nil {
30125		input = &ModifySpotFleetRequestInput{}
30126	}
30127
30128	output = &ModifySpotFleetRequestOutput{}
30129	req = c.newRequest(op, input, output)
30130	return
30131}
30132
30133// ModifySpotFleetRequest API operation for Amazon Elastic Compute Cloud.
30134//
30135// Modifies the specified Spot Fleet request.
30136//
30137// You can only modify a Spot Fleet request of type maintain.
30138//
30139// While the Spot Fleet request is being modified, it is in the modifying state.
30140//
30141// To scale up your Spot Fleet, increase its target capacity. The Spot Fleet
30142// launches the additional Spot Instances according to the allocation strategy
30143// for the Spot Fleet request. If the allocation strategy is lowestPrice, the
30144// Spot Fleet launches instances using the Spot Instance pool with the lowest
30145// price. If the allocation strategy is diversified, the Spot Fleet distributes
30146// the instances across the Spot Instance pools. If the allocation strategy
30147// is capacityOptimized, Spot Fleet launches instances from Spot Instance pools
30148// with optimal capacity for the number of instances that are launching.
30149//
30150// To scale down your Spot Fleet, decrease its target capacity. First, the Spot
30151// Fleet cancels any open requests that exceed the new target capacity. You
30152// can request that the Spot Fleet terminate Spot Instances until the size of
30153// the fleet no longer exceeds the new target capacity. If the allocation strategy
30154// is lowestPrice, the Spot Fleet terminates the instances with the highest
30155// price per unit. If the allocation strategy is capacityOptimized, the Spot
30156// Fleet terminates the instances in the Spot Instance pools that have the least
30157// available Spot Instance capacity. If the allocation strategy is diversified,
30158// the Spot Fleet terminates instances across the Spot Instance pools. Alternatively,
30159// you can request that the Spot Fleet keep the fleet at its current size, but
30160// not replace any Spot Instances that are interrupted or that you terminate
30161// manually.
30162//
30163// If you are finished with your Spot Fleet for now, but will use it again later,
30164// you can set the target capacity to 0.
30165//
30166// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30167// with awserr.Error's Code and Message methods to get detailed information about
30168// the error.
30169//
30170// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30171// API operation ModifySpotFleetRequest for usage and error information.
30172// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySpotFleetRequest
30173func (c *EC2) ModifySpotFleetRequest(input *ModifySpotFleetRequestInput) (*ModifySpotFleetRequestOutput, error) {
30174	req, out := c.ModifySpotFleetRequestRequest(input)
30175	return out, req.Send()
30176}
30177
30178// ModifySpotFleetRequestWithContext is the same as ModifySpotFleetRequest with the addition of
30179// the ability to pass a context and additional request options.
30180//
30181// See ModifySpotFleetRequest for details on how to use this API operation.
30182//
30183// The context must be non-nil and will be used for request cancellation. If
30184// the context is nil a panic will occur. In the future the SDK may create
30185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30186// for more information on using Contexts.
30187func (c *EC2) ModifySpotFleetRequestWithContext(ctx aws.Context, input *ModifySpotFleetRequestInput, opts ...request.Option) (*ModifySpotFleetRequestOutput, error) {
30188	req, out := c.ModifySpotFleetRequestRequest(input)
30189	req.SetContext(ctx)
30190	req.ApplyOptions(opts...)
30191	return out, req.Send()
30192}
30193
30194const opModifySubnetAttribute = "ModifySubnetAttribute"
30195
30196// ModifySubnetAttributeRequest generates a "aws/request.Request" representing the
30197// client's request for the ModifySubnetAttribute operation. The "output" return
30198// value will be populated with the request's response once the request completes
30199// successfully.
30200//
30201// Use "Send" method on the returned Request to send the API call to the service.
30202// the "output" return value is not valid until after Send returns without error.
30203//
30204// See ModifySubnetAttribute for more information on using the ModifySubnetAttribute
30205// API call, and error handling.
30206//
30207// This method is useful when you want to inject custom logic or configuration
30208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30209//
30210//
30211//    // Example sending a request using the ModifySubnetAttributeRequest method.
30212//    req, resp := client.ModifySubnetAttributeRequest(params)
30213//
30214//    err := req.Send()
30215//    if err == nil { // resp is now filled
30216//        fmt.Println(resp)
30217//    }
30218//
30219// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
30220func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (req *request.Request, output *ModifySubnetAttributeOutput) {
30221	op := &request.Operation{
30222		Name:       opModifySubnetAttribute,
30223		HTTPMethod: "POST",
30224		HTTPPath:   "/",
30225	}
30226
30227	if input == nil {
30228		input = &ModifySubnetAttributeInput{}
30229	}
30230
30231	output = &ModifySubnetAttributeOutput{}
30232	req = c.newRequest(op, input, output)
30233	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30234	return
30235}
30236
30237// ModifySubnetAttribute API operation for Amazon Elastic Compute Cloud.
30238//
30239// Modifies a subnet attribute. You can only modify one attribute at a time.
30240//
30241// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30242// with awserr.Error's Code and Message methods to get detailed information about
30243// the error.
30244//
30245// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30246// API operation ModifySubnetAttribute for usage and error information.
30247// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifySubnetAttribute
30248func (c *EC2) ModifySubnetAttribute(input *ModifySubnetAttributeInput) (*ModifySubnetAttributeOutput, error) {
30249	req, out := c.ModifySubnetAttributeRequest(input)
30250	return out, req.Send()
30251}
30252
30253// ModifySubnetAttributeWithContext is the same as ModifySubnetAttribute with the addition of
30254// the ability to pass a context and additional request options.
30255//
30256// See ModifySubnetAttribute for details on how to use this API operation.
30257//
30258// The context must be non-nil and will be used for request cancellation. If
30259// the context is nil a panic will occur. In the future the SDK may create
30260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30261// for more information on using Contexts.
30262func (c *EC2) ModifySubnetAttributeWithContext(ctx aws.Context, input *ModifySubnetAttributeInput, opts ...request.Option) (*ModifySubnetAttributeOutput, error) {
30263	req, out := c.ModifySubnetAttributeRequest(input)
30264	req.SetContext(ctx)
30265	req.ApplyOptions(opts...)
30266	return out, req.Send()
30267}
30268
30269const opModifyTrafficMirrorFilterNetworkServices = "ModifyTrafficMirrorFilterNetworkServices"
30270
30271// ModifyTrafficMirrorFilterNetworkServicesRequest generates a "aws/request.Request" representing the
30272// client's request for the ModifyTrafficMirrorFilterNetworkServices operation. The "output" return
30273// value will be populated with the request's response once the request completes
30274// successfully.
30275//
30276// Use "Send" method on the returned Request to send the API call to the service.
30277// the "output" return value is not valid until after Send returns without error.
30278//
30279// See ModifyTrafficMirrorFilterNetworkServices for more information on using the ModifyTrafficMirrorFilterNetworkServices
30280// API call, and error handling.
30281//
30282// This method is useful when you want to inject custom logic or configuration
30283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30284//
30285//
30286//    // Example sending a request using the ModifyTrafficMirrorFilterNetworkServicesRequest method.
30287//    req, resp := client.ModifyTrafficMirrorFilterNetworkServicesRequest(params)
30288//
30289//    err := req.Send()
30290//    if err == nil { // resp is now filled
30291//        fmt.Println(resp)
30292//    }
30293//
30294// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
30295func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesRequest(input *ModifyTrafficMirrorFilterNetworkServicesInput) (req *request.Request, output *ModifyTrafficMirrorFilterNetworkServicesOutput) {
30296	op := &request.Operation{
30297		Name:       opModifyTrafficMirrorFilterNetworkServices,
30298		HTTPMethod: "POST",
30299		HTTPPath:   "/",
30300	}
30301
30302	if input == nil {
30303		input = &ModifyTrafficMirrorFilterNetworkServicesInput{}
30304	}
30305
30306	output = &ModifyTrafficMirrorFilterNetworkServicesOutput{}
30307	req = c.newRequest(op, input, output)
30308	return
30309}
30310
30311// ModifyTrafficMirrorFilterNetworkServices API operation for Amazon Elastic Compute Cloud.
30312//
30313// Allows or restricts mirroring network services.
30314//
30315// By default, Amazon DNS network services are not eligible for Traffic Mirror.
30316// Use AddNetworkServices to add network services to a Traffic Mirror filter.
30317// When a network service is added to the Traffic Mirror filter, all traffic
30318// related to that network service will be mirrored. When you no longer want
30319// to mirror network services, use RemoveNetworkServices to remove the network
30320// services from the Traffic Mirror filter.
30321//
30322// For information about filter rule properties, see Network Services (https://docs.aws.amazon.com/vpc/latest/mirroring/traffic-mirroring-considerations.html)
30323// in the Traffic Mirroring User Guide .
30324//
30325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30326// with awserr.Error's Code and Message methods to get detailed information about
30327// the error.
30328//
30329// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30330// API operation ModifyTrafficMirrorFilterNetworkServices for usage and error information.
30331// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterNetworkServices
30332func (c *EC2) ModifyTrafficMirrorFilterNetworkServices(input *ModifyTrafficMirrorFilterNetworkServicesInput) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
30333	req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
30334	return out, req.Send()
30335}
30336
30337// ModifyTrafficMirrorFilterNetworkServicesWithContext is the same as ModifyTrafficMirrorFilterNetworkServices with the addition of
30338// the ability to pass a context and additional request options.
30339//
30340// See ModifyTrafficMirrorFilterNetworkServices for details on how to use this API operation.
30341//
30342// The context must be non-nil and will be used for request cancellation. If
30343// the context is nil a panic will occur. In the future the SDK may create
30344// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30345// for more information on using Contexts.
30346func (c *EC2) ModifyTrafficMirrorFilterNetworkServicesWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterNetworkServicesInput, opts ...request.Option) (*ModifyTrafficMirrorFilterNetworkServicesOutput, error) {
30347	req, out := c.ModifyTrafficMirrorFilterNetworkServicesRequest(input)
30348	req.SetContext(ctx)
30349	req.ApplyOptions(opts...)
30350	return out, req.Send()
30351}
30352
30353const opModifyTrafficMirrorFilterRule = "ModifyTrafficMirrorFilterRule"
30354
30355// ModifyTrafficMirrorFilterRuleRequest generates a "aws/request.Request" representing the
30356// client's request for the ModifyTrafficMirrorFilterRule operation. The "output" return
30357// value will be populated with the request's response once the request completes
30358// successfully.
30359//
30360// Use "Send" method on the returned Request to send the API call to the service.
30361// the "output" return value is not valid until after Send returns without error.
30362//
30363// See ModifyTrafficMirrorFilterRule for more information on using the ModifyTrafficMirrorFilterRule
30364// API call, and error handling.
30365//
30366// This method is useful when you want to inject custom logic or configuration
30367// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30368//
30369//
30370//    // Example sending a request using the ModifyTrafficMirrorFilterRuleRequest method.
30371//    req, resp := client.ModifyTrafficMirrorFilterRuleRequest(params)
30372//
30373//    err := req.Send()
30374//    if err == nil { // resp is now filled
30375//        fmt.Println(resp)
30376//    }
30377//
30378// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
30379func (c *EC2) ModifyTrafficMirrorFilterRuleRequest(input *ModifyTrafficMirrorFilterRuleInput) (req *request.Request, output *ModifyTrafficMirrorFilterRuleOutput) {
30380	op := &request.Operation{
30381		Name:       opModifyTrafficMirrorFilterRule,
30382		HTTPMethod: "POST",
30383		HTTPPath:   "/",
30384	}
30385
30386	if input == nil {
30387		input = &ModifyTrafficMirrorFilterRuleInput{}
30388	}
30389
30390	output = &ModifyTrafficMirrorFilterRuleOutput{}
30391	req = c.newRequest(op, input, output)
30392	return
30393}
30394
30395// ModifyTrafficMirrorFilterRule API operation for Amazon Elastic Compute Cloud.
30396//
30397// Modifies the specified Traffic Mirror rule.
30398//
30399// DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an
30400// IPv6 range.
30401//
30402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30403// with awserr.Error's Code and Message methods to get detailed information about
30404// the error.
30405//
30406// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30407// API operation ModifyTrafficMirrorFilterRule for usage and error information.
30408// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorFilterRule
30409func (c *EC2) ModifyTrafficMirrorFilterRule(input *ModifyTrafficMirrorFilterRuleInput) (*ModifyTrafficMirrorFilterRuleOutput, error) {
30410	req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
30411	return out, req.Send()
30412}
30413
30414// ModifyTrafficMirrorFilterRuleWithContext is the same as ModifyTrafficMirrorFilterRule with the addition of
30415// the ability to pass a context and additional request options.
30416//
30417// See ModifyTrafficMirrorFilterRule for details on how to use this API operation.
30418//
30419// The context must be non-nil and will be used for request cancellation. If
30420// the context is nil a panic will occur. In the future the SDK may create
30421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30422// for more information on using Contexts.
30423func (c *EC2) ModifyTrafficMirrorFilterRuleWithContext(ctx aws.Context, input *ModifyTrafficMirrorFilterRuleInput, opts ...request.Option) (*ModifyTrafficMirrorFilterRuleOutput, error) {
30424	req, out := c.ModifyTrafficMirrorFilterRuleRequest(input)
30425	req.SetContext(ctx)
30426	req.ApplyOptions(opts...)
30427	return out, req.Send()
30428}
30429
30430const opModifyTrafficMirrorSession = "ModifyTrafficMirrorSession"
30431
30432// ModifyTrafficMirrorSessionRequest generates a "aws/request.Request" representing the
30433// client's request for the ModifyTrafficMirrorSession operation. The "output" return
30434// value will be populated with the request's response once the request completes
30435// successfully.
30436//
30437// Use "Send" method on the returned Request to send the API call to the service.
30438// the "output" return value is not valid until after Send returns without error.
30439//
30440// See ModifyTrafficMirrorSession for more information on using the ModifyTrafficMirrorSession
30441// API call, and error handling.
30442//
30443// This method is useful when you want to inject custom logic or configuration
30444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30445//
30446//
30447//    // Example sending a request using the ModifyTrafficMirrorSessionRequest method.
30448//    req, resp := client.ModifyTrafficMirrorSessionRequest(params)
30449//
30450//    err := req.Send()
30451//    if err == nil { // resp is now filled
30452//        fmt.Println(resp)
30453//    }
30454//
30455// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
30456func (c *EC2) ModifyTrafficMirrorSessionRequest(input *ModifyTrafficMirrorSessionInput) (req *request.Request, output *ModifyTrafficMirrorSessionOutput) {
30457	op := &request.Operation{
30458		Name:       opModifyTrafficMirrorSession,
30459		HTTPMethod: "POST",
30460		HTTPPath:   "/",
30461	}
30462
30463	if input == nil {
30464		input = &ModifyTrafficMirrorSessionInput{}
30465	}
30466
30467	output = &ModifyTrafficMirrorSessionOutput{}
30468	req = c.newRequest(op, input, output)
30469	return
30470}
30471
30472// ModifyTrafficMirrorSession API operation for Amazon Elastic Compute Cloud.
30473//
30474// Modifies a Traffic Mirror session.
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 ModifyTrafficMirrorSession for usage and error information.
30482// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTrafficMirrorSession
30483func (c *EC2) ModifyTrafficMirrorSession(input *ModifyTrafficMirrorSessionInput) (*ModifyTrafficMirrorSessionOutput, error) {
30484	req, out := c.ModifyTrafficMirrorSessionRequest(input)
30485	return out, req.Send()
30486}
30487
30488// ModifyTrafficMirrorSessionWithContext is the same as ModifyTrafficMirrorSession with the addition of
30489// the ability to pass a context and additional request options.
30490//
30491// See ModifyTrafficMirrorSession 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) ModifyTrafficMirrorSessionWithContext(ctx aws.Context, input *ModifyTrafficMirrorSessionInput, opts ...request.Option) (*ModifyTrafficMirrorSessionOutput, error) {
30498	req, out := c.ModifyTrafficMirrorSessionRequest(input)
30499	req.SetContext(ctx)
30500	req.ApplyOptions(opts...)
30501	return out, req.Send()
30502}
30503
30504const opModifyTransitGatewayVpcAttachment = "ModifyTransitGatewayVpcAttachment"
30505
30506// ModifyTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
30507// client's request for the ModifyTransitGatewayVpcAttachment 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 ModifyTransitGatewayVpcAttachment for more information on using the ModifyTransitGatewayVpcAttachment
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 ModifyTransitGatewayVpcAttachmentRequest method.
30522//    req, resp := client.ModifyTransitGatewayVpcAttachmentRequest(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/ModifyTransitGatewayVpcAttachment
30530func (c *EC2) ModifyTransitGatewayVpcAttachmentRequest(input *ModifyTransitGatewayVpcAttachmentInput) (req *request.Request, output *ModifyTransitGatewayVpcAttachmentOutput) {
30531	op := &request.Operation{
30532		Name:       opModifyTransitGatewayVpcAttachment,
30533		HTTPMethod: "POST",
30534		HTTPPath:   "/",
30535	}
30536
30537	if input == nil {
30538		input = &ModifyTransitGatewayVpcAttachmentInput{}
30539	}
30540
30541	output = &ModifyTransitGatewayVpcAttachmentOutput{}
30542	req = c.newRequest(op, input, output)
30543	return
30544}
30545
30546// ModifyTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
30547//
30548// Modifies the specified VPC attachment.
30549//
30550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30551// with awserr.Error's Code and Message methods to get detailed information about
30552// the error.
30553//
30554// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30555// API operation ModifyTransitGatewayVpcAttachment for usage and error information.
30556// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyTransitGatewayVpcAttachment
30557func (c *EC2) ModifyTransitGatewayVpcAttachment(input *ModifyTransitGatewayVpcAttachmentInput) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
30558	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
30559	return out, req.Send()
30560}
30561
30562// ModifyTransitGatewayVpcAttachmentWithContext is the same as ModifyTransitGatewayVpcAttachment with the addition of
30563// the ability to pass a context and additional request options.
30564//
30565// See ModifyTransitGatewayVpcAttachment for details on how to use this API operation.
30566//
30567// The context must be non-nil and will be used for request cancellation. If
30568// the context is nil a panic will occur. In the future the SDK may create
30569// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30570// for more information on using Contexts.
30571func (c *EC2) ModifyTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *ModifyTransitGatewayVpcAttachmentInput, opts ...request.Option) (*ModifyTransitGatewayVpcAttachmentOutput, error) {
30572	req, out := c.ModifyTransitGatewayVpcAttachmentRequest(input)
30573	req.SetContext(ctx)
30574	req.ApplyOptions(opts...)
30575	return out, req.Send()
30576}
30577
30578const opModifyVolume = "ModifyVolume"
30579
30580// ModifyVolumeRequest generates a "aws/request.Request" representing the
30581// client's request for the ModifyVolume operation. The "output" return
30582// value will be populated with the request's response once the request completes
30583// successfully.
30584//
30585// Use "Send" method on the returned Request to send the API call to the service.
30586// the "output" return value is not valid until after Send returns without error.
30587//
30588// See ModifyVolume for more information on using the ModifyVolume
30589// API call, and error handling.
30590//
30591// This method is useful when you want to inject custom logic or configuration
30592// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30593//
30594//
30595//    // Example sending a request using the ModifyVolumeRequest method.
30596//    req, resp := client.ModifyVolumeRequest(params)
30597//
30598//    err := req.Send()
30599//    if err == nil { // resp is now filled
30600//        fmt.Println(resp)
30601//    }
30602//
30603// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
30604func (c *EC2) ModifyVolumeRequest(input *ModifyVolumeInput) (req *request.Request, output *ModifyVolumeOutput) {
30605	op := &request.Operation{
30606		Name:       opModifyVolume,
30607		HTTPMethod: "POST",
30608		HTTPPath:   "/",
30609	}
30610
30611	if input == nil {
30612		input = &ModifyVolumeInput{}
30613	}
30614
30615	output = &ModifyVolumeOutput{}
30616	req = c.newRequest(op, input, output)
30617	return
30618}
30619
30620// ModifyVolume API operation for Amazon Elastic Compute Cloud.
30621//
30622// You can modify several parameters of an existing EBS volume, including volume
30623// size, volume type, and IOPS capacity. If your EBS volume is attached to a
30624// current-generation EC2 instance type, you may be able to apply these changes
30625// without stopping the instance or detaching the volume from it. For more information
30626// about modifying an EBS volume running Linux, see Modifying the Size, IOPS,
30627// or Type of an EBS Volume on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html).
30628// For more information about modifying an EBS volume running Windows, see Modifying
30629// the Size, IOPS, or Type of an EBS Volume on Windows (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html).
30630//
30631// When you complete a resize operation on your volume, you need to extend the
30632// volume's file-system size to take advantage of the new storage capacity.
30633// For information about extending a Linux file system, see Extending a Linux
30634// File System (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#recognize-expanded-volume-linux).
30635// For information about extending a Windows file system, see Extending a Windows
30636// File System (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-expand-volume.html#recognize-expanded-volume-windows).
30637//
30638// You can use CloudWatch Events to check the status of a modification to an
30639// EBS volume. For information about CloudWatch Events, see the Amazon CloudWatch
30640// Events User Guide (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/).
30641// You can also track the status of a modification using DescribeVolumesModifications.
30642// For information about tracking status changes using either method, see Monitoring
30643// Volume Modifications (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#monitoring_mods).
30644//
30645// With previous-generation instance types, resizing an EBS volume may require
30646// detaching and reattaching the volume or stopping and restarting the instance.
30647// For more information, see Modifying the Size, IOPS, or Type of an EBS Volume
30648// on Linux (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html)
30649// 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).
30650//
30651// If you reach the maximum volume modification rate per volume limit, you will
30652// need to wait at least six hours before applying further modifications to
30653// the affected EBS volume.
30654//
30655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30656// with awserr.Error's Code and Message methods to get detailed information about
30657// the error.
30658//
30659// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30660// API operation ModifyVolume for usage and error information.
30661// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolume
30662func (c *EC2) ModifyVolume(input *ModifyVolumeInput) (*ModifyVolumeOutput, error) {
30663	req, out := c.ModifyVolumeRequest(input)
30664	return out, req.Send()
30665}
30666
30667// ModifyVolumeWithContext is the same as ModifyVolume with the addition of
30668// the ability to pass a context and additional request options.
30669//
30670// See ModifyVolume for details on how to use this API operation.
30671//
30672// The context must be non-nil and will be used for request cancellation. If
30673// the context is nil a panic will occur. In the future the SDK may create
30674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30675// for more information on using Contexts.
30676func (c *EC2) ModifyVolumeWithContext(ctx aws.Context, input *ModifyVolumeInput, opts ...request.Option) (*ModifyVolumeOutput, error) {
30677	req, out := c.ModifyVolumeRequest(input)
30678	req.SetContext(ctx)
30679	req.ApplyOptions(opts...)
30680	return out, req.Send()
30681}
30682
30683const opModifyVolumeAttribute = "ModifyVolumeAttribute"
30684
30685// ModifyVolumeAttributeRequest generates a "aws/request.Request" representing the
30686// client's request for the ModifyVolumeAttribute operation. The "output" return
30687// value will be populated with the request's response once the request completes
30688// successfully.
30689//
30690// Use "Send" method on the returned Request to send the API call to the service.
30691// the "output" return value is not valid until after Send returns without error.
30692//
30693// See ModifyVolumeAttribute for more information on using the ModifyVolumeAttribute
30694// API call, and error handling.
30695//
30696// This method is useful when you want to inject custom logic or configuration
30697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30698//
30699//
30700//    // Example sending a request using the ModifyVolumeAttributeRequest method.
30701//    req, resp := client.ModifyVolumeAttributeRequest(params)
30702//
30703//    err := req.Send()
30704//    if err == nil { // resp is now filled
30705//        fmt.Println(resp)
30706//    }
30707//
30708// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
30709func (c *EC2) ModifyVolumeAttributeRequest(input *ModifyVolumeAttributeInput) (req *request.Request, output *ModifyVolumeAttributeOutput) {
30710	op := &request.Operation{
30711		Name:       opModifyVolumeAttribute,
30712		HTTPMethod: "POST",
30713		HTTPPath:   "/",
30714	}
30715
30716	if input == nil {
30717		input = &ModifyVolumeAttributeInput{}
30718	}
30719
30720	output = &ModifyVolumeAttributeOutput{}
30721	req = c.newRequest(op, input, output)
30722	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30723	return
30724}
30725
30726// ModifyVolumeAttribute API operation for Amazon Elastic Compute Cloud.
30727//
30728// Modifies a volume attribute.
30729//
30730// By default, all I/O operations for the volume are suspended when the data
30731// on the volume is determined to be potentially inconsistent, to prevent undetectable,
30732// latent data corruption. The I/O access to the volume can be resumed by first
30733// enabling I/O access and then checking the data consistency on your volume.
30734//
30735// You can change the default behavior to resume I/O operations. We recommend
30736// that you change this only for boot volumes or for volumes that are stateless
30737// or disposable.
30738//
30739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30740// with awserr.Error's Code and Message methods to get detailed information about
30741// the error.
30742//
30743// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30744// API operation ModifyVolumeAttribute for usage and error information.
30745// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVolumeAttribute
30746func (c *EC2) ModifyVolumeAttribute(input *ModifyVolumeAttributeInput) (*ModifyVolumeAttributeOutput, error) {
30747	req, out := c.ModifyVolumeAttributeRequest(input)
30748	return out, req.Send()
30749}
30750
30751// ModifyVolumeAttributeWithContext is the same as ModifyVolumeAttribute with the addition of
30752// the ability to pass a context and additional request options.
30753//
30754// See ModifyVolumeAttribute for details on how to use this API operation.
30755//
30756// The context must be non-nil and will be used for request cancellation. If
30757// the context is nil a panic will occur. In the future the SDK may create
30758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30759// for more information on using Contexts.
30760func (c *EC2) ModifyVolumeAttributeWithContext(ctx aws.Context, input *ModifyVolumeAttributeInput, opts ...request.Option) (*ModifyVolumeAttributeOutput, error) {
30761	req, out := c.ModifyVolumeAttributeRequest(input)
30762	req.SetContext(ctx)
30763	req.ApplyOptions(opts...)
30764	return out, req.Send()
30765}
30766
30767const opModifyVpcAttribute = "ModifyVpcAttribute"
30768
30769// ModifyVpcAttributeRequest generates a "aws/request.Request" representing the
30770// client's request for the ModifyVpcAttribute operation. The "output" return
30771// value will be populated with the request's response once the request completes
30772// successfully.
30773//
30774// Use "Send" method on the returned Request to send the API call to the service.
30775// the "output" return value is not valid until after Send returns without error.
30776//
30777// See ModifyVpcAttribute for more information on using the ModifyVpcAttribute
30778// API call, and error handling.
30779//
30780// This method is useful when you want to inject custom logic or configuration
30781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30782//
30783//
30784//    // Example sending a request using the ModifyVpcAttributeRequest method.
30785//    req, resp := client.ModifyVpcAttributeRequest(params)
30786//
30787//    err := req.Send()
30788//    if err == nil { // resp is now filled
30789//        fmt.Println(resp)
30790//    }
30791//
30792// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
30793func (c *EC2) ModifyVpcAttributeRequest(input *ModifyVpcAttributeInput) (req *request.Request, output *ModifyVpcAttributeOutput) {
30794	op := &request.Operation{
30795		Name:       opModifyVpcAttribute,
30796		HTTPMethod: "POST",
30797		HTTPPath:   "/",
30798	}
30799
30800	if input == nil {
30801		input = &ModifyVpcAttributeInput{}
30802	}
30803
30804	output = &ModifyVpcAttributeOutput{}
30805	req = c.newRequest(op, input, output)
30806	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
30807	return
30808}
30809
30810// ModifyVpcAttribute API operation for Amazon Elastic Compute Cloud.
30811//
30812// Modifies the specified attribute of the specified VPC.
30813//
30814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30815// with awserr.Error's Code and Message methods to get detailed information about
30816// the error.
30817//
30818// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30819// API operation ModifyVpcAttribute for usage and error information.
30820// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcAttribute
30821func (c *EC2) ModifyVpcAttribute(input *ModifyVpcAttributeInput) (*ModifyVpcAttributeOutput, error) {
30822	req, out := c.ModifyVpcAttributeRequest(input)
30823	return out, req.Send()
30824}
30825
30826// ModifyVpcAttributeWithContext is the same as ModifyVpcAttribute with the addition of
30827// the ability to pass a context and additional request options.
30828//
30829// See ModifyVpcAttribute for details on how to use this API operation.
30830//
30831// The context must be non-nil and will be used for request cancellation. If
30832// the context is nil a panic will occur. In the future the SDK may create
30833// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30834// for more information on using Contexts.
30835func (c *EC2) ModifyVpcAttributeWithContext(ctx aws.Context, input *ModifyVpcAttributeInput, opts ...request.Option) (*ModifyVpcAttributeOutput, error) {
30836	req, out := c.ModifyVpcAttributeRequest(input)
30837	req.SetContext(ctx)
30838	req.ApplyOptions(opts...)
30839	return out, req.Send()
30840}
30841
30842const opModifyVpcEndpoint = "ModifyVpcEndpoint"
30843
30844// ModifyVpcEndpointRequest generates a "aws/request.Request" representing the
30845// client's request for the ModifyVpcEndpoint operation. The "output" return
30846// value will be populated with the request's response once the request completes
30847// successfully.
30848//
30849// Use "Send" method on the returned Request to send the API call to the service.
30850// the "output" return value is not valid until after Send returns without error.
30851//
30852// See ModifyVpcEndpoint for more information on using the ModifyVpcEndpoint
30853// API call, and error handling.
30854//
30855// This method is useful when you want to inject custom logic or configuration
30856// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30857//
30858//
30859//    // Example sending a request using the ModifyVpcEndpointRequest method.
30860//    req, resp := client.ModifyVpcEndpointRequest(params)
30861//
30862//    err := req.Send()
30863//    if err == nil { // resp is now filled
30864//        fmt.Println(resp)
30865//    }
30866//
30867// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
30868func (c *EC2) ModifyVpcEndpointRequest(input *ModifyVpcEndpointInput) (req *request.Request, output *ModifyVpcEndpointOutput) {
30869	op := &request.Operation{
30870		Name:       opModifyVpcEndpoint,
30871		HTTPMethod: "POST",
30872		HTTPPath:   "/",
30873	}
30874
30875	if input == nil {
30876		input = &ModifyVpcEndpointInput{}
30877	}
30878
30879	output = &ModifyVpcEndpointOutput{}
30880	req = c.newRequest(op, input, output)
30881	return
30882}
30883
30884// ModifyVpcEndpoint API operation for Amazon Elastic Compute Cloud.
30885//
30886// Modifies attributes of a specified VPC endpoint. The attributes that you
30887// can modify depend on the type of VPC endpoint (interface or gateway). For
30888// more information, see VPC Endpoints (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)
30889// in the Amazon Virtual Private Cloud User Guide.
30890//
30891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30892// with awserr.Error's Code and Message methods to get detailed information about
30893// the error.
30894//
30895// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30896// API operation ModifyVpcEndpoint for usage and error information.
30897// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpoint
30898func (c *EC2) ModifyVpcEndpoint(input *ModifyVpcEndpointInput) (*ModifyVpcEndpointOutput, error) {
30899	req, out := c.ModifyVpcEndpointRequest(input)
30900	return out, req.Send()
30901}
30902
30903// ModifyVpcEndpointWithContext is the same as ModifyVpcEndpoint with the addition of
30904// the ability to pass a context and additional request options.
30905//
30906// See ModifyVpcEndpoint for details on how to use this API operation.
30907//
30908// The context must be non-nil and will be used for request cancellation. If
30909// the context is nil a panic will occur. In the future the SDK may create
30910// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30911// for more information on using Contexts.
30912func (c *EC2) ModifyVpcEndpointWithContext(ctx aws.Context, input *ModifyVpcEndpointInput, opts ...request.Option) (*ModifyVpcEndpointOutput, error) {
30913	req, out := c.ModifyVpcEndpointRequest(input)
30914	req.SetContext(ctx)
30915	req.ApplyOptions(opts...)
30916	return out, req.Send()
30917}
30918
30919const opModifyVpcEndpointConnectionNotification = "ModifyVpcEndpointConnectionNotification"
30920
30921// ModifyVpcEndpointConnectionNotificationRequest generates a "aws/request.Request" representing the
30922// client's request for the ModifyVpcEndpointConnectionNotification operation. The "output" return
30923// value will be populated with the request's response once the request completes
30924// successfully.
30925//
30926// Use "Send" method on the returned Request to send the API call to the service.
30927// the "output" return value is not valid until after Send returns without error.
30928//
30929// See ModifyVpcEndpointConnectionNotification for more information on using the ModifyVpcEndpointConnectionNotification
30930// API call, and error handling.
30931//
30932// This method is useful when you want to inject custom logic or configuration
30933// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30934//
30935//
30936//    // Example sending a request using the ModifyVpcEndpointConnectionNotificationRequest method.
30937//    req, resp := client.ModifyVpcEndpointConnectionNotificationRequest(params)
30938//
30939//    err := req.Send()
30940//    if err == nil { // resp is now filled
30941//        fmt.Println(resp)
30942//    }
30943//
30944// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
30945func (c *EC2) ModifyVpcEndpointConnectionNotificationRequest(input *ModifyVpcEndpointConnectionNotificationInput) (req *request.Request, output *ModifyVpcEndpointConnectionNotificationOutput) {
30946	op := &request.Operation{
30947		Name:       opModifyVpcEndpointConnectionNotification,
30948		HTTPMethod: "POST",
30949		HTTPPath:   "/",
30950	}
30951
30952	if input == nil {
30953		input = &ModifyVpcEndpointConnectionNotificationInput{}
30954	}
30955
30956	output = &ModifyVpcEndpointConnectionNotificationOutput{}
30957	req = c.newRequest(op, input, output)
30958	return
30959}
30960
30961// ModifyVpcEndpointConnectionNotification API operation for Amazon Elastic Compute Cloud.
30962//
30963// Modifies a connection notification for VPC endpoint or VPC endpoint service.
30964// You can change the SNS topic for the notification, or the events for which
30965// to be notified.
30966//
30967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
30968// with awserr.Error's Code and Message methods to get detailed information about
30969// the error.
30970//
30971// See the AWS API reference guide for Amazon Elastic Compute Cloud's
30972// API operation ModifyVpcEndpointConnectionNotification for usage and error information.
30973// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointConnectionNotification
30974func (c *EC2) ModifyVpcEndpointConnectionNotification(input *ModifyVpcEndpointConnectionNotificationInput) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
30975	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
30976	return out, req.Send()
30977}
30978
30979// ModifyVpcEndpointConnectionNotificationWithContext is the same as ModifyVpcEndpointConnectionNotification with the addition of
30980// the ability to pass a context and additional request options.
30981//
30982// See ModifyVpcEndpointConnectionNotification for details on how to use this API operation.
30983//
30984// The context must be non-nil and will be used for request cancellation. If
30985// the context is nil a panic will occur. In the future the SDK may create
30986// sub-contexts for http.Requests. See https://golang.org/pkg/context/
30987// for more information on using Contexts.
30988func (c *EC2) ModifyVpcEndpointConnectionNotificationWithContext(ctx aws.Context, input *ModifyVpcEndpointConnectionNotificationInput, opts ...request.Option) (*ModifyVpcEndpointConnectionNotificationOutput, error) {
30989	req, out := c.ModifyVpcEndpointConnectionNotificationRequest(input)
30990	req.SetContext(ctx)
30991	req.ApplyOptions(opts...)
30992	return out, req.Send()
30993}
30994
30995const opModifyVpcEndpointServiceConfiguration = "ModifyVpcEndpointServiceConfiguration"
30996
30997// ModifyVpcEndpointServiceConfigurationRequest generates a "aws/request.Request" representing the
30998// client's request for the ModifyVpcEndpointServiceConfiguration operation. The "output" return
30999// value will be populated with the request's response once the request completes
31000// successfully.
31001//
31002// Use "Send" method on the returned Request to send the API call to the service.
31003// the "output" return value is not valid until after Send returns without error.
31004//
31005// See ModifyVpcEndpointServiceConfiguration for more information on using the ModifyVpcEndpointServiceConfiguration
31006// API call, and error handling.
31007//
31008// This method is useful when you want to inject custom logic or configuration
31009// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31010//
31011//
31012//    // Example sending a request using the ModifyVpcEndpointServiceConfigurationRequest method.
31013//    req, resp := client.ModifyVpcEndpointServiceConfigurationRequest(params)
31014//
31015//    err := req.Send()
31016//    if err == nil { // resp is now filled
31017//        fmt.Println(resp)
31018//    }
31019//
31020// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
31021func (c *EC2) ModifyVpcEndpointServiceConfigurationRequest(input *ModifyVpcEndpointServiceConfigurationInput) (req *request.Request, output *ModifyVpcEndpointServiceConfigurationOutput) {
31022	op := &request.Operation{
31023		Name:       opModifyVpcEndpointServiceConfiguration,
31024		HTTPMethod: "POST",
31025		HTTPPath:   "/",
31026	}
31027
31028	if input == nil {
31029		input = &ModifyVpcEndpointServiceConfigurationInput{}
31030	}
31031
31032	output = &ModifyVpcEndpointServiceConfigurationOutput{}
31033	req = c.newRequest(op, input, output)
31034	return
31035}
31036
31037// ModifyVpcEndpointServiceConfiguration API operation for Amazon Elastic Compute Cloud.
31038//
31039// Modifies the attributes of your VPC endpoint service configuration. You can
31040// change the Network Load Balancers for your service, and you can specify whether
31041// acceptance is required for requests to connect to your endpoint service through
31042// an interface VPC endpoint.
31043//
31044// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31045// with awserr.Error's Code and Message methods to get detailed information about
31046// the error.
31047//
31048// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31049// API operation ModifyVpcEndpointServiceConfiguration for usage and error information.
31050// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServiceConfiguration
31051func (c *EC2) ModifyVpcEndpointServiceConfiguration(input *ModifyVpcEndpointServiceConfigurationInput) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
31052	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
31053	return out, req.Send()
31054}
31055
31056// ModifyVpcEndpointServiceConfigurationWithContext is the same as ModifyVpcEndpointServiceConfiguration with the addition of
31057// the ability to pass a context and additional request options.
31058//
31059// See ModifyVpcEndpointServiceConfiguration for details on how to use this API operation.
31060//
31061// The context must be non-nil and will be used for request cancellation. If
31062// the context is nil a panic will occur. In the future the SDK may create
31063// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31064// for more information on using Contexts.
31065func (c *EC2) ModifyVpcEndpointServiceConfigurationWithContext(ctx aws.Context, input *ModifyVpcEndpointServiceConfigurationInput, opts ...request.Option) (*ModifyVpcEndpointServiceConfigurationOutput, error) {
31066	req, out := c.ModifyVpcEndpointServiceConfigurationRequest(input)
31067	req.SetContext(ctx)
31068	req.ApplyOptions(opts...)
31069	return out, req.Send()
31070}
31071
31072const opModifyVpcEndpointServicePermissions = "ModifyVpcEndpointServicePermissions"
31073
31074// ModifyVpcEndpointServicePermissionsRequest generates a "aws/request.Request" representing the
31075// client's request for the ModifyVpcEndpointServicePermissions operation. The "output" return
31076// value will be populated with the request's response once the request completes
31077// successfully.
31078//
31079// Use "Send" method on the returned Request to send the API call to the service.
31080// the "output" return value is not valid until after Send returns without error.
31081//
31082// See ModifyVpcEndpointServicePermissions for more information on using the ModifyVpcEndpointServicePermissions
31083// API call, and error handling.
31084//
31085// This method is useful when you want to inject custom logic or configuration
31086// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31087//
31088//
31089//    // Example sending a request using the ModifyVpcEndpointServicePermissionsRequest method.
31090//    req, resp := client.ModifyVpcEndpointServicePermissionsRequest(params)
31091//
31092//    err := req.Send()
31093//    if err == nil { // resp is now filled
31094//        fmt.Println(resp)
31095//    }
31096//
31097// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
31098func (c *EC2) ModifyVpcEndpointServicePermissionsRequest(input *ModifyVpcEndpointServicePermissionsInput) (req *request.Request, output *ModifyVpcEndpointServicePermissionsOutput) {
31099	op := &request.Operation{
31100		Name:       opModifyVpcEndpointServicePermissions,
31101		HTTPMethod: "POST",
31102		HTTPPath:   "/",
31103	}
31104
31105	if input == nil {
31106		input = &ModifyVpcEndpointServicePermissionsInput{}
31107	}
31108
31109	output = &ModifyVpcEndpointServicePermissionsOutput{}
31110	req = c.newRequest(op, input, output)
31111	return
31112}
31113
31114// ModifyVpcEndpointServicePermissions API operation for Amazon Elastic Compute Cloud.
31115//
31116// Modifies the permissions for your VPC endpoint service (https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html).
31117// You can add or remove permissions for service consumers (IAM users, IAM roles,
31118// and AWS accounts) to connect to your endpoint service.
31119//
31120// If you grant permissions to all principals, the service is public. Any users
31121// who know the name of a public service can send a request to attach an endpoint.
31122// If the service does not require manual approval, attachments are automatically
31123// approved.
31124//
31125// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31126// with awserr.Error's Code and Message methods to get detailed information about
31127// the error.
31128//
31129// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31130// API operation ModifyVpcEndpointServicePermissions for usage and error information.
31131// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointServicePermissions
31132func (c *EC2) ModifyVpcEndpointServicePermissions(input *ModifyVpcEndpointServicePermissionsInput) (*ModifyVpcEndpointServicePermissionsOutput, error) {
31133	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
31134	return out, req.Send()
31135}
31136
31137// ModifyVpcEndpointServicePermissionsWithContext is the same as ModifyVpcEndpointServicePermissions with the addition of
31138// the ability to pass a context and additional request options.
31139//
31140// See ModifyVpcEndpointServicePermissions for details on how to use this API operation.
31141//
31142// The context must be non-nil and will be used for request cancellation. If
31143// the context is nil a panic will occur. In the future the SDK may create
31144// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31145// for more information on using Contexts.
31146func (c *EC2) ModifyVpcEndpointServicePermissionsWithContext(ctx aws.Context, input *ModifyVpcEndpointServicePermissionsInput, opts ...request.Option) (*ModifyVpcEndpointServicePermissionsOutput, error) {
31147	req, out := c.ModifyVpcEndpointServicePermissionsRequest(input)
31148	req.SetContext(ctx)
31149	req.ApplyOptions(opts...)
31150	return out, req.Send()
31151}
31152
31153const opModifyVpcPeeringConnectionOptions = "ModifyVpcPeeringConnectionOptions"
31154
31155// ModifyVpcPeeringConnectionOptionsRequest generates a "aws/request.Request" representing the
31156// client's request for the ModifyVpcPeeringConnectionOptions operation. The "output" return
31157// value will be populated with the request's response once the request completes
31158// successfully.
31159//
31160// Use "Send" method on the returned Request to send the API call to the service.
31161// the "output" return value is not valid until after Send returns without error.
31162//
31163// See ModifyVpcPeeringConnectionOptions for more information on using the ModifyVpcPeeringConnectionOptions
31164// API call, and error handling.
31165//
31166// This method is useful when you want to inject custom logic or configuration
31167// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31168//
31169//
31170//    // Example sending a request using the ModifyVpcPeeringConnectionOptionsRequest method.
31171//    req, resp := client.ModifyVpcPeeringConnectionOptionsRequest(params)
31172//
31173//    err := req.Send()
31174//    if err == nil { // resp is now filled
31175//        fmt.Println(resp)
31176//    }
31177//
31178// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
31179func (c *EC2) ModifyVpcPeeringConnectionOptionsRequest(input *ModifyVpcPeeringConnectionOptionsInput) (req *request.Request, output *ModifyVpcPeeringConnectionOptionsOutput) {
31180	op := &request.Operation{
31181		Name:       opModifyVpcPeeringConnectionOptions,
31182		HTTPMethod: "POST",
31183		HTTPPath:   "/",
31184	}
31185
31186	if input == nil {
31187		input = &ModifyVpcPeeringConnectionOptionsInput{}
31188	}
31189
31190	output = &ModifyVpcPeeringConnectionOptionsOutput{}
31191	req = c.newRequest(op, input, output)
31192	return
31193}
31194
31195// ModifyVpcPeeringConnectionOptions API operation for Amazon Elastic Compute Cloud.
31196//
31197// Modifies the VPC peering connection options on one side of a VPC peering
31198// connection. You can do the following:
31199//
31200//    * Enable/disable communication over the peering connection between an
31201//    EC2-Classic instance that's linked to your VPC (using ClassicLink) and
31202//    instances in the peer VPC.
31203//
31204//    * Enable/disable communication over the peering connection between instances
31205//    in your VPC and an EC2-Classic instance that's linked to the peer VPC.
31206//
31207//    * Enable/disable the ability to resolve public DNS hostnames to private
31208//    IP addresses when queried from instances in the peer VPC.
31209//
31210// If the peered VPCs are in the same AWS account, you can enable DNS resolution
31211// for queries from the local VPC. This ensures that queries from the local
31212// VPC resolve to private IP addresses in the peer VPC. This option is not available
31213// if the peered VPCs are in different AWS accounts or different Regions. For
31214// peered VPCs in different AWS accounts, each AWS account owner must initiate
31215// a separate request to modify the peering connection options. For inter-region
31216// peering connections, you must use the Region for the requester VPC to modify
31217// the requester VPC peering options and the Region for the accepter VPC to
31218// modify the accepter VPC peering options. To verify which VPCs are the accepter
31219// and the requester for a VPC peering connection, use the DescribeVpcPeeringConnections
31220// command.
31221//
31222// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31223// with awserr.Error's Code and Message methods to get detailed information about
31224// the error.
31225//
31226// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31227// API operation ModifyVpcPeeringConnectionOptions for usage and error information.
31228// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcPeeringConnectionOptions
31229func (c *EC2) ModifyVpcPeeringConnectionOptions(input *ModifyVpcPeeringConnectionOptionsInput) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
31230	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
31231	return out, req.Send()
31232}
31233
31234// ModifyVpcPeeringConnectionOptionsWithContext is the same as ModifyVpcPeeringConnectionOptions with the addition of
31235// the ability to pass a context and additional request options.
31236//
31237// See ModifyVpcPeeringConnectionOptions for details on how to use this API operation.
31238//
31239// The context must be non-nil and will be used for request cancellation. If
31240// the context is nil a panic will occur. In the future the SDK may create
31241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31242// for more information on using Contexts.
31243func (c *EC2) ModifyVpcPeeringConnectionOptionsWithContext(ctx aws.Context, input *ModifyVpcPeeringConnectionOptionsInput, opts ...request.Option) (*ModifyVpcPeeringConnectionOptionsOutput, error) {
31244	req, out := c.ModifyVpcPeeringConnectionOptionsRequest(input)
31245	req.SetContext(ctx)
31246	req.ApplyOptions(opts...)
31247	return out, req.Send()
31248}
31249
31250const opModifyVpcTenancy = "ModifyVpcTenancy"
31251
31252// ModifyVpcTenancyRequest generates a "aws/request.Request" representing the
31253// client's request for the ModifyVpcTenancy operation. The "output" return
31254// value will be populated with the request's response once the request completes
31255// successfully.
31256//
31257// Use "Send" method on the returned Request to send the API call to the service.
31258// the "output" return value is not valid until after Send returns without error.
31259//
31260// See ModifyVpcTenancy for more information on using the ModifyVpcTenancy
31261// API call, and error handling.
31262//
31263// This method is useful when you want to inject custom logic or configuration
31264// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31265//
31266//
31267//    // Example sending a request using the ModifyVpcTenancyRequest method.
31268//    req, resp := client.ModifyVpcTenancyRequest(params)
31269//
31270//    err := req.Send()
31271//    if err == nil { // resp is now filled
31272//        fmt.Println(resp)
31273//    }
31274//
31275// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
31276func (c *EC2) ModifyVpcTenancyRequest(input *ModifyVpcTenancyInput) (req *request.Request, output *ModifyVpcTenancyOutput) {
31277	op := &request.Operation{
31278		Name:       opModifyVpcTenancy,
31279		HTTPMethod: "POST",
31280		HTTPPath:   "/",
31281	}
31282
31283	if input == nil {
31284		input = &ModifyVpcTenancyInput{}
31285	}
31286
31287	output = &ModifyVpcTenancyOutput{}
31288	req = c.newRequest(op, input, output)
31289	return
31290}
31291
31292// ModifyVpcTenancy API operation for Amazon Elastic Compute Cloud.
31293//
31294// Modifies the instance tenancy attribute of the specified VPC. You can change
31295// the instance tenancy attribute of a VPC to default only. You cannot change
31296// the instance tenancy attribute to dedicated.
31297//
31298// After you modify the tenancy of the VPC, any new instances that you launch
31299// into the VPC have a tenancy of default, unless you specify otherwise during
31300// launch. The tenancy of any existing instances in the VPC is not affected.
31301//
31302// For more information, see Dedicated Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html)
31303// in the Amazon Elastic Compute Cloud User Guide.
31304//
31305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31306// with awserr.Error's Code and Message methods to get detailed information about
31307// the error.
31308//
31309// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31310// API operation ModifyVpcTenancy for usage and error information.
31311// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcTenancy
31312func (c *EC2) ModifyVpcTenancy(input *ModifyVpcTenancyInput) (*ModifyVpcTenancyOutput, error) {
31313	req, out := c.ModifyVpcTenancyRequest(input)
31314	return out, req.Send()
31315}
31316
31317// ModifyVpcTenancyWithContext is the same as ModifyVpcTenancy with the addition of
31318// the ability to pass a context and additional request options.
31319//
31320// See ModifyVpcTenancy for details on how to use this API operation.
31321//
31322// The context must be non-nil and will be used for request cancellation. If
31323// the context is nil a panic will occur. In the future the SDK may create
31324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31325// for more information on using Contexts.
31326func (c *EC2) ModifyVpcTenancyWithContext(ctx aws.Context, input *ModifyVpcTenancyInput, opts ...request.Option) (*ModifyVpcTenancyOutput, error) {
31327	req, out := c.ModifyVpcTenancyRequest(input)
31328	req.SetContext(ctx)
31329	req.ApplyOptions(opts...)
31330	return out, req.Send()
31331}
31332
31333const opModifyVpnConnection = "ModifyVpnConnection"
31334
31335// ModifyVpnConnectionRequest generates a "aws/request.Request" representing the
31336// client's request for the ModifyVpnConnection operation. The "output" return
31337// value will be populated with the request's response once the request completes
31338// successfully.
31339//
31340// Use "Send" method on the returned Request to send the API call to the service.
31341// the "output" return value is not valid until after Send returns without error.
31342//
31343// See ModifyVpnConnection for more information on using the ModifyVpnConnection
31344// API call, and error handling.
31345//
31346// This method is useful when you want to inject custom logic or configuration
31347// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31348//
31349//
31350//    // Example sending a request using the ModifyVpnConnectionRequest method.
31351//    req, resp := client.ModifyVpnConnectionRequest(params)
31352//
31353//    err := req.Send()
31354//    if err == nil { // resp is now filled
31355//        fmt.Println(resp)
31356//    }
31357//
31358// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
31359func (c *EC2) ModifyVpnConnectionRequest(input *ModifyVpnConnectionInput) (req *request.Request, output *ModifyVpnConnectionOutput) {
31360	op := &request.Operation{
31361		Name:       opModifyVpnConnection,
31362		HTTPMethod: "POST",
31363		HTTPPath:   "/",
31364	}
31365
31366	if input == nil {
31367		input = &ModifyVpnConnectionInput{}
31368	}
31369
31370	output = &ModifyVpnConnectionOutput{}
31371	req = c.newRequest(op, input, output)
31372	return
31373}
31374
31375// ModifyVpnConnection API operation for Amazon Elastic Compute Cloud.
31376//
31377// Modifies the target gateway of an AWS Site-to-Site VPN connection. The following
31378// migration options are available:
31379//
31380//    * An existing virtual private gateway to a new virtual private gateway
31381//
31382//    * An existing virtual private gateway to a transit gateway
31383//
31384//    * An existing transit gateway to a new transit gateway
31385//
31386//    * An existing transit gateway to a virtual private gateway
31387//
31388// Before you perform the migration to the new gateway, you must configure the
31389// new gateway. Use CreateVpnGateway to create a virtual private gateway, or
31390// CreateTransitGateway to create a transit gateway.
31391//
31392// This step is required when you migrate from a virtual private gateway with
31393// static routes to a transit gateway.
31394//
31395// You must delete the static routes before you migrate to the new gateway.
31396//
31397// Keep a copy of the static route before you delete it. You will need to add
31398// back these routes to the transit gateway after the VPN connection migration
31399// is complete.
31400//
31401// After you migrate to the new gateway, you might need to modify your VPC route
31402// table. Use CreateRoute and DeleteRoute to make the changes described in VPN
31403// Gateway Target Modification Required VPC Route Table Updates (https://docs.aws.amazon.com/vpn/latest/s2svpn/modify-vpn-target.html#step-update-routing)
31404// in the AWS Site-to-Site VPN User Guide.
31405//
31406// When the new gateway is a transit gateway, modify the transit gateway route
31407// table to allow traffic between the VPC and the AWS Site-to-Site VPN connection.
31408// Use CreateTransitGatewayRoute to add the routes.
31409//
31410// If you deleted VPN static routes, you must add the static routes to the transit
31411// gateway route table.
31412//
31413// After you perform this operation, the AWS VPN endpoint's IP addresses on
31414// the AWS side and the tunnel options remain intact. Your s2slong; connection
31415// will be temporarily unavailable for approximately 10 minutes while we provision
31416// the new endpoints
31417//
31418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31419// with awserr.Error's Code and Message methods to get detailed information about
31420// the error.
31421//
31422// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31423// API operation ModifyVpnConnection for usage and error information.
31424// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnConnection
31425func (c *EC2) ModifyVpnConnection(input *ModifyVpnConnectionInput) (*ModifyVpnConnectionOutput, error) {
31426	req, out := c.ModifyVpnConnectionRequest(input)
31427	return out, req.Send()
31428}
31429
31430// ModifyVpnConnectionWithContext is the same as ModifyVpnConnection with the addition of
31431// the ability to pass a context and additional request options.
31432//
31433// See ModifyVpnConnection for details on how to use this API operation.
31434//
31435// The context must be non-nil and will be used for request cancellation. If
31436// the context is nil a panic will occur. In the future the SDK may create
31437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31438// for more information on using Contexts.
31439func (c *EC2) ModifyVpnConnectionWithContext(ctx aws.Context, input *ModifyVpnConnectionInput, opts ...request.Option) (*ModifyVpnConnectionOutput, error) {
31440	req, out := c.ModifyVpnConnectionRequest(input)
31441	req.SetContext(ctx)
31442	req.ApplyOptions(opts...)
31443	return out, req.Send()
31444}
31445
31446const opModifyVpnTunnelCertificate = "ModifyVpnTunnelCertificate"
31447
31448// ModifyVpnTunnelCertificateRequest generates a "aws/request.Request" representing the
31449// client's request for the ModifyVpnTunnelCertificate operation. The "output" return
31450// value will be populated with the request's response once the request completes
31451// successfully.
31452//
31453// Use "Send" method on the returned Request to send the API call to the service.
31454// the "output" return value is not valid until after Send returns without error.
31455//
31456// See ModifyVpnTunnelCertificate for more information on using the ModifyVpnTunnelCertificate
31457// API call, and error handling.
31458//
31459// This method is useful when you want to inject custom logic or configuration
31460// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31461//
31462//
31463//    // Example sending a request using the ModifyVpnTunnelCertificateRequest method.
31464//    req, resp := client.ModifyVpnTunnelCertificateRequest(params)
31465//
31466//    err := req.Send()
31467//    if err == nil { // resp is now filled
31468//        fmt.Println(resp)
31469//    }
31470//
31471// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
31472func (c *EC2) ModifyVpnTunnelCertificateRequest(input *ModifyVpnTunnelCertificateInput) (req *request.Request, output *ModifyVpnTunnelCertificateOutput) {
31473	op := &request.Operation{
31474		Name:       opModifyVpnTunnelCertificate,
31475		HTTPMethod: "POST",
31476		HTTPPath:   "/",
31477	}
31478
31479	if input == nil {
31480		input = &ModifyVpnTunnelCertificateInput{}
31481	}
31482
31483	output = &ModifyVpnTunnelCertificateOutput{}
31484	req = c.newRequest(op, input, output)
31485	return
31486}
31487
31488// ModifyVpnTunnelCertificate API operation for Amazon Elastic Compute Cloud.
31489//
31490// Modifies the VPN tunnel endpoint certificate.
31491//
31492// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31493// with awserr.Error's Code and Message methods to get detailed information about
31494// the error.
31495//
31496// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31497// API operation ModifyVpnTunnelCertificate for usage and error information.
31498// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelCertificate
31499func (c *EC2) ModifyVpnTunnelCertificate(input *ModifyVpnTunnelCertificateInput) (*ModifyVpnTunnelCertificateOutput, error) {
31500	req, out := c.ModifyVpnTunnelCertificateRequest(input)
31501	return out, req.Send()
31502}
31503
31504// ModifyVpnTunnelCertificateWithContext is the same as ModifyVpnTunnelCertificate with the addition of
31505// the ability to pass a context and additional request options.
31506//
31507// See ModifyVpnTunnelCertificate for details on how to use this API operation.
31508//
31509// The context must be non-nil and will be used for request cancellation. If
31510// the context is nil a panic will occur. In the future the SDK may create
31511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31512// for more information on using Contexts.
31513func (c *EC2) ModifyVpnTunnelCertificateWithContext(ctx aws.Context, input *ModifyVpnTunnelCertificateInput, opts ...request.Option) (*ModifyVpnTunnelCertificateOutput, error) {
31514	req, out := c.ModifyVpnTunnelCertificateRequest(input)
31515	req.SetContext(ctx)
31516	req.ApplyOptions(opts...)
31517	return out, req.Send()
31518}
31519
31520const opModifyVpnTunnelOptions = "ModifyVpnTunnelOptions"
31521
31522// ModifyVpnTunnelOptionsRequest generates a "aws/request.Request" representing the
31523// client's request for the ModifyVpnTunnelOptions operation. The "output" return
31524// value will be populated with the request's response once the request completes
31525// successfully.
31526//
31527// Use "Send" method on the returned Request to send the API call to the service.
31528// the "output" return value is not valid until after Send returns without error.
31529//
31530// See ModifyVpnTunnelOptions for more information on using the ModifyVpnTunnelOptions
31531// API call, and error handling.
31532//
31533// This method is useful when you want to inject custom logic or configuration
31534// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31535//
31536//
31537//    // Example sending a request using the ModifyVpnTunnelOptionsRequest method.
31538//    req, resp := client.ModifyVpnTunnelOptionsRequest(params)
31539//
31540//    err := req.Send()
31541//    if err == nil { // resp is now filled
31542//        fmt.Println(resp)
31543//    }
31544//
31545// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
31546func (c *EC2) ModifyVpnTunnelOptionsRequest(input *ModifyVpnTunnelOptionsInput) (req *request.Request, output *ModifyVpnTunnelOptionsOutput) {
31547	op := &request.Operation{
31548		Name:       opModifyVpnTunnelOptions,
31549		HTTPMethod: "POST",
31550		HTTPPath:   "/",
31551	}
31552
31553	if input == nil {
31554		input = &ModifyVpnTunnelOptionsInput{}
31555	}
31556
31557	output = &ModifyVpnTunnelOptionsOutput{}
31558	req = c.newRequest(op, input, output)
31559	return
31560}
31561
31562// ModifyVpnTunnelOptions API operation for Amazon Elastic Compute Cloud.
31563//
31564// Modifies the options for a VPN tunnel in an AWS Site-to-Site VPN connection.
31565// You can modify multiple options for a tunnel in a single request, but you
31566// can only modify one tunnel at a time. For more information, see Site-to-Site
31567// VPN Tunnel Options for Your Site-to-Site VPN Connection (https://docs.aws.amazon.com/vpn/latest/s2svpn/VPNTunnels.html)
31568// in the AWS Site-to-Site VPN User Guide.
31569//
31570// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31571// with awserr.Error's Code and Message methods to get detailed information about
31572// the error.
31573//
31574// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31575// API operation ModifyVpnTunnelOptions for usage and error information.
31576// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpnTunnelOptions
31577func (c *EC2) ModifyVpnTunnelOptions(input *ModifyVpnTunnelOptionsInput) (*ModifyVpnTunnelOptionsOutput, error) {
31578	req, out := c.ModifyVpnTunnelOptionsRequest(input)
31579	return out, req.Send()
31580}
31581
31582// ModifyVpnTunnelOptionsWithContext is the same as ModifyVpnTunnelOptions with the addition of
31583// the ability to pass a context and additional request options.
31584//
31585// See ModifyVpnTunnelOptions for details on how to use this API operation.
31586//
31587// The context must be non-nil and will be used for request cancellation. If
31588// the context is nil a panic will occur. In the future the SDK may create
31589// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31590// for more information on using Contexts.
31591func (c *EC2) ModifyVpnTunnelOptionsWithContext(ctx aws.Context, input *ModifyVpnTunnelOptionsInput, opts ...request.Option) (*ModifyVpnTunnelOptionsOutput, error) {
31592	req, out := c.ModifyVpnTunnelOptionsRequest(input)
31593	req.SetContext(ctx)
31594	req.ApplyOptions(opts...)
31595	return out, req.Send()
31596}
31597
31598const opMonitorInstances = "MonitorInstances"
31599
31600// MonitorInstancesRequest generates a "aws/request.Request" representing the
31601// client's request for the MonitorInstances operation. The "output" return
31602// value will be populated with the request's response once the request completes
31603// successfully.
31604//
31605// Use "Send" method on the returned Request to send the API call to the service.
31606// the "output" return value is not valid until after Send returns without error.
31607//
31608// See MonitorInstances for more information on using the MonitorInstances
31609// API call, and error handling.
31610//
31611// This method is useful when you want to inject custom logic or configuration
31612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31613//
31614//
31615//    // Example sending a request using the MonitorInstancesRequest method.
31616//    req, resp := client.MonitorInstancesRequest(params)
31617//
31618//    err := req.Send()
31619//    if err == nil { // resp is now filled
31620//        fmt.Println(resp)
31621//    }
31622//
31623// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
31624func (c *EC2) MonitorInstancesRequest(input *MonitorInstancesInput) (req *request.Request, output *MonitorInstancesOutput) {
31625	op := &request.Operation{
31626		Name:       opMonitorInstances,
31627		HTTPMethod: "POST",
31628		HTTPPath:   "/",
31629	}
31630
31631	if input == nil {
31632		input = &MonitorInstancesInput{}
31633	}
31634
31635	output = &MonitorInstancesOutput{}
31636	req = c.newRequest(op, input, output)
31637	return
31638}
31639
31640// MonitorInstances API operation for Amazon Elastic Compute Cloud.
31641//
31642// Enables detailed monitoring for a running instance. Otherwise, basic monitoring
31643// is enabled. For more information, see Monitoring Your Instances and Volumes
31644// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
31645// in the Amazon Elastic Compute Cloud User Guide.
31646//
31647// To disable detailed monitoring, see .
31648//
31649// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31650// with awserr.Error's Code and Message methods to get detailed information about
31651// the error.
31652//
31653// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31654// API operation MonitorInstances for usage and error information.
31655// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MonitorInstances
31656func (c *EC2) MonitorInstances(input *MonitorInstancesInput) (*MonitorInstancesOutput, error) {
31657	req, out := c.MonitorInstancesRequest(input)
31658	return out, req.Send()
31659}
31660
31661// MonitorInstancesWithContext is the same as MonitorInstances with the addition of
31662// the ability to pass a context and additional request options.
31663//
31664// See MonitorInstances for details on how to use this API operation.
31665//
31666// The context must be non-nil and will be used for request cancellation. If
31667// the context is nil a panic will occur. In the future the SDK may create
31668// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31669// for more information on using Contexts.
31670func (c *EC2) MonitorInstancesWithContext(ctx aws.Context, input *MonitorInstancesInput, opts ...request.Option) (*MonitorInstancesOutput, error) {
31671	req, out := c.MonitorInstancesRequest(input)
31672	req.SetContext(ctx)
31673	req.ApplyOptions(opts...)
31674	return out, req.Send()
31675}
31676
31677const opMoveAddressToVpc = "MoveAddressToVpc"
31678
31679// MoveAddressToVpcRequest generates a "aws/request.Request" representing the
31680// client's request for the MoveAddressToVpc operation. The "output" return
31681// value will be populated with the request's response once the request completes
31682// successfully.
31683//
31684// Use "Send" method on the returned Request to send the API call to the service.
31685// the "output" return value is not valid until after Send returns without error.
31686//
31687// See MoveAddressToVpc for more information on using the MoveAddressToVpc
31688// API call, and error handling.
31689//
31690// This method is useful when you want to inject custom logic or configuration
31691// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31692//
31693//
31694//    // Example sending a request using the MoveAddressToVpcRequest method.
31695//    req, resp := client.MoveAddressToVpcRequest(params)
31696//
31697//    err := req.Send()
31698//    if err == nil { // resp is now filled
31699//        fmt.Println(resp)
31700//    }
31701//
31702// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
31703func (c *EC2) MoveAddressToVpcRequest(input *MoveAddressToVpcInput) (req *request.Request, output *MoveAddressToVpcOutput) {
31704	op := &request.Operation{
31705		Name:       opMoveAddressToVpc,
31706		HTTPMethod: "POST",
31707		HTTPPath:   "/",
31708	}
31709
31710	if input == nil {
31711		input = &MoveAddressToVpcInput{}
31712	}
31713
31714	output = &MoveAddressToVpcOutput{}
31715	req = c.newRequest(op, input, output)
31716	return
31717}
31718
31719// MoveAddressToVpc API operation for Amazon Elastic Compute Cloud.
31720//
31721// Moves an Elastic IP address from the EC2-Classic platform to the EC2-VPC
31722// platform. The Elastic IP address must be allocated to your account for more
31723// than 24 hours, and it must not be associated with an instance. After the
31724// Elastic IP address is moved, it is no longer available for use in the EC2-Classic
31725// platform, unless you move it back using the RestoreAddressToClassic request.
31726// You cannot move an Elastic IP address that was originally allocated for use
31727// in the EC2-VPC platform to the EC2-Classic platform.
31728//
31729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31730// with awserr.Error's Code and Message methods to get detailed information about
31731// the error.
31732//
31733// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31734// API operation MoveAddressToVpc for usage and error information.
31735// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MoveAddressToVpc
31736func (c *EC2) MoveAddressToVpc(input *MoveAddressToVpcInput) (*MoveAddressToVpcOutput, error) {
31737	req, out := c.MoveAddressToVpcRequest(input)
31738	return out, req.Send()
31739}
31740
31741// MoveAddressToVpcWithContext is the same as MoveAddressToVpc with the addition of
31742// the ability to pass a context and additional request options.
31743//
31744// See MoveAddressToVpc for details on how to use this API operation.
31745//
31746// The context must be non-nil and will be used for request cancellation. If
31747// the context is nil a panic will occur. In the future the SDK may create
31748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31749// for more information on using Contexts.
31750func (c *EC2) MoveAddressToVpcWithContext(ctx aws.Context, input *MoveAddressToVpcInput, opts ...request.Option) (*MoveAddressToVpcOutput, error) {
31751	req, out := c.MoveAddressToVpcRequest(input)
31752	req.SetContext(ctx)
31753	req.ApplyOptions(opts...)
31754	return out, req.Send()
31755}
31756
31757const opProvisionByoipCidr = "ProvisionByoipCidr"
31758
31759// ProvisionByoipCidrRequest generates a "aws/request.Request" representing the
31760// client's request for the ProvisionByoipCidr operation. The "output" return
31761// value will be populated with the request's response once the request completes
31762// successfully.
31763//
31764// Use "Send" method on the returned Request to send the API call to the service.
31765// the "output" return value is not valid until after Send returns without error.
31766//
31767// See ProvisionByoipCidr for more information on using the ProvisionByoipCidr
31768// API call, and error handling.
31769//
31770// This method is useful when you want to inject custom logic or configuration
31771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31772//
31773//
31774//    // Example sending a request using the ProvisionByoipCidrRequest method.
31775//    req, resp := client.ProvisionByoipCidrRequest(params)
31776//
31777//    err := req.Send()
31778//    if err == nil { // resp is now filled
31779//        fmt.Println(resp)
31780//    }
31781//
31782// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
31783func (c *EC2) ProvisionByoipCidrRequest(input *ProvisionByoipCidrInput) (req *request.Request, output *ProvisionByoipCidrOutput) {
31784	op := &request.Operation{
31785		Name:       opProvisionByoipCidr,
31786		HTTPMethod: "POST",
31787		HTTPPath:   "/",
31788	}
31789
31790	if input == nil {
31791		input = &ProvisionByoipCidrInput{}
31792	}
31793
31794	output = &ProvisionByoipCidrOutput{}
31795	req = c.newRequest(op, input, output)
31796	return
31797}
31798
31799// ProvisionByoipCidr API operation for Amazon Elastic Compute Cloud.
31800//
31801// Provisions an address range for use with your AWS resources through bring
31802// your own IP addresses (BYOIP) and creates a corresponding address pool. After
31803// the address range is provisioned, it is ready to be advertised using AdvertiseByoipCidr.
31804//
31805// AWS verifies that you own the address range and are authorized to advertise
31806// it. You must ensure that the address range is registered to you and that
31807// you created an RPKI ROA to authorize Amazon ASNs 16509 and 14618 to advertise
31808// the address range. For more information, see Bring Your Own IP Addresses
31809// (BYOIP) (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
31810// in the Amazon Elastic Compute Cloud User Guide.
31811//
31812// Provisioning an address range is an asynchronous operation, so the call returns
31813// immediately, but the address range is not ready to use until its status changes
31814// from pending-provision to provisioned. To monitor the status of an address
31815// range, use DescribeByoipCidrs. To allocate an Elastic IP address from your
31816// address pool, use AllocateAddress with either the specific address from the
31817// address pool or the ID of the address pool.
31818//
31819// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31820// with awserr.Error's Code and Message methods to get detailed information about
31821// the error.
31822//
31823// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31824// API operation ProvisionByoipCidr for usage and error information.
31825// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ProvisionByoipCidr
31826func (c *EC2) ProvisionByoipCidr(input *ProvisionByoipCidrInput) (*ProvisionByoipCidrOutput, error) {
31827	req, out := c.ProvisionByoipCidrRequest(input)
31828	return out, req.Send()
31829}
31830
31831// ProvisionByoipCidrWithContext is the same as ProvisionByoipCidr with the addition of
31832// the ability to pass a context and additional request options.
31833//
31834// See ProvisionByoipCidr for details on how to use this API operation.
31835//
31836// The context must be non-nil and will be used for request cancellation. If
31837// the context is nil a panic will occur. In the future the SDK may create
31838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31839// for more information on using Contexts.
31840func (c *EC2) ProvisionByoipCidrWithContext(ctx aws.Context, input *ProvisionByoipCidrInput, opts ...request.Option) (*ProvisionByoipCidrOutput, error) {
31841	req, out := c.ProvisionByoipCidrRequest(input)
31842	req.SetContext(ctx)
31843	req.ApplyOptions(opts...)
31844	return out, req.Send()
31845}
31846
31847const opPurchaseHostReservation = "PurchaseHostReservation"
31848
31849// PurchaseHostReservationRequest generates a "aws/request.Request" representing the
31850// client's request for the PurchaseHostReservation operation. The "output" return
31851// value will be populated with the request's response once the request completes
31852// successfully.
31853//
31854// Use "Send" method on the returned Request to send the API call to the service.
31855// the "output" return value is not valid until after Send returns without error.
31856//
31857// See PurchaseHostReservation for more information on using the PurchaseHostReservation
31858// API call, and error handling.
31859//
31860// This method is useful when you want to inject custom logic or configuration
31861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31862//
31863//
31864//    // Example sending a request using the PurchaseHostReservationRequest method.
31865//    req, resp := client.PurchaseHostReservationRequest(params)
31866//
31867//    err := req.Send()
31868//    if err == nil { // resp is now filled
31869//        fmt.Println(resp)
31870//    }
31871//
31872// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
31873func (c *EC2) PurchaseHostReservationRequest(input *PurchaseHostReservationInput) (req *request.Request, output *PurchaseHostReservationOutput) {
31874	op := &request.Operation{
31875		Name:       opPurchaseHostReservation,
31876		HTTPMethod: "POST",
31877		HTTPPath:   "/",
31878	}
31879
31880	if input == nil {
31881		input = &PurchaseHostReservationInput{}
31882	}
31883
31884	output = &PurchaseHostReservationOutput{}
31885	req = c.newRequest(op, input, output)
31886	return
31887}
31888
31889// PurchaseHostReservation API operation for Amazon Elastic Compute Cloud.
31890//
31891// Purchase a reservation with configurations that match those of your Dedicated
31892// Host. You must have active Dedicated Hosts in your account before you purchase
31893// a reservation. This action results in the specified reservation being purchased
31894// and charged to your account.
31895//
31896// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31897// with awserr.Error's Code and Message methods to get detailed information about
31898// the error.
31899//
31900// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31901// API operation PurchaseHostReservation for usage and error information.
31902// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseHostReservation
31903func (c *EC2) PurchaseHostReservation(input *PurchaseHostReservationInput) (*PurchaseHostReservationOutput, error) {
31904	req, out := c.PurchaseHostReservationRequest(input)
31905	return out, req.Send()
31906}
31907
31908// PurchaseHostReservationWithContext is the same as PurchaseHostReservation with the addition of
31909// the ability to pass a context and additional request options.
31910//
31911// See PurchaseHostReservation for details on how to use this API operation.
31912//
31913// The context must be non-nil and will be used for request cancellation. If
31914// the context is nil a panic will occur. In the future the SDK may create
31915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
31916// for more information on using Contexts.
31917func (c *EC2) PurchaseHostReservationWithContext(ctx aws.Context, input *PurchaseHostReservationInput, opts ...request.Option) (*PurchaseHostReservationOutput, error) {
31918	req, out := c.PurchaseHostReservationRequest(input)
31919	req.SetContext(ctx)
31920	req.ApplyOptions(opts...)
31921	return out, req.Send()
31922}
31923
31924const opPurchaseReservedInstancesOffering = "PurchaseReservedInstancesOffering"
31925
31926// PurchaseReservedInstancesOfferingRequest generates a "aws/request.Request" representing the
31927// client's request for the PurchaseReservedInstancesOffering operation. The "output" return
31928// value will be populated with the request's response once the request completes
31929// successfully.
31930//
31931// Use "Send" method on the returned Request to send the API call to the service.
31932// the "output" return value is not valid until after Send returns without error.
31933//
31934// See PurchaseReservedInstancesOffering for more information on using the PurchaseReservedInstancesOffering
31935// API call, and error handling.
31936//
31937// This method is useful when you want to inject custom logic or configuration
31938// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31939//
31940//
31941//    // Example sending a request using the PurchaseReservedInstancesOfferingRequest method.
31942//    req, resp := client.PurchaseReservedInstancesOfferingRequest(params)
31943//
31944//    err := req.Send()
31945//    if err == nil { // resp is now filled
31946//        fmt.Println(resp)
31947//    }
31948//
31949// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
31950func (c *EC2) PurchaseReservedInstancesOfferingRequest(input *PurchaseReservedInstancesOfferingInput) (req *request.Request, output *PurchaseReservedInstancesOfferingOutput) {
31951	op := &request.Operation{
31952		Name:       opPurchaseReservedInstancesOffering,
31953		HTTPMethod: "POST",
31954		HTTPPath:   "/",
31955	}
31956
31957	if input == nil {
31958		input = &PurchaseReservedInstancesOfferingInput{}
31959	}
31960
31961	output = &PurchaseReservedInstancesOfferingOutput{}
31962	req = c.newRequest(op, input, output)
31963	return
31964}
31965
31966// PurchaseReservedInstancesOffering API operation for Amazon Elastic Compute Cloud.
31967//
31968// Purchases a Reserved Instance for use with your account. With Reserved Instances,
31969// you pay a lower hourly rate compared to On-Demand instance pricing.
31970//
31971// Use DescribeReservedInstancesOfferings to get a list of Reserved Instance
31972// offerings that match your specifications. After you've purchased a Reserved
31973// Instance, you can check for your new Reserved Instance with DescribeReservedInstances.
31974//
31975// To queue a purchase for a future date and time, specify a purchase time.
31976// If you do not specify a purchase time, the default is the current time.
31977//
31978// For more information, see Reserved Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-on-demand-reserved-instances.html)
31979// and Reserved Instance Marketplace (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ri-market-general.html)
31980// in the Amazon Elastic Compute Cloud User Guide.
31981//
31982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
31983// with awserr.Error's Code and Message methods to get detailed information about
31984// the error.
31985//
31986// See the AWS API reference guide for Amazon Elastic Compute Cloud's
31987// API operation PurchaseReservedInstancesOffering for usage and error information.
31988// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseReservedInstancesOffering
31989func (c *EC2) PurchaseReservedInstancesOffering(input *PurchaseReservedInstancesOfferingInput) (*PurchaseReservedInstancesOfferingOutput, error) {
31990	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
31991	return out, req.Send()
31992}
31993
31994// PurchaseReservedInstancesOfferingWithContext is the same as PurchaseReservedInstancesOffering with the addition of
31995// the ability to pass a context and additional request options.
31996//
31997// See PurchaseReservedInstancesOffering for details on how to use this API operation.
31998//
31999// The context must be non-nil and will be used for request cancellation. If
32000// the context is nil a panic will occur. In the future the SDK may create
32001// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32002// for more information on using Contexts.
32003func (c *EC2) PurchaseReservedInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedInstancesOfferingOutput, error) {
32004	req, out := c.PurchaseReservedInstancesOfferingRequest(input)
32005	req.SetContext(ctx)
32006	req.ApplyOptions(opts...)
32007	return out, req.Send()
32008}
32009
32010const opPurchaseScheduledInstances = "PurchaseScheduledInstances"
32011
32012// PurchaseScheduledInstancesRequest generates a "aws/request.Request" representing the
32013// client's request for the PurchaseScheduledInstances operation. The "output" return
32014// value will be populated with the request's response once the request completes
32015// successfully.
32016//
32017// Use "Send" method on the returned Request to send the API call to the service.
32018// the "output" return value is not valid until after Send returns without error.
32019//
32020// See PurchaseScheduledInstances for more information on using the PurchaseScheduledInstances
32021// API call, and error handling.
32022//
32023// This method is useful when you want to inject custom logic or configuration
32024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32025//
32026//
32027//    // Example sending a request using the PurchaseScheduledInstancesRequest method.
32028//    req, resp := client.PurchaseScheduledInstancesRequest(params)
32029//
32030//    err := req.Send()
32031//    if err == nil { // resp is now filled
32032//        fmt.Println(resp)
32033//    }
32034//
32035// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
32036func (c *EC2) PurchaseScheduledInstancesRequest(input *PurchaseScheduledInstancesInput) (req *request.Request, output *PurchaseScheduledInstancesOutput) {
32037	op := &request.Operation{
32038		Name:       opPurchaseScheduledInstances,
32039		HTTPMethod: "POST",
32040		HTTPPath:   "/",
32041	}
32042
32043	if input == nil {
32044		input = &PurchaseScheduledInstancesInput{}
32045	}
32046
32047	output = &PurchaseScheduledInstancesOutput{}
32048	req = c.newRequest(op, input, output)
32049	return
32050}
32051
32052// PurchaseScheduledInstances API operation for Amazon Elastic Compute Cloud.
32053//
32054// Purchases the Scheduled Instances with the specified schedule.
32055//
32056// Scheduled Instances enable you to purchase Amazon EC2 compute capacity by
32057// the hour for a one-year term. Before you can purchase a Scheduled Instance,
32058// you must call DescribeScheduledInstanceAvailability to check for available
32059// schedules and obtain a purchase token. After you purchase a Scheduled Instance,
32060// you must call RunScheduledInstances during each scheduled time period.
32061//
32062// After you purchase a Scheduled Instance, you can't cancel, modify, or resell
32063// your purchase.
32064//
32065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32066// with awserr.Error's Code and Message methods to get detailed information about
32067// the error.
32068//
32069// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32070// API operation PurchaseScheduledInstances for usage and error information.
32071// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/PurchaseScheduledInstances
32072func (c *EC2) PurchaseScheduledInstances(input *PurchaseScheduledInstancesInput) (*PurchaseScheduledInstancesOutput, error) {
32073	req, out := c.PurchaseScheduledInstancesRequest(input)
32074	return out, req.Send()
32075}
32076
32077// PurchaseScheduledInstancesWithContext is the same as PurchaseScheduledInstances with the addition of
32078// the ability to pass a context and additional request options.
32079//
32080// See PurchaseScheduledInstances for details on how to use this API operation.
32081//
32082// The context must be non-nil and will be used for request cancellation. If
32083// the context is nil a panic will occur. In the future the SDK may create
32084// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32085// for more information on using Contexts.
32086func (c *EC2) PurchaseScheduledInstancesWithContext(ctx aws.Context, input *PurchaseScheduledInstancesInput, opts ...request.Option) (*PurchaseScheduledInstancesOutput, error) {
32087	req, out := c.PurchaseScheduledInstancesRequest(input)
32088	req.SetContext(ctx)
32089	req.ApplyOptions(opts...)
32090	return out, req.Send()
32091}
32092
32093const opRebootInstances = "RebootInstances"
32094
32095// RebootInstancesRequest generates a "aws/request.Request" representing the
32096// client's request for the RebootInstances operation. The "output" return
32097// value will be populated with the request's response once the request completes
32098// successfully.
32099//
32100// Use "Send" method on the returned Request to send the API call to the service.
32101// the "output" return value is not valid until after Send returns without error.
32102//
32103// See RebootInstances for more information on using the RebootInstances
32104// API call, and error handling.
32105//
32106// This method is useful when you want to inject custom logic or configuration
32107// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32108//
32109//
32110//    // Example sending a request using the RebootInstancesRequest method.
32111//    req, resp := client.RebootInstancesRequest(params)
32112//
32113//    err := req.Send()
32114//    if err == nil { // resp is now filled
32115//        fmt.Println(resp)
32116//    }
32117//
32118// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
32119func (c *EC2) RebootInstancesRequest(input *RebootInstancesInput) (req *request.Request, output *RebootInstancesOutput) {
32120	op := &request.Operation{
32121		Name:       opRebootInstances,
32122		HTTPMethod: "POST",
32123		HTTPPath:   "/",
32124	}
32125
32126	if input == nil {
32127		input = &RebootInstancesInput{}
32128	}
32129
32130	output = &RebootInstancesOutput{}
32131	req = c.newRequest(op, input, output)
32132	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
32133	return
32134}
32135
32136// RebootInstances API operation for Amazon Elastic Compute Cloud.
32137//
32138// Requests a reboot of the specified instances. This operation is asynchronous;
32139// it only queues a request to reboot the specified instances. The operation
32140// succeeds if the instances are valid and belong to you. Requests to reboot
32141// terminated instances are ignored.
32142//
32143// If an instance does not cleanly shut down within four minutes, Amazon EC2
32144// performs a hard reboot.
32145//
32146// For more information about troubleshooting, see Getting Console Output and
32147// Rebooting Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-console.html)
32148// in the Amazon Elastic Compute Cloud User Guide.
32149//
32150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32151// with awserr.Error's Code and Message methods to get detailed information about
32152// the error.
32153//
32154// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32155// API operation RebootInstances for usage and error information.
32156// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RebootInstances
32157func (c *EC2) RebootInstances(input *RebootInstancesInput) (*RebootInstancesOutput, error) {
32158	req, out := c.RebootInstancesRequest(input)
32159	return out, req.Send()
32160}
32161
32162// RebootInstancesWithContext is the same as RebootInstances with the addition of
32163// the ability to pass a context and additional request options.
32164//
32165// See RebootInstances for details on how to use this API operation.
32166//
32167// The context must be non-nil and will be used for request cancellation. If
32168// the context is nil a panic will occur. In the future the SDK may create
32169// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32170// for more information on using Contexts.
32171func (c *EC2) RebootInstancesWithContext(ctx aws.Context, input *RebootInstancesInput, opts ...request.Option) (*RebootInstancesOutput, error) {
32172	req, out := c.RebootInstancesRequest(input)
32173	req.SetContext(ctx)
32174	req.ApplyOptions(opts...)
32175	return out, req.Send()
32176}
32177
32178const opRegisterImage = "RegisterImage"
32179
32180// RegisterImageRequest generates a "aws/request.Request" representing the
32181// client's request for the RegisterImage operation. The "output" return
32182// value will be populated with the request's response once the request completes
32183// successfully.
32184//
32185// Use "Send" method on the returned Request to send the API call to the service.
32186// the "output" return value is not valid until after Send returns without error.
32187//
32188// See RegisterImage for more information on using the RegisterImage
32189// API call, and error handling.
32190//
32191// This method is useful when you want to inject custom logic or configuration
32192// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32193//
32194//
32195//    // Example sending a request using the RegisterImageRequest method.
32196//    req, resp := client.RegisterImageRequest(params)
32197//
32198//    err := req.Send()
32199//    if err == nil { // resp is now filled
32200//        fmt.Println(resp)
32201//    }
32202//
32203// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
32204func (c *EC2) RegisterImageRequest(input *RegisterImageInput) (req *request.Request, output *RegisterImageOutput) {
32205	op := &request.Operation{
32206		Name:       opRegisterImage,
32207		HTTPMethod: "POST",
32208		HTTPPath:   "/",
32209	}
32210
32211	if input == nil {
32212		input = &RegisterImageInput{}
32213	}
32214
32215	output = &RegisterImageOutput{}
32216	req = c.newRequest(op, input, output)
32217	return
32218}
32219
32220// RegisterImage API operation for Amazon Elastic Compute Cloud.
32221//
32222// Registers an AMI. When you're creating an AMI, this is the final step you
32223// must complete before you can launch an instance from the AMI. For more information
32224// about creating AMIs, see Creating Your Own AMIs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html)
32225// in the Amazon Elastic Compute Cloud User Guide.
32226//
32227// For Amazon EBS-backed instances, CreateImage creates and registers the AMI
32228// in a single request, so you don't have to register the AMI yourself.
32229//
32230// You can also use RegisterImage to create an Amazon EBS-backed Linux AMI from
32231// a snapshot of a root device volume. You specify the snapshot using the block
32232// device mapping. For more information, see Launching a Linux Instance from
32233// a Backup (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-launch-snapshot.html)
32234// in the Amazon Elastic Compute Cloud User Guide.
32235//
32236// You can't register an image where a secondary (non-root) snapshot has AWS
32237// Marketplace product codes.
32238//
32239// Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL)
32240// and SUSE Linux Enterprise Server (SLES), use the EC2 billing product code
32241// associated with an AMI to verify the subscription status for package updates.
32242// To create a new AMI for operating systems that require a billing product
32243// code, do the following:
32244//
32245// Launch an instance from an existing AMI with that billing product code.
32246//
32247// Customize the instance.
32248//
32249// Create a new AMI from the instance using CreateImage to preserve the billing
32250// product code association.
32251//
32252// If you purchase a Reserved Instance to apply to an On-Demand Instance that
32253// was launched from an AMI with a billing product code, make sure that the
32254// Reserved Instance has the matching billing product code. If you purchase
32255// a Reserved Instance without the matching billing product code, the Reserved
32256// Instance will not be applied to the On-Demand Instance.
32257//
32258// If needed, you can deregister an AMI at any time. Any modifications you make
32259// to an AMI backed by an instance store volume invalidates its registration.
32260// If you make changes to an image, deregister the previous image and register
32261// the new image.
32262//
32263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32264// with awserr.Error's Code and Message methods to get detailed information about
32265// the error.
32266//
32267// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32268// API operation RegisterImage for usage and error information.
32269// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterImage
32270func (c *EC2) RegisterImage(input *RegisterImageInput) (*RegisterImageOutput, error) {
32271	req, out := c.RegisterImageRequest(input)
32272	return out, req.Send()
32273}
32274
32275// RegisterImageWithContext is the same as RegisterImage with the addition of
32276// the ability to pass a context and additional request options.
32277//
32278// See RegisterImage for details on how to use this API operation.
32279//
32280// The context must be non-nil and will be used for request cancellation. If
32281// the context is nil a panic will occur. In the future the SDK may create
32282// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32283// for more information on using Contexts.
32284func (c *EC2) RegisterImageWithContext(ctx aws.Context, input *RegisterImageInput, opts ...request.Option) (*RegisterImageOutput, error) {
32285	req, out := c.RegisterImageRequest(input)
32286	req.SetContext(ctx)
32287	req.ApplyOptions(opts...)
32288	return out, req.Send()
32289}
32290
32291const opRegisterTransitGatewayMulticastGroupMembers = "RegisterTransitGatewayMulticastGroupMembers"
32292
32293// RegisterTransitGatewayMulticastGroupMembersRequest generates a "aws/request.Request" representing the
32294// client's request for the RegisterTransitGatewayMulticastGroupMembers operation. The "output" return
32295// value will be populated with the request's response once the request completes
32296// successfully.
32297//
32298// Use "Send" method on the returned Request to send the API call to the service.
32299// the "output" return value is not valid until after Send returns without error.
32300//
32301// See RegisterTransitGatewayMulticastGroupMembers for more information on using the RegisterTransitGatewayMulticastGroupMembers
32302// API call, and error handling.
32303//
32304// This method is useful when you want to inject custom logic or configuration
32305// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32306//
32307//
32308//    // Example sending a request using the RegisterTransitGatewayMulticastGroupMembersRequest method.
32309//    req, resp := client.RegisterTransitGatewayMulticastGroupMembersRequest(params)
32310//
32311//    err := req.Send()
32312//    if err == nil { // resp is now filled
32313//        fmt.Println(resp)
32314//    }
32315//
32316// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
32317func (c *EC2) RegisterTransitGatewayMulticastGroupMembersRequest(input *RegisterTransitGatewayMulticastGroupMembersInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupMembersOutput) {
32318	op := &request.Operation{
32319		Name:       opRegisterTransitGatewayMulticastGroupMembers,
32320		HTTPMethod: "POST",
32321		HTTPPath:   "/",
32322	}
32323
32324	if input == nil {
32325		input = &RegisterTransitGatewayMulticastGroupMembersInput{}
32326	}
32327
32328	output = &RegisterTransitGatewayMulticastGroupMembersOutput{}
32329	req = c.newRequest(op, input, output)
32330	return
32331}
32332
32333// RegisterTransitGatewayMulticastGroupMembers API operation for Amazon Elastic Compute Cloud.
32334//
32335// Registers members (network interfaces) with the transit gateway multicast
32336// group. A member is a network interface associated with a supported EC2 instance
32337// that receives multicast traffic. For information about supported instances,
32338// see Multicast Consideration (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
32339// in Amazon VPC Transit Gateways.
32340//
32341// After you add the members, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
32342// to verify that the members were added to the transit gateway multicast group.
32343//
32344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32345// with awserr.Error's Code and Message methods to get detailed information about
32346// the error.
32347//
32348// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32349// API operation RegisterTransitGatewayMulticastGroupMembers for usage and error information.
32350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupMembers
32351func (c *EC2) RegisterTransitGatewayMulticastGroupMembers(input *RegisterTransitGatewayMulticastGroupMembersInput) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
32352	req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
32353	return out, req.Send()
32354}
32355
32356// RegisterTransitGatewayMulticastGroupMembersWithContext is the same as RegisterTransitGatewayMulticastGroupMembers with the addition of
32357// the ability to pass a context and additional request options.
32358//
32359// See RegisterTransitGatewayMulticastGroupMembers for details on how to use this API operation.
32360//
32361// The context must be non-nil and will be used for request cancellation. If
32362// the context is nil a panic will occur. In the future the SDK may create
32363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32364// for more information on using Contexts.
32365func (c *EC2) RegisterTransitGatewayMulticastGroupMembersWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupMembersInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupMembersOutput, error) {
32366	req, out := c.RegisterTransitGatewayMulticastGroupMembersRequest(input)
32367	req.SetContext(ctx)
32368	req.ApplyOptions(opts...)
32369	return out, req.Send()
32370}
32371
32372const opRegisterTransitGatewayMulticastGroupSources = "RegisterTransitGatewayMulticastGroupSources"
32373
32374// RegisterTransitGatewayMulticastGroupSourcesRequest generates a "aws/request.Request" representing the
32375// client's request for the RegisterTransitGatewayMulticastGroupSources operation. The "output" return
32376// value will be populated with the request's response once the request completes
32377// successfully.
32378//
32379// Use "Send" method on the returned Request to send the API call to the service.
32380// the "output" return value is not valid until after Send returns without error.
32381//
32382// See RegisterTransitGatewayMulticastGroupSources for more information on using the RegisterTransitGatewayMulticastGroupSources
32383// API call, and error handling.
32384//
32385// This method is useful when you want to inject custom logic or configuration
32386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32387//
32388//
32389//    // Example sending a request using the RegisterTransitGatewayMulticastGroupSourcesRequest method.
32390//    req, resp := client.RegisterTransitGatewayMulticastGroupSourcesRequest(params)
32391//
32392//    err := req.Send()
32393//    if err == nil { // resp is now filled
32394//        fmt.Println(resp)
32395//    }
32396//
32397// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
32398func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesRequest(input *RegisterTransitGatewayMulticastGroupSourcesInput) (req *request.Request, output *RegisterTransitGatewayMulticastGroupSourcesOutput) {
32399	op := &request.Operation{
32400		Name:       opRegisterTransitGatewayMulticastGroupSources,
32401		HTTPMethod: "POST",
32402		HTTPPath:   "/",
32403	}
32404
32405	if input == nil {
32406		input = &RegisterTransitGatewayMulticastGroupSourcesInput{}
32407	}
32408
32409	output = &RegisterTransitGatewayMulticastGroupSourcesOutput{}
32410	req = c.newRequest(op, input, output)
32411	return
32412}
32413
32414// RegisterTransitGatewayMulticastGroupSources API operation for Amazon Elastic Compute Cloud.
32415//
32416// Registers sources (network interfaces) with the specified transit gateway
32417// multicast group.
32418//
32419// A multicast source is a network interface attached to a supported instance
32420// that sends multicast traffic. For information about supported instances,
32421// see Multicast Considerations (https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-limits.html#multicast-limits)
32422// in Amazon VPC Transit Gateways.
32423//
32424// After you add the source, use SearchTransitGatewayMulticastGroups (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SearchTransitGatewayMulticastGroups.html)
32425// to verify that the source was added to the multicast group.
32426//
32427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32428// with awserr.Error's Code and Message methods to get detailed information about
32429// the error.
32430//
32431// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32432// API operation RegisterTransitGatewayMulticastGroupSources for usage and error information.
32433// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RegisterTransitGatewayMulticastGroupSources
32434func (c *EC2) RegisterTransitGatewayMulticastGroupSources(input *RegisterTransitGatewayMulticastGroupSourcesInput) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
32435	req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
32436	return out, req.Send()
32437}
32438
32439// RegisterTransitGatewayMulticastGroupSourcesWithContext is the same as RegisterTransitGatewayMulticastGroupSources with the addition of
32440// the ability to pass a context and additional request options.
32441//
32442// See RegisterTransitGatewayMulticastGroupSources for details on how to use this API operation.
32443//
32444// The context must be non-nil and will be used for request cancellation. If
32445// the context is nil a panic will occur. In the future the SDK may create
32446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32447// for more information on using Contexts.
32448func (c *EC2) RegisterTransitGatewayMulticastGroupSourcesWithContext(ctx aws.Context, input *RegisterTransitGatewayMulticastGroupSourcesInput, opts ...request.Option) (*RegisterTransitGatewayMulticastGroupSourcesOutput, error) {
32449	req, out := c.RegisterTransitGatewayMulticastGroupSourcesRequest(input)
32450	req.SetContext(ctx)
32451	req.ApplyOptions(opts...)
32452	return out, req.Send()
32453}
32454
32455const opRejectTransitGatewayPeeringAttachment = "RejectTransitGatewayPeeringAttachment"
32456
32457// RejectTransitGatewayPeeringAttachmentRequest generates a "aws/request.Request" representing the
32458// client's request for the RejectTransitGatewayPeeringAttachment operation. The "output" return
32459// value will be populated with the request's response once the request completes
32460// successfully.
32461//
32462// Use "Send" method on the returned Request to send the API call to the service.
32463// the "output" return value is not valid until after Send returns without error.
32464//
32465// See RejectTransitGatewayPeeringAttachment for more information on using the RejectTransitGatewayPeeringAttachment
32466// API call, and error handling.
32467//
32468// This method is useful when you want to inject custom logic or configuration
32469// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32470//
32471//
32472//    // Example sending a request using the RejectTransitGatewayPeeringAttachmentRequest method.
32473//    req, resp := client.RejectTransitGatewayPeeringAttachmentRequest(params)
32474//
32475//    err := req.Send()
32476//    if err == nil { // resp is now filled
32477//        fmt.Println(resp)
32478//    }
32479//
32480// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
32481func (c *EC2) RejectTransitGatewayPeeringAttachmentRequest(input *RejectTransitGatewayPeeringAttachmentInput) (req *request.Request, output *RejectTransitGatewayPeeringAttachmentOutput) {
32482	op := &request.Operation{
32483		Name:       opRejectTransitGatewayPeeringAttachment,
32484		HTTPMethod: "POST",
32485		HTTPPath:   "/",
32486	}
32487
32488	if input == nil {
32489		input = &RejectTransitGatewayPeeringAttachmentInput{}
32490	}
32491
32492	output = &RejectTransitGatewayPeeringAttachmentOutput{}
32493	req = c.newRequest(op, input, output)
32494	return
32495}
32496
32497// RejectTransitGatewayPeeringAttachment API operation for Amazon Elastic Compute Cloud.
32498//
32499// Rejects a transit gateway peering attachment request.
32500//
32501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32502// with awserr.Error's Code and Message methods to get detailed information about
32503// the error.
32504//
32505// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32506// API operation RejectTransitGatewayPeeringAttachment for usage and error information.
32507// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayPeeringAttachment
32508func (c *EC2) RejectTransitGatewayPeeringAttachment(input *RejectTransitGatewayPeeringAttachmentInput) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
32509	req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
32510	return out, req.Send()
32511}
32512
32513// RejectTransitGatewayPeeringAttachmentWithContext is the same as RejectTransitGatewayPeeringAttachment with the addition of
32514// the ability to pass a context and additional request options.
32515//
32516// See RejectTransitGatewayPeeringAttachment for details on how to use this API operation.
32517//
32518// The context must be non-nil and will be used for request cancellation. If
32519// the context is nil a panic will occur. In the future the SDK may create
32520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32521// for more information on using Contexts.
32522func (c *EC2) RejectTransitGatewayPeeringAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayPeeringAttachmentInput, opts ...request.Option) (*RejectTransitGatewayPeeringAttachmentOutput, error) {
32523	req, out := c.RejectTransitGatewayPeeringAttachmentRequest(input)
32524	req.SetContext(ctx)
32525	req.ApplyOptions(opts...)
32526	return out, req.Send()
32527}
32528
32529const opRejectTransitGatewayVpcAttachment = "RejectTransitGatewayVpcAttachment"
32530
32531// RejectTransitGatewayVpcAttachmentRequest generates a "aws/request.Request" representing the
32532// client's request for the RejectTransitGatewayVpcAttachment operation. The "output" return
32533// value will be populated with the request's response once the request completes
32534// successfully.
32535//
32536// Use "Send" method on the returned Request to send the API call to the service.
32537// the "output" return value is not valid until after Send returns without error.
32538//
32539// See RejectTransitGatewayVpcAttachment for more information on using the RejectTransitGatewayVpcAttachment
32540// API call, and error handling.
32541//
32542// This method is useful when you want to inject custom logic or configuration
32543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32544//
32545//
32546//    // Example sending a request using the RejectTransitGatewayVpcAttachmentRequest method.
32547//    req, resp := client.RejectTransitGatewayVpcAttachmentRequest(params)
32548//
32549//    err := req.Send()
32550//    if err == nil { // resp is now filled
32551//        fmt.Println(resp)
32552//    }
32553//
32554// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
32555func (c *EC2) RejectTransitGatewayVpcAttachmentRequest(input *RejectTransitGatewayVpcAttachmentInput) (req *request.Request, output *RejectTransitGatewayVpcAttachmentOutput) {
32556	op := &request.Operation{
32557		Name:       opRejectTransitGatewayVpcAttachment,
32558		HTTPMethod: "POST",
32559		HTTPPath:   "/",
32560	}
32561
32562	if input == nil {
32563		input = &RejectTransitGatewayVpcAttachmentInput{}
32564	}
32565
32566	output = &RejectTransitGatewayVpcAttachmentOutput{}
32567	req = c.newRequest(op, input, output)
32568	return
32569}
32570
32571// RejectTransitGatewayVpcAttachment API operation for Amazon Elastic Compute Cloud.
32572//
32573// Rejects a request to attach a VPC to a transit gateway.
32574//
32575// The VPC attachment must be in the pendingAcceptance state. Use DescribeTransitGatewayVpcAttachments
32576// to view your pending VPC attachment requests. Use AcceptTransitGatewayVpcAttachment
32577// to accept a VPC attachment request.
32578//
32579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32580// with awserr.Error's Code and Message methods to get detailed information about
32581// the error.
32582//
32583// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32584// API operation RejectTransitGatewayVpcAttachment for usage and error information.
32585// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectTransitGatewayVpcAttachment
32586func (c *EC2) RejectTransitGatewayVpcAttachment(input *RejectTransitGatewayVpcAttachmentInput) (*RejectTransitGatewayVpcAttachmentOutput, error) {
32587	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
32588	return out, req.Send()
32589}
32590
32591// RejectTransitGatewayVpcAttachmentWithContext is the same as RejectTransitGatewayVpcAttachment with the addition of
32592// the ability to pass a context and additional request options.
32593//
32594// See RejectTransitGatewayVpcAttachment for details on how to use this API operation.
32595//
32596// The context must be non-nil and will be used for request cancellation. If
32597// the context is nil a panic will occur. In the future the SDK may create
32598// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32599// for more information on using Contexts.
32600func (c *EC2) RejectTransitGatewayVpcAttachmentWithContext(ctx aws.Context, input *RejectTransitGatewayVpcAttachmentInput, opts ...request.Option) (*RejectTransitGatewayVpcAttachmentOutput, error) {
32601	req, out := c.RejectTransitGatewayVpcAttachmentRequest(input)
32602	req.SetContext(ctx)
32603	req.ApplyOptions(opts...)
32604	return out, req.Send()
32605}
32606
32607const opRejectVpcEndpointConnections = "RejectVpcEndpointConnections"
32608
32609// RejectVpcEndpointConnectionsRequest generates a "aws/request.Request" representing the
32610// client's request for the RejectVpcEndpointConnections operation. The "output" return
32611// value will be populated with the request's response once the request completes
32612// successfully.
32613//
32614// Use "Send" method on the returned Request to send the API call to the service.
32615// the "output" return value is not valid until after Send returns without error.
32616//
32617// See RejectVpcEndpointConnections for more information on using the RejectVpcEndpointConnections
32618// API call, and error handling.
32619//
32620// This method is useful when you want to inject custom logic or configuration
32621// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32622//
32623//
32624//    // Example sending a request using the RejectVpcEndpointConnectionsRequest method.
32625//    req, resp := client.RejectVpcEndpointConnectionsRequest(params)
32626//
32627//    err := req.Send()
32628//    if err == nil { // resp is now filled
32629//        fmt.Println(resp)
32630//    }
32631//
32632// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
32633func (c *EC2) RejectVpcEndpointConnectionsRequest(input *RejectVpcEndpointConnectionsInput) (req *request.Request, output *RejectVpcEndpointConnectionsOutput) {
32634	op := &request.Operation{
32635		Name:       opRejectVpcEndpointConnections,
32636		HTTPMethod: "POST",
32637		HTTPPath:   "/",
32638	}
32639
32640	if input == nil {
32641		input = &RejectVpcEndpointConnectionsInput{}
32642	}
32643
32644	output = &RejectVpcEndpointConnectionsOutput{}
32645	req = c.newRequest(op, input, output)
32646	return
32647}
32648
32649// RejectVpcEndpointConnections API operation for Amazon Elastic Compute Cloud.
32650//
32651// Rejects one or more VPC endpoint connection requests to your VPC endpoint
32652// service.
32653//
32654// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32655// with awserr.Error's Code and Message methods to get detailed information about
32656// the error.
32657//
32658// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32659// API operation RejectVpcEndpointConnections for usage and error information.
32660// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcEndpointConnections
32661func (c *EC2) RejectVpcEndpointConnections(input *RejectVpcEndpointConnectionsInput) (*RejectVpcEndpointConnectionsOutput, error) {
32662	req, out := c.RejectVpcEndpointConnectionsRequest(input)
32663	return out, req.Send()
32664}
32665
32666// RejectVpcEndpointConnectionsWithContext is the same as RejectVpcEndpointConnections with the addition of
32667// the ability to pass a context and additional request options.
32668//
32669// See RejectVpcEndpointConnections for details on how to use this API operation.
32670//
32671// The context must be non-nil and will be used for request cancellation. If
32672// the context is nil a panic will occur. In the future the SDK may create
32673// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32674// for more information on using Contexts.
32675func (c *EC2) RejectVpcEndpointConnectionsWithContext(ctx aws.Context, input *RejectVpcEndpointConnectionsInput, opts ...request.Option) (*RejectVpcEndpointConnectionsOutput, error) {
32676	req, out := c.RejectVpcEndpointConnectionsRequest(input)
32677	req.SetContext(ctx)
32678	req.ApplyOptions(opts...)
32679	return out, req.Send()
32680}
32681
32682const opRejectVpcPeeringConnection = "RejectVpcPeeringConnection"
32683
32684// RejectVpcPeeringConnectionRequest generates a "aws/request.Request" representing the
32685// client's request for the RejectVpcPeeringConnection operation. The "output" return
32686// value will be populated with the request's response once the request completes
32687// successfully.
32688//
32689// Use "Send" method on the returned Request to send the API call to the service.
32690// the "output" return value is not valid until after Send returns without error.
32691//
32692// See RejectVpcPeeringConnection for more information on using the RejectVpcPeeringConnection
32693// API call, and error handling.
32694//
32695// This method is useful when you want to inject custom logic or configuration
32696// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32697//
32698//
32699//    // Example sending a request using the RejectVpcPeeringConnectionRequest method.
32700//    req, resp := client.RejectVpcPeeringConnectionRequest(params)
32701//
32702//    err := req.Send()
32703//    if err == nil { // resp is now filled
32704//        fmt.Println(resp)
32705//    }
32706//
32707// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
32708func (c *EC2) RejectVpcPeeringConnectionRequest(input *RejectVpcPeeringConnectionInput) (req *request.Request, output *RejectVpcPeeringConnectionOutput) {
32709	op := &request.Operation{
32710		Name:       opRejectVpcPeeringConnection,
32711		HTTPMethod: "POST",
32712		HTTPPath:   "/",
32713	}
32714
32715	if input == nil {
32716		input = &RejectVpcPeeringConnectionInput{}
32717	}
32718
32719	output = &RejectVpcPeeringConnectionOutput{}
32720	req = c.newRequest(op, input, output)
32721	return
32722}
32723
32724// RejectVpcPeeringConnection API operation for Amazon Elastic Compute Cloud.
32725//
32726// Rejects a VPC peering connection request. The VPC peering connection must
32727// be in the pending-acceptance state. Use the DescribeVpcPeeringConnections
32728// request to view your outstanding VPC peering connection requests. To delete
32729// an active VPC peering connection, or to delete a VPC peering connection request
32730// that you initiated, use DeleteVpcPeeringConnection.
32731//
32732// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32733// with awserr.Error's Code and Message methods to get detailed information about
32734// the error.
32735//
32736// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32737// API operation RejectVpcPeeringConnection for usage and error information.
32738// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RejectVpcPeeringConnection
32739func (c *EC2) RejectVpcPeeringConnection(input *RejectVpcPeeringConnectionInput) (*RejectVpcPeeringConnectionOutput, error) {
32740	req, out := c.RejectVpcPeeringConnectionRequest(input)
32741	return out, req.Send()
32742}
32743
32744// RejectVpcPeeringConnectionWithContext is the same as RejectVpcPeeringConnection with the addition of
32745// the ability to pass a context and additional request options.
32746//
32747// See RejectVpcPeeringConnection for details on how to use this API operation.
32748//
32749// The context must be non-nil and will be used for request cancellation. If
32750// the context is nil a panic will occur. In the future the SDK may create
32751// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32752// for more information on using Contexts.
32753func (c *EC2) RejectVpcPeeringConnectionWithContext(ctx aws.Context, input *RejectVpcPeeringConnectionInput, opts ...request.Option) (*RejectVpcPeeringConnectionOutput, error) {
32754	req, out := c.RejectVpcPeeringConnectionRequest(input)
32755	req.SetContext(ctx)
32756	req.ApplyOptions(opts...)
32757	return out, req.Send()
32758}
32759
32760const opReleaseAddress = "ReleaseAddress"
32761
32762// ReleaseAddressRequest generates a "aws/request.Request" representing the
32763// client's request for the ReleaseAddress operation. The "output" return
32764// value will be populated with the request's response once the request completes
32765// successfully.
32766//
32767// Use "Send" method on the returned Request to send the API call to the service.
32768// the "output" return value is not valid until after Send returns without error.
32769//
32770// See ReleaseAddress for more information on using the ReleaseAddress
32771// API call, and error handling.
32772//
32773// This method is useful when you want to inject custom logic or configuration
32774// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32775//
32776//
32777//    // Example sending a request using the ReleaseAddressRequest method.
32778//    req, resp := client.ReleaseAddressRequest(params)
32779//
32780//    err := req.Send()
32781//    if err == nil { // resp is now filled
32782//        fmt.Println(resp)
32783//    }
32784//
32785// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
32786func (c *EC2) ReleaseAddressRequest(input *ReleaseAddressInput) (req *request.Request, output *ReleaseAddressOutput) {
32787	op := &request.Operation{
32788		Name:       opReleaseAddress,
32789		HTTPMethod: "POST",
32790		HTTPPath:   "/",
32791	}
32792
32793	if input == nil {
32794		input = &ReleaseAddressInput{}
32795	}
32796
32797	output = &ReleaseAddressOutput{}
32798	req = c.newRequest(op, input, output)
32799	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
32800	return
32801}
32802
32803// ReleaseAddress API operation for Amazon Elastic Compute Cloud.
32804//
32805// Releases the specified Elastic IP address.
32806//
32807// [EC2-Classic, default VPC] Releasing an Elastic IP address automatically
32808// disassociates it from any instance that it's associated with. To disassociate
32809// an Elastic IP address without releasing it, use DisassociateAddress.
32810//
32811// [Nondefault VPC] You must use DisassociateAddress to disassociate the Elastic
32812// IP address before you can release it. Otherwise, Amazon EC2 returns an error
32813// (InvalidIPAddress.InUse).
32814//
32815// After releasing an Elastic IP address, it is released to the IP address pool.
32816// Be sure to update your DNS records and any servers or devices that communicate
32817// with the address. If you attempt to release an Elastic IP address that you
32818// already released, you'll get an AuthFailure error if the address is already
32819// allocated to another AWS account.
32820//
32821// [EC2-VPC] After you release an Elastic IP address for use in a VPC, you might
32822// be able to recover it. For more information, see AllocateAddress.
32823//
32824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32825// with awserr.Error's Code and Message methods to get detailed information about
32826// the error.
32827//
32828// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32829// API operation ReleaseAddress for usage and error information.
32830// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseAddress
32831func (c *EC2) ReleaseAddress(input *ReleaseAddressInput) (*ReleaseAddressOutput, error) {
32832	req, out := c.ReleaseAddressRequest(input)
32833	return out, req.Send()
32834}
32835
32836// ReleaseAddressWithContext is the same as ReleaseAddress with the addition of
32837// the ability to pass a context and additional request options.
32838//
32839// See ReleaseAddress for details on how to use this API operation.
32840//
32841// The context must be non-nil and will be used for request cancellation. If
32842// the context is nil a panic will occur. In the future the SDK may create
32843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32844// for more information on using Contexts.
32845func (c *EC2) ReleaseAddressWithContext(ctx aws.Context, input *ReleaseAddressInput, opts ...request.Option) (*ReleaseAddressOutput, error) {
32846	req, out := c.ReleaseAddressRequest(input)
32847	req.SetContext(ctx)
32848	req.ApplyOptions(opts...)
32849	return out, req.Send()
32850}
32851
32852const opReleaseHosts = "ReleaseHosts"
32853
32854// ReleaseHostsRequest generates a "aws/request.Request" representing the
32855// client's request for the ReleaseHosts operation. The "output" return
32856// value will be populated with the request's response once the request completes
32857// successfully.
32858//
32859// Use "Send" method on the returned Request to send the API call to the service.
32860// the "output" return value is not valid until after Send returns without error.
32861//
32862// See ReleaseHosts for more information on using the ReleaseHosts
32863// API call, and error handling.
32864//
32865// This method is useful when you want to inject custom logic or configuration
32866// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32867//
32868//
32869//    // Example sending a request using the ReleaseHostsRequest method.
32870//    req, resp := client.ReleaseHostsRequest(params)
32871//
32872//    err := req.Send()
32873//    if err == nil { // resp is now filled
32874//        fmt.Println(resp)
32875//    }
32876//
32877// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
32878func (c *EC2) ReleaseHostsRequest(input *ReleaseHostsInput) (req *request.Request, output *ReleaseHostsOutput) {
32879	op := &request.Operation{
32880		Name:       opReleaseHosts,
32881		HTTPMethod: "POST",
32882		HTTPPath:   "/",
32883	}
32884
32885	if input == nil {
32886		input = &ReleaseHostsInput{}
32887	}
32888
32889	output = &ReleaseHostsOutput{}
32890	req = c.newRequest(op, input, output)
32891	return
32892}
32893
32894// ReleaseHosts API operation for Amazon Elastic Compute Cloud.
32895//
32896// When you no longer want to use an On-Demand Dedicated Host it can be released.
32897// On-Demand billing is stopped and the host goes into released state. The host
32898// ID of Dedicated Hosts that have been released can no longer be specified
32899// in another request, for example, to modify the host. You must stop or terminate
32900// all instances on a host before it can be released.
32901//
32902// When Dedicated Hosts are released, it may take some time for them to stop
32903// counting toward your limit and you may receive capacity errors when trying
32904// to allocate new Dedicated Hosts. Wait a few minutes and then try again.
32905//
32906// Released hosts still appear in a DescribeHosts response.
32907//
32908// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32909// with awserr.Error's Code and Message methods to get detailed information about
32910// the error.
32911//
32912// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32913// API operation ReleaseHosts for usage and error information.
32914// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReleaseHosts
32915func (c *EC2) ReleaseHosts(input *ReleaseHostsInput) (*ReleaseHostsOutput, error) {
32916	req, out := c.ReleaseHostsRequest(input)
32917	return out, req.Send()
32918}
32919
32920// ReleaseHostsWithContext is the same as ReleaseHosts with the addition of
32921// the ability to pass a context and additional request options.
32922//
32923// See ReleaseHosts for details on how to use this API operation.
32924//
32925// The context must be non-nil and will be used for request cancellation. If
32926// the context is nil a panic will occur. In the future the SDK may create
32927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
32928// for more information on using Contexts.
32929func (c *EC2) ReleaseHostsWithContext(ctx aws.Context, input *ReleaseHostsInput, opts ...request.Option) (*ReleaseHostsOutput, error) {
32930	req, out := c.ReleaseHostsRequest(input)
32931	req.SetContext(ctx)
32932	req.ApplyOptions(opts...)
32933	return out, req.Send()
32934}
32935
32936const opReplaceIamInstanceProfileAssociation = "ReplaceIamInstanceProfileAssociation"
32937
32938// ReplaceIamInstanceProfileAssociationRequest generates a "aws/request.Request" representing the
32939// client's request for the ReplaceIamInstanceProfileAssociation operation. The "output" return
32940// value will be populated with the request's response once the request completes
32941// successfully.
32942//
32943// Use "Send" method on the returned Request to send the API call to the service.
32944// the "output" return value is not valid until after Send returns without error.
32945//
32946// See ReplaceIamInstanceProfileAssociation for more information on using the ReplaceIamInstanceProfileAssociation
32947// API call, and error handling.
32948//
32949// This method is useful when you want to inject custom logic or configuration
32950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
32951//
32952//
32953//    // Example sending a request using the ReplaceIamInstanceProfileAssociationRequest method.
32954//    req, resp := client.ReplaceIamInstanceProfileAssociationRequest(params)
32955//
32956//    err := req.Send()
32957//    if err == nil { // resp is now filled
32958//        fmt.Println(resp)
32959//    }
32960//
32961// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
32962func (c *EC2) ReplaceIamInstanceProfileAssociationRequest(input *ReplaceIamInstanceProfileAssociationInput) (req *request.Request, output *ReplaceIamInstanceProfileAssociationOutput) {
32963	op := &request.Operation{
32964		Name:       opReplaceIamInstanceProfileAssociation,
32965		HTTPMethod: "POST",
32966		HTTPPath:   "/",
32967	}
32968
32969	if input == nil {
32970		input = &ReplaceIamInstanceProfileAssociationInput{}
32971	}
32972
32973	output = &ReplaceIamInstanceProfileAssociationOutput{}
32974	req = c.newRequest(op, input, output)
32975	return
32976}
32977
32978// ReplaceIamInstanceProfileAssociation API operation for Amazon Elastic Compute Cloud.
32979//
32980// Replaces an IAM instance profile for the specified running instance. You
32981// can use this action to change the IAM instance profile that's associated
32982// with an instance without having to disassociate the existing IAM instance
32983// profile first.
32984//
32985// Use DescribeIamInstanceProfileAssociations to get the association ID.
32986//
32987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
32988// with awserr.Error's Code and Message methods to get detailed information about
32989// the error.
32990//
32991// See the AWS API reference guide for Amazon Elastic Compute Cloud's
32992// API operation ReplaceIamInstanceProfileAssociation for usage and error information.
32993// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceIamInstanceProfileAssociation
32994func (c *EC2) ReplaceIamInstanceProfileAssociation(input *ReplaceIamInstanceProfileAssociationInput) (*ReplaceIamInstanceProfileAssociationOutput, error) {
32995	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
32996	return out, req.Send()
32997}
32998
32999// ReplaceIamInstanceProfileAssociationWithContext is the same as ReplaceIamInstanceProfileAssociation with the addition of
33000// the ability to pass a context and additional request options.
33001//
33002// See ReplaceIamInstanceProfileAssociation for details on how to use this API operation.
33003//
33004// The context must be non-nil and will be used for request cancellation. If
33005// the context is nil a panic will occur. In the future the SDK may create
33006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33007// for more information on using Contexts.
33008func (c *EC2) ReplaceIamInstanceProfileAssociationWithContext(ctx aws.Context, input *ReplaceIamInstanceProfileAssociationInput, opts ...request.Option) (*ReplaceIamInstanceProfileAssociationOutput, error) {
33009	req, out := c.ReplaceIamInstanceProfileAssociationRequest(input)
33010	req.SetContext(ctx)
33011	req.ApplyOptions(opts...)
33012	return out, req.Send()
33013}
33014
33015const opReplaceNetworkAclAssociation = "ReplaceNetworkAclAssociation"
33016
33017// ReplaceNetworkAclAssociationRequest generates a "aws/request.Request" representing the
33018// client's request for the ReplaceNetworkAclAssociation operation. The "output" return
33019// value will be populated with the request's response once the request completes
33020// successfully.
33021//
33022// Use "Send" method on the returned Request to send the API call to the service.
33023// the "output" return value is not valid until after Send returns without error.
33024//
33025// See ReplaceNetworkAclAssociation for more information on using the ReplaceNetworkAclAssociation
33026// API call, and error handling.
33027//
33028// This method is useful when you want to inject custom logic or configuration
33029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33030//
33031//
33032//    // Example sending a request using the ReplaceNetworkAclAssociationRequest method.
33033//    req, resp := client.ReplaceNetworkAclAssociationRequest(params)
33034//
33035//    err := req.Send()
33036//    if err == nil { // resp is now filled
33037//        fmt.Println(resp)
33038//    }
33039//
33040// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
33041func (c *EC2) ReplaceNetworkAclAssociationRequest(input *ReplaceNetworkAclAssociationInput) (req *request.Request, output *ReplaceNetworkAclAssociationOutput) {
33042	op := &request.Operation{
33043		Name:       opReplaceNetworkAclAssociation,
33044		HTTPMethod: "POST",
33045		HTTPPath:   "/",
33046	}
33047
33048	if input == nil {
33049		input = &ReplaceNetworkAclAssociationInput{}
33050	}
33051
33052	output = &ReplaceNetworkAclAssociationOutput{}
33053	req = c.newRequest(op, input, output)
33054	return
33055}
33056
33057// ReplaceNetworkAclAssociation API operation for Amazon Elastic Compute Cloud.
33058//
33059// Changes which network ACL a subnet is associated with. By default when you
33060// create a subnet, it's automatically associated with the default network ACL.
33061// For more information, see Network ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html)
33062// in the Amazon Virtual Private Cloud User Guide.
33063//
33064// This is an idempotent operation.
33065//
33066// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33067// with awserr.Error's Code and Message methods to get detailed information about
33068// the error.
33069//
33070// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33071// API operation ReplaceNetworkAclAssociation for usage and error information.
33072// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclAssociation
33073func (c *EC2) ReplaceNetworkAclAssociation(input *ReplaceNetworkAclAssociationInput) (*ReplaceNetworkAclAssociationOutput, error) {
33074	req, out := c.ReplaceNetworkAclAssociationRequest(input)
33075	return out, req.Send()
33076}
33077
33078// ReplaceNetworkAclAssociationWithContext is the same as ReplaceNetworkAclAssociation with the addition of
33079// the ability to pass a context and additional request options.
33080//
33081// See ReplaceNetworkAclAssociation for details on how to use this API operation.
33082//
33083// The context must be non-nil and will be used for request cancellation. If
33084// the context is nil a panic will occur. In the future the SDK may create
33085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33086// for more information on using Contexts.
33087func (c *EC2) ReplaceNetworkAclAssociationWithContext(ctx aws.Context, input *ReplaceNetworkAclAssociationInput, opts ...request.Option) (*ReplaceNetworkAclAssociationOutput, error) {
33088	req, out := c.ReplaceNetworkAclAssociationRequest(input)
33089	req.SetContext(ctx)
33090	req.ApplyOptions(opts...)
33091	return out, req.Send()
33092}
33093
33094const opReplaceNetworkAclEntry = "ReplaceNetworkAclEntry"
33095
33096// ReplaceNetworkAclEntryRequest generates a "aws/request.Request" representing the
33097// client's request for the ReplaceNetworkAclEntry operation. The "output" return
33098// value will be populated with the request's response once the request completes
33099// successfully.
33100//
33101// Use "Send" method on the returned Request to send the API call to the service.
33102// the "output" return value is not valid until after Send returns without error.
33103//
33104// See ReplaceNetworkAclEntry for more information on using the ReplaceNetworkAclEntry
33105// API call, and error handling.
33106//
33107// This method is useful when you want to inject custom logic or configuration
33108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33109//
33110//
33111//    // Example sending a request using the ReplaceNetworkAclEntryRequest method.
33112//    req, resp := client.ReplaceNetworkAclEntryRequest(params)
33113//
33114//    err := req.Send()
33115//    if err == nil { // resp is now filled
33116//        fmt.Println(resp)
33117//    }
33118//
33119// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
33120func (c *EC2) ReplaceNetworkAclEntryRequest(input *ReplaceNetworkAclEntryInput) (req *request.Request, output *ReplaceNetworkAclEntryOutput) {
33121	op := &request.Operation{
33122		Name:       opReplaceNetworkAclEntry,
33123		HTTPMethod: "POST",
33124		HTTPPath:   "/",
33125	}
33126
33127	if input == nil {
33128		input = &ReplaceNetworkAclEntryInput{}
33129	}
33130
33131	output = &ReplaceNetworkAclEntryOutput{}
33132	req = c.newRequest(op, input, output)
33133	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
33134	return
33135}
33136
33137// ReplaceNetworkAclEntry API operation for Amazon Elastic Compute Cloud.
33138//
33139// Replaces an entry (rule) in a network ACL. For more information, see Network
33140// ACLs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html) in
33141// the Amazon Virtual Private Cloud User Guide.
33142//
33143// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33144// with awserr.Error's Code and Message methods to get detailed information about
33145// the error.
33146//
33147// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33148// API operation ReplaceNetworkAclEntry for usage and error information.
33149// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceNetworkAclEntry
33150func (c *EC2) ReplaceNetworkAclEntry(input *ReplaceNetworkAclEntryInput) (*ReplaceNetworkAclEntryOutput, error) {
33151	req, out := c.ReplaceNetworkAclEntryRequest(input)
33152	return out, req.Send()
33153}
33154
33155// ReplaceNetworkAclEntryWithContext is the same as ReplaceNetworkAclEntry with the addition of
33156// the ability to pass a context and additional request options.
33157//
33158// See ReplaceNetworkAclEntry for details on how to use this API operation.
33159//
33160// The context must be non-nil and will be used for request cancellation. If
33161// the context is nil a panic will occur. In the future the SDK may create
33162// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33163// for more information on using Contexts.
33164func (c *EC2) ReplaceNetworkAclEntryWithContext(ctx aws.Context, input *ReplaceNetworkAclEntryInput, opts ...request.Option) (*ReplaceNetworkAclEntryOutput, error) {
33165	req, out := c.ReplaceNetworkAclEntryRequest(input)
33166	req.SetContext(ctx)
33167	req.ApplyOptions(opts...)
33168	return out, req.Send()
33169}
33170
33171const opReplaceRoute = "ReplaceRoute"
33172
33173// ReplaceRouteRequest generates a "aws/request.Request" representing the
33174// client's request for the ReplaceRoute operation. The "output" return
33175// value will be populated with the request's response once the request completes
33176// successfully.
33177//
33178// Use "Send" method on the returned Request to send the API call to the service.
33179// the "output" return value is not valid until after Send returns without error.
33180//
33181// See ReplaceRoute for more information on using the ReplaceRoute
33182// API call, and error handling.
33183//
33184// This method is useful when you want to inject custom logic or configuration
33185// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33186//
33187//
33188//    // Example sending a request using the ReplaceRouteRequest method.
33189//    req, resp := client.ReplaceRouteRequest(params)
33190//
33191//    err := req.Send()
33192//    if err == nil { // resp is now filled
33193//        fmt.Println(resp)
33194//    }
33195//
33196// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
33197func (c *EC2) ReplaceRouteRequest(input *ReplaceRouteInput) (req *request.Request, output *ReplaceRouteOutput) {
33198	op := &request.Operation{
33199		Name:       opReplaceRoute,
33200		HTTPMethod: "POST",
33201		HTTPPath:   "/",
33202	}
33203
33204	if input == nil {
33205		input = &ReplaceRouteInput{}
33206	}
33207
33208	output = &ReplaceRouteOutput{}
33209	req = c.newRequest(op, input, output)
33210	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
33211	return
33212}
33213
33214// ReplaceRoute API operation for Amazon Elastic Compute Cloud.
33215//
33216// Replaces an existing route within a route table in a VPC. You must provide
33217// only one of the following: internet gateway, virtual private gateway, NAT
33218// instance, NAT gateway, VPC peering connection, network interface, egress-only
33219// internet gateway, or transit gateway.
33220//
33221// For more information, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
33222// in the Amazon Virtual Private Cloud User Guide.
33223//
33224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33225// with awserr.Error's Code and Message methods to get detailed information about
33226// the error.
33227//
33228// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33229// API operation ReplaceRoute for usage and error information.
33230// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRoute
33231func (c *EC2) ReplaceRoute(input *ReplaceRouteInput) (*ReplaceRouteOutput, error) {
33232	req, out := c.ReplaceRouteRequest(input)
33233	return out, req.Send()
33234}
33235
33236// ReplaceRouteWithContext is the same as ReplaceRoute with the addition of
33237// the ability to pass a context and additional request options.
33238//
33239// See ReplaceRoute for details on how to use this API operation.
33240//
33241// The context must be non-nil and will be used for request cancellation. If
33242// the context is nil a panic will occur. In the future the SDK may create
33243// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33244// for more information on using Contexts.
33245func (c *EC2) ReplaceRouteWithContext(ctx aws.Context, input *ReplaceRouteInput, opts ...request.Option) (*ReplaceRouteOutput, error) {
33246	req, out := c.ReplaceRouteRequest(input)
33247	req.SetContext(ctx)
33248	req.ApplyOptions(opts...)
33249	return out, req.Send()
33250}
33251
33252const opReplaceRouteTableAssociation = "ReplaceRouteTableAssociation"
33253
33254// ReplaceRouteTableAssociationRequest generates a "aws/request.Request" representing the
33255// client's request for the ReplaceRouteTableAssociation operation. The "output" return
33256// value will be populated with the request's response once the request completes
33257// successfully.
33258//
33259// Use "Send" method on the returned Request to send the API call to the service.
33260// the "output" return value is not valid until after Send returns without error.
33261//
33262// See ReplaceRouteTableAssociation for more information on using the ReplaceRouteTableAssociation
33263// API call, and error handling.
33264//
33265// This method is useful when you want to inject custom logic or configuration
33266// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33267//
33268//
33269//    // Example sending a request using the ReplaceRouteTableAssociationRequest method.
33270//    req, resp := client.ReplaceRouteTableAssociationRequest(params)
33271//
33272//    err := req.Send()
33273//    if err == nil { // resp is now filled
33274//        fmt.Println(resp)
33275//    }
33276//
33277// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
33278func (c *EC2) ReplaceRouteTableAssociationRequest(input *ReplaceRouteTableAssociationInput) (req *request.Request, output *ReplaceRouteTableAssociationOutput) {
33279	op := &request.Operation{
33280		Name:       opReplaceRouteTableAssociation,
33281		HTTPMethod: "POST",
33282		HTTPPath:   "/",
33283	}
33284
33285	if input == nil {
33286		input = &ReplaceRouteTableAssociationInput{}
33287	}
33288
33289	output = &ReplaceRouteTableAssociationOutput{}
33290	req = c.newRequest(op, input, output)
33291	return
33292}
33293
33294// ReplaceRouteTableAssociation API operation for Amazon Elastic Compute Cloud.
33295//
33296// Changes the route table associated with a given subnet, internet gateway,
33297// or virtual private gateway in a VPC. After the operation completes, the subnet
33298// or gateway uses the routes in the new route table. For more information about
33299// route tables, see Route Tables (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)
33300// in the Amazon Virtual Private Cloud User Guide.
33301//
33302// You can also use this operation to change which table is the main route table
33303// in the VPC. Specify the main route table's association ID and the route table
33304// ID of the new main route table.
33305//
33306// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33307// with awserr.Error's Code and Message methods to get detailed information about
33308// the error.
33309//
33310// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33311// API operation ReplaceRouteTableAssociation for usage and error information.
33312// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceRouteTableAssociation
33313func (c *EC2) ReplaceRouteTableAssociation(input *ReplaceRouteTableAssociationInput) (*ReplaceRouteTableAssociationOutput, error) {
33314	req, out := c.ReplaceRouteTableAssociationRequest(input)
33315	return out, req.Send()
33316}
33317
33318// ReplaceRouteTableAssociationWithContext is the same as ReplaceRouteTableAssociation with the addition of
33319// the ability to pass a context and additional request options.
33320//
33321// See ReplaceRouteTableAssociation for details on how to use this API operation.
33322//
33323// The context must be non-nil and will be used for request cancellation. If
33324// the context is nil a panic will occur. In the future the SDK may create
33325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33326// for more information on using Contexts.
33327func (c *EC2) ReplaceRouteTableAssociationWithContext(ctx aws.Context, input *ReplaceRouteTableAssociationInput, opts ...request.Option) (*ReplaceRouteTableAssociationOutput, error) {
33328	req, out := c.ReplaceRouteTableAssociationRequest(input)
33329	req.SetContext(ctx)
33330	req.ApplyOptions(opts...)
33331	return out, req.Send()
33332}
33333
33334const opReplaceTransitGatewayRoute = "ReplaceTransitGatewayRoute"
33335
33336// ReplaceTransitGatewayRouteRequest generates a "aws/request.Request" representing the
33337// client's request for the ReplaceTransitGatewayRoute operation. The "output" return
33338// value will be populated with the request's response once the request completes
33339// successfully.
33340//
33341// Use "Send" method on the returned Request to send the API call to the service.
33342// the "output" return value is not valid until after Send returns without error.
33343//
33344// See ReplaceTransitGatewayRoute for more information on using the ReplaceTransitGatewayRoute
33345// API call, and error handling.
33346//
33347// This method is useful when you want to inject custom logic or configuration
33348// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33349//
33350//
33351//    // Example sending a request using the ReplaceTransitGatewayRouteRequest method.
33352//    req, resp := client.ReplaceTransitGatewayRouteRequest(params)
33353//
33354//    err := req.Send()
33355//    if err == nil { // resp is now filled
33356//        fmt.Println(resp)
33357//    }
33358//
33359// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
33360func (c *EC2) ReplaceTransitGatewayRouteRequest(input *ReplaceTransitGatewayRouteInput) (req *request.Request, output *ReplaceTransitGatewayRouteOutput) {
33361	op := &request.Operation{
33362		Name:       opReplaceTransitGatewayRoute,
33363		HTTPMethod: "POST",
33364		HTTPPath:   "/",
33365	}
33366
33367	if input == nil {
33368		input = &ReplaceTransitGatewayRouteInput{}
33369	}
33370
33371	output = &ReplaceTransitGatewayRouteOutput{}
33372	req = c.newRequest(op, input, output)
33373	return
33374}
33375
33376// ReplaceTransitGatewayRoute API operation for Amazon Elastic Compute Cloud.
33377//
33378// Replaces the specified route in the specified transit gateway route table.
33379//
33380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33381// with awserr.Error's Code and Message methods to get detailed information about
33382// the error.
33383//
33384// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33385// API operation ReplaceTransitGatewayRoute for usage and error information.
33386// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReplaceTransitGatewayRoute
33387func (c *EC2) ReplaceTransitGatewayRoute(input *ReplaceTransitGatewayRouteInput) (*ReplaceTransitGatewayRouteOutput, error) {
33388	req, out := c.ReplaceTransitGatewayRouteRequest(input)
33389	return out, req.Send()
33390}
33391
33392// ReplaceTransitGatewayRouteWithContext is the same as ReplaceTransitGatewayRoute with the addition of
33393// the ability to pass a context and additional request options.
33394//
33395// See ReplaceTransitGatewayRoute for details on how to use this API operation.
33396//
33397// The context must be non-nil and will be used for request cancellation. If
33398// the context is nil a panic will occur. In the future the SDK may create
33399// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33400// for more information on using Contexts.
33401func (c *EC2) ReplaceTransitGatewayRouteWithContext(ctx aws.Context, input *ReplaceTransitGatewayRouteInput, opts ...request.Option) (*ReplaceTransitGatewayRouteOutput, error) {
33402	req, out := c.ReplaceTransitGatewayRouteRequest(input)
33403	req.SetContext(ctx)
33404	req.ApplyOptions(opts...)
33405	return out, req.Send()
33406}
33407
33408const opReportInstanceStatus = "ReportInstanceStatus"
33409
33410// ReportInstanceStatusRequest generates a "aws/request.Request" representing the
33411// client's request for the ReportInstanceStatus operation. The "output" return
33412// value will be populated with the request's response once the request completes
33413// successfully.
33414//
33415// Use "Send" method on the returned Request to send the API call to the service.
33416// the "output" return value is not valid until after Send returns without error.
33417//
33418// See ReportInstanceStatus for more information on using the ReportInstanceStatus
33419// API call, and error handling.
33420//
33421// This method is useful when you want to inject custom logic or configuration
33422// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33423//
33424//
33425//    // Example sending a request using the ReportInstanceStatusRequest method.
33426//    req, resp := client.ReportInstanceStatusRequest(params)
33427//
33428//    err := req.Send()
33429//    if err == nil { // resp is now filled
33430//        fmt.Println(resp)
33431//    }
33432//
33433// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
33434func (c *EC2) ReportInstanceStatusRequest(input *ReportInstanceStatusInput) (req *request.Request, output *ReportInstanceStatusOutput) {
33435	op := &request.Operation{
33436		Name:       opReportInstanceStatus,
33437		HTTPMethod: "POST",
33438		HTTPPath:   "/",
33439	}
33440
33441	if input == nil {
33442		input = &ReportInstanceStatusInput{}
33443	}
33444
33445	output = &ReportInstanceStatusOutput{}
33446	req = c.newRequest(op, input, output)
33447	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
33448	return
33449}
33450
33451// ReportInstanceStatus API operation for Amazon Elastic Compute Cloud.
33452//
33453// Submits feedback about the status of an instance. The instance must be in
33454// the running state. If your experience with the instance differs from the
33455// instance status returned by DescribeInstanceStatus, use ReportInstanceStatus
33456// to report your experience with the instance. Amazon EC2 collects this information
33457// to improve the accuracy of status checks.
33458//
33459// Use of this action does not change the value returned by DescribeInstanceStatus.
33460//
33461// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33462// with awserr.Error's Code and Message methods to get detailed information about
33463// the error.
33464//
33465// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33466// API operation ReportInstanceStatus for usage and error information.
33467// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ReportInstanceStatus
33468func (c *EC2) ReportInstanceStatus(input *ReportInstanceStatusInput) (*ReportInstanceStatusOutput, error) {
33469	req, out := c.ReportInstanceStatusRequest(input)
33470	return out, req.Send()
33471}
33472
33473// ReportInstanceStatusWithContext is the same as ReportInstanceStatus with the addition of
33474// the ability to pass a context and additional request options.
33475//
33476// See ReportInstanceStatus for details on how to use this API operation.
33477//
33478// The context must be non-nil and will be used for request cancellation. If
33479// the context is nil a panic will occur. In the future the SDK may create
33480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33481// for more information on using Contexts.
33482func (c *EC2) ReportInstanceStatusWithContext(ctx aws.Context, input *ReportInstanceStatusInput, opts ...request.Option) (*ReportInstanceStatusOutput, error) {
33483	req, out := c.ReportInstanceStatusRequest(input)
33484	req.SetContext(ctx)
33485	req.ApplyOptions(opts...)
33486	return out, req.Send()
33487}
33488
33489const opRequestSpotFleet = "RequestSpotFleet"
33490
33491// RequestSpotFleetRequest generates a "aws/request.Request" representing the
33492// client's request for the RequestSpotFleet operation. The "output" return
33493// value will be populated with the request's response once the request completes
33494// successfully.
33495//
33496// Use "Send" method on the returned Request to send the API call to the service.
33497// the "output" return value is not valid until after Send returns without error.
33498//
33499// See RequestSpotFleet for more information on using the RequestSpotFleet
33500// API call, and error handling.
33501//
33502// This method is useful when you want to inject custom logic or configuration
33503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33504//
33505//
33506//    // Example sending a request using the RequestSpotFleetRequest method.
33507//    req, resp := client.RequestSpotFleetRequest(params)
33508//
33509//    err := req.Send()
33510//    if err == nil { // resp is now filled
33511//        fmt.Println(resp)
33512//    }
33513//
33514// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
33515func (c *EC2) RequestSpotFleetRequest(input *RequestSpotFleetInput) (req *request.Request, output *RequestSpotFleetOutput) {
33516	op := &request.Operation{
33517		Name:       opRequestSpotFleet,
33518		HTTPMethod: "POST",
33519		HTTPPath:   "/",
33520	}
33521
33522	if input == nil {
33523		input = &RequestSpotFleetInput{}
33524	}
33525
33526	output = &RequestSpotFleetOutput{}
33527	req = c.newRequest(op, input, output)
33528	return
33529}
33530
33531// RequestSpotFleet API operation for Amazon Elastic Compute Cloud.
33532//
33533// Creates a Spot Fleet request.
33534//
33535// The Spot Fleet request specifies the total target capacity and the On-Demand
33536// target capacity. Amazon EC2 calculates the difference between the total capacity
33537// and On-Demand capacity, and launches the difference as Spot capacity.
33538//
33539// You can submit a single request that includes multiple launch specifications
33540// that vary by instance type, AMI, Availability Zone, or subnet.
33541//
33542// By default, the Spot Fleet requests Spot Instances in the Spot Instance pool
33543// where the price per unit is the lowest. Each launch specification can include
33544// its own instance weighting that reflects the value of the instance type to
33545// your application workload.
33546//
33547// Alternatively, you can specify that the Spot Fleet distribute the target
33548// capacity across the Spot pools included in its launch specifications. By
33549// ensuring that the Spot Instances in your Spot Fleet are in different Spot
33550// pools, you can improve the availability of your fleet.
33551//
33552// You can specify tags for the Spot Instances. You cannot tag other resource
33553// types in a Spot Fleet request because only the instance resource type is
33554// supported.
33555//
33556// For more information, see Spot Fleet Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html)
33557// in the Amazon EC2 User Guide for Linux Instances.
33558//
33559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33560// with awserr.Error's Code and Message methods to get detailed information about
33561// the error.
33562//
33563// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33564// API operation RequestSpotFleet for usage and error information.
33565// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotFleet
33566func (c *EC2) RequestSpotFleet(input *RequestSpotFleetInput) (*RequestSpotFleetOutput, error) {
33567	req, out := c.RequestSpotFleetRequest(input)
33568	return out, req.Send()
33569}
33570
33571// RequestSpotFleetWithContext is the same as RequestSpotFleet with the addition of
33572// the ability to pass a context and additional request options.
33573//
33574// See RequestSpotFleet for details on how to use this API operation.
33575//
33576// The context must be non-nil and will be used for request cancellation. If
33577// the context is nil a panic will occur. In the future the SDK may create
33578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33579// for more information on using Contexts.
33580func (c *EC2) RequestSpotFleetWithContext(ctx aws.Context, input *RequestSpotFleetInput, opts ...request.Option) (*RequestSpotFleetOutput, error) {
33581	req, out := c.RequestSpotFleetRequest(input)
33582	req.SetContext(ctx)
33583	req.ApplyOptions(opts...)
33584	return out, req.Send()
33585}
33586
33587const opRequestSpotInstances = "RequestSpotInstances"
33588
33589// RequestSpotInstancesRequest generates a "aws/request.Request" representing the
33590// client's request for the RequestSpotInstances operation. The "output" return
33591// value will be populated with the request's response once the request completes
33592// successfully.
33593//
33594// Use "Send" method on the returned Request to send the API call to the service.
33595// the "output" return value is not valid until after Send returns without error.
33596//
33597// See RequestSpotInstances for more information on using the RequestSpotInstances
33598// API call, and error handling.
33599//
33600// This method is useful when you want to inject custom logic or configuration
33601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33602//
33603//
33604//    // Example sending a request using the RequestSpotInstancesRequest method.
33605//    req, resp := client.RequestSpotInstancesRequest(params)
33606//
33607//    err := req.Send()
33608//    if err == nil { // resp is now filled
33609//        fmt.Println(resp)
33610//    }
33611//
33612// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
33613func (c *EC2) RequestSpotInstancesRequest(input *RequestSpotInstancesInput) (req *request.Request, output *RequestSpotInstancesOutput) {
33614	op := &request.Operation{
33615		Name:       opRequestSpotInstances,
33616		HTTPMethod: "POST",
33617		HTTPPath:   "/",
33618	}
33619
33620	if input == nil {
33621		input = &RequestSpotInstancesInput{}
33622	}
33623
33624	output = &RequestSpotInstancesOutput{}
33625	req = c.newRequest(op, input, output)
33626	return
33627}
33628
33629// RequestSpotInstances API operation for Amazon Elastic Compute Cloud.
33630//
33631// Creates a Spot Instance request.
33632//
33633// For more information, see Spot Instance Requests (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html)
33634// in the Amazon EC2 User Guide for Linux Instances.
33635//
33636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33637// with awserr.Error's Code and Message methods to get detailed information about
33638// the error.
33639//
33640// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33641// API operation RequestSpotInstances for usage and error information.
33642// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RequestSpotInstances
33643func (c *EC2) RequestSpotInstances(input *RequestSpotInstancesInput) (*RequestSpotInstancesOutput, error) {
33644	req, out := c.RequestSpotInstancesRequest(input)
33645	return out, req.Send()
33646}
33647
33648// RequestSpotInstancesWithContext is the same as RequestSpotInstances with the addition of
33649// the ability to pass a context and additional request options.
33650//
33651// See RequestSpotInstances for details on how to use this API operation.
33652//
33653// The context must be non-nil and will be used for request cancellation. If
33654// the context is nil a panic will occur. In the future the SDK may create
33655// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33656// for more information on using Contexts.
33657func (c *EC2) RequestSpotInstancesWithContext(ctx aws.Context, input *RequestSpotInstancesInput, opts ...request.Option) (*RequestSpotInstancesOutput, error) {
33658	req, out := c.RequestSpotInstancesRequest(input)
33659	req.SetContext(ctx)
33660	req.ApplyOptions(opts...)
33661	return out, req.Send()
33662}
33663
33664const opResetEbsDefaultKmsKeyId = "ResetEbsDefaultKmsKeyId"
33665
33666// ResetEbsDefaultKmsKeyIdRequest generates a "aws/request.Request" representing the
33667// client's request for the ResetEbsDefaultKmsKeyId operation. The "output" return
33668// value will be populated with the request's response once the request completes
33669// successfully.
33670//
33671// Use "Send" method on the returned Request to send the API call to the service.
33672// the "output" return value is not valid until after Send returns without error.
33673//
33674// See ResetEbsDefaultKmsKeyId for more information on using the ResetEbsDefaultKmsKeyId
33675// API call, and error handling.
33676//
33677// This method is useful when you want to inject custom logic or configuration
33678// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33679//
33680//
33681//    // Example sending a request using the ResetEbsDefaultKmsKeyIdRequest method.
33682//    req, resp := client.ResetEbsDefaultKmsKeyIdRequest(params)
33683//
33684//    err := req.Send()
33685//    if err == nil { // resp is now filled
33686//        fmt.Println(resp)
33687//    }
33688//
33689// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
33690func (c *EC2) ResetEbsDefaultKmsKeyIdRequest(input *ResetEbsDefaultKmsKeyIdInput) (req *request.Request, output *ResetEbsDefaultKmsKeyIdOutput) {
33691	op := &request.Operation{
33692		Name:       opResetEbsDefaultKmsKeyId,
33693		HTTPMethod: "POST",
33694		HTTPPath:   "/",
33695	}
33696
33697	if input == nil {
33698		input = &ResetEbsDefaultKmsKeyIdInput{}
33699	}
33700
33701	output = &ResetEbsDefaultKmsKeyIdOutput{}
33702	req = c.newRequest(op, input, output)
33703	return
33704}
33705
33706// ResetEbsDefaultKmsKeyId API operation for Amazon Elastic Compute Cloud.
33707//
33708// Resets the default customer master key (CMK) for EBS encryption for your
33709// account in this Region to the AWS managed CMK for EBS.
33710//
33711// After resetting the default CMK to the AWS managed CMK, you can continue
33712// to encrypt by a customer managed CMK by specifying it when you create the
33713// volume. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
33714// in the Amazon Elastic Compute Cloud User Guide.
33715//
33716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33717// with awserr.Error's Code and Message methods to get detailed information about
33718// the error.
33719//
33720// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33721// API operation ResetEbsDefaultKmsKeyId for usage and error information.
33722// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetEbsDefaultKmsKeyId
33723func (c *EC2) ResetEbsDefaultKmsKeyId(input *ResetEbsDefaultKmsKeyIdInput) (*ResetEbsDefaultKmsKeyIdOutput, error) {
33724	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
33725	return out, req.Send()
33726}
33727
33728// ResetEbsDefaultKmsKeyIdWithContext is the same as ResetEbsDefaultKmsKeyId with the addition of
33729// the ability to pass a context and additional request options.
33730//
33731// See ResetEbsDefaultKmsKeyId for details on how to use this API operation.
33732//
33733// The context must be non-nil and will be used for request cancellation. If
33734// the context is nil a panic will occur. In the future the SDK may create
33735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33736// for more information on using Contexts.
33737func (c *EC2) ResetEbsDefaultKmsKeyIdWithContext(ctx aws.Context, input *ResetEbsDefaultKmsKeyIdInput, opts ...request.Option) (*ResetEbsDefaultKmsKeyIdOutput, error) {
33738	req, out := c.ResetEbsDefaultKmsKeyIdRequest(input)
33739	req.SetContext(ctx)
33740	req.ApplyOptions(opts...)
33741	return out, req.Send()
33742}
33743
33744const opResetFpgaImageAttribute = "ResetFpgaImageAttribute"
33745
33746// ResetFpgaImageAttributeRequest generates a "aws/request.Request" representing the
33747// client's request for the ResetFpgaImageAttribute operation. The "output" return
33748// value will be populated with the request's response once the request completes
33749// successfully.
33750//
33751// Use "Send" method on the returned Request to send the API call to the service.
33752// the "output" return value is not valid until after Send returns without error.
33753//
33754// See ResetFpgaImageAttribute for more information on using the ResetFpgaImageAttribute
33755// API call, and error handling.
33756//
33757// This method is useful when you want to inject custom logic or configuration
33758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33759//
33760//
33761//    // Example sending a request using the ResetFpgaImageAttributeRequest method.
33762//    req, resp := client.ResetFpgaImageAttributeRequest(params)
33763//
33764//    err := req.Send()
33765//    if err == nil { // resp is now filled
33766//        fmt.Println(resp)
33767//    }
33768//
33769// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
33770func (c *EC2) ResetFpgaImageAttributeRequest(input *ResetFpgaImageAttributeInput) (req *request.Request, output *ResetFpgaImageAttributeOutput) {
33771	op := &request.Operation{
33772		Name:       opResetFpgaImageAttribute,
33773		HTTPMethod: "POST",
33774		HTTPPath:   "/",
33775	}
33776
33777	if input == nil {
33778		input = &ResetFpgaImageAttributeInput{}
33779	}
33780
33781	output = &ResetFpgaImageAttributeOutput{}
33782	req = c.newRequest(op, input, output)
33783	return
33784}
33785
33786// ResetFpgaImageAttribute API operation for Amazon Elastic Compute Cloud.
33787//
33788// Resets the specified attribute of the specified Amazon FPGA Image (AFI) to
33789// its default value. You can only reset the load permission attribute.
33790//
33791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33792// with awserr.Error's Code and Message methods to get detailed information about
33793// the error.
33794//
33795// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33796// API operation ResetFpgaImageAttribute for usage and error information.
33797// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetFpgaImageAttribute
33798func (c *EC2) ResetFpgaImageAttribute(input *ResetFpgaImageAttributeInput) (*ResetFpgaImageAttributeOutput, error) {
33799	req, out := c.ResetFpgaImageAttributeRequest(input)
33800	return out, req.Send()
33801}
33802
33803// ResetFpgaImageAttributeWithContext is the same as ResetFpgaImageAttribute with the addition of
33804// the ability to pass a context and additional request options.
33805//
33806// See ResetFpgaImageAttribute for details on how to use this API operation.
33807//
33808// The context must be non-nil and will be used for request cancellation. If
33809// the context is nil a panic will occur. In the future the SDK may create
33810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33811// for more information on using Contexts.
33812func (c *EC2) ResetFpgaImageAttributeWithContext(ctx aws.Context, input *ResetFpgaImageAttributeInput, opts ...request.Option) (*ResetFpgaImageAttributeOutput, error) {
33813	req, out := c.ResetFpgaImageAttributeRequest(input)
33814	req.SetContext(ctx)
33815	req.ApplyOptions(opts...)
33816	return out, req.Send()
33817}
33818
33819const opResetImageAttribute = "ResetImageAttribute"
33820
33821// ResetImageAttributeRequest generates a "aws/request.Request" representing the
33822// client's request for the ResetImageAttribute operation. The "output" return
33823// value will be populated with the request's response once the request completes
33824// successfully.
33825//
33826// Use "Send" method on the returned Request to send the API call to the service.
33827// the "output" return value is not valid until after Send returns without error.
33828//
33829// See ResetImageAttribute for more information on using the ResetImageAttribute
33830// API call, and error handling.
33831//
33832// This method is useful when you want to inject custom logic or configuration
33833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33834//
33835//
33836//    // Example sending a request using the ResetImageAttributeRequest method.
33837//    req, resp := client.ResetImageAttributeRequest(params)
33838//
33839//    err := req.Send()
33840//    if err == nil { // resp is now filled
33841//        fmt.Println(resp)
33842//    }
33843//
33844// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
33845func (c *EC2) ResetImageAttributeRequest(input *ResetImageAttributeInput) (req *request.Request, output *ResetImageAttributeOutput) {
33846	op := &request.Operation{
33847		Name:       opResetImageAttribute,
33848		HTTPMethod: "POST",
33849		HTTPPath:   "/",
33850	}
33851
33852	if input == nil {
33853		input = &ResetImageAttributeInput{}
33854	}
33855
33856	output = &ResetImageAttributeOutput{}
33857	req = c.newRequest(op, input, output)
33858	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
33859	return
33860}
33861
33862// ResetImageAttribute API operation for Amazon Elastic Compute Cloud.
33863//
33864// Resets an attribute of an AMI to its default value.
33865//
33866// The productCodes attribute can't be reset.
33867//
33868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33869// with awserr.Error's Code and Message methods to get detailed information about
33870// the error.
33871//
33872// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33873// API operation ResetImageAttribute for usage and error information.
33874// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetImageAttribute
33875func (c *EC2) ResetImageAttribute(input *ResetImageAttributeInput) (*ResetImageAttributeOutput, error) {
33876	req, out := c.ResetImageAttributeRequest(input)
33877	return out, req.Send()
33878}
33879
33880// ResetImageAttributeWithContext is the same as ResetImageAttribute with the addition of
33881// the ability to pass a context and additional request options.
33882//
33883// See ResetImageAttribute for details on how to use this API operation.
33884//
33885// The context must be non-nil and will be used for request cancellation. If
33886// the context is nil a panic will occur. In the future the SDK may create
33887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33888// for more information on using Contexts.
33889func (c *EC2) ResetImageAttributeWithContext(ctx aws.Context, input *ResetImageAttributeInput, opts ...request.Option) (*ResetImageAttributeOutput, error) {
33890	req, out := c.ResetImageAttributeRequest(input)
33891	req.SetContext(ctx)
33892	req.ApplyOptions(opts...)
33893	return out, req.Send()
33894}
33895
33896const opResetInstanceAttribute = "ResetInstanceAttribute"
33897
33898// ResetInstanceAttributeRequest generates a "aws/request.Request" representing the
33899// client's request for the ResetInstanceAttribute operation. The "output" return
33900// value will be populated with the request's response once the request completes
33901// successfully.
33902//
33903// Use "Send" method on the returned Request to send the API call to the service.
33904// the "output" return value is not valid until after Send returns without error.
33905//
33906// See ResetInstanceAttribute for more information on using the ResetInstanceAttribute
33907// API call, and error handling.
33908//
33909// This method is useful when you want to inject custom logic or configuration
33910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33911//
33912//
33913//    // Example sending a request using the ResetInstanceAttributeRequest method.
33914//    req, resp := client.ResetInstanceAttributeRequest(params)
33915//
33916//    err := req.Send()
33917//    if err == nil { // resp is now filled
33918//        fmt.Println(resp)
33919//    }
33920//
33921// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
33922func (c *EC2) ResetInstanceAttributeRequest(input *ResetInstanceAttributeInput) (req *request.Request, output *ResetInstanceAttributeOutput) {
33923	op := &request.Operation{
33924		Name:       opResetInstanceAttribute,
33925		HTTPMethod: "POST",
33926		HTTPPath:   "/",
33927	}
33928
33929	if input == nil {
33930		input = &ResetInstanceAttributeInput{}
33931	}
33932
33933	output = &ResetInstanceAttributeOutput{}
33934	req = c.newRequest(op, input, output)
33935	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
33936	return
33937}
33938
33939// ResetInstanceAttribute API operation for Amazon Elastic Compute Cloud.
33940//
33941// Resets an attribute of an instance to its default value. To reset the kernel
33942// or ramdisk, the instance must be in a stopped state. To reset the sourceDestCheck,
33943// the instance can be either running or stopped.
33944//
33945// The sourceDestCheck attribute controls whether source/destination checking
33946// is enabled. The default value is true, which means checking is enabled. This
33947// value must be false for a NAT instance to perform NAT. For more information,
33948// see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
33949// in the Amazon Virtual Private Cloud User Guide.
33950//
33951// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
33952// with awserr.Error's Code and Message methods to get detailed information about
33953// the error.
33954//
33955// See the AWS API reference guide for Amazon Elastic Compute Cloud's
33956// API operation ResetInstanceAttribute for usage and error information.
33957// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetInstanceAttribute
33958func (c *EC2) ResetInstanceAttribute(input *ResetInstanceAttributeInput) (*ResetInstanceAttributeOutput, error) {
33959	req, out := c.ResetInstanceAttributeRequest(input)
33960	return out, req.Send()
33961}
33962
33963// ResetInstanceAttributeWithContext is the same as ResetInstanceAttribute with the addition of
33964// the ability to pass a context and additional request options.
33965//
33966// See ResetInstanceAttribute for details on how to use this API operation.
33967//
33968// The context must be non-nil and will be used for request cancellation. If
33969// the context is nil a panic will occur. In the future the SDK may create
33970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
33971// for more information on using Contexts.
33972func (c *EC2) ResetInstanceAttributeWithContext(ctx aws.Context, input *ResetInstanceAttributeInput, opts ...request.Option) (*ResetInstanceAttributeOutput, error) {
33973	req, out := c.ResetInstanceAttributeRequest(input)
33974	req.SetContext(ctx)
33975	req.ApplyOptions(opts...)
33976	return out, req.Send()
33977}
33978
33979const opResetNetworkInterfaceAttribute = "ResetNetworkInterfaceAttribute"
33980
33981// ResetNetworkInterfaceAttributeRequest generates a "aws/request.Request" representing the
33982// client's request for the ResetNetworkInterfaceAttribute operation. The "output" return
33983// value will be populated with the request's response once the request completes
33984// successfully.
33985//
33986// Use "Send" method on the returned Request to send the API call to the service.
33987// the "output" return value is not valid until after Send returns without error.
33988//
33989// See ResetNetworkInterfaceAttribute for more information on using the ResetNetworkInterfaceAttribute
33990// API call, and error handling.
33991//
33992// This method is useful when you want to inject custom logic or configuration
33993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
33994//
33995//
33996//    // Example sending a request using the ResetNetworkInterfaceAttributeRequest method.
33997//    req, resp := client.ResetNetworkInterfaceAttributeRequest(params)
33998//
33999//    err := req.Send()
34000//    if err == nil { // resp is now filled
34001//        fmt.Println(resp)
34002//    }
34003//
34004// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
34005func (c *EC2) ResetNetworkInterfaceAttributeRequest(input *ResetNetworkInterfaceAttributeInput) (req *request.Request, output *ResetNetworkInterfaceAttributeOutput) {
34006	op := &request.Operation{
34007		Name:       opResetNetworkInterfaceAttribute,
34008		HTTPMethod: "POST",
34009		HTTPPath:   "/",
34010	}
34011
34012	if input == nil {
34013		input = &ResetNetworkInterfaceAttributeInput{}
34014	}
34015
34016	output = &ResetNetworkInterfaceAttributeOutput{}
34017	req = c.newRequest(op, input, output)
34018	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34019	return
34020}
34021
34022// ResetNetworkInterfaceAttribute API operation for Amazon Elastic Compute Cloud.
34023//
34024// Resets a network interface attribute. You can specify only one attribute
34025// at a time.
34026//
34027// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34028// with awserr.Error's Code and Message methods to get detailed information about
34029// the error.
34030//
34031// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34032// API operation ResetNetworkInterfaceAttribute for usage and error information.
34033// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetNetworkInterfaceAttribute
34034func (c *EC2) ResetNetworkInterfaceAttribute(input *ResetNetworkInterfaceAttributeInput) (*ResetNetworkInterfaceAttributeOutput, error) {
34035	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
34036	return out, req.Send()
34037}
34038
34039// ResetNetworkInterfaceAttributeWithContext is the same as ResetNetworkInterfaceAttribute with the addition of
34040// the ability to pass a context and additional request options.
34041//
34042// See ResetNetworkInterfaceAttribute for details on how to use this API operation.
34043//
34044// The context must be non-nil and will be used for request cancellation. If
34045// the context is nil a panic will occur. In the future the SDK may create
34046// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34047// for more information on using Contexts.
34048func (c *EC2) ResetNetworkInterfaceAttributeWithContext(ctx aws.Context, input *ResetNetworkInterfaceAttributeInput, opts ...request.Option) (*ResetNetworkInterfaceAttributeOutput, error) {
34049	req, out := c.ResetNetworkInterfaceAttributeRequest(input)
34050	req.SetContext(ctx)
34051	req.ApplyOptions(opts...)
34052	return out, req.Send()
34053}
34054
34055const opResetSnapshotAttribute = "ResetSnapshotAttribute"
34056
34057// ResetSnapshotAttributeRequest generates a "aws/request.Request" representing the
34058// client's request for the ResetSnapshotAttribute operation. The "output" return
34059// value will be populated with the request's response once the request completes
34060// successfully.
34061//
34062// Use "Send" method on the returned Request to send the API call to the service.
34063// the "output" return value is not valid until after Send returns without error.
34064//
34065// See ResetSnapshotAttribute for more information on using the ResetSnapshotAttribute
34066// API call, and error handling.
34067//
34068// This method is useful when you want to inject custom logic or configuration
34069// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34070//
34071//
34072//    // Example sending a request using the ResetSnapshotAttributeRequest method.
34073//    req, resp := client.ResetSnapshotAttributeRequest(params)
34074//
34075//    err := req.Send()
34076//    if err == nil { // resp is now filled
34077//        fmt.Println(resp)
34078//    }
34079//
34080// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
34081func (c *EC2) ResetSnapshotAttributeRequest(input *ResetSnapshotAttributeInput) (req *request.Request, output *ResetSnapshotAttributeOutput) {
34082	op := &request.Operation{
34083		Name:       opResetSnapshotAttribute,
34084		HTTPMethod: "POST",
34085		HTTPPath:   "/",
34086	}
34087
34088	if input == nil {
34089		input = &ResetSnapshotAttributeInput{}
34090	}
34091
34092	output = &ResetSnapshotAttributeOutput{}
34093	req = c.newRequest(op, input, output)
34094	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34095	return
34096}
34097
34098// ResetSnapshotAttribute API operation for Amazon Elastic Compute Cloud.
34099//
34100// Resets permission settings for the specified snapshot.
34101//
34102// For more information about modifying snapshot permissions, see Sharing Snapshots
34103// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html)
34104// in the Amazon Elastic Compute Cloud User Guide.
34105//
34106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34107// with awserr.Error's Code and Message methods to get detailed information about
34108// the error.
34109//
34110// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34111// API operation ResetSnapshotAttribute for usage and error information.
34112// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ResetSnapshotAttribute
34113func (c *EC2) ResetSnapshotAttribute(input *ResetSnapshotAttributeInput) (*ResetSnapshotAttributeOutput, error) {
34114	req, out := c.ResetSnapshotAttributeRequest(input)
34115	return out, req.Send()
34116}
34117
34118// ResetSnapshotAttributeWithContext is the same as ResetSnapshotAttribute with the addition of
34119// the ability to pass a context and additional request options.
34120//
34121// See ResetSnapshotAttribute for details on how to use this API operation.
34122//
34123// The context must be non-nil and will be used for request cancellation. If
34124// the context is nil a panic will occur. In the future the SDK may create
34125// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34126// for more information on using Contexts.
34127func (c *EC2) ResetSnapshotAttributeWithContext(ctx aws.Context, input *ResetSnapshotAttributeInput, opts ...request.Option) (*ResetSnapshotAttributeOutput, error) {
34128	req, out := c.ResetSnapshotAttributeRequest(input)
34129	req.SetContext(ctx)
34130	req.ApplyOptions(opts...)
34131	return out, req.Send()
34132}
34133
34134const opRestoreAddressToClassic = "RestoreAddressToClassic"
34135
34136// RestoreAddressToClassicRequest generates a "aws/request.Request" representing the
34137// client's request for the RestoreAddressToClassic operation. The "output" return
34138// value will be populated with the request's response once the request completes
34139// successfully.
34140//
34141// Use "Send" method on the returned Request to send the API call to the service.
34142// the "output" return value is not valid until after Send returns without error.
34143//
34144// See RestoreAddressToClassic for more information on using the RestoreAddressToClassic
34145// API call, and error handling.
34146//
34147// This method is useful when you want to inject custom logic or configuration
34148// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34149//
34150//
34151//    // Example sending a request using the RestoreAddressToClassicRequest method.
34152//    req, resp := client.RestoreAddressToClassicRequest(params)
34153//
34154//    err := req.Send()
34155//    if err == nil { // resp is now filled
34156//        fmt.Println(resp)
34157//    }
34158//
34159// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
34160func (c *EC2) RestoreAddressToClassicRequest(input *RestoreAddressToClassicInput) (req *request.Request, output *RestoreAddressToClassicOutput) {
34161	op := &request.Operation{
34162		Name:       opRestoreAddressToClassic,
34163		HTTPMethod: "POST",
34164		HTTPPath:   "/",
34165	}
34166
34167	if input == nil {
34168		input = &RestoreAddressToClassicInput{}
34169	}
34170
34171	output = &RestoreAddressToClassicOutput{}
34172	req = c.newRequest(op, input, output)
34173	return
34174}
34175
34176// RestoreAddressToClassic API operation for Amazon Elastic Compute Cloud.
34177//
34178// Restores an Elastic IP address that was previously moved to the EC2-VPC platform
34179// back to the EC2-Classic platform. You cannot move an Elastic IP address that
34180// was originally allocated for use in EC2-VPC. The Elastic IP address must
34181// not be associated with an instance or network interface.
34182//
34183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34184// with awserr.Error's Code and Message methods to get detailed information about
34185// the error.
34186//
34187// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34188// API operation RestoreAddressToClassic for usage and error information.
34189// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RestoreAddressToClassic
34190func (c *EC2) RestoreAddressToClassic(input *RestoreAddressToClassicInput) (*RestoreAddressToClassicOutput, error) {
34191	req, out := c.RestoreAddressToClassicRequest(input)
34192	return out, req.Send()
34193}
34194
34195// RestoreAddressToClassicWithContext is the same as RestoreAddressToClassic with the addition of
34196// the ability to pass a context and additional request options.
34197//
34198// See RestoreAddressToClassic for details on how to use this API operation.
34199//
34200// The context must be non-nil and will be used for request cancellation. If
34201// the context is nil a panic will occur. In the future the SDK may create
34202// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34203// for more information on using Contexts.
34204func (c *EC2) RestoreAddressToClassicWithContext(ctx aws.Context, input *RestoreAddressToClassicInput, opts ...request.Option) (*RestoreAddressToClassicOutput, error) {
34205	req, out := c.RestoreAddressToClassicRequest(input)
34206	req.SetContext(ctx)
34207	req.ApplyOptions(opts...)
34208	return out, req.Send()
34209}
34210
34211const opRevokeClientVpnIngress = "RevokeClientVpnIngress"
34212
34213// RevokeClientVpnIngressRequest generates a "aws/request.Request" representing the
34214// client's request for the RevokeClientVpnIngress operation. The "output" return
34215// value will be populated with the request's response once the request completes
34216// successfully.
34217//
34218// Use "Send" method on the returned Request to send the API call to the service.
34219// the "output" return value is not valid until after Send returns without error.
34220//
34221// See RevokeClientVpnIngress for more information on using the RevokeClientVpnIngress
34222// API call, and error handling.
34223//
34224// This method is useful when you want to inject custom logic or configuration
34225// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34226//
34227//
34228//    // Example sending a request using the RevokeClientVpnIngressRequest method.
34229//    req, resp := client.RevokeClientVpnIngressRequest(params)
34230//
34231//    err := req.Send()
34232//    if err == nil { // resp is now filled
34233//        fmt.Println(resp)
34234//    }
34235//
34236// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
34237func (c *EC2) RevokeClientVpnIngressRequest(input *RevokeClientVpnIngressInput) (req *request.Request, output *RevokeClientVpnIngressOutput) {
34238	op := &request.Operation{
34239		Name:       opRevokeClientVpnIngress,
34240		HTTPMethod: "POST",
34241		HTTPPath:   "/",
34242	}
34243
34244	if input == nil {
34245		input = &RevokeClientVpnIngressInput{}
34246	}
34247
34248	output = &RevokeClientVpnIngressOutput{}
34249	req = c.newRequest(op, input, output)
34250	return
34251}
34252
34253// RevokeClientVpnIngress API operation for Amazon Elastic Compute Cloud.
34254//
34255// Removes an ingress authorization rule from a Client VPN endpoint.
34256//
34257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34258// with awserr.Error's Code and Message methods to get detailed information about
34259// the error.
34260//
34261// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34262// API operation RevokeClientVpnIngress for usage and error information.
34263// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeClientVpnIngress
34264func (c *EC2) RevokeClientVpnIngress(input *RevokeClientVpnIngressInput) (*RevokeClientVpnIngressOutput, error) {
34265	req, out := c.RevokeClientVpnIngressRequest(input)
34266	return out, req.Send()
34267}
34268
34269// RevokeClientVpnIngressWithContext is the same as RevokeClientVpnIngress with the addition of
34270// the ability to pass a context and additional request options.
34271//
34272// See RevokeClientVpnIngress for details on how to use this API operation.
34273//
34274// The context must be non-nil and will be used for request cancellation. If
34275// the context is nil a panic will occur. In the future the SDK may create
34276// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34277// for more information on using Contexts.
34278func (c *EC2) RevokeClientVpnIngressWithContext(ctx aws.Context, input *RevokeClientVpnIngressInput, opts ...request.Option) (*RevokeClientVpnIngressOutput, error) {
34279	req, out := c.RevokeClientVpnIngressRequest(input)
34280	req.SetContext(ctx)
34281	req.ApplyOptions(opts...)
34282	return out, req.Send()
34283}
34284
34285const opRevokeSecurityGroupEgress = "RevokeSecurityGroupEgress"
34286
34287// RevokeSecurityGroupEgressRequest generates a "aws/request.Request" representing the
34288// client's request for the RevokeSecurityGroupEgress operation. The "output" return
34289// value will be populated with the request's response once the request completes
34290// successfully.
34291//
34292// Use "Send" method on the returned Request to send the API call to the service.
34293// the "output" return value is not valid until after Send returns without error.
34294//
34295// See RevokeSecurityGroupEgress for more information on using the RevokeSecurityGroupEgress
34296// API call, and error handling.
34297//
34298// This method is useful when you want to inject custom logic or configuration
34299// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34300//
34301//
34302//    // Example sending a request using the RevokeSecurityGroupEgressRequest method.
34303//    req, resp := client.RevokeSecurityGroupEgressRequest(params)
34304//
34305//    err := req.Send()
34306//    if err == nil { // resp is now filled
34307//        fmt.Println(resp)
34308//    }
34309//
34310// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
34311func (c *EC2) RevokeSecurityGroupEgressRequest(input *RevokeSecurityGroupEgressInput) (req *request.Request, output *RevokeSecurityGroupEgressOutput) {
34312	op := &request.Operation{
34313		Name:       opRevokeSecurityGroupEgress,
34314		HTTPMethod: "POST",
34315		HTTPPath:   "/",
34316	}
34317
34318	if input == nil {
34319		input = &RevokeSecurityGroupEgressInput{}
34320	}
34321
34322	output = &RevokeSecurityGroupEgressOutput{}
34323	req = c.newRequest(op, input, output)
34324	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34325	return
34326}
34327
34328// RevokeSecurityGroupEgress API operation for Amazon Elastic Compute Cloud.
34329//
34330// [VPC only] Removes the specified egress rules from a security group for EC2-VPC.
34331// This action doesn't apply to security groups for use in EC2-Classic. To remove
34332// a rule, the values that you specify (for example, ports) must match the existing
34333// rule's values exactly.
34334//
34335// Each rule consists of the protocol and the IPv4 or IPv6 CIDR range or source
34336// security group. For the TCP and UDP protocols, you must also specify the
34337// destination port or range of ports. For the ICMP protocol, you must also
34338// specify the ICMP type and code. If the security group rule has a description,
34339// you do not have to specify the description to revoke the rule.
34340//
34341// Rule changes are propagated to instances within the security group as quickly
34342// as possible. However, a small delay might occur.
34343//
34344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34345// with awserr.Error's Code and Message methods to get detailed information about
34346// the error.
34347//
34348// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34349// API operation RevokeSecurityGroupEgress for usage and error information.
34350// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupEgress
34351func (c *EC2) RevokeSecurityGroupEgress(input *RevokeSecurityGroupEgressInput) (*RevokeSecurityGroupEgressOutput, error) {
34352	req, out := c.RevokeSecurityGroupEgressRequest(input)
34353	return out, req.Send()
34354}
34355
34356// RevokeSecurityGroupEgressWithContext is the same as RevokeSecurityGroupEgress with the addition of
34357// the ability to pass a context and additional request options.
34358//
34359// See RevokeSecurityGroupEgress for details on how to use this API operation.
34360//
34361// The context must be non-nil and will be used for request cancellation. If
34362// the context is nil a panic will occur. In the future the SDK may create
34363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34364// for more information on using Contexts.
34365func (c *EC2) RevokeSecurityGroupEgressWithContext(ctx aws.Context, input *RevokeSecurityGroupEgressInput, opts ...request.Option) (*RevokeSecurityGroupEgressOutput, error) {
34366	req, out := c.RevokeSecurityGroupEgressRequest(input)
34367	req.SetContext(ctx)
34368	req.ApplyOptions(opts...)
34369	return out, req.Send()
34370}
34371
34372const opRevokeSecurityGroupIngress = "RevokeSecurityGroupIngress"
34373
34374// RevokeSecurityGroupIngressRequest generates a "aws/request.Request" representing the
34375// client's request for the RevokeSecurityGroupIngress operation. The "output" return
34376// value will be populated with the request's response once the request completes
34377// successfully.
34378//
34379// Use "Send" method on the returned Request to send the API call to the service.
34380// the "output" return value is not valid until after Send returns without error.
34381//
34382// See RevokeSecurityGroupIngress for more information on using the RevokeSecurityGroupIngress
34383// API call, and error handling.
34384//
34385// This method is useful when you want to inject custom logic or configuration
34386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34387//
34388//
34389//    // Example sending a request using the RevokeSecurityGroupIngressRequest method.
34390//    req, resp := client.RevokeSecurityGroupIngressRequest(params)
34391//
34392//    err := req.Send()
34393//    if err == nil { // resp is now filled
34394//        fmt.Println(resp)
34395//    }
34396//
34397// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
34398func (c *EC2) RevokeSecurityGroupIngressRequest(input *RevokeSecurityGroupIngressInput) (req *request.Request, output *RevokeSecurityGroupIngressOutput) {
34399	op := &request.Operation{
34400		Name:       opRevokeSecurityGroupIngress,
34401		HTTPMethod: "POST",
34402		HTTPPath:   "/",
34403	}
34404
34405	if input == nil {
34406		input = &RevokeSecurityGroupIngressInput{}
34407	}
34408
34409	output = &RevokeSecurityGroupIngressOutput{}
34410	req = c.newRequest(op, input, output)
34411	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34412	return
34413}
34414
34415// RevokeSecurityGroupIngress API operation for Amazon Elastic Compute Cloud.
34416//
34417// Removes the specified ingress rules from a security group. To remove a rule,
34418// the values that you specify (for example, ports) must match the existing
34419// rule's values exactly.
34420//
34421// [EC2-Classic only] If the values you specify do not match the existing rule's
34422// values, no error is returned. Use DescribeSecurityGroups to verify that the
34423// rule has been removed.
34424//
34425// Each rule consists of the protocol and the CIDR range or source security
34426// group. For the TCP and UDP protocols, you must also specify the destination
34427// port or range of ports. For the ICMP protocol, you must also specify the
34428// ICMP type and code. If the security group rule has a description, you do
34429// not have to specify the description to revoke the rule.
34430//
34431// Rule changes are propagated to instances within the security group as quickly
34432// as possible. However, a small delay might occur.
34433//
34434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34435// with awserr.Error's Code and Message methods to get detailed information about
34436// the error.
34437//
34438// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34439// API operation RevokeSecurityGroupIngress for usage and error information.
34440// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RevokeSecurityGroupIngress
34441func (c *EC2) RevokeSecurityGroupIngress(input *RevokeSecurityGroupIngressInput) (*RevokeSecurityGroupIngressOutput, error) {
34442	req, out := c.RevokeSecurityGroupIngressRequest(input)
34443	return out, req.Send()
34444}
34445
34446// RevokeSecurityGroupIngressWithContext is the same as RevokeSecurityGroupIngress with the addition of
34447// the ability to pass a context and additional request options.
34448//
34449// See RevokeSecurityGroupIngress for details on how to use this API operation.
34450//
34451// The context must be non-nil and will be used for request cancellation. If
34452// the context is nil a panic will occur. In the future the SDK may create
34453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34454// for more information on using Contexts.
34455func (c *EC2) RevokeSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeSecurityGroupIngressInput, opts ...request.Option) (*RevokeSecurityGroupIngressOutput, error) {
34456	req, out := c.RevokeSecurityGroupIngressRequest(input)
34457	req.SetContext(ctx)
34458	req.ApplyOptions(opts...)
34459	return out, req.Send()
34460}
34461
34462const opRunInstances = "RunInstances"
34463
34464// RunInstancesRequest generates a "aws/request.Request" representing the
34465// client's request for the RunInstances operation. The "output" return
34466// value will be populated with the request's response once the request completes
34467// successfully.
34468//
34469// Use "Send" method on the returned Request to send the API call to the service.
34470// the "output" return value is not valid until after Send returns without error.
34471//
34472// See RunInstances for more information on using the RunInstances
34473// API call, and error handling.
34474//
34475// This method is useful when you want to inject custom logic or configuration
34476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34477//
34478//
34479//    // Example sending a request using the RunInstancesRequest method.
34480//    req, resp := client.RunInstancesRequest(params)
34481//
34482//    err := req.Send()
34483//    if err == nil { // resp is now filled
34484//        fmt.Println(resp)
34485//    }
34486//
34487// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
34488func (c *EC2) RunInstancesRequest(input *RunInstancesInput) (req *request.Request, output *Reservation) {
34489	op := &request.Operation{
34490		Name:       opRunInstances,
34491		HTTPMethod: "POST",
34492		HTTPPath:   "/",
34493	}
34494
34495	if input == nil {
34496		input = &RunInstancesInput{}
34497	}
34498
34499	output = &Reservation{}
34500	req = c.newRequest(op, input, output)
34501	return
34502}
34503
34504// RunInstances API operation for Amazon Elastic Compute Cloud.
34505//
34506// Launches the specified number of instances using an AMI for which you have
34507// permissions.
34508//
34509// You can specify a number of options, or leave the default options. The following
34510// rules apply:
34511//
34512//    * [EC2-VPC] If you don't specify a subnet ID, we choose a default subnet
34513//    from your default VPC for you. If you don't have a default VPC, you must
34514//    specify a subnet ID in the request.
34515//
34516//    * [EC2-Classic] If don't specify an Availability Zone, we choose one for
34517//    you.
34518//
34519//    * Some instance types must be launched into a VPC. If you do not have
34520//    a default VPC, or if you do not specify a subnet ID, the request fails.
34521//    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).
34522//
34523//    * [EC2-VPC] All instances have a network interface with a primary private
34524//    IPv4 address. If you don't specify this address, we choose one from the
34525//    IPv4 range of your subnet.
34526//
34527//    * Not all instance types support IPv6 addresses. For more information,
34528//    see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
34529//
34530//    * If you don't specify a security group ID, we use the default security
34531//    group. For more information, see Security Groups (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html).
34532//
34533//    * If any of the AMIs have a product code attached for which the user has
34534//    not subscribed, the request fails.
34535//
34536// You can create a launch template (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html),
34537// which is a resource that contains the parameters to launch an instance. When
34538// you launch an instance using RunInstances, you can specify the launch template
34539// instead of specifying the launch parameters.
34540//
34541// To ensure faster instance launches, break up large requests into smaller
34542// batches. For example, create five separate launch requests for 100 instances
34543// each instead of one launch request for 500 instances.
34544//
34545// An instance is ready for you to use when it's in the running state. You can
34546// check the state of your instance using DescribeInstances. You can tag instances
34547// and EBS volumes during launch, after launch, or both. For more information,
34548// see CreateTags and Tagging Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html).
34549//
34550// Linux instances have access to the public key of the key pair at boot. You
34551// can use this key to provide secure access to the instance. Amazon EC2 public
34552// images use this feature to provide secure access without passwords. For more
34553// information, see Key Pairs (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)
34554// in the Amazon Elastic Compute Cloud User Guide.
34555//
34556// For troubleshooting, see What To Do If An Instance Immediately Terminates
34557// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_InstanceStraightToTerminated.html),
34558// and Troubleshooting Connecting to Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html)
34559// in the Amazon Elastic Compute Cloud User Guide.
34560//
34561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34562// with awserr.Error's Code and Message methods to get detailed information about
34563// the error.
34564//
34565// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34566// API operation RunInstances for usage and error information.
34567// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunInstances
34568func (c *EC2) RunInstances(input *RunInstancesInput) (*Reservation, error) {
34569	req, out := c.RunInstancesRequest(input)
34570	return out, req.Send()
34571}
34572
34573// RunInstancesWithContext is the same as RunInstances with the addition of
34574// the ability to pass a context and additional request options.
34575//
34576// See RunInstances for details on how to use this API operation.
34577//
34578// The context must be non-nil and will be used for request cancellation. If
34579// the context is nil a panic will occur. In the future the SDK may create
34580// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34581// for more information on using Contexts.
34582func (c *EC2) RunInstancesWithContext(ctx aws.Context, input *RunInstancesInput, opts ...request.Option) (*Reservation, error) {
34583	req, out := c.RunInstancesRequest(input)
34584	req.SetContext(ctx)
34585	req.ApplyOptions(opts...)
34586	return out, req.Send()
34587}
34588
34589const opRunScheduledInstances = "RunScheduledInstances"
34590
34591// RunScheduledInstancesRequest generates a "aws/request.Request" representing the
34592// client's request for the RunScheduledInstances operation. The "output" return
34593// value will be populated with the request's response once the request completes
34594// successfully.
34595//
34596// Use "Send" method on the returned Request to send the API call to the service.
34597// the "output" return value is not valid until after Send returns without error.
34598//
34599// See RunScheduledInstances for more information on using the RunScheduledInstances
34600// API call, and error handling.
34601//
34602// This method is useful when you want to inject custom logic or configuration
34603// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34604//
34605//
34606//    // Example sending a request using the RunScheduledInstancesRequest method.
34607//    req, resp := client.RunScheduledInstancesRequest(params)
34608//
34609//    err := req.Send()
34610//    if err == nil { // resp is now filled
34611//        fmt.Println(resp)
34612//    }
34613//
34614// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
34615func (c *EC2) RunScheduledInstancesRequest(input *RunScheduledInstancesInput) (req *request.Request, output *RunScheduledInstancesOutput) {
34616	op := &request.Operation{
34617		Name:       opRunScheduledInstances,
34618		HTTPMethod: "POST",
34619		HTTPPath:   "/",
34620	}
34621
34622	if input == nil {
34623		input = &RunScheduledInstancesInput{}
34624	}
34625
34626	output = &RunScheduledInstancesOutput{}
34627	req = c.newRequest(op, input, output)
34628	return
34629}
34630
34631// RunScheduledInstances API operation for Amazon Elastic Compute Cloud.
34632//
34633// Launches the specified Scheduled Instances.
34634//
34635// Before you can launch a Scheduled Instance, you must purchase it and obtain
34636// an identifier using PurchaseScheduledInstances.
34637//
34638// You must launch a Scheduled Instance during its scheduled time period. You
34639// can't stop or reboot a Scheduled Instance, but you can terminate it as needed.
34640// If you terminate a Scheduled Instance before the current scheduled time period
34641// ends, you can launch it again after a few minutes. For more information,
34642// see Scheduled Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-scheduled-instances.html)
34643// in the Amazon Elastic Compute Cloud User Guide.
34644//
34645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34646// with awserr.Error's Code and Message methods to get detailed information about
34647// the error.
34648//
34649// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34650// API operation RunScheduledInstances for usage and error information.
34651// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/RunScheduledInstances
34652func (c *EC2) RunScheduledInstances(input *RunScheduledInstancesInput) (*RunScheduledInstancesOutput, error) {
34653	req, out := c.RunScheduledInstancesRequest(input)
34654	return out, req.Send()
34655}
34656
34657// RunScheduledInstancesWithContext is the same as RunScheduledInstances with the addition of
34658// the ability to pass a context and additional request options.
34659//
34660// See RunScheduledInstances for details on how to use this API operation.
34661//
34662// The context must be non-nil and will be used for request cancellation. If
34663// the context is nil a panic will occur. In the future the SDK may create
34664// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34665// for more information on using Contexts.
34666func (c *EC2) RunScheduledInstancesWithContext(ctx aws.Context, input *RunScheduledInstancesInput, opts ...request.Option) (*RunScheduledInstancesOutput, error) {
34667	req, out := c.RunScheduledInstancesRequest(input)
34668	req.SetContext(ctx)
34669	req.ApplyOptions(opts...)
34670	return out, req.Send()
34671}
34672
34673const opSearchLocalGatewayRoutes = "SearchLocalGatewayRoutes"
34674
34675// SearchLocalGatewayRoutesRequest generates a "aws/request.Request" representing the
34676// client's request for the SearchLocalGatewayRoutes operation. The "output" return
34677// value will be populated with the request's response once the request completes
34678// successfully.
34679//
34680// Use "Send" method on the returned Request to send the API call to the service.
34681// the "output" return value is not valid until after Send returns without error.
34682//
34683// See SearchLocalGatewayRoutes for more information on using the SearchLocalGatewayRoutes
34684// API call, and error handling.
34685//
34686// This method is useful when you want to inject custom logic or configuration
34687// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34688//
34689//
34690//    // Example sending a request using the SearchLocalGatewayRoutesRequest method.
34691//    req, resp := client.SearchLocalGatewayRoutesRequest(params)
34692//
34693//    err := req.Send()
34694//    if err == nil { // resp is now filled
34695//        fmt.Println(resp)
34696//    }
34697//
34698// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
34699func (c *EC2) SearchLocalGatewayRoutesRequest(input *SearchLocalGatewayRoutesInput) (req *request.Request, output *SearchLocalGatewayRoutesOutput) {
34700	op := &request.Operation{
34701		Name:       opSearchLocalGatewayRoutes,
34702		HTTPMethod: "POST",
34703		HTTPPath:   "/",
34704	}
34705
34706	if input == nil {
34707		input = &SearchLocalGatewayRoutesInput{}
34708	}
34709
34710	output = &SearchLocalGatewayRoutesOutput{}
34711	req = c.newRequest(op, input, output)
34712	return
34713}
34714
34715// SearchLocalGatewayRoutes API operation for Amazon Elastic Compute Cloud.
34716//
34717// Searches for routes in the specified local gateway route table.
34718//
34719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34720// with awserr.Error's Code and Message methods to get detailed information about
34721// the error.
34722//
34723// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34724// API operation SearchLocalGatewayRoutes for usage and error information.
34725// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchLocalGatewayRoutes
34726func (c *EC2) SearchLocalGatewayRoutes(input *SearchLocalGatewayRoutesInput) (*SearchLocalGatewayRoutesOutput, error) {
34727	req, out := c.SearchLocalGatewayRoutesRequest(input)
34728	return out, req.Send()
34729}
34730
34731// SearchLocalGatewayRoutesWithContext is the same as SearchLocalGatewayRoutes with the addition of
34732// the ability to pass a context and additional request options.
34733//
34734// See SearchLocalGatewayRoutes for details on how to use this API operation.
34735//
34736// The context must be non-nil and will be used for request cancellation. If
34737// the context is nil a panic will occur. In the future the SDK may create
34738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34739// for more information on using Contexts.
34740func (c *EC2) SearchLocalGatewayRoutesWithContext(ctx aws.Context, input *SearchLocalGatewayRoutesInput, opts ...request.Option) (*SearchLocalGatewayRoutesOutput, error) {
34741	req, out := c.SearchLocalGatewayRoutesRequest(input)
34742	req.SetContext(ctx)
34743	req.ApplyOptions(opts...)
34744	return out, req.Send()
34745}
34746
34747const opSearchTransitGatewayMulticastGroups = "SearchTransitGatewayMulticastGroups"
34748
34749// SearchTransitGatewayMulticastGroupsRequest generates a "aws/request.Request" representing the
34750// client's request for the SearchTransitGatewayMulticastGroups operation. The "output" return
34751// value will be populated with the request's response once the request completes
34752// successfully.
34753//
34754// Use "Send" method on the returned Request to send the API call to the service.
34755// the "output" return value is not valid until after Send returns without error.
34756//
34757// See SearchTransitGatewayMulticastGroups for more information on using the SearchTransitGatewayMulticastGroups
34758// API call, and error handling.
34759//
34760// This method is useful when you want to inject custom logic or configuration
34761// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34762//
34763//
34764//    // Example sending a request using the SearchTransitGatewayMulticastGroupsRequest method.
34765//    req, resp := client.SearchTransitGatewayMulticastGroupsRequest(params)
34766//
34767//    err := req.Send()
34768//    if err == nil { // resp is now filled
34769//        fmt.Println(resp)
34770//    }
34771//
34772// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
34773func (c *EC2) SearchTransitGatewayMulticastGroupsRequest(input *SearchTransitGatewayMulticastGroupsInput) (req *request.Request, output *SearchTransitGatewayMulticastGroupsOutput) {
34774	op := &request.Operation{
34775		Name:       opSearchTransitGatewayMulticastGroups,
34776		HTTPMethod: "POST",
34777		HTTPPath:   "/",
34778	}
34779
34780	if input == nil {
34781		input = &SearchTransitGatewayMulticastGroupsInput{}
34782	}
34783
34784	output = &SearchTransitGatewayMulticastGroupsOutput{}
34785	req = c.newRequest(op, input, output)
34786	return
34787}
34788
34789// SearchTransitGatewayMulticastGroups API operation for Amazon Elastic Compute Cloud.
34790//
34791// Searches one or more transit gateway multicast groups and returns the group
34792// membership information.
34793//
34794// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34795// with awserr.Error's Code and Message methods to get detailed information about
34796// the error.
34797//
34798// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34799// API operation SearchTransitGatewayMulticastGroups for usage and error information.
34800// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayMulticastGroups
34801func (c *EC2) SearchTransitGatewayMulticastGroups(input *SearchTransitGatewayMulticastGroupsInput) (*SearchTransitGatewayMulticastGroupsOutput, error) {
34802	req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
34803	return out, req.Send()
34804}
34805
34806// SearchTransitGatewayMulticastGroupsWithContext is the same as SearchTransitGatewayMulticastGroups with the addition of
34807// the ability to pass a context and additional request options.
34808//
34809// See SearchTransitGatewayMulticastGroups for details on how to use this API operation.
34810//
34811// The context must be non-nil and will be used for request cancellation. If
34812// the context is nil a panic will occur. In the future the SDK may create
34813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34814// for more information on using Contexts.
34815func (c *EC2) SearchTransitGatewayMulticastGroupsWithContext(ctx aws.Context, input *SearchTransitGatewayMulticastGroupsInput, opts ...request.Option) (*SearchTransitGatewayMulticastGroupsOutput, error) {
34816	req, out := c.SearchTransitGatewayMulticastGroupsRequest(input)
34817	req.SetContext(ctx)
34818	req.ApplyOptions(opts...)
34819	return out, req.Send()
34820}
34821
34822const opSearchTransitGatewayRoutes = "SearchTransitGatewayRoutes"
34823
34824// SearchTransitGatewayRoutesRequest generates a "aws/request.Request" representing the
34825// client's request for the SearchTransitGatewayRoutes operation. The "output" return
34826// value will be populated with the request's response once the request completes
34827// successfully.
34828//
34829// Use "Send" method on the returned Request to send the API call to the service.
34830// the "output" return value is not valid until after Send returns without error.
34831//
34832// See SearchTransitGatewayRoutes for more information on using the SearchTransitGatewayRoutes
34833// API call, and error handling.
34834//
34835// This method is useful when you want to inject custom logic or configuration
34836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34837//
34838//
34839//    // Example sending a request using the SearchTransitGatewayRoutesRequest method.
34840//    req, resp := client.SearchTransitGatewayRoutesRequest(params)
34841//
34842//    err := req.Send()
34843//    if err == nil { // resp is now filled
34844//        fmt.Println(resp)
34845//    }
34846//
34847// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
34848func (c *EC2) SearchTransitGatewayRoutesRequest(input *SearchTransitGatewayRoutesInput) (req *request.Request, output *SearchTransitGatewayRoutesOutput) {
34849	op := &request.Operation{
34850		Name:       opSearchTransitGatewayRoutes,
34851		HTTPMethod: "POST",
34852		HTTPPath:   "/",
34853	}
34854
34855	if input == nil {
34856		input = &SearchTransitGatewayRoutesInput{}
34857	}
34858
34859	output = &SearchTransitGatewayRoutesOutput{}
34860	req = c.newRequest(op, input, output)
34861	return
34862}
34863
34864// SearchTransitGatewayRoutes API operation for Amazon Elastic Compute Cloud.
34865//
34866// Searches for routes in the specified transit gateway route table.
34867//
34868// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34869// with awserr.Error's Code and Message methods to get detailed information about
34870// the error.
34871//
34872// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34873// API operation SearchTransitGatewayRoutes for usage and error information.
34874// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SearchTransitGatewayRoutes
34875func (c *EC2) SearchTransitGatewayRoutes(input *SearchTransitGatewayRoutesInput) (*SearchTransitGatewayRoutesOutput, error) {
34876	req, out := c.SearchTransitGatewayRoutesRequest(input)
34877	return out, req.Send()
34878}
34879
34880// SearchTransitGatewayRoutesWithContext is the same as SearchTransitGatewayRoutes with the addition of
34881// the ability to pass a context and additional request options.
34882//
34883// See SearchTransitGatewayRoutes for details on how to use this API operation.
34884//
34885// The context must be non-nil and will be used for request cancellation. If
34886// the context is nil a panic will occur. In the future the SDK may create
34887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34888// for more information on using Contexts.
34889func (c *EC2) SearchTransitGatewayRoutesWithContext(ctx aws.Context, input *SearchTransitGatewayRoutesInput, opts ...request.Option) (*SearchTransitGatewayRoutesOutput, error) {
34890	req, out := c.SearchTransitGatewayRoutesRequest(input)
34891	req.SetContext(ctx)
34892	req.ApplyOptions(opts...)
34893	return out, req.Send()
34894}
34895
34896const opSendDiagnosticInterrupt = "SendDiagnosticInterrupt"
34897
34898// SendDiagnosticInterruptRequest generates a "aws/request.Request" representing the
34899// client's request for the SendDiagnosticInterrupt operation. The "output" return
34900// value will be populated with the request's response once the request completes
34901// successfully.
34902//
34903// Use "Send" method on the returned Request to send the API call to the service.
34904// the "output" return value is not valid until after Send returns without error.
34905//
34906// See SendDiagnosticInterrupt for more information on using the SendDiagnosticInterrupt
34907// API call, and error handling.
34908//
34909// This method is useful when you want to inject custom logic or configuration
34910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
34911//
34912//
34913//    // Example sending a request using the SendDiagnosticInterruptRequest method.
34914//    req, resp := client.SendDiagnosticInterruptRequest(params)
34915//
34916//    err := req.Send()
34917//    if err == nil { // resp is now filled
34918//        fmt.Println(resp)
34919//    }
34920//
34921// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
34922func (c *EC2) SendDiagnosticInterruptRequest(input *SendDiagnosticInterruptInput) (req *request.Request, output *SendDiagnosticInterruptOutput) {
34923	op := &request.Operation{
34924		Name:       opSendDiagnosticInterrupt,
34925		HTTPMethod: "POST",
34926		HTTPPath:   "/",
34927	}
34928
34929	if input == nil {
34930		input = &SendDiagnosticInterruptInput{}
34931	}
34932
34933	output = &SendDiagnosticInterruptOutput{}
34934	req = c.newRequest(op, input, output)
34935	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
34936	return
34937}
34938
34939// SendDiagnosticInterrupt API operation for Amazon Elastic Compute Cloud.
34940//
34941// Sends a diagnostic interrupt to the specified Amazon EC2 instance to trigger
34942// a kernel panic (on Linux instances), or a blue screen/stop error (on Windows
34943// instances). For instances based on Intel and AMD processors, the interrupt
34944// is received as a non-maskable interrupt (NMI).
34945//
34946// In general, the operating system crashes and reboots when a kernel panic
34947// or stop error is triggered. The operating system can also be configured to
34948// perform diagnostic tasks, such as generating a memory dump file, loading
34949// a secondary kernel, or obtaining a call trace.
34950//
34951// Before sending a diagnostic interrupt to your instance, ensure that its operating
34952// system is configured to perform the required diagnostic tasks.
34953//
34954// For more information about configuring your operating system to generate
34955// a crash dump when a kernel panic or stop error occurs, see Send a Diagnostic
34956// Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/diagnostic-interrupt.html)
34957// (Linux instances) or Send a Diagnostic Interrupt (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/diagnostic-interrupt.html)
34958// (Windows instances).
34959//
34960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
34961// with awserr.Error's Code and Message methods to get detailed information about
34962// the error.
34963//
34964// See the AWS API reference guide for Amazon Elastic Compute Cloud's
34965// API operation SendDiagnosticInterrupt for usage and error information.
34966// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SendDiagnosticInterrupt
34967func (c *EC2) SendDiagnosticInterrupt(input *SendDiagnosticInterruptInput) (*SendDiagnosticInterruptOutput, error) {
34968	req, out := c.SendDiagnosticInterruptRequest(input)
34969	return out, req.Send()
34970}
34971
34972// SendDiagnosticInterruptWithContext is the same as SendDiagnosticInterrupt with the addition of
34973// the ability to pass a context and additional request options.
34974//
34975// See SendDiagnosticInterrupt for details on how to use this API operation.
34976//
34977// The context must be non-nil and will be used for request cancellation. If
34978// the context is nil a panic will occur. In the future the SDK may create
34979// sub-contexts for http.Requests. See https://golang.org/pkg/context/
34980// for more information on using Contexts.
34981func (c *EC2) SendDiagnosticInterruptWithContext(ctx aws.Context, input *SendDiagnosticInterruptInput, opts ...request.Option) (*SendDiagnosticInterruptOutput, error) {
34982	req, out := c.SendDiagnosticInterruptRequest(input)
34983	req.SetContext(ctx)
34984	req.ApplyOptions(opts...)
34985	return out, req.Send()
34986}
34987
34988const opStartInstances = "StartInstances"
34989
34990// StartInstancesRequest generates a "aws/request.Request" representing the
34991// client's request for the StartInstances operation. The "output" return
34992// value will be populated with the request's response once the request completes
34993// successfully.
34994//
34995// Use "Send" method on the returned Request to send the API call to the service.
34996// the "output" return value is not valid until after Send returns without error.
34997//
34998// See StartInstances for more information on using the StartInstances
34999// API call, and error handling.
35000//
35001// This method is useful when you want to inject custom logic or configuration
35002// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35003//
35004//
35005//    // Example sending a request using the StartInstancesRequest method.
35006//    req, resp := client.StartInstancesRequest(params)
35007//
35008//    err := req.Send()
35009//    if err == nil { // resp is now filled
35010//        fmt.Println(resp)
35011//    }
35012//
35013// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
35014func (c *EC2) StartInstancesRequest(input *StartInstancesInput) (req *request.Request, output *StartInstancesOutput) {
35015	op := &request.Operation{
35016		Name:       opStartInstances,
35017		HTTPMethod: "POST",
35018		HTTPPath:   "/",
35019	}
35020
35021	if input == nil {
35022		input = &StartInstancesInput{}
35023	}
35024
35025	output = &StartInstancesOutput{}
35026	req = c.newRequest(op, input, output)
35027	return
35028}
35029
35030// StartInstances API operation for Amazon Elastic Compute Cloud.
35031//
35032// Starts an Amazon EBS-backed instance that you've previously stopped.
35033//
35034// Instances that use Amazon EBS volumes as their root devices can be quickly
35035// stopped and started. When an instance is stopped, the compute resources are
35036// released and you are not billed for instance usage. However, your root partition
35037// Amazon EBS volume remains and continues to persist your data, and you are
35038// charged for Amazon EBS volume usage. You can restart your instance at any
35039// time. Every time you start your Windows instance, Amazon EC2 charges you
35040// for a full instance hour. If you stop and restart your Windows instance,
35041// a new instance hour begins and Amazon EC2 charges you for another full instance
35042// hour even if you are still within the same 60-minute period when it was stopped.
35043// Every time you start your Linux instance, Amazon EC2 charges a one-minute
35044// minimum for instance usage, and thereafter charges per second for instance
35045// usage.
35046//
35047// Before stopping an instance, make sure it is in a state from which it can
35048// be restarted. Stopping an instance does not preserve data stored in RAM.
35049//
35050// Performing this operation on an instance that uses an instance store as its
35051// root device returns an error.
35052//
35053// For more information, see Stopping Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)
35054// in the Amazon Elastic Compute Cloud User Guide.
35055//
35056// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35057// with awserr.Error's Code and Message methods to get detailed information about
35058// the error.
35059//
35060// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35061// API operation StartInstances for usage and error information.
35062// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StartInstances
35063func (c *EC2) StartInstances(input *StartInstancesInput) (*StartInstancesOutput, error) {
35064	req, out := c.StartInstancesRequest(input)
35065	return out, req.Send()
35066}
35067
35068// StartInstancesWithContext is the same as StartInstances with the addition of
35069// the ability to pass a context and additional request options.
35070//
35071// See StartInstances for details on how to use this API operation.
35072//
35073// The context must be non-nil and will be used for request cancellation. If
35074// the context is nil a panic will occur. In the future the SDK may create
35075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35076// for more information on using Contexts.
35077func (c *EC2) StartInstancesWithContext(ctx aws.Context, input *StartInstancesInput, opts ...request.Option) (*StartInstancesOutput, error) {
35078	req, out := c.StartInstancesRequest(input)
35079	req.SetContext(ctx)
35080	req.ApplyOptions(opts...)
35081	return out, req.Send()
35082}
35083
35084const opStopInstances = "StopInstances"
35085
35086// StopInstancesRequest generates a "aws/request.Request" representing the
35087// client's request for the StopInstances operation. The "output" return
35088// value will be populated with the request's response once the request completes
35089// successfully.
35090//
35091// Use "Send" method on the returned Request to send the API call to the service.
35092// the "output" return value is not valid until after Send returns without error.
35093//
35094// See StopInstances for more information on using the StopInstances
35095// API call, and error handling.
35096//
35097// This method is useful when you want to inject custom logic or configuration
35098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35099//
35100//
35101//    // Example sending a request using the StopInstancesRequest method.
35102//    req, resp := client.StopInstancesRequest(params)
35103//
35104//    err := req.Send()
35105//    if err == nil { // resp is now filled
35106//        fmt.Println(resp)
35107//    }
35108//
35109// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
35110func (c *EC2) StopInstancesRequest(input *StopInstancesInput) (req *request.Request, output *StopInstancesOutput) {
35111	op := &request.Operation{
35112		Name:       opStopInstances,
35113		HTTPMethod: "POST",
35114		HTTPPath:   "/",
35115	}
35116
35117	if input == nil {
35118		input = &StopInstancesInput{}
35119	}
35120
35121	output = &StopInstancesOutput{}
35122	req = c.newRequest(op, input, output)
35123	return
35124}
35125
35126// StopInstances API operation for Amazon Elastic Compute Cloud.
35127//
35128// Stops an Amazon EBS-backed instance.
35129//
35130// You can use the Stop action to hibernate an instance if the instance is enabled
35131// for hibernation (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#enabling-hibernation)
35132// and it meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
35133// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
35134// in the Amazon Elastic Compute Cloud User Guide.
35135//
35136// We don't charge usage for a stopped instance, or data transfer fees; however,
35137// your root partition Amazon EBS volume remains and continues to persist your
35138// data, and you are charged for Amazon EBS volume usage. Every time you start
35139// your Windows instance, Amazon EC2 charges you for a full instance hour. If
35140// you stop and restart your Windows instance, a new instance hour begins and
35141// Amazon EC2 charges you for another full instance hour even if you are still
35142// within the same 60-minute period when it was stopped. Every time you start
35143// your Linux instance, Amazon EC2 charges a one-minute minimum for instance
35144// usage, and thereafter charges per second for instance usage.
35145//
35146// You can't start, stop, or hibernate Spot Instances, and you can't stop or
35147// hibernate instance store-backed instances. For information about using hibernation
35148// for Spot Instances, see Hibernating Interrupted Spot Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-interruptions.html#hibernate-spot-instances)
35149// in the Amazon Elastic Compute Cloud User Guide.
35150//
35151// When you stop or hibernate an instance, we shut it down. You can restart
35152// your instance at any time. Before stopping or hibernating an instance, make
35153// sure it is in a state from which it can be restarted. Stopping an instance
35154// does not preserve data stored in RAM, but hibernating an instance does preserve
35155// data stored in RAM. If an instance cannot hibernate successfully, a normal
35156// shutdown occurs.
35157//
35158// Stopping and hibernating an instance is different to rebooting or terminating
35159// it. For example, when you stop or hibernate an instance, the root device
35160// and any other devices attached to the instance persist. When you terminate
35161// an instance, the root device and any other devices attached during the instance
35162// launch are automatically deleted. For more information about the differences
35163// between rebooting, stopping, hibernating, and terminating instances, see
35164// Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
35165// in the Amazon Elastic Compute Cloud User Guide.
35166//
35167// When you stop an instance, we attempt to shut it down forcibly after a short
35168// while. If your instance appears stuck in the stopping state after a period
35169// of time, there may be an issue with the underlying host computer. For more
35170// information, see Troubleshooting Stopping Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesStopping.html)
35171// in the Amazon Elastic Compute Cloud User Guide.
35172//
35173// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35174// with awserr.Error's Code and Message methods to get detailed information about
35175// the error.
35176//
35177// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35178// API operation StopInstances for usage and error information.
35179// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/StopInstances
35180func (c *EC2) StopInstances(input *StopInstancesInput) (*StopInstancesOutput, error) {
35181	req, out := c.StopInstancesRequest(input)
35182	return out, req.Send()
35183}
35184
35185// StopInstancesWithContext is the same as StopInstances with the addition of
35186// the ability to pass a context and additional request options.
35187//
35188// See StopInstances for details on how to use this API operation.
35189//
35190// The context must be non-nil and will be used for request cancellation. If
35191// the context is nil a panic will occur. In the future the SDK may create
35192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35193// for more information on using Contexts.
35194func (c *EC2) StopInstancesWithContext(ctx aws.Context, input *StopInstancesInput, opts ...request.Option) (*StopInstancesOutput, error) {
35195	req, out := c.StopInstancesRequest(input)
35196	req.SetContext(ctx)
35197	req.ApplyOptions(opts...)
35198	return out, req.Send()
35199}
35200
35201const opTerminateClientVpnConnections = "TerminateClientVpnConnections"
35202
35203// TerminateClientVpnConnectionsRequest generates a "aws/request.Request" representing the
35204// client's request for the TerminateClientVpnConnections operation. The "output" return
35205// value will be populated with the request's response once the request completes
35206// successfully.
35207//
35208// Use "Send" method on the returned Request to send the API call to the service.
35209// the "output" return value is not valid until after Send returns without error.
35210//
35211// See TerminateClientVpnConnections for more information on using the TerminateClientVpnConnections
35212// API call, and error handling.
35213//
35214// This method is useful when you want to inject custom logic or configuration
35215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35216//
35217//
35218//    // Example sending a request using the TerminateClientVpnConnectionsRequest method.
35219//    req, resp := client.TerminateClientVpnConnectionsRequest(params)
35220//
35221//    err := req.Send()
35222//    if err == nil { // resp is now filled
35223//        fmt.Println(resp)
35224//    }
35225//
35226// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
35227func (c *EC2) TerminateClientVpnConnectionsRequest(input *TerminateClientVpnConnectionsInput) (req *request.Request, output *TerminateClientVpnConnectionsOutput) {
35228	op := &request.Operation{
35229		Name:       opTerminateClientVpnConnections,
35230		HTTPMethod: "POST",
35231		HTTPPath:   "/",
35232	}
35233
35234	if input == nil {
35235		input = &TerminateClientVpnConnectionsInput{}
35236	}
35237
35238	output = &TerminateClientVpnConnectionsOutput{}
35239	req = c.newRequest(op, input, output)
35240	return
35241}
35242
35243// TerminateClientVpnConnections API operation for Amazon Elastic Compute Cloud.
35244//
35245// Terminates active Client VPN endpoint connections. This action can be used
35246// to terminate a specific client connection, or up to five connections established
35247// by a specific user.
35248//
35249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35250// with awserr.Error's Code and Message methods to get detailed information about
35251// the error.
35252//
35253// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35254// API operation TerminateClientVpnConnections for usage and error information.
35255// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateClientVpnConnections
35256func (c *EC2) TerminateClientVpnConnections(input *TerminateClientVpnConnectionsInput) (*TerminateClientVpnConnectionsOutput, error) {
35257	req, out := c.TerminateClientVpnConnectionsRequest(input)
35258	return out, req.Send()
35259}
35260
35261// TerminateClientVpnConnectionsWithContext is the same as TerminateClientVpnConnections with the addition of
35262// the ability to pass a context and additional request options.
35263//
35264// See TerminateClientVpnConnections for details on how to use this API operation.
35265//
35266// The context must be non-nil and will be used for request cancellation. If
35267// the context is nil a panic will occur. In the future the SDK may create
35268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35269// for more information on using Contexts.
35270func (c *EC2) TerminateClientVpnConnectionsWithContext(ctx aws.Context, input *TerminateClientVpnConnectionsInput, opts ...request.Option) (*TerminateClientVpnConnectionsOutput, error) {
35271	req, out := c.TerminateClientVpnConnectionsRequest(input)
35272	req.SetContext(ctx)
35273	req.ApplyOptions(opts...)
35274	return out, req.Send()
35275}
35276
35277const opTerminateInstances = "TerminateInstances"
35278
35279// TerminateInstancesRequest generates a "aws/request.Request" representing the
35280// client's request for the TerminateInstances operation. The "output" return
35281// value will be populated with the request's response once the request completes
35282// successfully.
35283//
35284// Use "Send" method on the returned Request to send the API call to the service.
35285// the "output" return value is not valid until after Send returns without error.
35286//
35287// See TerminateInstances for more information on using the TerminateInstances
35288// API call, and error handling.
35289//
35290// This method is useful when you want to inject custom logic or configuration
35291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35292//
35293//
35294//    // Example sending a request using the TerminateInstancesRequest method.
35295//    req, resp := client.TerminateInstancesRequest(params)
35296//
35297//    err := req.Send()
35298//    if err == nil { // resp is now filled
35299//        fmt.Println(resp)
35300//    }
35301//
35302// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
35303func (c *EC2) TerminateInstancesRequest(input *TerminateInstancesInput) (req *request.Request, output *TerminateInstancesOutput) {
35304	op := &request.Operation{
35305		Name:       opTerminateInstances,
35306		HTTPMethod: "POST",
35307		HTTPPath:   "/",
35308	}
35309
35310	if input == nil {
35311		input = &TerminateInstancesInput{}
35312	}
35313
35314	output = &TerminateInstancesOutput{}
35315	req = c.newRequest(op, input, output)
35316	return
35317}
35318
35319// TerminateInstances API operation for Amazon Elastic Compute Cloud.
35320//
35321// Shuts down the specified instances. This operation is idempotent; if you
35322// terminate an instance more than once, each call succeeds.
35323//
35324// If you specify multiple instances and the request fails (for example, because
35325// of a single incorrect instance ID), none of the instances are terminated.
35326//
35327// Terminated instances remain visible after termination (for approximately
35328// one hour).
35329//
35330// By default, Amazon EC2 deletes all EBS volumes that were attached when the
35331// instance launched. Volumes attached after instance launch continue running.
35332//
35333// You can stop, start, and terminate EBS-backed instances. You can only terminate
35334// instance store-backed instances. What happens to an instance differs if you
35335// stop it or terminate it. For example, when you stop an instance, the root
35336// device and any other devices attached to the instance persist. When you terminate
35337// an instance, any attached EBS volumes with the DeleteOnTermination block
35338// device mapping parameter set to true are automatically deleted. For more
35339// information about the differences between stopping and terminating instances,
35340// see Instance Lifecycle (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)
35341// in the Amazon Elastic Compute Cloud User Guide.
35342//
35343// For more information about troubleshooting, see Troubleshooting Terminating
35344// Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesShuttingDown.html)
35345// in the Amazon Elastic Compute Cloud User Guide.
35346//
35347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35348// with awserr.Error's Code and Message methods to get detailed information about
35349// the error.
35350//
35351// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35352// API operation TerminateInstances for usage and error information.
35353// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/TerminateInstances
35354func (c *EC2) TerminateInstances(input *TerminateInstancesInput) (*TerminateInstancesOutput, error) {
35355	req, out := c.TerminateInstancesRequest(input)
35356	return out, req.Send()
35357}
35358
35359// TerminateInstancesWithContext is the same as TerminateInstances with the addition of
35360// the ability to pass a context and additional request options.
35361//
35362// See TerminateInstances for details on how to use this API operation.
35363//
35364// The context must be non-nil and will be used for request cancellation. If
35365// the context is nil a panic will occur. In the future the SDK may create
35366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35367// for more information on using Contexts.
35368func (c *EC2) TerminateInstancesWithContext(ctx aws.Context, input *TerminateInstancesInput, opts ...request.Option) (*TerminateInstancesOutput, error) {
35369	req, out := c.TerminateInstancesRequest(input)
35370	req.SetContext(ctx)
35371	req.ApplyOptions(opts...)
35372	return out, req.Send()
35373}
35374
35375const opUnassignIpv6Addresses = "UnassignIpv6Addresses"
35376
35377// UnassignIpv6AddressesRequest generates a "aws/request.Request" representing the
35378// client's request for the UnassignIpv6Addresses operation. The "output" return
35379// value will be populated with the request's response once the request completes
35380// successfully.
35381//
35382// Use "Send" method on the returned Request to send the API call to the service.
35383// the "output" return value is not valid until after Send returns without error.
35384//
35385// See UnassignIpv6Addresses for more information on using the UnassignIpv6Addresses
35386// API call, and error handling.
35387//
35388// This method is useful when you want to inject custom logic or configuration
35389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35390//
35391//
35392//    // Example sending a request using the UnassignIpv6AddressesRequest method.
35393//    req, resp := client.UnassignIpv6AddressesRequest(params)
35394//
35395//    err := req.Send()
35396//    if err == nil { // resp is now filled
35397//        fmt.Println(resp)
35398//    }
35399//
35400// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
35401func (c *EC2) UnassignIpv6AddressesRequest(input *UnassignIpv6AddressesInput) (req *request.Request, output *UnassignIpv6AddressesOutput) {
35402	op := &request.Operation{
35403		Name:       opUnassignIpv6Addresses,
35404		HTTPMethod: "POST",
35405		HTTPPath:   "/",
35406	}
35407
35408	if input == nil {
35409		input = &UnassignIpv6AddressesInput{}
35410	}
35411
35412	output = &UnassignIpv6AddressesOutput{}
35413	req = c.newRequest(op, input, output)
35414	return
35415}
35416
35417// UnassignIpv6Addresses API operation for Amazon Elastic Compute Cloud.
35418//
35419// Unassigns one or more IPv6 addresses from a network interface.
35420//
35421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35422// with awserr.Error's Code and Message methods to get detailed information about
35423// the error.
35424//
35425// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35426// API operation UnassignIpv6Addresses for usage and error information.
35427// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignIpv6Addresses
35428func (c *EC2) UnassignIpv6Addresses(input *UnassignIpv6AddressesInput) (*UnassignIpv6AddressesOutput, error) {
35429	req, out := c.UnassignIpv6AddressesRequest(input)
35430	return out, req.Send()
35431}
35432
35433// UnassignIpv6AddressesWithContext is the same as UnassignIpv6Addresses with the addition of
35434// the ability to pass a context and additional request options.
35435//
35436// See UnassignIpv6Addresses for details on how to use this API operation.
35437//
35438// The context must be non-nil and will be used for request cancellation. If
35439// the context is nil a panic will occur. In the future the SDK may create
35440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35441// for more information on using Contexts.
35442func (c *EC2) UnassignIpv6AddressesWithContext(ctx aws.Context, input *UnassignIpv6AddressesInput, opts ...request.Option) (*UnassignIpv6AddressesOutput, error) {
35443	req, out := c.UnassignIpv6AddressesRequest(input)
35444	req.SetContext(ctx)
35445	req.ApplyOptions(opts...)
35446	return out, req.Send()
35447}
35448
35449const opUnassignPrivateIpAddresses = "UnassignPrivateIpAddresses"
35450
35451// UnassignPrivateIpAddressesRequest generates a "aws/request.Request" representing the
35452// client's request for the UnassignPrivateIpAddresses operation. The "output" return
35453// value will be populated with the request's response once the request completes
35454// successfully.
35455//
35456// Use "Send" method on the returned Request to send the API call to the service.
35457// the "output" return value is not valid until after Send returns without error.
35458//
35459// See UnassignPrivateIpAddresses for more information on using the UnassignPrivateIpAddresses
35460// API call, and error handling.
35461//
35462// This method is useful when you want to inject custom logic or configuration
35463// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35464//
35465//
35466//    // Example sending a request using the UnassignPrivateIpAddressesRequest method.
35467//    req, resp := client.UnassignPrivateIpAddressesRequest(params)
35468//
35469//    err := req.Send()
35470//    if err == nil { // resp is now filled
35471//        fmt.Println(resp)
35472//    }
35473//
35474// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
35475func (c *EC2) UnassignPrivateIpAddressesRequest(input *UnassignPrivateIpAddressesInput) (req *request.Request, output *UnassignPrivateIpAddressesOutput) {
35476	op := &request.Operation{
35477		Name:       opUnassignPrivateIpAddresses,
35478		HTTPMethod: "POST",
35479		HTTPPath:   "/",
35480	}
35481
35482	if input == nil {
35483		input = &UnassignPrivateIpAddressesInput{}
35484	}
35485
35486	output = &UnassignPrivateIpAddressesOutput{}
35487	req = c.newRequest(op, input, output)
35488	req.Handlers.Unmarshal.Swap(ec2query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
35489	return
35490}
35491
35492// UnassignPrivateIpAddresses API operation for Amazon Elastic Compute Cloud.
35493//
35494// Unassigns one or more secondary private IP addresses from a network interface.
35495//
35496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35497// with awserr.Error's Code and Message methods to get detailed information about
35498// the error.
35499//
35500// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35501// API operation UnassignPrivateIpAddresses for usage and error information.
35502// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnassignPrivateIpAddresses
35503func (c *EC2) UnassignPrivateIpAddresses(input *UnassignPrivateIpAddressesInput) (*UnassignPrivateIpAddressesOutput, error) {
35504	req, out := c.UnassignPrivateIpAddressesRequest(input)
35505	return out, req.Send()
35506}
35507
35508// UnassignPrivateIpAddressesWithContext is the same as UnassignPrivateIpAddresses with the addition of
35509// the ability to pass a context and additional request options.
35510//
35511// See UnassignPrivateIpAddresses for details on how to use this API operation.
35512//
35513// The context must be non-nil and will be used for request cancellation. If
35514// the context is nil a panic will occur. In the future the SDK may create
35515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35516// for more information on using Contexts.
35517func (c *EC2) UnassignPrivateIpAddressesWithContext(ctx aws.Context, input *UnassignPrivateIpAddressesInput, opts ...request.Option) (*UnassignPrivateIpAddressesOutput, error) {
35518	req, out := c.UnassignPrivateIpAddressesRequest(input)
35519	req.SetContext(ctx)
35520	req.ApplyOptions(opts...)
35521	return out, req.Send()
35522}
35523
35524const opUnmonitorInstances = "UnmonitorInstances"
35525
35526// UnmonitorInstancesRequest generates a "aws/request.Request" representing the
35527// client's request for the UnmonitorInstances operation. The "output" return
35528// value will be populated with the request's response once the request completes
35529// successfully.
35530//
35531// Use "Send" method on the returned Request to send the API call to the service.
35532// the "output" return value is not valid until after Send returns without error.
35533//
35534// See UnmonitorInstances for more information on using the UnmonitorInstances
35535// API call, and error handling.
35536//
35537// This method is useful when you want to inject custom logic or configuration
35538// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35539//
35540//
35541//    // Example sending a request using the UnmonitorInstancesRequest method.
35542//    req, resp := client.UnmonitorInstancesRequest(params)
35543//
35544//    err := req.Send()
35545//    if err == nil { // resp is now filled
35546//        fmt.Println(resp)
35547//    }
35548//
35549// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
35550func (c *EC2) UnmonitorInstancesRequest(input *UnmonitorInstancesInput) (req *request.Request, output *UnmonitorInstancesOutput) {
35551	op := &request.Operation{
35552		Name:       opUnmonitorInstances,
35553		HTTPMethod: "POST",
35554		HTTPPath:   "/",
35555	}
35556
35557	if input == nil {
35558		input = &UnmonitorInstancesInput{}
35559	}
35560
35561	output = &UnmonitorInstancesOutput{}
35562	req = c.newRequest(op, input, output)
35563	return
35564}
35565
35566// UnmonitorInstances API operation for Amazon Elastic Compute Cloud.
35567//
35568// Disables detailed monitoring for a running instance. For more information,
35569// see Monitoring Your Instances and Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html)
35570// in the Amazon Elastic Compute Cloud User Guide.
35571//
35572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35573// with awserr.Error's Code and Message methods to get detailed information about
35574// the error.
35575//
35576// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35577// API operation UnmonitorInstances for usage and error information.
35578// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UnmonitorInstances
35579func (c *EC2) UnmonitorInstances(input *UnmonitorInstancesInput) (*UnmonitorInstancesOutput, error) {
35580	req, out := c.UnmonitorInstancesRequest(input)
35581	return out, req.Send()
35582}
35583
35584// UnmonitorInstancesWithContext is the same as UnmonitorInstances with the addition of
35585// the ability to pass a context and additional request options.
35586//
35587// See UnmonitorInstances for details on how to use this API operation.
35588//
35589// The context must be non-nil and will be used for request cancellation. If
35590// the context is nil a panic will occur. In the future the SDK may create
35591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35592// for more information on using Contexts.
35593func (c *EC2) UnmonitorInstancesWithContext(ctx aws.Context, input *UnmonitorInstancesInput, opts ...request.Option) (*UnmonitorInstancesOutput, error) {
35594	req, out := c.UnmonitorInstancesRequest(input)
35595	req.SetContext(ctx)
35596	req.ApplyOptions(opts...)
35597	return out, req.Send()
35598}
35599
35600const opUpdateSecurityGroupRuleDescriptionsEgress = "UpdateSecurityGroupRuleDescriptionsEgress"
35601
35602// UpdateSecurityGroupRuleDescriptionsEgressRequest generates a "aws/request.Request" representing the
35603// client's request for the UpdateSecurityGroupRuleDescriptionsEgress operation. The "output" return
35604// value will be populated with the request's response once the request completes
35605// successfully.
35606//
35607// Use "Send" method on the returned Request to send the API call to the service.
35608// the "output" return value is not valid until after Send returns without error.
35609//
35610// See UpdateSecurityGroupRuleDescriptionsEgress for more information on using the UpdateSecurityGroupRuleDescriptionsEgress
35611// API call, and error handling.
35612//
35613// This method is useful when you want to inject custom logic or configuration
35614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35615//
35616//
35617//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsEgressRequest method.
35618//    req, resp := client.UpdateSecurityGroupRuleDescriptionsEgressRequest(params)
35619//
35620//    err := req.Send()
35621//    if err == nil { // resp is now filled
35622//        fmt.Println(resp)
35623//    }
35624//
35625// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
35626func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressRequest(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsEgressOutput) {
35627	op := &request.Operation{
35628		Name:       opUpdateSecurityGroupRuleDescriptionsEgress,
35629		HTTPMethod: "POST",
35630		HTTPPath:   "/",
35631	}
35632
35633	if input == nil {
35634		input = &UpdateSecurityGroupRuleDescriptionsEgressInput{}
35635	}
35636
35637	output = &UpdateSecurityGroupRuleDescriptionsEgressOutput{}
35638	req = c.newRequest(op, input, output)
35639	return
35640}
35641
35642// UpdateSecurityGroupRuleDescriptionsEgress API operation for Amazon Elastic Compute Cloud.
35643//
35644// [VPC only] Updates the description of an egress (outbound) security group
35645// rule. You can replace an existing description, or add a description to a
35646// rule that did not have one previously.
35647//
35648// You specify the description as part of the IP permissions structure. You
35649// can remove a description for a security group rule by omitting the description
35650// parameter in the request.
35651//
35652// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35653// with awserr.Error's Code and Message methods to get detailed information about
35654// the error.
35655//
35656// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35657// API operation UpdateSecurityGroupRuleDescriptionsEgress for usage and error information.
35658// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsEgress
35659func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgress(input *UpdateSecurityGroupRuleDescriptionsEgressInput) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
35660	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
35661	return out, req.Send()
35662}
35663
35664// UpdateSecurityGroupRuleDescriptionsEgressWithContext is the same as UpdateSecurityGroupRuleDescriptionsEgress with the addition of
35665// the ability to pass a context and additional request options.
35666//
35667// See UpdateSecurityGroupRuleDescriptionsEgress for details on how to use this API operation.
35668//
35669// The context must be non-nil and will be used for request cancellation. If
35670// the context is nil a panic will occur. In the future the SDK may create
35671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35672// for more information on using Contexts.
35673func (c *EC2) UpdateSecurityGroupRuleDescriptionsEgressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsEgressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsEgressOutput, error) {
35674	req, out := c.UpdateSecurityGroupRuleDescriptionsEgressRequest(input)
35675	req.SetContext(ctx)
35676	req.ApplyOptions(opts...)
35677	return out, req.Send()
35678}
35679
35680const opUpdateSecurityGroupRuleDescriptionsIngress = "UpdateSecurityGroupRuleDescriptionsIngress"
35681
35682// UpdateSecurityGroupRuleDescriptionsIngressRequest generates a "aws/request.Request" representing the
35683// client's request for the UpdateSecurityGroupRuleDescriptionsIngress operation. The "output" return
35684// value will be populated with the request's response once the request completes
35685// successfully.
35686//
35687// Use "Send" method on the returned Request to send the API call to the service.
35688// the "output" return value is not valid until after Send returns without error.
35689//
35690// See UpdateSecurityGroupRuleDescriptionsIngress for more information on using the UpdateSecurityGroupRuleDescriptionsIngress
35691// API call, and error handling.
35692//
35693// This method is useful when you want to inject custom logic or configuration
35694// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35695//
35696//
35697//    // Example sending a request using the UpdateSecurityGroupRuleDescriptionsIngressRequest method.
35698//    req, resp := client.UpdateSecurityGroupRuleDescriptionsIngressRequest(params)
35699//
35700//    err := req.Send()
35701//    if err == nil { // resp is now filled
35702//        fmt.Println(resp)
35703//    }
35704//
35705// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
35706func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressRequest(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (req *request.Request, output *UpdateSecurityGroupRuleDescriptionsIngressOutput) {
35707	op := &request.Operation{
35708		Name:       opUpdateSecurityGroupRuleDescriptionsIngress,
35709		HTTPMethod: "POST",
35710		HTTPPath:   "/",
35711	}
35712
35713	if input == nil {
35714		input = &UpdateSecurityGroupRuleDescriptionsIngressInput{}
35715	}
35716
35717	output = &UpdateSecurityGroupRuleDescriptionsIngressOutput{}
35718	req = c.newRequest(op, input, output)
35719	return
35720}
35721
35722// UpdateSecurityGroupRuleDescriptionsIngress API operation for Amazon Elastic Compute Cloud.
35723//
35724// Updates the description of an ingress (inbound) security group rule. You
35725// can replace an existing description, or add a description to a rule that
35726// did not have one previously.
35727//
35728// You specify the description as part of the IP permissions structure. You
35729// can remove a description for a security group rule by omitting the description
35730// parameter in the request.
35731//
35732// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35733// with awserr.Error's Code and Message methods to get detailed information about
35734// the error.
35735//
35736// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35737// API operation UpdateSecurityGroupRuleDescriptionsIngress for usage and error information.
35738// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/UpdateSecurityGroupRuleDescriptionsIngress
35739func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngress(input *UpdateSecurityGroupRuleDescriptionsIngressInput) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
35740	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
35741	return out, req.Send()
35742}
35743
35744// UpdateSecurityGroupRuleDescriptionsIngressWithContext is the same as UpdateSecurityGroupRuleDescriptionsIngress with the addition of
35745// the ability to pass a context and additional request options.
35746//
35747// See UpdateSecurityGroupRuleDescriptionsIngress for details on how to use this API operation.
35748//
35749// The context must be non-nil and will be used for request cancellation. If
35750// the context is nil a panic will occur. In the future the SDK may create
35751// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35752// for more information on using Contexts.
35753func (c *EC2) UpdateSecurityGroupRuleDescriptionsIngressWithContext(ctx aws.Context, input *UpdateSecurityGroupRuleDescriptionsIngressInput, opts ...request.Option) (*UpdateSecurityGroupRuleDescriptionsIngressOutput, error) {
35754	req, out := c.UpdateSecurityGroupRuleDescriptionsIngressRequest(input)
35755	req.SetContext(ctx)
35756	req.ApplyOptions(opts...)
35757	return out, req.Send()
35758}
35759
35760const opWithdrawByoipCidr = "WithdrawByoipCidr"
35761
35762// WithdrawByoipCidrRequest generates a "aws/request.Request" representing the
35763// client's request for the WithdrawByoipCidr operation. The "output" return
35764// value will be populated with the request's response once the request completes
35765// successfully.
35766//
35767// Use "Send" method on the returned Request to send the API call to the service.
35768// the "output" return value is not valid until after Send returns without error.
35769//
35770// See WithdrawByoipCidr for more information on using the WithdrawByoipCidr
35771// API call, and error handling.
35772//
35773// This method is useful when you want to inject custom logic or configuration
35774// into the SDK's request lifecycle. Such as custom headers, or retry logic.
35775//
35776//
35777//    // Example sending a request using the WithdrawByoipCidrRequest method.
35778//    req, resp := client.WithdrawByoipCidrRequest(params)
35779//
35780//    err := req.Send()
35781//    if err == nil { // resp is now filled
35782//        fmt.Println(resp)
35783//    }
35784//
35785// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
35786func (c *EC2) WithdrawByoipCidrRequest(input *WithdrawByoipCidrInput) (req *request.Request, output *WithdrawByoipCidrOutput) {
35787	op := &request.Operation{
35788		Name:       opWithdrawByoipCidr,
35789		HTTPMethod: "POST",
35790		HTTPPath:   "/",
35791	}
35792
35793	if input == nil {
35794		input = &WithdrawByoipCidrInput{}
35795	}
35796
35797	output = &WithdrawByoipCidrOutput{}
35798	req = c.newRequest(op, input, output)
35799	return
35800}
35801
35802// WithdrawByoipCidr API operation for Amazon Elastic Compute Cloud.
35803//
35804// Stops advertising an IPv4 address range that is provisioned as an address
35805// pool.
35806//
35807// You can perform this operation at most once every 10 seconds, even if you
35808// specify different address ranges each time.
35809//
35810// It can take a few minutes before traffic to the specified addresses stops
35811// routing to AWS because of BGP propagation delays.
35812//
35813// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
35814// with awserr.Error's Code and Message methods to get detailed information about
35815// the error.
35816//
35817// See the AWS API reference guide for Amazon Elastic Compute Cloud's
35818// API operation WithdrawByoipCidr for usage and error information.
35819// See also, https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/WithdrawByoipCidr
35820func (c *EC2) WithdrawByoipCidr(input *WithdrawByoipCidrInput) (*WithdrawByoipCidrOutput, error) {
35821	req, out := c.WithdrawByoipCidrRequest(input)
35822	return out, req.Send()
35823}
35824
35825// WithdrawByoipCidrWithContext is the same as WithdrawByoipCidr with the addition of
35826// the ability to pass a context and additional request options.
35827//
35828// See WithdrawByoipCidr for details on how to use this API operation.
35829//
35830// The context must be non-nil and will be used for request cancellation. If
35831// the context is nil a panic will occur. In the future the SDK may create
35832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
35833// for more information on using Contexts.
35834func (c *EC2) WithdrawByoipCidrWithContext(ctx aws.Context, input *WithdrawByoipCidrInput, opts ...request.Option) (*WithdrawByoipCidrOutput, error) {
35835	req, out := c.WithdrawByoipCidrRequest(input)
35836	req.SetContext(ctx)
35837	req.ApplyOptions(opts...)
35838	return out, req.Send()
35839}
35840
35841// Contains the parameters for accepting the quote.
35842type AcceptReservedInstancesExchangeQuoteInput struct {
35843	_ struct{} `type:"structure"`
35844
35845	// Checks whether you have the required permissions for the action, without
35846	// actually making the request, and provides an error response. If you have
35847	// the required permissions, the error response is DryRunOperation. Otherwise,
35848	// it is UnauthorizedOperation.
35849	DryRun *bool `type:"boolean"`
35850
35851	// The IDs of the Convertible Reserved Instances to exchange for another Convertible
35852	// Reserved Instance of the same or higher value.
35853	//
35854	// ReservedInstanceIds is a required field
35855	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
35856
35857	// The configuration of the target Convertible Reserved Instance to exchange
35858	// for your current Convertible Reserved Instances.
35859	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
35860}
35861
35862// String returns the string representation
35863func (s AcceptReservedInstancesExchangeQuoteInput) String() string {
35864	return awsutil.Prettify(s)
35865}
35866
35867// GoString returns the string representation
35868func (s AcceptReservedInstancesExchangeQuoteInput) GoString() string {
35869	return s.String()
35870}
35871
35872// Validate inspects the fields of the type to determine if they are valid.
35873func (s *AcceptReservedInstancesExchangeQuoteInput) Validate() error {
35874	invalidParams := request.ErrInvalidParams{Context: "AcceptReservedInstancesExchangeQuoteInput"}
35875	if s.ReservedInstanceIds == nil {
35876		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
35877	}
35878	if s.TargetConfigurations != nil {
35879		for i, v := range s.TargetConfigurations {
35880			if v == nil {
35881				continue
35882			}
35883			if err := v.Validate(); err != nil {
35884				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
35885			}
35886		}
35887	}
35888
35889	if invalidParams.Len() > 0 {
35890		return invalidParams
35891	}
35892	return nil
35893}
35894
35895// SetDryRun sets the DryRun field's value.
35896func (s *AcceptReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *AcceptReservedInstancesExchangeQuoteInput {
35897	s.DryRun = &v
35898	return s
35899}
35900
35901// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
35902func (s *AcceptReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *AcceptReservedInstancesExchangeQuoteInput {
35903	s.ReservedInstanceIds = v
35904	return s
35905}
35906
35907// SetTargetConfigurations sets the TargetConfigurations field's value.
35908func (s *AcceptReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *AcceptReservedInstancesExchangeQuoteInput {
35909	s.TargetConfigurations = v
35910	return s
35911}
35912
35913// The result of the exchange and whether it was successful.
35914type AcceptReservedInstancesExchangeQuoteOutput struct {
35915	_ struct{} `type:"structure"`
35916
35917	// The ID of the successful exchange.
35918	ExchangeId *string `locationName:"exchangeId" type:"string"`
35919}
35920
35921// String returns the string representation
35922func (s AcceptReservedInstancesExchangeQuoteOutput) String() string {
35923	return awsutil.Prettify(s)
35924}
35925
35926// GoString returns the string representation
35927func (s AcceptReservedInstancesExchangeQuoteOutput) GoString() string {
35928	return s.String()
35929}
35930
35931// SetExchangeId sets the ExchangeId field's value.
35932func (s *AcceptReservedInstancesExchangeQuoteOutput) SetExchangeId(v string) *AcceptReservedInstancesExchangeQuoteOutput {
35933	s.ExchangeId = &v
35934	return s
35935}
35936
35937type AcceptTransitGatewayPeeringAttachmentInput struct {
35938	_ struct{} `type:"structure"`
35939
35940	// Checks whether you have the required permissions for the action, without
35941	// actually making the request, and provides an error response. If you have
35942	// the required permissions, the error response is DryRunOperation. Otherwise,
35943	// it is UnauthorizedOperation.
35944	DryRun *bool `type:"boolean"`
35945
35946	// The ID of the transit gateway attachment.
35947	//
35948	// TransitGatewayAttachmentId is a required field
35949	TransitGatewayAttachmentId *string `type:"string" required:"true"`
35950}
35951
35952// String returns the string representation
35953func (s AcceptTransitGatewayPeeringAttachmentInput) String() string {
35954	return awsutil.Prettify(s)
35955}
35956
35957// GoString returns the string representation
35958func (s AcceptTransitGatewayPeeringAttachmentInput) GoString() string {
35959	return s.String()
35960}
35961
35962// Validate inspects the fields of the type to determine if they are valid.
35963func (s *AcceptTransitGatewayPeeringAttachmentInput) Validate() error {
35964	invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayPeeringAttachmentInput"}
35965	if s.TransitGatewayAttachmentId == nil {
35966		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
35967	}
35968
35969	if invalidParams.Len() > 0 {
35970		return invalidParams
35971	}
35972	return nil
35973}
35974
35975// SetDryRun sets the DryRun field's value.
35976func (s *AcceptTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayPeeringAttachmentInput {
35977	s.DryRun = &v
35978	return s
35979}
35980
35981// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
35982func (s *AcceptTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayPeeringAttachmentInput {
35983	s.TransitGatewayAttachmentId = &v
35984	return s
35985}
35986
35987type AcceptTransitGatewayPeeringAttachmentOutput struct {
35988	_ struct{} `type:"structure"`
35989
35990	// The transit gateway peering attachment.
35991	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
35992}
35993
35994// String returns the string representation
35995func (s AcceptTransitGatewayPeeringAttachmentOutput) String() string {
35996	return awsutil.Prettify(s)
35997}
35998
35999// GoString returns the string representation
36000func (s AcceptTransitGatewayPeeringAttachmentOutput) GoString() string {
36001	return s.String()
36002}
36003
36004// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
36005func (s *AcceptTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *AcceptTransitGatewayPeeringAttachmentOutput {
36006	s.TransitGatewayPeeringAttachment = v
36007	return s
36008}
36009
36010type AcceptTransitGatewayVpcAttachmentInput struct {
36011	_ struct{} `type:"structure"`
36012
36013	// Checks whether you have the required permissions for the action, without
36014	// actually making the request, and provides an error response. If you have
36015	// the required permissions, the error response is DryRunOperation. Otherwise,
36016	// it is UnauthorizedOperation.
36017	DryRun *bool `type:"boolean"`
36018
36019	// The ID of the attachment.
36020	//
36021	// TransitGatewayAttachmentId is a required field
36022	TransitGatewayAttachmentId *string `type:"string" required:"true"`
36023}
36024
36025// String returns the string representation
36026func (s AcceptTransitGatewayVpcAttachmentInput) String() string {
36027	return awsutil.Prettify(s)
36028}
36029
36030// GoString returns the string representation
36031func (s AcceptTransitGatewayVpcAttachmentInput) GoString() string {
36032	return s.String()
36033}
36034
36035// Validate inspects the fields of the type to determine if they are valid.
36036func (s *AcceptTransitGatewayVpcAttachmentInput) Validate() error {
36037	invalidParams := request.ErrInvalidParams{Context: "AcceptTransitGatewayVpcAttachmentInput"}
36038	if s.TransitGatewayAttachmentId == nil {
36039		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
36040	}
36041
36042	if invalidParams.Len() > 0 {
36043		return invalidParams
36044	}
36045	return nil
36046}
36047
36048// SetDryRun sets the DryRun field's value.
36049func (s *AcceptTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *AcceptTransitGatewayVpcAttachmentInput {
36050	s.DryRun = &v
36051	return s
36052}
36053
36054// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
36055func (s *AcceptTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *AcceptTransitGatewayVpcAttachmentInput {
36056	s.TransitGatewayAttachmentId = &v
36057	return s
36058}
36059
36060type AcceptTransitGatewayVpcAttachmentOutput struct {
36061	_ struct{} `type:"structure"`
36062
36063	// The VPC attachment.
36064	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
36065}
36066
36067// String returns the string representation
36068func (s AcceptTransitGatewayVpcAttachmentOutput) String() string {
36069	return awsutil.Prettify(s)
36070}
36071
36072// GoString returns the string representation
36073func (s AcceptTransitGatewayVpcAttachmentOutput) GoString() string {
36074	return s.String()
36075}
36076
36077// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
36078func (s *AcceptTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *AcceptTransitGatewayVpcAttachmentOutput {
36079	s.TransitGatewayVpcAttachment = v
36080	return s
36081}
36082
36083type AcceptVpcEndpointConnectionsInput struct {
36084	_ struct{} `type:"structure"`
36085
36086	// Checks whether you have the required permissions for the action, without
36087	// actually making the request, and provides an error response. If you have
36088	// the required permissions, the error response is DryRunOperation. Otherwise,
36089	// it is UnauthorizedOperation.
36090	DryRun *bool `type:"boolean"`
36091
36092	// The ID of the endpoint service.
36093	//
36094	// ServiceId is a required field
36095	ServiceId *string `type:"string" required:"true"`
36096
36097	// The IDs of one or more interface VPC endpoints.
36098	//
36099	// VpcEndpointIds is a required field
36100	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
36101}
36102
36103// String returns the string representation
36104func (s AcceptVpcEndpointConnectionsInput) String() string {
36105	return awsutil.Prettify(s)
36106}
36107
36108// GoString returns the string representation
36109func (s AcceptVpcEndpointConnectionsInput) GoString() string {
36110	return s.String()
36111}
36112
36113// Validate inspects the fields of the type to determine if they are valid.
36114func (s *AcceptVpcEndpointConnectionsInput) Validate() error {
36115	invalidParams := request.ErrInvalidParams{Context: "AcceptVpcEndpointConnectionsInput"}
36116	if s.ServiceId == nil {
36117		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
36118	}
36119	if s.VpcEndpointIds == nil {
36120		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
36121	}
36122
36123	if invalidParams.Len() > 0 {
36124		return invalidParams
36125	}
36126	return nil
36127}
36128
36129// SetDryRun sets the DryRun field's value.
36130func (s *AcceptVpcEndpointConnectionsInput) SetDryRun(v bool) *AcceptVpcEndpointConnectionsInput {
36131	s.DryRun = &v
36132	return s
36133}
36134
36135// SetServiceId sets the ServiceId field's value.
36136func (s *AcceptVpcEndpointConnectionsInput) SetServiceId(v string) *AcceptVpcEndpointConnectionsInput {
36137	s.ServiceId = &v
36138	return s
36139}
36140
36141// SetVpcEndpointIds sets the VpcEndpointIds field's value.
36142func (s *AcceptVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *AcceptVpcEndpointConnectionsInput {
36143	s.VpcEndpointIds = v
36144	return s
36145}
36146
36147type AcceptVpcEndpointConnectionsOutput struct {
36148	_ struct{} `type:"structure"`
36149
36150	// Information about the interface endpoints that were not accepted, if applicable.
36151	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
36152}
36153
36154// String returns the string representation
36155func (s AcceptVpcEndpointConnectionsOutput) String() string {
36156	return awsutil.Prettify(s)
36157}
36158
36159// GoString returns the string representation
36160func (s AcceptVpcEndpointConnectionsOutput) GoString() string {
36161	return s.String()
36162}
36163
36164// SetUnsuccessful sets the Unsuccessful field's value.
36165func (s *AcceptVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *AcceptVpcEndpointConnectionsOutput {
36166	s.Unsuccessful = v
36167	return s
36168}
36169
36170type AcceptVpcPeeringConnectionInput struct {
36171	_ struct{} `type:"structure"`
36172
36173	// Checks whether you have the required permissions for the action, without
36174	// actually making the request, and provides an error response. If you have
36175	// the required permissions, the error response is DryRunOperation. Otherwise,
36176	// it is UnauthorizedOperation.
36177	DryRun *bool `locationName:"dryRun" type:"boolean"`
36178
36179	// The ID of the VPC peering connection. You must specify this parameter in
36180	// the request.
36181	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
36182}
36183
36184// String returns the string representation
36185func (s AcceptVpcPeeringConnectionInput) String() string {
36186	return awsutil.Prettify(s)
36187}
36188
36189// GoString returns the string representation
36190func (s AcceptVpcPeeringConnectionInput) GoString() string {
36191	return s.String()
36192}
36193
36194// SetDryRun sets the DryRun field's value.
36195func (s *AcceptVpcPeeringConnectionInput) SetDryRun(v bool) *AcceptVpcPeeringConnectionInput {
36196	s.DryRun = &v
36197	return s
36198}
36199
36200// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
36201func (s *AcceptVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *AcceptVpcPeeringConnectionInput {
36202	s.VpcPeeringConnectionId = &v
36203	return s
36204}
36205
36206type AcceptVpcPeeringConnectionOutput struct {
36207	_ struct{} `type:"structure"`
36208
36209	// Information about the VPC peering connection.
36210	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
36211}
36212
36213// String returns the string representation
36214func (s AcceptVpcPeeringConnectionOutput) String() string {
36215	return awsutil.Prettify(s)
36216}
36217
36218// GoString returns the string representation
36219func (s AcceptVpcPeeringConnectionOutput) GoString() string {
36220	return s.String()
36221}
36222
36223// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
36224func (s *AcceptVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *AcceptVpcPeeringConnectionOutput {
36225	s.VpcPeeringConnection = v
36226	return s
36227}
36228
36229// Describes an account attribute.
36230type AccountAttribute struct {
36231	_ struct{} `type:"structure"`
36232
36233	// The name of the account attribute.
36234	AttributeName *string `locationName:"attributeName" type:"string"`
36235
36236	// The values for the account attribute.
36237	AttributeValues []*AccountAttributeValue `locationName:"attributeValueSet" locationNameList:"item" type:"list"`
36238}
36239
36240// String returns the string representation
36241func (s AccountAttribute) String() string {
36242	return awsutil.Prettify(s)
36243}
36244
36245// GoString returns the string representation
36246func (s AccountAttribute) GoString() string {
36247	return s.String()
36248}
36249
36250// SetAttributeName sets the AttributeName field's value.
36251func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute {
36252	s.AttributeName = &v
36253	return s
36254}
36255
36256// SetAttributeValues sets the AttributeValues field's value.
36257func (s *AccountAttribute) SetAttributeValues(v []*AccountAttributeValue) *AccountAttribute {
36258	s.AttributeValues = v
36259	return s
36260}
36261
36262// Describes a value of an account attribute.
36263type AccountAttributeValue struct {
36264	_ struct{} `type:"structure"`
36265
36266	// The value of the attribute.
36267	AttributeValue *string `locationName:"attributeValue" type:"string"`
36268}
36269
36270// String returns the string representation
36271func (s AccountAttributeValue) String() string {
36272	return awsutil.Prettify(s)
36273}
36274
36275// GoString returns the string representation
36276func (s AccountAttributeValue) GoString() string {
36277	return s.String()
36278}
36279
36280// SetAttributeValue sets the AttributeValue field's value.
36281func (s *AccountAttributeValue) SetAttributeValue(v string) *AccountAttributeValue {
36282	s.AttributeValue = &v
36283	return s
36284}
36285
36286// Describes a running instance in a Spot Fleet.
36287type ActiveInstance struct {
36288	_ struct{} `type:"structure"`
36289
36290	// The health status of the instance. If the status of either the instance status
36291	// check or the system status check is impaired, the health status of the instance
36292	// is unhealthy. Otherwise, the health status is healthy.
36293	InstanceHealth *string `locationName:"instanceHealth" type:"string" enum:"InstanceHealthStatus"`
36294
36295	// The ID of the instance.
36296	InstanceId *string `locationName:"instanceId" type:"string"`
36297
36298	// The instance type.
36299	InstanceType *string `locationName:"instanceType" type:"string"`
36300
36301	// The ID of the Spot Instance request.
36302	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
36303}
36304
36305// String returns the string representation
36306func (s ActiveInstance) String() string {
36307	return awsutil.Prettify(s)
36308}
36309
36310// GoString returns the string representation
36311func (s ActiveInstance) GoString() string {
36312	return s.String()
36313}
36314
36315// SetInstanceHealth sets the InstanceHealth field's value.
36316func (s *ActiveInstance) SetInstanceHealth(v string) *ActiveInstance {
36317	s.InstanceHealth = &v
36318	return s
36319}
36320
36321// SetInstanceId sets the InstanceId field's value.
36322func (s *ActiveInstance) SetInstanceId(v string) *ActiveInstance {
36323	s.InstanceId = &v
36324	return s
36325}
36326
36327// SetInstanceType sets the InstanceType field's value.
36328func (s *ActiveInstance) SetInstanceType(v string) *ActiveInstance {
36329	s.InstanceType = &v
36330	return s
36331}
36332
36333// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
36334func (s *ActiveInstance) SetSpotInstanceRequestId(v string) *ActiveInstance {
36335	s.SpotInstanceRequestId = &v
36336	return s
36337}
36338
36339// Describes an Elastic IP address.
36340type Address struct {
36341	_ struct{} `type:"structure"`
36342
36343	// The ID representing the allocation of the address for use with EC2-VPC.
36344	AllocationId *string `locationName:"allocationId" type:"string"`
36345
36346	// The ID representing the association of the address with an instance in a
36347	// VPC.
36348	AssociationId *string `locationName:"associationId" type:"string"`
36349
36350	// The customer-owned IP address.
36351	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
36352
36353	// The ID of the customer-owned address pool.
36354	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
36355
36356	// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
36357	// (standard) or instances in a VPC (vpc).
36358	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
36359
36360	// The ID of the instance that the address is associated with (if any).
36361	InstanceId *string `locationName:"instanceId" type:"string"`
36362
36363	// The name of the location from which the IP address is advertised.
36364	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
36365
36366	// The ID of the network interface.
36367	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
36368
36369	// The ID of the AWS account that owns the network interface.
36370	NetworkInterfaceOwnerId *string `locationName:"networkInterfaceOwnerId" type:"string"`
36371
36372	// The private IP address associated with the Elastic IP address.
36373	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
36374
36375	// The Elastic IP address.
36376	PublicIp *string `locationName:"publicIp" type:"string"`
36377
36378	// The ID of an address pool.
36379	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
36380
36381	// Any tags assigned to the Elastic IP address.
36382	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
36383}
36384
36385// String returns the string representation
36386func (s Address) String() string {
36387	return awsutil.Prettify(s)
36388}
36389
36390// GoString returns the string representation
36391func (s Address) GoString() string {
36392	return s.String()
36393}
36394
36395// SetAllocationId sets the AllocationId field's value.
36396func (s *Address) SetAllocationId(v string) *Address {
36397	s.AllocationId = &v
36398	return s
36399}
36400
36401// SetAssociationId sets the AssociationId field's value.
36402func (s *Address) SetAssociationId(v string) *Address {
36403	s.AssociationId = &v
36404	return s
36405}
36406
36407// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
36408func (s *Address) SetCustomerOwnedIp(v string) *Address {
36409	s.CustomerOwnedIp = &v
36410	return s
36411}
36412
36413// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
36414func (s *Address) SetCustomerOwnedIpv4Pool(v string) *Address {
36415	s.CustomerOwnedIpv4Pool = &v
36416	return s
36417}
36418
36419// SetDomain sets the Domain field's value.
36420func (s *Address) SetDomain(v string) *Address {
36421	s.Domain = &v
36422	return s
36423}
36424
36425// SetInstanceId sets the InstanceId field's value.
36426func (s *Address) SetInstanceId(v string) *Address {
36427	s.InstanceId = &v
36428	return s
36429}
36430
36431// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
36432func (s *Address) SetNetworkBorderGroup(v string) *Address {
36433	s.NetworkBorderGroup = &v
36434	return s
36435}
36436
36437// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
36438func (s *Address) SetNetworkInterfaceId(v string) *Address {
36439	s.NetworkInterfaceId = &v
36440	return s
36441}
36442
36443// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
36444func (s *Address) SetNetworkInterfaceOwnerId(v string) *Address {
36445	s.NetworkInterfaceOwnerId = &v
36446	return s
36447}
36448
36449// SetPrivateIpAddress sets the PrivateIpAddress field's value.
36450func (s *Address) SetPrivateIpAddress(v string) *Address {
36451	s.PrivateIpAddress = &v
36452	return s
36453}
36454
36455// SetPublicIp sets the PublicIp field's value.
36456func (s *Address) SetPublicIp(v string) *Address {
36457	s.PublicIp = &v
36458	return s
36459}
36460
36461// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
36462func (s *Address) SetPublicIpv4Pool(v string) *Address {
36463	s.PublicIpv4Pool = &v
36464	return s
36465}
36466
36467// SetTags sets the Tags field's value.
36468func (s *Address) SetTags(v []*Tag) *Address {
36469	s.Tags = v
36470	return s
36471}
36472
36473type AdvertiseByoipCidrInput struct {
36474	_ struct{} `type:"structure"`
36475
36476	// The IPv4 address range, in CIDR notation. This must be the exact range that
36477	// you provisioned. You can't advertise only a portion of the provisioned range.
36478	//
36479	// Cidr is a required field
36480	Cidr *string `type:"string" required:"true"`
36481
36482	// Checks whether you have the required permissions for the action, without
36483	// actually making the request, and provides an error response. If you have
36484	// the required permissions, the error response is DryRunOperation. Otherwise,
36485	// it is UnauthorizedOperation.
36486	DryRun *bool `type:"boolean"`
36487}
36488
36489// String returns the string representation
36490func (s AdvertiseByoipCidrInput) String() string {
36491	return awsutil.Prettify(s)
36492}
36493
36494// GoString returns the string representation
36495func (s AdvertiseByoipCidrInput) GoString() string {
36496	return s.String()
36497}
36498
36499// Validate inspects the fields of the type to determine if they are valid.
36500func (s *AdvertiseByoipCidrInput) Validate() error {
36501	invalidParams := request.ErrInvalidParams{Context: "AdvertiseByoipCidrInput"}
36502	if s.Cidr == nil {
36503		invalidParams.Add(request.NewErrParamRequired("Cidr"))
36504	}
36505
36506	if invalidParams.Len() > 0 {
36507		return invalidParams
36508	}
36509	return nil
36510}
36511
36512// SetCidr sets the Cidr field's value.
36513func (s *AdvertiseByoipCidrInput) SetCidr(v string) *AdvertiseByoipCidrInput {
36514	s.Cidr = &v
36515	return s
36516}
36517
36518// SetDryRun sets the DryRun field's value.
36519func (s *AdvertiseByoipCidrInput) SetDryRun(v bool) *AdvertiseByoipCidrInput {
36520	s.DryRun = &v
36521	return s
36522}
36523
36524type AdvertiseByoipCidrOutput struct {
36525	_ struct{} `type:"structure"`
36526
36527	// Information about the address range.
36528	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
36529}
36530
36531// String returns the string representation
36532func (s AdvertiseByoipCidrOutput) String() string {
36533	return awsutil.Prettify(s)
36534}
36535
36536// GoString returns the string representation
36537func (s AdvertiseByoipCidrOutput) GoString() string {
36538	return s.String()
36539}
36540
36541// SetByoipCidr sets the ByoipCidr field's value.
36542func (s *AdvertiseByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *AdvertiseByoipCidrOutput {
36543	s.ByoipCidr = v
36544	return s
36545}
36546
36547type AllocateAddressInput struct {
36548	_ struct{} `type:"structure"`
36549
36550	// [EC2-VPC] The Elastic IP address to recover or an IPv4 address from an address
36551	// pool.
36552	Address *string `type:"string"`
36553
36554	// The ID of a customer-owned address pool. Use this parameter to let Amazon
36555	// EC2 select an address from the address pool. Alternatively, specify a specific
36556	// address from the address pool.
36557	CustomerOwnedIpv4Pool *string `type:"string"`
36558
36559	// Set to vpc to allocate the address for use with instances in a VPC.
36560	//
36561	// Default: The address is for use with instances in EC2-Classic.
36562	Domain *string `type:"string" enum:"DomainType"`
36563
36564	// Checks whether you have the required permissions for the action, without
36565	// actually making the request, and provides an error response. If you have
36566	// the required permissions, the error response is DryRunOperation. Otherwise,
36567	// it is UnauthorizedOperation.
36568	DryRun *bool `locationName:"dryRun" type:"boolean"`
36569
36570	// The location from which the IP address is advertised. Use this parameter
36571	// to limit the address to this location.
36572	//
36573	// Use DescribeVpcs (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcs.html)
36574	// to view the network border groups.
36575	//
36576	// You cannot use a network border group with EC2 Classic. If you attempt this
36577	// operation on EC2 classic, you will receive an InvalidParameterCombination
36578	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
36579	NetworkBorderGroup *string `type:"string"`
36580
36581	// The ID of an address pool that you own. Use this parameter to let Amazon
36582	// EC2 select an address from the address pool. To specify a specific address
36583	// from the address pool, use the Address parameter instead.
36584	PublicIpv4Pool *string `type:"string"`
36585}
36586
36587// String returns the string representation
36588func (s AllocateAddressInput) String() string {
36589	return awsutil.Prettify(s)
36590}
36591
36592// GoString returns the string representation
36593func (s AllocateAddressInput) GoString() string {
36594	return s.String()
36595}
36596
36597// SetAddress sets the Address field's value.
36598func (s *AllocateAddressInput) SetAddress(v string) *AllocateAddressInput {
36599	s.Address = &v
36600	return s
36601}
36602
36603// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
36604func (s *AllocateAddressInput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressInput {
36605	s.CustomerOwnedIpv4Pool = &v
36606	return s
36607}
36608
36609// SetDomain sets the Domain field's value.
36610func (s *AllocateAddressInput) SetDomain(v string) *AllocateAddressInput {
36611	s.Domain = &v
36612	return s
36613}
36614
36615// SetDryRun sets the DryRun field's value.
36616func (s *AllocateAddressInput) SetDryRun(v bool) *AllocateAddressInput {
36617	s.DryRun = &v
36618	return s
36619}
36620
36621// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
36622func (s *AllocateAddressInput) SetNetworkBorderGroup(v string) *AllocateAddressInput {
36623	s.NetworkBorderGroup = &v
36624	return s
36625}
36626
36627// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
36628func (s *AllocateAddressInput) SetPublicIpv4Pool(v string) *AllocateAddressInput {
36629	s.PublicIpv4Pool = &v
36630	return s
36631}
36632
36633type AllocateAddressOutput struct {
36634	_ struct{} `type:"structure"`
36635
36636	// [EC2-VPC] The ID that AWS assigns to represent the allocation of the Elastic
36637	// IP address for use with instances in a VPC.
36638	AllocationId *string `locationName:"allocationId" type:"string"`
36639
36640	// The customer-owned IP address.
36641	CustomerOwnedIp *string `locationName:"customerOwnedIp" type:"string"`
36642
36643	// The ID of the customer-owned address pool.
36644	CustomerOwnedIpv4Pool *string `locationName:"customerOwnedIpv4Pool" type:"string"`
36645
36646	// Indicates whether this Elastic IP address is for use with instances in EC2-Classic
36647	// (standard) or instances in a VPC (vpc).
36648	Domain *string `locationName:"domain" type:"string" enum:"DomainType"`
36649
36650	// The location from which the IP address is advertised.
36651	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
36652
36653	// The Elastic IP address.
36654	PublicIp *string `locationName:"publicIp" type:"string"`
36655
36656	// The ID of an address pool.
36657	PublicIpv4Pool *string `locationName:"publicIpv4Pool" type:"string"`
36658}
36659
36660// String returns the string representation
36661func (s AllocateAddressOutput) String() string {
36662	return awsutil.Prettify(s)
36663}
36664
36665// GoString returns the string representation
36666func (s AllocateAddressOutput) GoString() string {
36667	return s.String()
36668}
36669
36670// SetAllocationId sets the AllocationId field's value.
36671func (s *AllocateAddressOutput) SetAllocationId(v string) *AllocateAddressOutput {
36672	s.AllocationId = &v
36673	return s
36674}
36675
36676// SetCustomerOwnedIp sets the CustomerOwnedIp field's value.
36677func (s *AllocateAddressOutput) SetCustomerOwnedIp(v string) *AllocateAddressOutput {
36678	s.CustomerOwnedIp = &v
36679	return s
36680}
36681
36682// SetCustomerOwnedIpv4Pool sets the CustomerOwnedIpv4Pool field's value.
36683func (s *AllocateAddressOutput) SetCustomerOwnedIpv4Pool(v string) *AllocateAddressOutput {
36684	s.CustomerOwnedIpv4Pool = &v
36685	return s
36686}
36687
36688// SetDomain sets the Domain field's value.
36689func (s *AllocateAddressOutput) SetDomain(v string) *AllocateAddressOutput {
36690	s.Domain = &v
36691	return s
36692}
36693
36694// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
36695func (s *AllocateAddressOutput) SetNetworkBorderGroup(v string) *AllocateAddressOutput {
36696	s.NetworkBorderGroup = &v
36697	return s
36698}
36699
36700// SetPublicIp sets the PublicIp field's value.
36701func (s *AllocateAddressOutput) SetPublicIp(v string) *AllocateAddressOutput {
36702	s.PublicIp = &v
36703	return s
36704}
36705
36706// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
36707func (s *AllocateAddressOutput) SetPublicIpv4Pool(v string) *AllocateAddressOutput {
36708	s.PublicIpv4Pool = &v
36709	return s
36710}
36711
36712type AllocateHostsInput struct {
36713	_ struct{} `type:"structure"`
36714
36715	// Indicates whether the host accepts any untargeted instance launches that
36716	// match its instance type configuration, or if it only accepts Host tenancy
36717	// instance launches that specify its unique host ID. For more information,
36718	// see Understanding Instance Placement and Host Affinity (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-dedicated-hosts-work.html#dedicated-hosts-understanding)
36719	// in the Amazon EC2 User Guide for Linux Instances.
36720	//
36721	// Default: on
36722	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
36723
36724	// The Availability Zone in which to allocate the Dedicated Host.
36725	//
36726	// AvailabilityZone is a required field
36727	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
36728
36729	// Unique, case-sensitive identifier that you provide to ensure the idempotency
36730	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
36731	ClientToken *string `locationName:"clientToken" type:"string"`
36732
36733	// Indicates whether to enable or disable host recovery for the Dedicated Host.
36734	// Host recovery is disabled by default. For more information, see Host Recovery
36735	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
36736	// in the Amazon Elastic Compute Cloud User Guide.
36737	//
36738	// Default: off
36739	HostRecovery *string `type:"string" enum:"HostRecovery"`
36740
36741	// Specifies the instance family to be supported by the Dedicated Hosts. If
36742	// you specify an instance family, the Dedicated Hosts support multiple instance
36743	// types within that instance family.
36744	//
36745	// If you want the Dedicated Hosts to support a specific instance type only,
36746	// omit this parameter and specify InstanceType instead. You cannot specify
36747	// InstanceFamily and InstanceType in the same request.
36748	InstanceFamily *string `type:"string"`
36749
36750	// Specifies the instance type to be supported by the Dedicated Hosts. If you
36751	// specify an instance type, the Dedicated Hosts support instances of the specified
36752	// instance type only.
36753	//
36754	// If you want the Dedicated Hosts to support multiple instance types in a specific
36755	// instance family, omit this parameter and specify InstanceFamily instead.
36756	// You cannot specify InstanceType and InstanceFamily in the same request.
36757	InstanceType *string `locationName:"instanceType" type:"string"`
36758
36759	// The number of Dedicated Hosts to allocate to your account with these parameters.
36760	//
36761	// Quantity is a required field
36762	Quantity *int64 `locationName:"quantity" type:"integer" required:"true"`
36763
36764	// The tags to apply to the Dedicated Host during creation.
36765	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
36766}
36767
36768// String returns the string representation
36769func (s AllocateHostsInput) String() string {
36770	return awsutil.Prettify(s)
36771}
36772
36773// GoString returns the string representation
36774func (s AllocateHostsInput) GoString() string {
36775	return s.String()
36776}
36777
36778// Validate inspects the fields of the type to determine if they are valid.
36779func (s *AllocateHostsInput) Validate() error {
36780	invalidParams := request.ErrInvalidParams{Context: "AllocateHostsInput"}
36781	if s.AvailabilityZone == nil {
36782		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
36783	}
36784	if s.Quantity == nil {
36785		invalidParams.Add(request.NewErrParamRequired("Quantity"))
36786	}
36787
36788	if invalidParams.Len() > 0 {
36789		return invalidParams
36790	}
36791	return nil
36792}
36793
36794// SetAutoPlacement sets the AutoPlacement field's value.
36795func (s *AllocateHostsInput) SetAutoPlacement(v string) *AllocateHostsInput {
36796	s.AutoPlacement = &v
36797	return s
36798}
36799
36800// SetAvailabilityZone sets the AvailabilityZone field's value.
36801func (s *AllocateHostsInput) SetAvailabilityZone(v string) *AllocateHostsInput {
36802	s.AvailabilityZone = &v
36803	return s
36804}
36805
36806// SetClientToken sets the ClientToken field's value.
36807func (s *AllocateHostsInput) SetClientToken(v string) *AllocateHostsInput {
36808	s.ClientToken = &v
36809	return s
36810}
36811
36812// SetHostRecovery sets the HostRecovery field's value.
36813func (s *AllocateHostsInput) SetHostRecovery(v string) *AllocateHostsInput {
36814	s.HostRecovery = &v
36815	return s
36816}
36817
36818// SetInstanceFamily sets the InstanceFamily field's value.
36819func (s *AllocateHostsInput) SetInstanceFamily(v string) *AllocateHostsInput {
36820	s.InstanceFamily = &v
36821	return s
36822}
36823
36824// SetInstanceType sets the InstanceType field's value.
36825func (s *AllocateHostsInput) SetInstanceType(v string) *AllocateHostsInput {
36826	s.InstanceType = &v
36827	return s
36828}
36829
36830// SetQuantity sets the Quantity field's value.
36831func (s *AllocateHostsInput) SetQuantity(v int64) *AllocateHostsInput {
36832	s.Quantity = &v
36833	return s
36834}
36835
36836// SetTagSpecifications sets the TagSpecifications field's value.
36837func (s *AllocateHostsInput) SetTagSpecifications(v []*TagSpecification) *AllocateHostsInput {
36838	s.TagSpecifications = v
36839	return s
36840}
36841
36842// Contains the output of AllocateHosts.
36843type AllocateHostsOutput struct {
36844	_ struct{} `type:"structure"`
36845
36846	// The ID of the allocated Dedicated Host. This is used to launch an instance
36847	// onto a specific host.
36848	HostIds []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
36849}
36850
36851// String returns the string representation
36852func (s AllocateHostsOutput) String() string {
36853	return awsutil.Prettify(s)
36854}
36855
36856// GoString returns the string representation
36857func (s AllocateHostsOutput) GoString() string {
36858	return s.String()
36859}
36860
36861// SetHostIds sets the HostIds field's value.
36862func (s *AllocateHostsOutput) SetHostIds(v []*string) *AllocateHostsOutput {
36863	s.HostIds = v
36864	return s
36865}
36866
36867// Describes a principal.
36868type AllowedPrincipal struct {
36869	_ struct{} `type:"structure"`
36870
36871	// The Amazon Resource Name (ARN) of the principal.
36872	Principal *string `locationName:"principal" type:"string"`
36873
36874	// The type of principal.
36875	PrincipalType *string `locationName:"principalType" type:"string" enum:"PrincipalType"`
36876}
36877
36878// String returns the string representation
36879func (s AllowedPrincipal) String() string {
36880	return awsutil.Prettify(s)
36881}
36882
36883// GoString returns the string representation
36884func (s AllowedPrincipal) GoString() string {
36885	return s.String()
36886}
36887
36888// SetPrincipal sets the Principal field's value.
36889func (s *AllowedPrincipal) SetPrincipal(v string) *AllowedPrincipal {
36890	s.Principal = &v
36891	return s
36892}
36893
36894// SetPrincipalType sets the PrincipalType field's value.
36895func (s *AllowedPrincipal) SetPrincipalType(v string) *AllowedPrincipal {
36896	s.PrincipalType = &v
36897	return s
36898}
36899
36900type ApplySecurityGroupsToClientVpnTargetNetworkInput struct {
36901	_ struct{} `type:"structure"`
36902
36903	// The ID of the Client VPN endpoint.
36904	//
36905	// ClientVpnEndpointId is a required field
36906	ClientVpnEndpointId *string `type:"string" required:"true"`
36907
36908	// Checks whether you have the required permissions for the action, without
36909	// actually making the request, and provides an error response. If you have
36910	// the required permissions, the error response is DryRunOperation. Otherwise,
36911	// it is UnauthorizedOperation.
36912	DryRun *bool `type:"boolean"`
36913
36914	// The IDs of the security groups to apply to the associated target network.
36915	// Up to 5 security groups can be applied to an associated target network.
36916	//
36917	// SecurityGroupIds is a required field
36918	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list" required:"true"`
36919
36920	// The ID of the VPC in which the associated target network is located.
36921	//
36922	// VpcId is a required field
36923	VpcId *string `type:"string" required:"true"`
36924}
36925
36926// String returns the string representation
36927func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) String() string {
36928	return awsutil.Prettify(s)
36929}
36930
36931// GoString returns the string representation
36932func (s ApplySecurityGroupsToClientVpnTargetNetworkInput) GoString() string {
36933	return s.String()
36934}
36935
36936// Validate inspects the fields of the type to determine if they are valid.
36937func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) Validate() error {
36938	invalidParams := request.ErrInvalidParams{Context: "ApplySecurityGroupsToClientVpnTargetNetworkInput"}
36939	if s.ClientVpnEndpointId == nil {
36940		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
36941	}
36942	if s.SecurityGroupIds == nil {
36943		invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds"))
36944	}
36945	if s.VpcId == nil {
36946		invalidParams.Add(request.NewErrParamRequired("VpcId"))
36947	}
36948
36949	if invalidParams.Len() > 0 {
36950		return invalidParams
36951	}
36952	return nil
36953}
36954
36955// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
36956func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
36957	s.ClientVpnEndpointId = &v
36958	return s
36959}
36960
36961// SetDryRun sets the DryRun field's value.
36962func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetDryRun(v bool) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
36963	s.DryRun = &v
36964	return s
36965}
36966
36967// SetSecurityGroupIds sets the SecurityGroupIds field's value.
36968func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
36969	s.SecurityGroupIds = v
36970	return s
36971}
36972
36973// SetVpcId sets the VpcId field's value.
36974func (s *ApplySecurityGroupsToClientVpnTargetNetworkInput) SetVpcId(v string) *ApplySecurityGroupsToClientVpnTargetNetworkInput {
36975	s.VpcId = &v
36976	return s
36977}
36978
36979type ApplySecurityGroupsToClientVpnTargetNetworkOutput struct {
36980	_ struct{} `type:"structure"`
36981
36982	// The IDs of the applied security groups.
36983	SecurityGroupIds []*string `locationName:"securityGroupIds" locationNameList:"item" type:"list"`
36984}
36985
36986// String returns the string representation
36987func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) String() string {
36988	return awsutil.Prettify(s)
36989}
36990
36991// GoString returns the string representation
36992func (s ApplySecurityGroupsToClientVpnTargetNetworkOutput) GoString() string {
36993	return s.String()
36994}
36995
36996// SetSecurityGroupIds sets the SecurityGroupIds field's value.
36997func (s *ApplySecurityGroupsToClientVpnTargetNetworkOutput) SetSecurityGroupIds(v []*string) *ApplySecurityGroupsToClientVpnTargetNetworkOutput {
36998	s.SecurityGroupIds = v
36999	return s
37000}
37001
37002type AssignIpv6AddressesInput struct {
37003	_ struct{} `type:"structure"`
37004
37005	// The number of IPv6 addresses to assign to the network interface. Amazon EC2
37006	// automatically selects the IPv6 addresses from the subnet range. You can't
37007	// use this option if specifying specific IPv6 addresses.
37008	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
37009
37010	// One or more specific IPv6 addresses to be assigned to the network interface.
37011	// You can't use this option if you're specifying a number of IPv6 addresses.
37012	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
37013
37014	// The ID of the network interface.
37015	//
37016	// NetworkInterfaceId is a required field
37017	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
37018}
37019
37020// String returns the string representation
37021func (s AssignIpv6AddressesInput) String() string {
37022	return awsutil.Prettify(s)
37023}
37024
37025// GoString returns the string representation
37026func (s AssignIpv6AddressesInput) GoString() string {
37027	return s.String()
37028}
37029
37030// Validate inspects the fields of the type to determine if they are valid.
37031func (s *AssignIpv6AddressesInput) Validate() error {
37032	invalidParams := request.ErrInvalidParams{Context: "AssignIpv6AddressesInput"}
37033	if s.NetworkInterfaceId == nil {
37034		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
37035	}
37036
37037	if invalidParams.Len() > 0 {
37038		return invalidParams
37039	}
37040	return nil
37041}
37042
37043// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
37044func (s *AssignIpv6AddressesInput) SetIpv6AddressCount(v int64) *AssignIpv6AddressesInput {
37045	s.Ipv6AddressCount = &v
37046	return s
37047}
37048
37049// SetIpv6Addresses sets the Ipv6Addresses field's value.
37050func (s *AssignIpv6AddressesInput) SetIpv6Addresses(v []*string) *AssignIpv6AddressesInput {
37051	s.Ipv6Addresses = v
37052	return s
37053}
37054
37055// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
37056func (s *AssignIpv6AddressesInput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesInput {
37057	s.NetworkInterfaceId = &v
37058	return s
37059}
37060
37061type AssignIpv6AddressesOutput struct {
37062	_ struct{} `type:"structure"`
37063
37064	// The IPv6 addresses assigned to the network interface.
37065	AssignedIpv6Addresses []*string `locationName:"assignedIpv6Addresses" locationNameList:"item" type:"list"`
37066
37067	// The ID of the network interface.
37068	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
37069}
37070
37071// String returns the string representation
37072func (s AssignIpv6AddressesOutput) String() string {
37073	return awsutil.Prettify(s)
37074}
37075
37076// GoString returns the string representation
37077func (s AssignIpv6AddressesOutput) GoString() string {
37078	return s.String()
37079}
37080
37081// SetAssignedIpv6Addresses sets the AssignedIpv6Addresses field's value.
37082func (s *AssignIpv6AddressesOutput) SetAssignedIpv6Addresses(v []*string) *AssignIpv6AddressesOutput {
37083	s.AssignedIpv6Addresses = v
37084	return s
37085}
37086
37087// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
37088func (s *AssignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *AssignIpv6AddressesOutput {
37089	s.NetworkInterfaceId = &v
37090	return s
37091}
37092
37093// Contains the parameters for AssignPrivateIpAddresses.
37094type AssignPrivateIpAddressesInput struct {
37095	_ struct{} `type:"structure"`
37096
37097	// Indicates whether to allow an IP address that is already assigned to another
37098	// network interface or instance to be reassigned to the specified network interface.
37099	AllowReassignment *bool `locationName:"allowReassignment" type:"boolean"`
37100
37101	// The ID of the network interface.
37102	//
37103	// NetworkInterfaceId is a required field
37104	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
37105
37106	// One or more IP addresses to be assigned as a secondary private IP address
37107	// to the network interface. You can't specify this parameter when also specifying
37108	// a number of secondary IP addresses.
37109	//
37110	// If you don't specify an IP address, Amazon EC2 automatically selects an IP
37111	// address within the subnet range.
37112	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list"`
37113
37114	// The number of secondary IP addresses to assign to the network interface.
37115	// You can't specify this parameter when also specifying private IP addresses.
37116	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
37117}
37118
37119// String returns the string representation
37120func (s AssignPrivateIpAddressesInput) String() string {
37121	return awsutil.Prettify(s)
37122}
37123
37124// GoString returns the string representation
37125func (s AssignPrivateIpAddressesInput) GoString() string {
37126	return s.String()
37127}
37128
37129// Validate inspects the fields of the type to determine if they are valid.
37130func (s *AssignPrivateIpAddressesInput) Validate() error {
37131	invalidParams := request.ErrInvalidParams{Context: "AssignPrivateIpAddressesInput"}
37132	if s.NetworkInterfaceId == nil {
37133		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
37134	}
37135
37136	if invalidParams.Len() > 0 {
37137		return invalidParams
37138	}
37139	return nil
37140}
37141
37142// SetAllowReassignment sets the AllowReassignment field's value.
37143func (s *AssignPrivateIpAddressesInput) SetAllowReassignment(v bool) *AssignPrivateIpAddressesInput {
37144	s.AllowReassignment = &v
37145	return s
37146}
37147
37148// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
37149func (s *AssignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesInput {
37150	s.NetworkInterfaceId = &v
37151	return s
37152}
37153
37154// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
37155func (s *AssignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *AssignPrivateIpAddressesInput {
37156	s.PrivateIpAddresses = v
37157	return s
37158}
37159
37160// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
37161func (s *AssignPrivateIpAddressesInput) SetSecondaryPrivateIpAddressCount(v int64) *AssignPrivateIpAddressesInput {
37162	s.SecondaryPrivateIpAddressCount = &v
37163	return s
37164}
37165
37166type AssignPrivateIpAddressesOutput struct {
37167	_ struct{} `type:"structure"`
37168
37169	// The private IP addresses assigned to the network interface.
37170	AssignedPrivateIpAddresses []*AssignedPrivateIpAddress `locationName:"assignedPrivateIpAddressesSet" locationNameList:"item" type:"list"`
37171
37172	// The ID of the network interface.
37173	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
37174}
37175
37176// String returns the string representation
37177func (s AssignPrivateIpAddressesOutput) String() string {
37178	return awsutil.Prettify(s)
37179}
37180
37181// GoString returns the string representation
37182func (s AssignPrivateIpAddressesOutput) GoString() string {
37183	return s.String()
37184}
37185
37186// SetAssignedPrivateIpAddresses sets the AssignedPrivateIpAddresses field's value.
37187func (s *AssignPrivateIpAddressesOutput) SetAssignedPrivateIpAddresses(v []*AssignedPrivateIpAddress) *AssignPrivateIpAddressesOutput {
37188	s.AssignedPrivateIpAddresses = v
37189	return s
37190}
37191
37192// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
37193func (s *AssignPrivateIpAddressesOutput) SetNetworkInterfaceId(v string) *AssignPrivateIpAddressesOutput {
37194	s.NetworkInterfaceId = &v
37195	return s
37196}
37197
37198// Describes the private IP addresses assigned to a network interface.
37199type AssignedPrivateIpAddress struct {
37200	_ struct{} `type:"structure"`
37201
37202	// The private IP address assigned to the network interface.
37203	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
37204}
37205
37206// String returns the string representation
37207func (s AssignedPrivateIpAddress) String() string {
37208	return awsutil.Prettify(s)
37209}
37210
37211// GoString returns the string representation
37212func (s AssignedPrivateIpAddress) GoString() string {
37213	return s.String()
37214}
37215
37216// SetPrivateIpAddress sets the PrivateIpAddress field's value.
37217func (s *AssignedPrivateIpAddress) SetPrivateIpAddress(v string) *AssignedPrivateIpAddress {
37218	s.PrivateIpAddress = &v
37219	return s
37220}
37221
37222type AssociateAddressInput struct {
37223	_ struct{} `type:"structure"`
37224
37225	// [EC2-VPC] The allocation ID. This is required for EC2-VPC.
37226	AllocationId *string `type:"string"`
37227
37228	// [EC2-VPC] For a VPC in an EC2-Classic account, specify true to allow an Elastic
37229	// IP address that is already associated with an instance or network interface
37230	// to be reassociated with the specified instance or network interface. Otherwise,
37231	// the operation fails. In a VPC in an EC2-VPC-only account, reassociation is
37232	// automatic, therefore you can specify false to ensure the operation fails
37233	// if the Elastic IP address is already associated with another resource.
37234	AllowReassociation *bool `locationName:"allowReassociation" type:"boolean"`
37235
37236	// Checks whether you have the required permissions for the action, without
37237	// actually making the request, and provides an error response. If you have
37238	// the required permissions, the error response is DryRunOperation. Otherwise,
37239	// it is UnauthorizedOperation.
37240	DryRun *bool `locationName:"dryRun" type:"boolean"`
37241
37242	// The ID of the instance. This is required for EC2-Classic. For EC2-VPC, you
37243	// can specify either the instance ID or the network interface ID, but not both.
37244	// The operation fails if you specify an instance ID unless exactly one network
37245	// interface is attached.
37246	InstanceId *string `type:"string"`
37247
37248	// [EC2-VPC] The ID of the network interface. If the instance has more than
37249	// one network interface, you must specify a network interface ID.
37250	//
37251	// For EC2-VPC, you can specify either the instance ID or the network interface
37252	// ID, but not both.
37253	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
37254
37255	// [EC2-VPC] The primary or secondary private IP address to associate with the
37256	// Elastic IP address. If no private IP address is specified, the Elastic IP
37257	// address is associated with the primary private IP address.
37258	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
37259
37260	// The Elastic IP address to associate with the instance. This is required for
37261	// EC2-Classic.
37262	PublicIp *string `type:"string"`
37263}
37264
37265// String returns the string representation
37266func (s AssociateAddressInput) String() string {
37267	return awsutil.Prettify(s)
37268}
37269
37270// GoString returns the string representation
37271func (s AssociateAddressInput) GoString() string {
37272	return s.String()
37273}
37274
37275// SetAllocationId sets the AllocationId field's value.
37276func (s *AssociateAddressInput) SetAllocationId(v string) *AssociateAddressInput {
37277	s.AllocationId = &v
37278	return s
37279}
37280
37281// SetAllowReassociation sets the AllowReassociation field's value.
37282func (s *AssociateAddressInput) SetAllowReassociation(v bool) *AssociateAddressInput {
37283	s.AllowReassociation = &v
37284	return s
37285}
37286
37287// SetDryRun sets the DryRun field's value.
37288func (s *AssociateAddressInput) SetDryRun(v bool) *AssociateAddressInput {
37289	s.DryRun = &v
37290	return s
37291}
37292
37293// SetInstanceId sets the InstanceId field's value.
37294func (s *AssociateAddressInput) SetInstanceId(v string) *AssociateAddressInput {
37295	s.InstanceId = &v
37296	return s
37297}
37298
37299// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
37300func (s *AssociateAddressInput) SetNetworkInterfaceId(v string) *AssociateAddressInput {
37301	s.NetworkInterfaceId = &v
37302	return s
37303}
37304
37305// SetPrivateIpAddress sets the PrivateIpAddress field's value.
37306func (s *AssociateAddressInput) SetPrivateIpAddress(v string) *AssociateAddressInput {
37307	s.PrivateIpAddress = &v
37308	return s
37309}
37310
37311// SetPublicIp sets the PublicIp field's value.
37312func (s *AssociateAddressInput) SetPublicIp(v string) *AssociateAddressInput {
37313	s.PublicIp = &v
37314	return s
37315}
37316
37317type AssociateAddressOutput struct {
37318	_ struct{} `type:"structure"`
37319
37320	// [EC2-VPC] The ID that represents the association of the Elastic IP address
37321	// with an instance.
37322	AssociationId *string `locationName:"associationId" type:"string"`
37323}
37324
37325// String returns the string representation
37326func (s AssociateAddressOutput) String() string {
37327	return awsutil.Prettify(s)
37328}
37329
37330// GoString returns the string representation
37331func (s AssociateAddressOutput) GoString() string {
37332	return s.String()
37333}
37334
37335// SetAssociationId sets the AssociationId field's value.
37336func (s *AssociateAddressOutput) SetAssociationId(v string) *AssociateAddressOutput {
37337	s.AssociationId = &v
37338	return s
37339}
37340
37341type AssociateClientVpnTargetNetworkInput struct {
37342	_ struct{} `type:"structure"`
37343
37344	// Unique, case-sensitive identifier that you provide to ensure the idempotency
37345	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
37346	ClientToken *string `type:"string" idempotencyToken:"true"`
37347
37348	// The ID of the Client VPN endpoint.
37349	//
37350	// ClientVpnEndpointId is a required field
37351	ClientVpnEndpointId *string `type:"string" required:"true"`
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 subnet to associate with the Client VPN endpoint.
37360	//
37361	// SubnetId is a required field
37362	SubnetId *string `type:"string" required:"true"`
37363}
37364
37365// String returns the string representation
37366func (s AssociateClientVpnTargetNetworkInput) String() string {
37367	return awsutil.Prettify(s)
37368}
37369
37370// GoString returns the string representation
37371func (s AssociateClientVpnTargetNetworkInput) GoString() string {
37372	return s.String()
37373}
37374
37375// Validate inspects the fields of the type to determine if they are valid.
37376func (s *AssociateClientVpnTargetNetworkInput) Validate() error {
37377	invalidParams := request.ErrInvalidParams{Context: "AssociateClientVpnTargetNetworkInput"}
37378	if s.ClientVpnEndpointId == nil {
37379		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
37380	}
37381	if s.SubnetId == nil {
37382		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
37383	}
37384
37385	if invalidParams.Len() > 0 {
37386		return invalidParams
37387	}
37388	return nil
37389}
37390
37391// SetClientToken sets the ClientToken field's value.
37392func (s *AssociateClientVpnTargetNetworkInput) SetClientToken(v string) *AssociateClientVpnTargetNetworkInput {
37393	s.ClientToken = &v
37394	return s
37395}
37396
37397// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
37398func (s *AssociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *AssociateClientVpnTargetNetworkInput {
37399	s.ClientVpnEndpointId = &v
37400	return s
37401}
37402
37403// SetDryRun sets the DryRun field's value.
37404func (s *AssociateClientVpnTargetNetworkInput) SetDryRun(v bool) *AssociateClientVpnTargetNetworkInput {
37405	s.DryRun = &v
37406	return s
37407}
37408
37409// SetSubnetId sets the SubnetId field's value.
37410func (s *AssociateClientVpnTargetNetworkInput) SetSubnetId(v string) *AssociateClientVpnTargetNetworkInput {
37411	s.SubnetId = &v
37412	return s
37413}
37414
37415type AssociateClientVpnTargetNetworkOutput struct {
37416	_ struct{} `type:"structure"`
37417
37418	// The unique ID of the target network association.
37419	AssociationId *string `locationName:"associationId" type:"string"`
37420
37421	// The current state of the target network association.
37422	Status *AssociationStatus `locationName:"status" type:"structure"`
37423}
37424
37425// String returns the string representation
37426func (s AssociateClientVpnTargetNetworkOutput) String() string {
37427	return awsutil.Prettify(s)
37428}
37429
37430// GoString returns the string representation
37431func (s AssociateClientVpnTargetNetworkOutput) GoString() string {
37432	return s.String()
37433}
37434
37435// SetAssociationId sets the AssociationId field's value.
37436func (s *AssociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *AssociateClientVpnTargetNetworkOutput {
37437	s.AssociationId = &v
37438	return s
37439}
37440
37441// SetStatus sets the Status field's value.
37442func (s *AssociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *AssociateClientVpnTargetNetworkOutput {
37443	s.Status = v
37444	return s
37445}
37446
37447type AssociateDhcpOptionsInput struct {
37448	_ struct{} `type:"structure"`
37449
37450	// The ID of the DHCP options set, or default to associate no DHCP options with
37451	// the VPC.
37452	//
37453	// DhcpOptionsId is a required field
37454	DhcpOptionsId *string `type:"string" required:"true"`
37455
37456	// Checks whether you have the required permissions for the action, without
37457	// actually making the request, and provides an error response. If you have
37458	// the required permissions, the error response is DryRunOperation. Otherwise,
37459	// it is UnauthorizedOperation.
37460	DryRun *bool `locationName:"dryRun" type:"boolean"`
37461
37462	// The ID of the VPC.
37463	//
37464	// VpcId is a required field
37465	VpcId *string `type:"string" required:"true"`
37466}
37467
37468// String returns the string representation
37469func (s AssociateDhcpOptionsInput) String() string {
37470	return awsutil.Prettify(s)
37471}
37472
37473// GoString returns the string representation
37474func (s AssociateDhcpOptionsInput) GoString() string {
37475	return s.String()
37476}
37477
37478// Validate inspects the fields of the type to determine if they are valid.
37479func (s *AssociateDhcpOptionsInput) Validate() error {
37480	invalidParams := request.ErrInvalidParams{Context: "AssociateDhcpOptionsInput"}
37481	if s.DhcpOptionsId == nil {
37482		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
37483	}
37484	if s.VpcId == nil {
37485		invalidParams.Add(request.NewErrParamRequired("VpcId"))
37486	}
37487
37488	if invalidParams.Len() > 0 {
37489		return invalidParams
37490	}
37491	return nil
37492}
37493
37494// SetDhcpOptionsId sets the DhcpOptionsId field's value.
37495func (s *AssociateDhcpOptionsInput) SetDhcpOptionsId(v string) *AssociateDhcpOptionsInput {
37496	s.DhcpOptionsId = &v
37497	return s
37498}
37499
37500// SetDryRun sets the DryRun field's value.
37501func (s *AssociateDhcpOptionsInput) SetDryRun(v bool) *AssociateDhcpOptionsInput {
37502	s.DryRun = &v
37503	return s
37504}
37505
37506// SetVpcId sets the VpcId field's value.
37507func (s *AssociateDhcpOptionsInput) SetVpcId(v string) *AssociateDhcpOptionsInput {
37508	s.VpcId = &v
37509	return s
37510}
37511
37512type AssociateDhcpOptionsOutput struct {
37513	_ struct{} `type:"structure"`
37514}
37515
37516// String returns the string representation
37517func (s AssociateDhcpOptionsOutput) String() string {
37518	return awsutil.Prettify(s)
37519}
37520
37521// GoString returns the string representation
37522func (s AssociateDhcpOptionsOutput) GoString() string {
37523	return s.String()
37524}
37525
37526type AssociateIamInstanceProfileInput struct {
37527	_ struct{} `type:"structure"`
37528
37529	// The IAM instance profile.
37530	//
37531	// IamInstanceProfile is a required field
37532	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
37533
37534	// The ID of the instance.
37535	//
37536	// InstanceId is a required field
37537	InstanceId *string `type:"string" required:"true"`
37538}
37539
37540// String returns the string representation
37541func (s AssociateIamInstanceProfileInput) String() string {
37542	return awsutil.Prettify(s)
37543}
37544
37545// GoString returns the string representation
37546func (s AssociateIamInstanceProfileInput) GoString() string {
37547	return s.String()
37548}
37549
37550// Validate inspects the fields of the type to determine if they are valid.
37551func (s *AssociateIamInstanceProfileInput) Validate() error {
37552	invalidParams := request.ErrInvalidParams{Context: "AssociateIamInstanceProfileInput"}
37553	if s.IamInstanceProfile == nil {
37554		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
37555	}
37556	if s.InstanceId == nil {
37557		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
37558	}
37559
37560	if invalidParams.Len() > 0 {
37561		return invalidParams
37562	}
37563	return nil
37564}
37565
37566// SetIamInstanceProfile sets the IamInstanceProfile field's value.
37567func (s *AssociateIamInstanceProfileInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *AssociateIamInstanceProfileInput {
37568	s.IamInstanceProfile = v
37569	return s
37570}
37571
37572// SetInstanceId sets the InstanceId field's value.
37573func (s *AssociateIamInstanceProfileInput) SetInstanceId(v string) *AssociateIamInstanceProfileInput {
37574	s.InstanceId = &v
37575	return s
37576}
37577
37578type AssociateIamInstanceProfileOutput struct {
37579	_ struct{} `type:"structure"`
37580
37581	// Information about the IAM instance profile association.
37582	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
37583}
37584
37585// String returns the string representation
37586func (s AssociateIamInstanceProfileOutput) String() string {
37587	return awsutil.Prettify(s)
37588}
37589
37590// GoString returns the string representation
37591func (s AssociateIamInstanceProfileOutput) GoString() string {
37592	return s.String()
37593}
37594
37595// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
37596func (s *AssociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *AssociateIamInstanceProfileOutput {
37597	s.IamInstanceProfileAssociation = v
37598	return s
37599}
37600
37601type AssociateRouteTableInput struct {
37602	_ struct{} `type:"structure"`
37603
37604	// Checks whether you have the required permissions for the action, without
37605	// actually making the request, and provides an error response. If you have
37606	// the required permissions, the error response is DryRunOperation. Otherwise,
37607	// it is UnauthorizedOperation.
37608	DryRun *bool `locationName:"dryRun" type:"boolean"`
37609
37610	// The ID of the internet gateway or virtual private gateway.
37611	GatewayId *string `type:"string"`
37612
37613	// The ID of the route table.
37614	//
37615	// RouteTableId is a required field
37616	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
37617
37618	// The ID of the subnet.
37619	SubnetId *string `locationName:"subnetId" type:"string"`
37620}
37621
37622// String returns the string representation
37623func (s AssociateRouteTableInput) String() string {
37624	return awsutil.Prettify(s)
37625}
37626
37627// GoString returns the string representation
37628func (s AssociateRouteTableInput) GoString() string {
37629	return s.String()
37630}
37631
37632// Validate inspects the fields of the type to determine if they are valid.
37633func (s *AssociateRouteTableInput) Validate() error {
37634	invalidParams := request.ErrInvalidParams{Context: "AssociateRouteTableInput"}
37635	if s.RouteTableId == nil {
37636		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
37637	}
37638
37639	if invalidParams.Len() > 0 {
37640		return invalidParams
37641	}
37642	return nil
37643}
37644
37645// SetDryRun sets the DryRun field's value.
37646func (s *AssociateRouteTableInput) SetDryRun(v bool) *AssociateRouteTableInput {
37647	s.DryRun = &v
37648	return s
37649}
37650
37651// SetGatewayId sets the GatewayId field's value.
37652func (s *AssociateRouteTableInput) SetGatewayId(v string) *AssociateRouteTableInput {
37653	s.GatewayId = &v
37654	return s
37655}
37656
37657// SetRouteTableId sets the RouteTableId field's value.
37658func (s *AssociateRouteTableInput) SetRouteTableId(v string) *AssociateRouteTableInput {
37659	s.RouteTableId = &v
37660	return s
37661}
37662
37663// SetSubnetId sets the SubnetId field's value.
37664func (s *AssociateRouteTableInput) SetSubnetId(v string) *AssociateRouteTableInput {
37665	s.SubnetId = &v
37666	return s
37667}
37668
37669type AssociateRouteTableOutput struct {
37670	_ struct{} `type:"structure"`
37671
37672	// The route table association ID. This ID is required for disassociating the
37673	// route table.
37674	AssociationId *string `locationName:"associationId" type:"string"`
37675
37676	// The state of the association.
37677	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
37678}
37679
37680// String returns the string representation
37681func (s AssociateRouteTableOutput) String() string {
37682	return awsutil.Prettify(s)
37683}
37684
37685// GoString returns the string representation
37686func (s AssociateRouteTableOutput) GoString() string {
37687	return s.String()
37688}
37689
37690// SetAssociationId sets the AssociationId field's value.
37691func (s *AssociateRouteTableOutput) SetAssociationId(v string) *AssociateRouteTableOutput {
37692	s.AssociationId = &v
37693	return s
37694}
37695
37696// SetAssociationState sets the AssociationState field's value.
37697func (s *AssociateRouteTableOutput) SetAssociationState(v *RouteTableAssociationState) *AssociateRouteTableOutput {
37698	s.AssociationState = v
37699	return s
37700}
37701
37702type AssociateSubnetCidrBlockInput struct {
37703	_ struct{} `type:"structure"`
37704
37705	// The IPv6 CIDR block for your subnet. The subnet must have a /64 prefix length.
37706	//
37707	// Ipv6CidrBlock is a required field
37708	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string" required:"true"`
37709
37710	// The ID of your subnet.
37711	//
37712	// SubnetId is a required field
37713	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
37714}
37715
37716// String returns the string representation
37717func (s AssociateSubnetCidrBlockInput) String() string {
37718	return awsutil.Prettify(s)
37719}
37720
37721// GoString returns the string representation
37722func (s AssociateSubnetCidrBlockInput) GoString() string {
37723	return s.String()
37724}
37725
37726// Validate inspects the fields of the type to determine if they are valid.
37727func (s *AssociateSubnetCidrBlockInput) Validate() error {
37728	invalidParams := request.ErrInvalidParams{Context: "AssociateSubnetCidrBlockInput"}
37729	if s.Ipv6CidrBlock == nil {
37730		invalidParams.Add(request.NewErrParamRequired("Ipv6CidrBlock"))
37731	}
37732	if s.SubnetId == nil {
37733		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
37734	}
37735
37736	if invalidParams.Len() > 0 {
37737		return invalidParams
37738	}
37739	return nil
37740}
37741
37742// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
37743func (s *AssociateSubnetCidrBlockInput) SetIpv6CidrBlock(v string) *AssociateSubnetCidrBlockInput {
37744	s.Ipv6CidrBlock = &v
37745	return s
37746}
37747
37748// SetSubnetId sets the SubnetId field's value.
37749func (s *AssociateSubnetCidrBlockInput) SetSubnetId(v string) *AssociateSubnetCidrBlockInput {
37750	s.SubnetId = &v
37751	return s
37752}
37753
37754type AssociateSubnetCidrBlockOutput struct {
37755	_ struct{} `type:"structure"`
37756
37757	// Information about the IPv6 CIDR block association.
37758	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
37759
37760	// The ID of the subnet.
37761	SubnetId *string `locationName:"subnetId" type:"string"`
37762}
37763
37764// String returns the string representation
37765func (s AssociateSubnetCidrBlockOutput) String() string {
37766	return awsutil.Prettify(s)
37767}
37768
37769// GoString returns the string representation
37770func (s AssociateSubnetCidrBlockOutput) GoString() string {
37771	return s.String()
37772}
37773
37774// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
37775func (s *AssociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *AssociateSubnetCidrBlockOutput {
37776	s.Ipv6CidrBlockAssociation = v
37777	return s
37778}
37779
37780// SetSubnetId sets the SubnetId field's value.
37781func (s *AssociateSubnetCidrBlockOutput) SetSubnetId(v string) *AssociateSubnetCidrBlockOutput {
37782	s.SubnetId = &v
37783	return s
37784}
37785
37786type AssociateTransitGatewayMulticastDomainInput struct {
37787	_ struct{} `type:"structure"`
37788
37789	// Checks whether you have the required permissions for the action, without
37790	// actually making the request, and provides an error response. If you have
37791	// the required permissions, the error response is DryRunOperation. Otherwise,
37792	// it is UnauthorizedOperation.
37793	DryRun *bool `type:"boolean"`
37794
37795	// The IDs of the subnets to associate with the transit gateway multicast domain.
37796	SubnetIds []*string `locationNameList:"item" type:"list"`
37797
37798	// The ID of the transit gateway attachment to associate with the transit gateway
37799	// multicast domain.
37800	TransitGatewayAttachmentId *string `type:"string"`
37801
37802	// The ID of the transit gateway multicast domain.
37803	TransitGatewayMulticastDomainId *string `type:"string"`
37804}
37805
37806// String returns the string representation
37807func (s AssociateTransitGatewayMulticastDomainInput) String() string {
37808	return awsutil.Prettify(s)
37809}
37810
37811// GoString returns the string representation
37812func (s AssociateTransitGatewayMulticastDomainInput) GoString() string {
37813	return s.String()
37814}
37815
37816// SetDryRun sets the DryRun field's value.
37817func (s *AssociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *AssociateTransitGatewayMulticastDomainInput {
37818	s.DryRun = &v
37819	return s
37820}
37821
37822// SetSubnetIds sets the SubnetIds field's value.
37823func (s *AssociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *AssociateTransitGatewayMulticastDomainInput {
37824	s.SubnetIds = v
37825	return s
37826}
37827
37828// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
37829func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayMulticastDomainInput {
37830	s.TransitGatewayAttachmentId = &v
37831	return s
37832}
37833
37834// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
37835func (s *AssociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *AssociateTransitGatewayMulticastDomainInput {
37836	s.TransitGatewayMulticastDomainId = &v
37837	return s
37838}
37839
37840type AssociateTransitGatewayMulticastDomainOutput struct {
37841	_ struct{} `type:"structure"`
37842
37843	// Information about the transit gateway multicast domain associations.
37844	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
37845}
37846
37847// String returns the string representation
37848func (s AssociateTransitGatewayMulticastDomainOutput) String() string {
37849	return awsutil.Prettify(s)
37850}
37851
37852// GoString returns the string representation
37853func (s AssociateTransitGatewayMulticastDomainOutput) GoString() string {
37854	return s.String()
37855}
37856
37857// SetAssociations sets the Associations field's value.
37858func (s *AssociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *AssociateTransitGatewayMulticastDomainOutput {
37859	s.Associations = v
37860	return s
37861}
37862
37863type AssociateTransitGatewayRouteTableInput struct {
37864	_ struct{} `type:"structure"`
37865
37866	// Checks whether you have the required permissions for the action, without
37867	// actually making the request, and provides an error response. If you have
37868	// the required permissions, the error response is DryRunOperation. Otherwise,
37869	// it is UnauthorizedOperation.
37870	DryRun *bool `type:"boolean"`
37871
37872	// The ID of the attachment.
37873	//
37874	// TransitGatewayAttachmentId is a required field
37875	TransitGatewayAttachmentId *string `type:"string" required:"true"`
37876
37877	// The ID of the transit gateway route table.
37878	//
37879	// TransitGatewayRouteTableId is a required field
37880	TransitGatewayRouteTableId *string `type:"string" required:"true"`
37881}
37882
37883// String returns the string representation
37884func (s AssociateTransitGatewayRouteTableInput) String() string {
37885	return awsutil.Prettify(s)
37886}
37887
37888// GoString returns the string representation
37889func (s AssociateTransitGatewayRouteTableInput) GoString() string {
37890	return s.String()
37891}
37892
37893// Validate inspects the fields of the type to determine if they are valid.
37894func (s *AssociateTransitGatewayRouteTableInput) Validate() error {
37895	invalidParams := request.ErrInvalidParams{Context: "AssociateTransitGatewayRouteTableInput"}
37896	if s.TransitGatewayAttachmentId == nil {
37897		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
37898	}
37899	if s.TransitGatewayRouteTableId == nil {
37900		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
37901	}
37902
37903	if invalidParams.Len() > 0 {
37904		return invalidParams
37905	}
37906	return nil
37907}
37908
37909// SetDryRun sets the DryRun field's value.
37910func (s *AssociateTransitGatewayRouteTableInput) SetDryRun(v bool) *AssociateTransitGatewayRouteTableInput {
37911	s.DryRun = &v
37912	return s
37913}
37914
37915// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
37916func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *AssociateTransitGatewayRouteTableInput {
37917	s.TransitGatewayAttachmentId = &v
37918	return s
37919}
37920
37921// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
37922func (s *AssociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *AssociateTransitGatewayRouteTableInput {
37923	s.TransitGatewayRouteTableId = &v
37924	return s
37925}
37926
37927type AssociateTransitGatewayRouteTableOutput struct {
37928	_ struct{} `type:"structure"`
37929
37930	// The ID of the association.
37931	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
37932}
37933
37934// String returns the string representation
37935func (s AssociateTransitGatewayRouteTableOutput) String() string {
37936	return awsutil.Prettify(s)
37937}
37938
37939// GoString returns the string representation
37940func (s AssociateTransitGatewayRouteTableOutput) GoString() string {
37941	return s.String()
37942}
37943
37944// SetAssociation sets the Association field's value.
37945func (s *AssociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *AssociateTransitGatewayRouteTableOutput {
37946	s.Association = v
37947	return s
37948}
37949
37950type AssociateVpcCidrBlockInput struct {
37951	_ struct{} `type:"structure"`
37952
37953	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
37954	// the VPC. You cannot specify the range of IPv6 addresses, or the size of the
37955	// CIDR block.
37956	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
37957
37958	// An IPv4 CIDR block to associate with the VPC.
37959	CidrBlock *string `type:"string"`
37960
37961	// The name of the location from which we advertise the IPV6 CIDR block. Use
37962	// this parameter to limit the CiDR block to this location.
37963	//
37964	// You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
37965	//
37966	// You can have one IPv6 CIDR block association per network border group.
37967	Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
37968
37969	// The ID of the VPC.
37970	//
37971	// VpcId is a required field
37972	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
37973}
37974
37975// String returns the string representation
37976func (s AssociateVpcCidrBlockInput) String() string {
37977	return awsutil.Prettify(s)
37978}
37979
37980// GoString returns the string representation
37981func (s AssociateVpcCidrBlockInput) GoString() string {
37982	return s.String()
37983}
37984
37985// Validate inspects the fields of the type to determine if they are valid.
37986func (s *AssociateVpcCidrBlockInput) Validate() error {
37987	invalidParams := request.ErrInvalidParams{Context: "AssociateVpcCidrBlockInput"}
37988	if s.VpcId == nil {
37989		invalidParams.Add(request.NewErrParamRequired("VpcId"))
37990	}
37991
37992	if invalidParams.Len() > 0 {
37993		return invalidParams
37994	}
37995	return nil
37996}
37997
37998// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
37999func (s *AssociateVpcCidrBlockInput) SetAmazonProvidedIpv6CidrBlock(v bool) *AssociateVpcCidrBlockInput {
38000	s.AmazonProvidedIpv6CidrBlock = &v
38001	return s
38002}
38003
38004// SetCidrBlock sets the CidrBlock field's value.
38005func (s *AssociateVpcCidrBlockInput) SetCidrBlock(v string) *AssociateVpcCidrBlockInput {
38006	s.CidrBlock = &v
38007	return s
38008}
38009
38010// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
38011func (s *AssociateVpcCidrBlockInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *AssociateVpcCidrBlockInput {
38012	s.Ipv6CidrBlockNetworkBorderGroup = &v
38013	return s
38014}
38015
38016// SetVpcId sets the VpcId field's value.
38017func (s *AssociateVpcCidrBlockInput) SetVpcId(v string) *AssociateVpcCidrBlockInput {
38018	s.VpcId = &v
38019	return s
38020}
38021
38022type AssociateVpcCidrBlockOutput struct {
38023	_ struct{} `type:"structure"`
38024
38025	// Information about the IPv4 CIDR block association.
38026	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
38027
38028	// Information about the IPv6 CIDR block association.
38029	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
38030
38031	// The ID of the VPC.
38032	VpcId *string `locationName:"vpcId" type:"string"`
38033}
38034
38035// String returns the string representation
38036func (s AssociateVpcCidrBlockOutput) String() string {
38037	return awsutil.Prettify(s)
38038}
38039
38040// GoString returns the string representation
38041func (s AssociateVpcCidrBlockOutput) GoString() string {
38042	return s.String()
38043}
38044
38045// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
38046func (s *AssociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *AssociateVpcCidrBlockOutput {
38047	s.CidrBlockAssociation = v
38048	return s
38049}
38050
38051// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
38052func (s *AssociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *AssociateVpcCidrBlockOutput {
38053	s.Ipv6CidrBlockAssociation = v
38054	return s
38055}
38056
38057// SetVpcId sets the VpcId field's value.
38058func (s *AssociateVpcCidrBlockOutput) SetVpcId(v string) *AssociateVpcCidrBlockOutput {
38059	s.VpcId = &v
38060	return s
38061}
38062
38063// Describes a target network that is associated with a Client VPN endpoint.
38064// A target network is a subnet in a VPC.
38065type AssociatedTargetNetwork struct {
38066	_ struct{} `type:"structure"`
38067
38068	// The ID of the subnet.
38069	NetworkId *string `locationName:"networkId" type:"string"`
38070
38071	// The target network type.
38072	NetworkType *string `locationName:"networkType" type:"string" enum:"AssociatedNetworkType"`
38073}
38074
38075// String returns the string representation
38076func (s AssociatedTargetNetwork) String() string {
38077	return awsutil.Prettify(s)
38078}
38079
38080// GoString returns the string representation
38081func (s AssociatedTargetNetwork) GoString() string {
38082	return s.String()
38083}
38084
38085// SetNetworkId sets the NetworkId field's value.
38086func (s *AssociatedTargetNetwork) SetNetworkId(v string) *AssociatedTargetNetwork {
38087	s.NetworkId = &v
38088	return s
38089}
38090
38091// SetNetworkType sets the NetworkType field's value.
38092func (s *AssociatedTargetNetwork) SetNetworkType(v string) *AssociatedTargetNetwork {
38093	s.NetworkType = &v
38094	return s
38095}
38096
38097// Describes the state of a target network association.
38098type AssociationStatus struct {
38099	_ struct{} `type:"structure"`
38100
38101	// The state of the target network association.
38102	Code *string `locationName:"code" type:"string" enum:"AssociationStatusCode"`
38103
38104	// A message about the status of the target network association, if applicable.
38105	Message *string `locationName:"message" type:"string"`
38106}
38107
38108// String returns the string representation
38109func (s AssociationStatus) String() string {
38110	return awsutil.Prettify(s)
38111}
38112
38113// GoString returns the string representation
38114func (s AssociationStatus) GoString() string {
38115	return s.String()
38116}
38117
38118// SetCode sets the Code field's value.
38119func (s *AssociationStatus) SetCode(v string) *AssociationStatus {
38120	s.Code = &v
38121	return s
38122}
38123
38124// SetMessage sets the Message field's value.
38125func (s *AssociationStatus) SetMessage(v string) *AssociationStatus {
38126	s.Message = &v
38127	return s
38128}
38129
38130type AttachClassicLinkVpcInput struct {
38131	_ struct{} `type:"structure"`
38132
38133	// Checks whether you have the required permissions for the action, without
38134	// actually making the request, and provides an error response. If you have
38135	// the required permissions, the error response is DryRunOperation. Otherwise,
38136	// it is UnauthorizedOperation.
38137	DryRun *bool `locationName:"dryRun" type:"boolean"`
38138
38139	// The ID of one or more of the VPC's security groups. You cannot specify security
38140	// groups from a different VPC.
38141	//
38142	// Groups is a required field
38143	Groups []*string `locationName:"SecurityGroupId" locationNameList:"groupId" type:"list" required:"true"`
38144
38145	// The ID of an EC2-Classic instance to link to the ClassicLink-enabled VPC.
38146	//
38147	// InstanceId is a required field
38148	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
38149
38150	// The ID of a ClassicLink-enabled VPC.
38151	//
38152	// VpcId is a required field
38153	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
38154}
38155
38156// String returns the string representation
38157func (s AttachClassicLinkVpcInput) String() string {
38158	return awsutil.Prettify(s)
38159}
38160
38161// GoString returns the string representation
38162func (s AttachClassicLinkVpcInput) GoString() string {
38163	return s.String()
38164}
38165
38166// Validate inspects the fields of the type to determine if they are valid.
38167func (s *AttachClassicLinkVpcInput) Validate() error {
38168	invalidParams := request.ErrInvalidParams{Context: "AttachClassicLinkVpcInput"}
38169	if s.Groups == nil {
38170		invalidParams.Add(request.NewErrParamRequired("Groups"))
38171	}
38172	if s.InstanceId == nil {
38173		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
38174	}
38175	if s.VpcId == nil {
38176		invalidParams.Add(request.NewErrParamRequired("VpcId"))
38177	}
38178
38179	if invalidParams.Len() > 0 {
38180		return invalidParams
38181	}
38182	return nil
38183}
38184
38185// SetDryRun sets the DryRun field's value.
38186func (s *AttachClassicLinkVpcInput) SetDryRun(v bool) *AttachClassicLinkVpcInput {
38187	s.DryRun = &v
38188	return s
38189}
38190
38191// SetGroups sets the Groups field's value.
38192func (s *AttachClassicLinkVpcInput) SetGroups(v []*string) *AttachClassicLinkVpcInput {
38193	s.Groups = v
38194	return s
38195}
38196
38197// SetInstanceId sets the InstanceId field's value.
38198func (s *AttachClassicLinkVpcInput) SetInstanceId(v string) *AttachClassicLinkVpcInput {
38199	s.InstanceId = &v
38200	return s
38201}
38202
38203// SetVpcId sets the VpcId field's value.
38204func (s *AttachClassicLinkVpcInput) SetVpcId(v string) *AttachClassicLinkVpcInput {
38205	s.VpcId = &v
38206	return s
38207}
38208
38209type AttachClassicLinkVpcOutput struct {
38210	_ struct{} `type:"structure"`
38211
38212	// Returns true if the request succeeds; otherwise, it returns an error.
38213	Return *bool `locationName:"return" type:"boolean"`
38214}
38215
38216// String returns the string representation
38217func (s AttachClassicLinkVpcOutput) String() string {
38218	return awsutil.Prettify(s)
38219}
38220
38221// GoString returns the string representation
38222func (s AttachClassicLinkVpcOutput) GoString() string {
38223	return s.String()
38224}
38225
38226// SetReturn sets the Return field's value.
38227func (s *AttachClassicLinkVpcOutput) SetReturn(v bool) *AttachClassicLinkVpcOutput {
38228	s.Return = &v
38229	return s
38230}
38231
38232type AttachInternetGatewayInput struct {
38233	_ struct{} `type:"structure"`
38234
38235	// Checks whether you have the required permissions for the action, without
38236	// actually making the request, and provides an error response. If you have
38237	// the required permissions, the error response is DryRunOperation. Otherwise,
38238	// it is UnauthorizedOperation.
38239	DryRun *bool `locationName:"dryRun" type:"boolean"`
38240
38241	// The ID of the internet gateway.
38242	//
38243	// InternetGatewayId is a required field
38244	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
38245
38246	// The ID of the VPC.
38247	//
38248	// VpcId is a required field
38249	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
38250}
38251
38252// String returns the string representation
38253func (s AttachInternetGatewayInput) String() string {
38254	return awsutil.Prettify(s)
38255}
38256
38257// GoString returns the string representation
38258func (s AttachInternetGatewayInput) GoString() string {
38259	return s.String()
38260}
38261
38262// Validate inspects the fields of the type to determine if they are valid.
38263func (s *AttachInternetGatewayInput) Validate() error {
38264	invalidParams := request.ErrInvalidParams{Context: "AttachInternetGatewayInput"}
38265	if s.InternetGatewayId == nil {
38266		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
38267	}
38268	if s.VpcId == nil {
38269		invalidParams.Add(request.NewErrParamRequired("VpcId"))
38270	}
38271
38272	if invalidParams.Len() > 0 {
38273		return invalidParams
38274	}
38275	return nil
38276}
38277
38278// SetDryRun sets the DryRun field's value.
38279func (s *AttachInternetGatewayInput) SetDryRun(v bool) *AttachInternetGatewayInput {
38280	s.DryRun = &v
38281	return s
38282}
38283
38284// SetInternetGatewayId sets the InternetGatewayId field's value.
38285func (s *AttachInternetGatewayInput) SetInternetGatewayId(v string) *AttachInternetGatewayInput {
38286	s.InternetGatewayId = &v
38287	return s
38288}
38289
38290// SetVpcId sets the VpcId field's value.
38291func (s *AttachInternetGatewayInput) SetVpcId(v string) *AttachInternetGatewayInput {
38292	s.VpcId = &v
38293	return s
38294}
38295
38296type AttachInternetGatewayOutput struct {
38297	_ struct{} `type:"structure"`
38298}
38299
38300// String returns the string representation
38301func (s AttachInternetGatewayOutput) String() string {
38302	return awsutil.Prettify(s)
38303}
38304
38305// GoString returns the string representation
38306func (s AttachInternetGatewayOutput) GoString() string {
38307	return s.String()
38308}
38309
38310// Contains the parameters for AttachNetworkInterface.
38311type AttachNetworkInterfaceInput struct {
38312	_ struct{} `type:"structure"`
38313
38314	// The index of the device for the network interface attachment.
38315	//
38316	// DeviceIndex is a required field
38317	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer" required:"true"`
38318
38319	// Checks whether you have the required permissions for the action, without
38320	// actually making the request, and provides an error response. If you have
38321	// the required permissions, the error response is DryRunOperation. Otherwise,
38322	// it is UnauthorizedOperation.
38323	DryRun *bool `locationName:"dryRun" type:"boolean"`
38324
38325	// The ID of the instance.
38326	//
38327	// InstanceId is a required field
38328	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
38329
38330	// The ID of the network interface.
38331	//
38332	// NetworkInterfaceId is a required field
38333	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
38334}
38335
38336// String returns the string representation
38337func (s AttachNetworkInterfaceInput) String() string {
38338	return awsutil.Prettify(s)
38339}
38340
38341// GoString returns the string representation
38342func (s AttachNetworkInterfaceInput) GoString() string {
38343	return s.String()
38344}
38345
38346// Validate inspects the fields of the type to determine if they are valid.
38347func (s *AttachNetworkInterfaceInput) Validate() error {
38348	invalidParams := request.ErrInvalidParams{Context: "AttachNetworkInterfaceInput"}
38349	if s.DeviceIndex == nil {
38350		invalidParams.Add(request.NewErrParamRequired("DeviceIndex"))
38351	}
38352	if s.InstanceId == nil {
38353		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
38354	}
38355	if s.NetworkInterfaceId == nil {
38356		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
38357	}
38358
38359	if invalidParams.Len() > 0 {
38360		return invalidParams
38361	}
38362	return nil
38363}
38364
38365// SetDeviceIndex sets the DeviceIndex field's value.
38366func (s *AttachNetworkInterfaceInput) SetDeviceIndex(v int64) *AttachNetworkInterfaceInput {
38367	s.DeviceIndex = &v
38368	return s
38369}
38370
38371// SetDryRun sets the DryRun field's value.
38372func (s *AttachNetworkInterfaceInput) SetDryRun(v bool) *AttachNetworkInterfaceInput {
38373	s.DryRun = &v
38374	return s
38375}
38376
38377// SetInstanceId sets the InstanceId field's value.
38378func (s *AttachNetworkInterfaceInput) SetInstanceId(v string) *AttachNetworkInterfaceInput {
38379	s.InstanceId = &v
38380	return s
38381}
38382
38383// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
38384func (s *AttachNetworkInterfaceInput) SetNetworkInterfaceId(v string) *AttachNetworkInterfaceInput {
38385	s.NetworkInterfaceId = &v
38386	return s
38387}
38388
38389// Contains the output of AttachNetworkInterface.
38390type AttachNetworkInterfaceOutput struct {
38391	_ struct{} `type:"structure"`
38392
38393	// The ID of the network interface attachment.
38394	AttachmentId *string `locationName:"attachmentId" type:"string"`
38395}
38396
38397// String returns the string representation
38398func (s AttachNetworkInterfaceOutput) String() string {
38399	return awsutil.Prettify(s)
38400}
38401
38402// GoString returns the string representation
38403func (s AttachNetworkInterfaceOutput) GoString() string {
38404	return s.String()
38405}
38406
38407// SetAttachmentId sets the AttachmentId field's value.
38408func (s *AttachNetworkInterfaceOutput) SetAttachmentId(v string) *AttachNetworkInterfaceOutput {
38409	s.AttachmentId = &v
38410	return s
38411}
38412
38413type AttachVolumeInput struct {
38414	_ struct{} `type:"structure"`
38415
38416	// The device name (for example, /dev/sdh or xvdh).
38417	//
38418	// Device is a required field
38419	Device *string `type:"string" required:"true"`
38420
38421	// Checks whether you have the required permissions for the action, without
38422	// actually making the request, and provides an error response. If you have
38423	// the required permissions, the error response is DryRunOperation. Otherwise,
38424	// it is UnauthorizedOperation.
38425	DryRun *bool `locationName:"dryRun" type:"boolean"`
38426
38427	// The ID of the instance.
38428	//
38429	// InstanceId is a required field
38430	InstanceId *string `type:"string" required:"true"`
38431
38432	// The ID of the EBS volume. The volume and instance must be within the same
38433	// Availability Zone.
38434	//
38435	// VolumeId is a required field
38436	VolumeId *string `type:"string" required:"true"`
38437}
38438
38439// String returns the string representation
38440func (s AttachVolumeInput) String() string {
38441	return awsutil.Prettify(s)
38442}
38443
38444// GoString returns the string representation
38445func (s AttachVolumeInput) GoString() string {
38446	return s.String()
38447}
38448
38449// Validate inspects the fields of the type to determine if they are valid.
38450func (s *AttachVolumeInput) Validate() error {
38451	invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
38452	if s.Device == nil {
38453		invalidParams.Add(request.NewErrParamRequired("Device"))
38454	}
38455	if s.InstanceId == nil {
38456		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
38457	}
38458	if s.VolumeId == nil {
38459		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
38460	}
38461
38462	if invalidParams.Len() > 0 {
38463		return invalidParams
38464	}
38465	return nil
38466}
38467
38468// SetDevice sets the Device field's value.
38469func (s *AttachVolumeInput) SetDevice(v string) *AttachVolumeInput {
38470	s.Device = &v
38471	return s
38472}
38473
38474// SetDryRun sets the DryRun field's value.
38475func (s *AttachVolumeInput) SetDryRun(v bool) *AttachVolumeInput {
38476	s.DryRun = &v
38477	return s
38478}
38479
38480// SetInstanceId sets the InstanceId field's value.
38481func (s *AttachVolumeInput) SetInstanceId(v string) *AttachVolumeInput {
38482	s.InstanceId = &v
38483	return s
38484}
38485
38486// SetVolumeId sets the VolumeId field's value.
38487func (s *AttachVolumeInput) SetVolumeId(v string) *AttachVolumeInput {
38488	s.VolumeId = &v
38489	return s
38490}
38491
38492// Contains the parameters for AttachVpnGateway.
38493type AttachVpnGatewayInput struct {
38494	_ struct{} `type:"structure"`
38495
38496	// Checks whether you have the required permissions for the action, without
38497	// actually making the request, and provides an error response. If you have
38498	// the required permissions, the error response is DryRunOperation. Otherwise,
38499	// it is UnauthorizedOperation.
38500	DryRun *bool `locationName:"dryRun" type:"boolean"`
38501
38502	// The ID of the VPC.
38503	//
38504	// VpcId is a required field
38505	VpcId *string `type:"string" required:"true"`
38506
38507	// The ID of the virtual private gateway.
38508	//
38509	// VpnGatewayId is a required field
38510	VpnGatewayId *string `type:"string" required:"true"`
38511}
38512
38513// String returns the string representation
38514func (s AttachVpnGatewayInput) String() string {
38515	return awsutil.Prettify(s)
38516}
38517
38518// GoString returns the string representation
38519func (s AttachVpnGatewayInput) GoString() string {
38520	return s.String()
38521}
38522
38523// Validate inspects the fields of the type to determine if they are valid.
38524func (s *AttachVpnGatewayInput) Validate() error {
38525	invalidParams := request.ErrInvalidParams{Context: "AttachVpnGatewayInput"}
38526	if s.VpcId == nil {
38527		invalidParams.Add(request.NewErrParamRequired("VpcId"))
38528	}
38529	if s.VpnGatewayId == nil {
38530		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
38531	}
38532
38533	if invalidParams.Len() > 0 {
38534		return invalidParams
38535	}
38536	return nil
38537}
38538
38539// SetDryRun sets the DryRun field's value.
38540func (s *AttachVpnGatewayInput) SetDryRun(v bool) *AttachVpnGatewayInput {
38541	s.DryRun = &v
38542	return s
38543}
38544
38545// SetVpcId sets the VpcId field's value.
38546func (s *AttachVpnGatewayInput) SetVpcId(v string) *AttachVpnGatewayInput {
38547	s.VpcId = &v
38548	return s
38549}
38550
38551// SetVpnGatewayId sets the VpnGatewayId field's value.
38552func (s *AttachVpnGatewayInput) SetVpnGatewayId(v string) *AttachVpnGatewayInput {
38553	s.VpnGatewayId = &v
38554	return s
38555}
38556
38557// Contains the output of AttachVpnGateway.
38558type AttachVpnGatewayOutput struct {
38559	_ struct{} `type:"structure"`
38560
38561	// Information about the attachment.
38562	VpcAttachment *VpcAttachment `locationName:"attachment" type:"structure"`
38563}
38564
38565// String returns the string representation
38566func (s AttachVpnGatewayOutput) String() string {
38567	return awsutil.Prettify(s)
38568}
38569
38570// GoString returns the string representation
38571func (s AttachVpnGatewayOutput) GoString() string {
38572	return s.String()
38573}
38574
38575// SetVpcAttachment sets the VpcAttachment field's value.
38576func (s *AttachVpnGatewayOutput) SetVpcAttachment(v *VpcAttachment) *AttachVpnGatewayOutput {
38577	s.VpcAttachment = v
38578	return s
38579}
38580
38581// Describes a value for a resource attribute that is a Boolean value.
38582type AttributeBooleanValue struct {
38583	_ struct{} `type:"structure"`
38584
38585	// The attribute value. The valid values are true or false.
38586	Value *bool `locationName:"value" type:"boolean"`
38587}
38588
38589// String returns the string representation
38590func (s AttributeBooleanValue) String() string {
38591	return awsutil.Prettify(s)
38592}
38593
38594// GoString returns the string representation
38595func (s AttributeBooleanValue) GoString() string {
38596	return s.String()
38597}
38598
38599// SetValue sets the Value field's value.
38600func (s *AttributeBooleanValue) SetValue(v bool) *AttributeBooleanValue {
38601	s.Value = &v
38602	return s
38603}
38604
38605// Describes a value for a resource attribute that is a String.
38606type AttributeValue struct {
38607	_ struct{} `type:"structure"`
38608
38609	// The attribute value. The value is case-sensitive.
38610	Value *string `locationName:"value" type:"string"`
38611}
38612
38613// String returns the string representation
38614func (s AttributeValue) String() string {
38615	return awsutil.Prettify(s)
38616}
38617
38618// GoString returns the string representation
38619func (s AttributeValue) GoString() string {
38620	return s.String()
38621}
38622
38623// SetValue sets the Value field's value.
38624func (s *AttributeValue) SetValue(v string) *AttributeValue {
38625	s.Value = &v
38626	return s
38627}
38628
38629// Information about an authorization rule.
38630type AuthorizationRule struct {
38631	_ struct{} `type:"structure"`
38632
38633	// Indicates whether the authorization rule grants access to all clients.
38634	AccessAll *bool `locationName:"accessAll" type:"boolean"`
38635
38636	// The ID of the Client VPN endpoint with which the authorization rule is associated.
38637	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
38638
38639	// A brief description of the authorization rule.
38640	Description *string `locationName:"description" type:"string"`
38641
38642	// The IPv4 address range, in CIDR notation, of the network to which the authorization
38643	// rule applies.
38644	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
38645
38646	// The ID of the Active Directory group to which the authorization rule grants
38647	// access.
38648	GroupId *string `locationName:"groupId" type:"string"`
38649
38650	// The current state of the authorization rule.
38651	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
38652}
38653
38654// String returns the string representation
38655func (s AuthorizationRule) String() string {
38656	return awsutil.Prettify(s)
38657}
38658
38659// GoString returns the string representation
38660func (s AuthorizationRule) GoString() string {
38661	return s.String()
38662}
38663
38664// SetAccessAll sets the AccessAll field's value.
38665func (s *AuthorizationRule) SetAccessAll(v bool) *AuthorizationRule {
38666	s.AccessAll = &v
38667	return s
38668}
38669
38670// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
38671func (s *AuthorizationRule) SetClientVpnEndpointId(v string) *AuthorizationRule {
38672	s.ClientVpnEndpointId = &v
38673	return s
38674}
38675
38676// SetDescription sets the Description field's value.
38677func (s *AuthorizationRule) SetDescription(v string) *AuthorizationRule {
38678	s.Description = &v
38679	return s
38680}
38681
38682// SetDestinationCidr sets the DestinationCidr field's value.
38683func (s *AuthorizationRule) SetDestinationCidr(v string) *AuthorizationRule {
38684	s.DestinationCidr = &v
38685	return s
38686}
38687
38688// SetGroupId sets the GroupId field's value.
38689func (s *AuthorizationRule) SetGroupId(v string) *AuthorizationRule {
38690	s.GroupId = &v
38691	return s
38692}
38693
38694// SetStatus sets the Status field's value.
38695func (s *AuthorizationRule) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizationRule {
38696	s.Status = v
38697	return s
38698}
38699
38700type AuthorizeClientVpnIngressInput struct {
38701	_ struct{} `type:"structure"`
38702
38703	// The ID of the Active Directory group to grant access.
38704	AccessGroupId *string `type:"string"`
38705
38706	// Indicates whether to grant access to all clients. Use true to grant all clients
38707	// who successfully establish a VPN connection access to the network.
38708	AuthorizeAllGroups *bool `type:"boolean"`
38709
38710	// Unique, case-sensitive identifier that you provide to ensure the idempotency
38711	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
38712	ClientToken *string `type:"string" idempotencyToken:"true"`
38713
38714	// The ID of the Client VPN endpoint.
38715	//
38716	// ClientVpnEndpointId is a required field
38717	ClientVpnEndpointId *string `type:"string" required:"true"`
38718
38719	// A brief description of the authorization rule.
38720	Description *string `type:"string"`
38721
38722	// Checks whether you have the required permissions for the action, without
38723	// actually making the request, and provides an error response. If you have
38724	// the required permissions, the error response is DryRunOperation. Otherwise,
38725	// it is UnauthorizedOperation.
38726	DryRun *bool `type:"boolean"`
38727
38728	// The IPv4 address range, in CIDR notation, of the network for which access
38729	// is being authorized.
38730	//
38731	// TargetNetworkCidr is a required field
38732	TargetNetworkCidr *string `type:"string" required:"true"`
38733}
38734
38735// String returns the string representation
38736func (s AuthorizeClientVpnIngressInput) String() string {
38737	return awsutil.Prettify(s)
38738}
38739
38740// GoString returns the string representation
38741func (s AuthorizeClientVpnIngressInput) GoString() string {
38742	return s.String()
38743}
38744
38745// Validate inspects the fields of the type to determine if they are valid.
38746func (s *AuthorizeClientVpnIngressInput) Validate() error {
38747	invalidParams := request.ErrInvalidParams{Context: "AuthorizeClientVpnIngressInput"}
38748	if s.ClientVpnEndpointId == nil {
38749		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
38750	}
38751	if s.TargetNetworkCidr == nil {
38752		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
38753	}
38754
38755	if invalidParams.Len() > 0 {
38756		return invalidParams
38757	}
38758	return nil
38759}
38760
38761// SetAccessGroupId sets the AccessGroupId field's value.
38762func (s *AuthorizeClientVpnIngressInput) SetAccessGroupId(v string) *AuthorizeClientVpnIngressInput {
38763	s.AccessGroupId = &v
38764	return s
38765}
38766
38767// SetAuthorizeAllGroups sets the AuthorizeAllGroups field's value.
38768func (s *AuthorizeClientVpnIngressInput) SetAuthorizeAllGroups(v bool) *AuthorizeClientVpnIngressInput {
38769	s.AuthorizeAllGroups = &v
38770	return s
38771}
38772
38773// SetClientToken sets the ClientToken field's value.
38774func (s *AuthorizeClientVpnIngressInput) SetClientToken(v string) *AuthorizeClientVpnIngressInput {
38775	s.ClientToken = &v
38776	return s
38777}
38778
38779// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
38780func (s *AuthorizeClientVpnIngressInput) SetClientVpnEndpointId(v string) *AuthorizeClientVpnIngressInput {
38781	s.ClientVpnEndpointId = &v
38782	return s
38783}
38784
38785// SetDescription sets the Description field's value.
38786func (s *AuthorizeClientVpnIngressInput) SetDescription(v string) *AuthorizeClientVpnIngressInput {
38787	s.Description = &v
38788	return s
38789}
38790
38791// SetDryRun sets the DryRun field's value.
38792func (s *AuthorizeClientVpnIngressInput) SetDryRun(v bool) *AuthorizeClientVpnIngressInput {
38793	s.DryRun = &v
38794	return s
38795}
38796
38797// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
38798func (s *AuthorizeClientVpnIngressInput) SetTargetNetworkCidr(v string) *AuthorizeClientVpnIngressInput {
38799	s.TargetNetworkCidr = &v
38800	return s
38801}
38802
38803type AuthorizeClientVpnIngressOutput struct {
38804	_ struct{} `type:"structure"`
38805
38806	// The current state of the authorization rule.
38807	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
38808}
38809
38810// String returns the string representation
38811func (s AuthorizeClientVpnIngressOutput) String() string {
38812	return awsutil.Prettify(s)
38813}
38814
38815// GoString returns the string representation
38816func (s AuthorizeClientVpnIngressOutput) GoString() string {
38817	return s.String()
38818}
38819
38820// SetStatus sets the Status field's value.
38821func (s *AuthorizeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *AuthorizeClientVpnIngressOutput {
38822	s.Status = v
38823	return s
38824}
38825
38826type AuthorizeSecurityGroupEgressInput struct {
38827	_ struct{} `type:"structure"`
38828
38829	// Not supported. Use a set of IP permissions to specify the CIDR.
38830	CidrIp *string `locationName:"cidrIp" type:"string"`
38831
38832	// Checks whether you have the required permissions for the action, without
38833	// actually making the request, and provides an error response. If you have
38834	// the required permissions, the error response is DryRunOperation. Otherwise,
38835	// it is UnauthorizedOperation.
38836	DryRun *bool `locationName:"dryRun" type:"boolean"`
38837
38838	// Not supported. Use a set of IP permissions to specify the port.
38839	FromPort *int64 `locationName:"fromPort" type:"integer"`
38840
38841	// The ID of the security group.
38842	//
38843	// GroupId is a required field
38844	GroupId *string `locationName:"groupId" type:"string" required:"true"`
38845
38846	// The sets of IP permissions. You can't specify a destination security group
38847	// and a CIDR IP address range in the same set of permissions.
38848	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
38849
38850	// Not supported. Use a set of IP permissions to specify the protocol name or
38851	// number.
38852	IpProtocol *string `locationName:"ipProtocol" type:"string"`
38853
38854	// Not supported. Use a set of IP permissions to specify a destination security
38855	// group.
38856	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
38857
38858	// Not supported. Use a set of IP permissions to specify a destination security
38859	// group.
38860	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
38861
38862	// Not supported. Use a set of IP permissions to specify the port.
38863	ToPort *int64 `locationName:"toPort" type:"integer"`
38864}
38865
38866// String returns the string representation
38867func (s AuthorizeSecurityGroupEgressInput) String() string {
38868	return awsutil.Prettify(s)
38869}
38870
38871// GoString returns the string representation
38872func (s AuthorizeSecurityGroupEgressInput) GoString() string {
38873	return s.String()
38874}
38875
38876// Validate inspects the fields of the type to determine if they are valid.
38877func (s *AuthorizeSecurityGroupEgressInput) Validate() error {
38878	invalidParams := request.ErrInvalidParams{Context: "AuthorizeSecurityGroupEgressInput"}
38879	if s.GroupId == nil {
38880		invalidParams.Add(request.NewErrParamRequired("GroupId"))
38881	}
38882
38883	if invalidParams.Len() > 0 {
38884		return invalidParams
38885	}
38886	return nil
38887}
38888
38889// SetCidrIp sets the CidrIp field's value.
38890func (s *AuthorizeSecurityGroupEgressInput) SetCidrIp(v string) *AuthorizeSecurityGroupEgressInput {
38891	s.CidrIp = &v
38892	return s
38893}
38894
38895// SetDryRun sets the DryRun field's value.
38896func (s *AuthorizeSecurityGroupEgressInput) SetDryRun(v bool) *AuthorizeSecurityGroupEgressInput {
38897	s.DryRun = &v
38898	return s
38899}
38900
38901// SetFromPort sets the FromPort field's value.
38902func (s *AuthorizeSecurityGroupEgressInput) SetFromPort(v int64) *AuthorizeSecurityGroupEgressInput {
38903	s.FromPort = &v
38904	return s
38905}
38906
38907// SetGroupId sets the GroupId field's value.
38908func (s *AuthorizeSecurityGroupEgressInput) SetGroupId(v string) *AuthorizeSecurityGroupEgressInput {
38909	s.GroupId = &v
38910	return s
38911}
38912
38913// SetIpPermissions sets the IpPermissions field's value.
38914func (s *AuthorizeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupEgressInput {
38915	s.IpPermissions = v
38916	return s
38917}
38918
38919// SetIpProtocol sets the IpProtocol field's value.
38920func (s *AuthorizeSecurityGroupEgressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupEgressInput {
38921	s.IpProtocol = &v
38922	return s
38923}
38924
38925// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
38926func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupEgressInput {
38927	s.SourceSecurityGroupName = &v
38928	return s
38929}
38930
38931// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
38932func (s *AuthorizeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupEgressInput {
38933	s.SourceSecurityGroupOwnerId = &v
38934	return s
38935}
38936
38937// SetToPort sets the ToPort field's value.
38938func (s *AuthorizeSecurityGroupEgressInput) SetToPort(v int64) *AuthorizeSecurityGroupEgressInput {
38939	s.ToPort = &v
38940	return s
38941}
38942
38943type AuthorizeSecurityGroupEgressOutput struct {
38944	_ struct{} `type:"structure"`
38945}
38946
38947// String returns the string representation
38948func (s AuthorizeSecurityGroupEgressOutput) String() string {
38949	return awsutil.Prettify(s)
38950}
38951
38952// GoString returns the string representation
38953func (s AuthorizeSecurityGroupEgressOutput) GoString() string {
38954	return s.String()
38955}
38956
38957type AuthorizeSecurityGroupIngressInput struct {
38958	_ struct{} `type:"structure"`
38959
38960	// The IPv4 address range, in CIDR format. You can't specify this parameter
38961	// when specifying a source security group. To specify an IPv6 address range,
38962	// use a set of IP permissions.
38963	//
38964	// Alternatively, use a set of IP permissions to specify multiple rules and
38965	// a description for the rule.
38966	CidrIp *string `type:"string"`
38967
38968	// Checks whether you have the required permissions for the action, without
38969	// actually making the request, and provides an error response. If you have
38970	// the required permissions, the error response is DryRunOperation. Otherwise,
38971	// it is UnauthorizedOperation.
38972	DryRun *bool `locationName:"dryRun" type:"boolean"`
38973
38974	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
38975	// For the ICMP type number, use -1 to specify all types. If you specify all
38976	// ICMP types, you must specify all codes.
38977	//
38978	// Alternatively, use a set of IP permissions to specify multiple rules and
38979	// a description for the rule.
38980	FromPort *int64 `type:"integer"`
38981
38982	// The ID of the security group. You must specify either the security group
38983	// ID or the security group name in the request. For security groups in a nondefault
38984	// VPC, you must specify the security group ID.
38985	GroupId *string `type:"string"`
38986
38987	// [EC2-Classic, default VPC] The name of the security group. You must specify
38988	// either the security group ID or the security group name in the request.
38989	GroupName *string `type:"string"`
38990
38991	// The sets of IP permissions.
38992	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
38993
38994	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
38995	// To specify icmpv6, use a set of IP permissions.
38996	//
38997	// [VPC only] Use -1 to specify all protocols. If you specify -1 or a protocol
38998	// other than tcp, udp, or icmp, traffic on all ports is allowed, regardless
38999	// of any ports you specify.
39000	//
39001	// Alternatively, use a set of IP permissions to specify multiple rules and
39002	// a description for the rule.
39003	IpProtocol *string `type:"string"`
39004
39005	// [EC2-Classic, default VPC] The name of the source security group. You can't
39006	// specify this parameter in combination with the following parameters: the
39007	// CIDR IP address range, the start of the port range, the IP protocol, and
39008	// the end of the port range. Creates rules that grant full ICMP, UDP, and TCP
39009	// access. To create a rule with a specific IP protocol and port range, use
39010	// a set of IP permissions instead. For EC2-VPC, the source security group must
39011	// be in the same VPC.
39012	SourceSecurityGroupName *string `type:"string"`
39013
39014	// [nondefault VPC] The AWS account ID for the source security group, if the
39015	// source security group is in a different account. You can't specify this parameter
39016	// in combination with the following parameters: the CIDR IP address range,
39017	// the IP protocol, the start of the port range, and the end of the port range.
39018	// Creates rules that grant full ICMP, UDP, and TCP access. To create a rule
39019	// with a specific IP protocol and port range, use a set of IP permissions instead.
39020	SourceSecurityGroupOwnerId *string `type:"string"`
39021
39022	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
39023	// For the ICMP code number, use -1 to specify all codes. If you specify all
39024	// ICMP types, you must specify all codes.
39025	//
39026	// Alternatively, use a set of IP permissions to specify multiple rules and
39027	// a description for the rule.
39028	ToPort *int64 `type:"integer"`
39029}
39030
39031// String returns the string representation
39032func (s AuthorizeSecurityGroupIngressInput) String() string {
39033	return awsutil.Prettify(s)
39034}
39035
39036// GoString returns the string representation
39037func (s AuthorizeSecurityGroupIngressInput) GoString() string {
39038	return s.String()
39039}
39040
39041// SetCidrIp sets the CidrIp field's value.
39042func (s *AuthorizeSecurityGroupIngressInput) SetCidrIp(v string) *AuthorizeSecurityGroupIngressInput {
39043	s.CidrIp = &v
39044	return s
39045}
39046
39047// SetDryRun sets the DryRun field's value.
39048func (s *AuthorizeSecurityGroupIngressInput) SetDryRun(v bool) *AuthorizeSecurityGroupIngressInput {
39049	s.DryRun = &v
39050	return s
39051}
39052
39053// SetFromPort sets the FromPort field's value.
39054func (s *AuthorizeSecurityGroupIngressInput) SetFromPort(v int64) *AuthorizeSecurityGroupIngressInput {
39055	s.FromPort = &v
39056	return s
39057}
39058
39059// SetGroupId sets the GroupId field's value.
39060func (s *AuthorizeSecurityGroupIngressInput) SetGroupId(v string) *AuthorizeSecurityGroupIngressInput {
39061	s.GroupId = &v
39062	return s
39063}
39064
39065// SetGroupName sets the GroupName field's value.
39066func (s *AuthorizeSecurityGroupIngressInput) SetGroupName(v string) *AuthorizeSecurityGroupIngressInput {
39067	s.GroupName = &v
39068	return s
39069}
39070
39071// SetIpPermissions sets the IpPermissions field's value.
39072func (s *AuthorizeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *AuthorizeSecurityGroupIngressInput {
39073	s.IpPermissions = v
39074	return s
39075}
39076
39077// SetIpProtocol sets the IpProtocol field's value.
39078func (s *AuthorizeSecurityGroupIngressInput) SetIpProtocol(v string) *AuthorizeSecurityGroupIngressInput {
39079	s.IpProtocol = &v
39080	return s
39081}
39082
39083// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
39084func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *AuthorizeSecurityGroupIngressInput {
39085	s.SourceSecurityGroupName = &v
39086	return s
39087}
39088
39089// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
39090func (s *AuthorizeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *AuthorizeSecurityGroupIngressInput {
39091	s.SourceSecurityGroupOwnerId = &v
39092	return s
39093}
39094
39095// SetToPort sets the ToPort field's value.
39096func (s *AuthorizeSecurityGroupIngressInput) SetToPort(v int64) *AuthorizeSecurityGroupIngressInput {
39097	s.ToPort = &v
39098	return s
39099}
39100
39101type AuthorizeSecurityGroupIngressOutput struct {
39102	_ struct{} `type:"structure"`
39103}
39104
39105// String returns the string representation
39106func (s AuthorizeSecurityGroupIngressOutput) String() string {
39107	return awsutil.Prettify(s)
39108}
39109
39110// GoString returns the string representation
39111func (s AuthorizeSecurityGroupIngressOutput) GoString() string {
39112	return s.String()
39113}
39114
39115// Describes an Availability Zone or Local Zone.
39116type AvailabilityZone struct {
39117	_ struct{} `type:"structure"`
39118
39119	// For Availability Zones, this parameter has the same value as the Region name.
39120	//
39121	// For Local Zones, the name of the associated group, for example us-west-2-lax-1.
39122	GroupName *string `locationName:"groupName" type:"string"`
39123
39124	// Any messages about the Availability Zone or Local Zone.
39125	Messages []*AvailabilityZoneMessage `locationName:"messageSet" locationNameList:"item" type:"list"`
39126
39127	// The name of the location from which the address is advertised.
39128	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
39129
39130	// For Availability Zones, this parameter always has the value of opt-in-not-required.
39131	//
39132	// For Local Zones, this parameter is the opt in status. The possible values
39133	// are opted-in, and not-opted-in.
39134	OptInStatus *string `locationName:"optInStatus" type:"string" enum:"AvailabilityZoneOptInStatus"`
39135
39136	// The name of the Region.
39137	RegionName *string `locationName:"regionName" type:"string"`
39138
39139	// The state of the Availability Zone or Local Zone.
39140	State *string `locationName:"zoneState" type:"string" enum:"AvailabilityZoneState"`
39141
39142	// The ID of the Availability Zone or Local Zone.
39143	ZoneId *string `locationName:"zoneId" type:"string"`
39144
39145	// The name of the Availability Zone or Local Zone.
39146	ZoneName *string `locationName:"zoneName" type:"string"`
39147}
39148
39149// String returns the string representation
39150func (s AvailabilityZone) String() string {
39151	return awsutil.Prettify(s)
39152}
39153
39154// GoString returns the string representation
39155func (s AvailabilityZone) GoString() string {
39156	return s.String()
39157}
39158
39159// SetGroupName sets the GroupName field's value.
39160func (s *AvailabilityZone) SetGroupName(v string) *AvailabilityZone {
39161	s.GroupName = &v
39162	return s
39163}
39164
39165// SetMessages sets the Messages field's value.
39166func (s *AvailabilityZone) SetMessages(v []*AvailabilityZoneMessage) *AvailabilityZone {
39167	s.Messages = v
39168	return s
39169}
39170
39171// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
39172func (s *AvailabilityZone) SetNetworkBorderGroup(v string) *AvailabilityZone {
39173	s.NetworkBorderGroup = &v
39174	return s
39175}
39176
39177// SetOptInStatus sets the OptInStatus field's value.
39178func (s *AvailabilityZone) SetOptInStatus(v string) *AvailabilityZone {
39179	s.OptInStatus = &v
39180	return s
39181}
39182
39183// SetRegionName sets the RegionName field's value.
39184func (s *AvailabilityZone) SetRegionName(v string) *AvailabilityZone {
39185	s.RegionName = &v
39186	return s
39187}
39188
39189// SetState sets the State field's value.
39190func (s *AvailabilityZone) SetState(v string) *AvailabilityZone {
39191	s.State = &v
39192	return s
39193}
39194
39195// SetZoneId sets the ZoneId field's value.
39196func (s *AvailabilityZone) SetZoneId(v string) *AvailabilityZone {
39197	s.ZoneId = &v
39198	return s
39199}
39200
39201// SetZoneName sets the ZoneName field's value.
39202func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
39203	s.ZoneName = &v
39204	return s
39205}
39206
39207// Describes a message about an Availability Zone or Local Zone.
39208type AvailabilityZoneMessage struct {
39209	_ struct{} `type:"structure"`
39210
39211	// The message about the Availability Zone or Local Zone.
39212	Message *string `locationName:"message" type:"string"`
39213}
39214
39215// String returns the string representation
39216func (s AvailabilityZoneMessage) String() string {
39217	return awsutil.Prettify(s)
39218}
39219
39220// GoString returns the string representation
39221func (s AvailabilityZoneMessage) GoString() string {
39222	return s.String()
39223}
39224
39225// SetMessage sets the Message field's value.
39226func (s *AvailabilityZoneMessage) SetMessage(v string) *AvailabilityZoneMessage {
39227	s.Message = &v
39228	return s
39229}
39230
39231// The capacity information for instances that can be launched onto the Dedicated
39232// Host.
39233type AvailableCapacity struct {
39234	_ struct{} `type:"structure"`
39235
39236	// The number of instances that can be launched onto the Dedicated Host depending
39237	// on the host's available capacity. For Dedicated Hosts that support multiple
39238	// instance types, this parameter represents the number of instances for each
39239	// instance size that is supported on the host.
39240	AvailableInstanceCapacity []*InstanceCapacity `locationName:"availableInstanceCapacity" locationNameList:"item" type:"list"`
39241
39242	// The number of vCPUs available for launching instances onto the Dedicated
39243	// Host.
39244	AvailableVCpus *int64 `locationName:"availableVCpus" type:"integer"`
39245}
39246
39247// String returns the string representation
39248func (s AvailableCapacity) String() string {
39249	return awsutil.Prettify(s)
39250}
39251
39252// GoString returns the string representation
39253func (s AvailableCapacity) GoString() string {
39254	return s.String()
39255}
39256
39257// SetAvailableInstanceCapacity sets the AvailableInstanceCapacity field's value.
39258func (s *AvailableCapacity) SetAvailableInstanceCapacity(v []*InstanceCapacity) *AvailableCapacity {
39259	s.AvailableInstanceCapacity = v
39260	return s
39261}
39262
39263// SetAvailableVCpus sets the AvailableVCpus field's value.
39264func (s *AvailableCapacity) SetAvailableVCpus(v int64) *AvailableCapacity {
39265	s.AvailableVCpus = &v
39266	return s
39267}
39268
39269type BlobAttributeValue struct {
39270	_ struct{} `type:"structure"`
39271
39272	// Value is automatically base64 encoded/decoded by the SDK.
39273	Value []byte `locationName:"value" type:"blob"`
39274}
39275
39276// String returns the string representation
39277func (s BlobAttributeValue) String() string {
39278	return awsutil.Prettify(s)
39279}
39280
39281// GoString returns the string representation
39282func (s BlobAttributeValue) GoString() string {
39283	return s.String()
39284}
39285
39286// SetValue sets the Value field's value.
39287func (s *BlobAttributeValue) SetValue(v []byte) *BlobAttributeValue {
39288	s.Value = v
39289	return s
39290}
39291
39292// Describes a block device mapping.
39293type BlockDeviceMapping struct {
39294	_ struct{} `type:"structure"`
39295
39296	// The device name (for example, /dev/sdh or xvdh).
39297	DeviceName *string `locationName:"deviceName" type:"string"`
39298
39299	// Parameters used to automatically set up EBS volumes when the instance is
39300	// launched.
39301	Ebs *EbsBlockDevice `locationName:"ebs" type:"structure"`
39302
39303	// Suppresses the specified device included in the block device mapping of the
39304	// AMI.
39305	NoDevice *string `locationName:"noDevice" type:"string"`
39306
39307	// The virtual device name (ephemeralN). Instance store volumes are numbered
39308	// starting from 0. An instance type with 2 available instance store volumes
39309	// can specify mappings for ephemeral0 and ephemeral1. The number of available
39310	// instance store volumes depends on the instance type. After you connect to
39311	// the instance, you must mount the volume.
39312	//
39313	// NVMe instance store volumes are automatically enumerated and assigned a device
39314	// name. Including them in your block device mapping has no effect.
39315	//
39316	// Constraints: For M3 instances, you must specify instance store volumes in
39317	// the block device mapping for the instance. When you launch an M3 instance,
39318	// we ignore any instance store volumes specified in the block device mapping
39319	// for the AMI.
39320	VirtualName *string `locationName:"virtualName" type:"string"`
39321}
39322
39323// String returns the string representation
39324func (s BlockDeviceMapping) String() string {
39325	return awsutil.Prettify(s)
39326}
39327
39328// GoString returns the string representation
39329func (s BlockDeviceMapping) GoString() string {
39330	return s.String()
39331}
39332
39333// SetDeviceName sets the DeviceName field's value.
39334func (s *BlockDeviceMapping) SetDeviceName(v string) *BlockDeviceMapping {
39335	s.DeviceName = &v
39336	return s
39337}
39338
39339// SetEbs sets the Ebs field's value.
39340func (s *BlockDeviceMapping) SetEbs(v *EbsBlockDevice) *BlockDeviceMapping {
39341	s.Ebs = v
39342	return s
39343}
39344
39345// SetNoDevice sets the NoDevice field's value.
39346func (s *BlockDeviceMapping) SetNoDevice(v string) *BlockDeviceMapping {
39347	s.NoDevice = &v
39348	return s
39349}
39350
39351// SetVirtualName sets the VirtualName field's value.
39352func (s *BlockDeviceMapping) SetVirtualName(v string) *BlockDeviceMapping {
39353	s.VirtualName = &v
39354	return s
39355}
39356
39357// Contains the parameters for BundleInstance.
39358type BundleInstanceInput struct {
39359	_ struct{} `type:"structure"`
39360
39361	// Checks whether you have the required permissions for the action, without
39362	// actually making the request, and provides an error response. If you have
39363	// the required permissions, the error response is DryRunOperation. Otherwise,
39364	// it is UnauthorizedOperation.
39365	DryRun *bool `locationName:"dryRun" type:"boolean"`
39366
39367	// The ID of the instance to bundle.
39368	//
39369	// Type: String
39370	//
39371	// Default: None
39372	//
39373	// Required: Yes
39374	//
39375	// InstanceId is a required field
39376	InstanceId *string `type:"string" required:"true"`
39377
39378	// The bucket in which to store the AMI. You can specify a bucket that you already
39379	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
39380	// a bucket that belongs to someone else, Amazon EC2 returns an error.
39381	//
39382	// Storage is a required field
39383	Storage *Storage `type:"structure" required:"true"`
39384}
39385
39386// String returns the string representation
39387func (s BundleInstanceInput) String() string {
39388	return awsutil.Prettify(s)
39389}
39390
39391// GoString returns the string representation
39392func (s BundleInstanceInput) GoString() string {
39393	return s.String()
39394}
39395
39396// Validate inspects the fields of the type to determine if they are valid.
39397func (s *BundleInstanceInput) Validate() error {
39398	invalidParams := request.ErrInvalidParams{Context: "BundleInstanceInput"}
39399	if s.InstanceId == nil {
39400		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
39401	}
39402	if s.Storage == nil {
39403		invalidParams.Add(request.NewErrParamRequired("Storage"))
39404	}
39405
39406	if invalidParams.Len() > 0 {
39407		return invalidParams
39408	}
39409	return nil
39410}
39411
39412// SetDryRun sets the DryRun field's value.
39413func (s *BundleInstanceInput) SetDryRun(v bool) *BundleInstanceInput {
39414	s.DryRun = &v
39415	return s
39416}
39417
39418// SetInstanceId sets the InstanceId field's value.
39419func (s *BundleInstanceInput) SetInstanceId(v string) *BundleInstanceInput {
39420	s.InstanceId = &v
39421	return s
39422}
39423
39424// SetStorage sets the Storage field's value.
39425func (s *BundleInstanceInput) SetStorage(v *Storage) *BundleInstanceInput {
39426	s.Storage = v
39427	return s
39428}
39429
39430// Contains the output of BundleInstance.
39431type BundleInstanceOutput struct {
39432	_ struct{} `type:"structure"`
39433
39434	// Information about the bundle task.
39435	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
39436}
39437
39438// String returns the string representation
39439func (s BundleInstanceOutput) String() string {
39440	return awsutil.Prettify(s)
39441}
39442
39443// GoString returns the string representation
39444func (s BundleInstanceOutput) GoString() string {
39445	return s.String()
39446}
39447
39448// SetBundleTask sets the BundleTask field's value.
39449func (s *BundleInstanceOutput) SetBundleTask(v *BundleTask) *BundleInstanceOutput {
39450	s.BundleTask = v
39451	return s
39452}
39453
39454// Describes a bundle task.
39455type BundleTask struct {
39456	_ struct{} `type:"structure"`
39457
39458	// The ID of the bundle task.
39459	BundleId *string `locationName:"bundleId" type:"string"`
39460
39461	// If the task fails, a description of the error.
39462	BundleTaskError *BundleTaskError `locationName:"error" type:"structure"`
39463
39464	// The ID of the instance associated with this bundle task.
39465	InstanceId *string `locationName:"instanceId" type:"string"`
39466
39467	// The level of task completion, as a percent (for example, 20%).
39468	Progress *string `locationName:"progress" type:"string"`
39469
39470	// The time this task started.
39471	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
39472
39473	// The state of the task.
39474	State *string `locationName:"state" type:"string" enum:"BundleTaskState"`
39475
39476	// The Amazon S3 storage locations.
39477	Storage *Storage `locationName:"storage" type:"structure"`
39478
39479	// The time of the most recent update for the task.
39480	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
39481}
39482
39483// String returns the string representation
39484func (s BundleTask) String() string {
39485	return awsutil.Prettify(s)
39486}
39487
39488// GoString returns the string representation
39489func (s BundleTask) GoString() string {
39490	return s.String()
39491}
39492
39493// SetBundleId sets the BundleId field's value.
39494func (s *BundleTask) SetBundleId(v string) *BundleTask {
39495	s.BundleId = &v
39496	return s
39497}
39498
39499// SetBundleTaskError sets the BundleTaskError field's value.
39500func (s *BundleTask) SetBundleTaskError(v *BundleTaskError) *BundleTask {
39501	s.BundleTaskError = v
39502	return s
39503}
39504
39505// SetInstanceId sets the InstanceId field's value.
39506func (s *BundleTask) SetInstanceId(v string) *BundleTask {
39507	s.InstanceId = &v
39508	return s
39509}
39510
39511// SetProgress sets the Progress field's value.
39512func (s *BundleTask) SetProgress(v string) *BundleTask {
39513	s.Progress = &v
39514	return s
39515}
39516
39517// SetStartTime sets the StartTime field's value.
39518func (s *BundleTask) SetStartTime(v time.Time) *BundleTask {
39519	s.StartTime = &v
39520	return s
39521}
39522
39523// SetState sets the State field's value.
39524func (s *BundleTask) SetState(v string) *BundleTask {
39525	s.State = &v
39526	return s
39527}
39528
39529// SetStorage sets the Storage field's value.
39530func (s *BundleTask) SetStorage(v *Storage) *BundleTask {
39531	s.Storage = v
39532	return s
39533}
39534
39535// SetUpdateTime sets the UpdateTime field's value.
39536func (s *BundleTask) SetUpdateTime(v time.Time) *BundleTask {
39537	s.UpdateTime = &v
39538	return s
39539}
39540
39541// Describes an error for BundleInstance.
39542type BundleTaskError struct {
39543	_ struct{} `type:"structure"`
39544
39545	// The error code.
39546	Code *string `locationName:"code" type:"string"`
39547
39548	// The error message.
39549	Message *string `locationName:"message" type:"string"`
39550}
39551
39552// String returns the string representation
39553func (s BundleTaskError) String() string {
39554	return awsutil.Prettify(s)
39555}
39556
39557// GoString returns the string representation
39558func (s BundleTaskError) GoString() string {
39559	return s.String()
39560}
39561
39562// SetCode sets the Code field's value.
39563func (s *BundleTaskError) SetCode(v string) *BundleTaskError {
39564	s.Code = &v
39565	return s
39566}
39567
39568// SetMessage sets the Message field's value.
39569func (s *BundleTaskError) SetMessage(v string) *BundleTaskError {
39570	s.Message = &v
39571	return s
39572}
39573
39574// Information about an address range that is provisioned for use with your
39575// AWS resources through bring your own IP addresses (BYOIP).
39576type ByoipCidr struct {
39577	_ struct{} `type:"structure"`
39578
39579	// The public IPv4 address range, in CIDR notation.
39580	Cidr *string `locationName:"cidr" type:"string"`
39581
39582	// The description of the address range.
39583	Description *string `locationName:"description" type:"string"`
39584
39585	// The state of the address pool.
39586	State *string `locationName:"state" type:"string" enum:"ByoipCidrState"`
39587
39588	// Upon success, contains the ID of the address pool. Otherwise, contains an
39589	// error message.
39590	StatusMessage *string `locationName:"statusMessage" type:"string"`
39591}
39592
39593// String returns the string representation
39594func (s ByoipCidr) String() string {
39595	return awsutil.Prettify(s)
39596}
39597
39598// GoString returns the string representation
39599func (s ByoipCidr) GoString() string {
39600	return s.String()
39601}
39602
39603// SetCidr sets the Cidr field's value.
39604func (s *ByoipCidr) SetCidr(v string) *ByoipCidr {
39605	s.Cidr = &v
39606	return s
39607}
39608
39609// SetDescription sets the Description field's value.
39610func (s *ByoipCidr) SetDescription(v string) *ByoipCidr {
39611	s.Description = &v
39612	return s
39613}
39614
39615// SetState sets the State field's value.
39616func (s *ByoipCidr) SetState(v string) *ByoipCidr {
39617	s.State = &v
39618	return s
39619}
39620
39621// SetStatusMessage sets the StatusMessage field's value.
39622func (s *ByoipCidr) SetStatusMessage(v string) *ByoipCidr {
39623	s.StatusMessage = &v
39624	return s
39625}
39626
39627// Contains the parameters for CancelBundleTask.
39628type CancelBundleTaskInput struct {
39629	_ struct{} `type:"structure"`
39630
39631	// The ID of the bundle task.
39632	//
39633	// BundleId is a required field
39634	BundleId *string `type:"string" required:"true"`
39635
39636	// Checks whether you have the required permissions for the action, without
39637	// actually making the request, and provides an error response. If you have
39638	// the required permissions, the error response is DryRunOperation. Otherwise,
39639	// it is UnauthorizedOperation.
39640	DryRun *bool `locationName:"dryRun" type:"boolean"`
39641}
39642
39643// String returns the string representation
39644func (s CancelBundleTaskInput) String() string {
39645	return awsutil.Prettify(s)
39646}
39647
39648// GoString returns the string representation
39649func (s CancelBundleTaskInput) GoString() string {
39650	return s.String()
39651}
39652
39653// Validate inspects the fields of the type to determine if they are valid.
39654func (s *CancelBundleTaskInput) Validate() error {
39655	invalidParams := request.ErrInvalidParams{Context: "CancelBundleTaskInput"}
39656	if s.BundleId == nil {
39657		invalidParams.Add(request.NewErrParamRequired("BundleId"))
39658	}
39659
39660	if invalidParams.Len() > 0 {
39661		return invalidParams
39662	}
39663	return nil
39664}
39665
39666// SetBundleId sets the BundleId field's value.
39667func (s *CancelBundleTaskInput) SetBundleId(v string) *CancelBundleTaskInput {
39668	s.BundleId = &v
39669	return s
39670}
39671
39672// SetDryRun sets the DryRun field's value.
39673func (s *CancelBundleTaskInput) SetDryRun(v bool) *CancelBundleTaskInput {
39674	s.DryRun = &v
39675	return s
39676}
39677
39678// Contains the output of CancelBundleTask.
39679type CancelBundleTaskOutput struct {
39680	_ struct{} `type:"structure"`
39681
39682	// Information about the bundle task.
39683	BundleTask *BundleTask `locationName:"bundleInstanceTask" type:"structure"`
39684}
39685
39686// String returns the string representation
39687func (s CancelBundleTaskOutput) String() string {
39688	return awsutil.Prettify(s)
39689}
39690
39691// GoString returns the string representation
39692func (s CancelBundleTaskOutput) GoString() string {
39693	return s.String()
39694}
39695
39696// SetBundleTask sets the BundleTask field's value.
39697func (s *CancelBundleTaskOutput) SetBundleTask(v *BundleTask) *CancelBundleTaskOutput {
39698	s.BundleTask = v
39699	return s
39700}
39701
39702type CancelCapacityReservationInput struct {
39703	_ struct{} `type:"structure"`
39704
39705	// The ID of the Capacity Reservation to be cancelled.
39706	//
39707	// CapacityReservationId is a required field
39708	CapacityReservationId *string `type:"string" required:"true"`
39709
39710	// Checks whether you have the required permissions for the action, without
39711	// actually making the request, and provides an error response. If you have
39712	// the required permissions, the error response is DryRunOperation. Otherwise,
39713	// it is UnauthorizedOperation.
39714	DryRun *bool `type:"boolean"`
39715}
39716
39717// String returns the string representation
39718func (s CancelCapacityReservationInput) String() string {
39719	return awsutil.Prettify(s)
39720}
39721
39722// GoString returns the string representation
39723func (s CancelCapacityReservationInput) GoString() string {
39724	return s.String()
39725}
39726
39727// Validate inspects the fields of the type to determine if they are valid.
39728func (s *CancelCapacityReservationInput) Validate() error {
39729	invalidParams := request.ErrInvalidParams{Context: "CancelCapacityReservationInput"}
39730	if s.CapacityReservationId == nil {
39731		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
39732	}
39733
39734	if invalidParams.Len() > 0 {
39735		return invalidParams
39736	}
39737	return nil
39738}
39739
39740// SetCapacityReservationId sets the CapacityReservationId field's value.
39741func (s *CancelCapacityReservationInput) SetCapacityReservationId(v string) *CancelCapacityReservationInput {
39742	s.CapacityReservationId = &v
39743	return s
39744}
39745
39746// SetDryRun sets the DryRun field's value.
39747func (s *CancelCapacityReservationInput) SetDryRun(v bool) *CancelCapacityReservationInput {
39748	s.DryRun = &v
39749	return s
39750}
39751
39752type CancelCapacityReservationOutput struct {
39753	_ struct{} `type:"structure"`
39754
39755	// Returns true if the request succeeds; otherwise, it returns an error.
39756	Return *bool `locationName:"return" type:"boolean"`
39757}
39758
39759// String returns the string representation
39760func (s CancelCapacityReservationOutput) String() string {
39761	return awsutil.Prettify(s)
39762}
39763
39764// GoString returns the string representation
39765func (s CancelCapacityReservationOutput) GoString() string {
39766	return s.String()
39767}
39768
39769// SetReturn sets the Return field's value.
39770func (s *CancelCapacityReservationOutput) SetReturn(v bool) *CancelCapacityReservationOutput {
39771	s.Return = &v
39772	return s
39773}
39774
39775type CancelConversionTaskInput struct {
39776	_ struct{} `type:"structure"`
39777
39778	// The ID of the conversion task.
39779	//
39780	// ConversionTaskId is a required field
39781	ConversionTaskId *string `locationName:"conversionTaskId" type:"string" required:"true"`
39782
39783	// Checks whether you have the required permissions for the action, without
39784	// actually making the request, and provides an error response. If you have
39785	// the required permissions, the error response is DryRunOperation. Otherwise,
39786	// it is UnauthorizedOperation.
39787	DryRun *bool `locationName:"dryRun" type:"boolean"`
39788
39789	// The reason for canceling the conversion task.
39790	ReasonMessage *string `locationName:"reasonMessage" type:"string"`
39791}
39792
39793// String returns the string representation
39794func (s CancelConversionTaskInput) String() string {
39795	return awsutil.Prettify(s)
39796}
39797
39798// GoString returns the string representation
39799func (s CancelConversionTaskInput) GoString() string {
39800	return s.String()
39801}
39802
39803// Validate inspects the fields of the type to determine if they are valid.
39804func (s *CancelConversionTaskInput) Validate() error {
39805	invalidParams := request.ErrInvalidParams{Context: "CancelConversionTaskInput"}
39806	if s.ConversionTaskId == nil {
39807		invalidParams.Add(request.NewErrParamRequired("ConversionTaskId"))
39808	}
39809
39810	if invalidParams.Len() > 0 {
39811		return invalidParams
39812	}
39813	return nil
39814}
39815
39816// SetConversionTaskId sets the ConversionTaskId field's value.
39817func (s *CancelConversionTaskInput) SetConversionTaskId(v string) *CancelConversionTaskInput {
39818	s.ConversionTaskId = &v
39819	return s
39820}
39821
39822// SetDryRun sets the DryRun field's value.
39823func (s *CancelConversionTaskInput) SetDryRun(v bool) *CancelConversionTaskInput {
39824	s.DryRun = &v
39825	return s
39826}
39827
39828// SetReasonMessage sets the ReasonMessage field's value.
39829func (s *CancelConversionTaskInput) SetReasonMessage(v string) *CancelConversionTaskInput {
39830	s.ReasonMessage = &v
39831	return s
39832}
39833
39834type CancelConversionTaskOutput struct {
39835	_ struct{} `type:"structure"`
39836}
39837
39838// String returns the string representation
39839func (s CancelConversionTaskOutput) String() string {
39840	return awsutil.Prettify(s)
39841}
39842
39843// GoString returns the string representation
39844func (s CancelConversionTaskOutput) GoString() string {
39845	return s.String()
39846}
39847
39848type CancelExportTaskInput struct {
39849	_ struct{} `type:"structure"`
39850
39851	// The ID of the export task. This is the ID returned by CreateInstanceExportTask.
39852	//
39853	// ExportTaskId is a required field
39854	ExportTaskId *string `locationName:"exportTaskId" type:"string" required:"true"`
39855}
39856
39857// String returns the string representation
39858func (s CancelExportTaskInput) String() string {
39859	return awsutil.Prettify(s)
39860}
39861
39862// GoString returns the string representation
39863func (s CancelExportTaskInput) GoString() string {
39864	return s.String()
39865}
39866
39867// Validate inspects the fields of the type to determine if they are valid.
39868func (s *CancelExportTaskInput) Validate() error {
39869	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
39870	if s.ExportTaskId == nil {
39871		invalidParams.Add(request.NewErrParamRequired("ExportTaskId"))
39872	}
39873
39874	if invalidParams.Len() > 0 {
39875		return invalidParams
39876	}
39877	return nil
39878}
39879
39880// SetExportTaskId sets the ExportTaskId field's value.
39881func (s *CancelExportTaskInput) SetExportTaskId(v string) *CancelExportTaskInput {
39882	s.ExportTaskId = &v
39883	return s
39884}
39885
39886type CancelExportTaskOutput struct {
39887	_ struct{} `type:"structure"`
39888}
39889
39890// String returns the string representation
39891func (s CancelExportTaskOutput) String() string {
39892	return awsutil.Prettify(s)
39893}
39894
39895// GoString returns the string representation
39896func (s CancelExportTaskOutput) GoString() string {
39897	return s.String()
39898}
39899
39900type CancelImportTaskInput struct {
39901	_ struct{} `type:"structure"`
39902
39903	// The reason for canceling the task.
39904	CancelReason *string `type:"string"`
39905
39906	// Checks whether you have the required permissions for the action, without
39907	// actually making the request, and provides an error response. If you have
39908	// the required permissions, the error response is DryRunOperation. Otherwise,
39909	// it is UnauthorizedOperation.
39910	DryRun *bool `type:"boolean"`
39911
39912	// The ID of the import image or import snapshot task to be canceled.
39913	ImportTaskId *string `type:"string"`
39914}
39915
39916// String returns the string representation
39917func (s CancelImportTaskInput) String() string {
39918	return awsutil.Prettify(s)
39919}
39920
39921// GoString returns the string representation
39922func (s CancelImportTaskInput) GoString() string {
39923	return s.String()
39924}
39925
39926// SetCancelReason sets the CancelReason field's value.
39927func (s *CancelImportTaskInput) SetCancelReason(v string) *CancelImportTaskInput {
39928	s.CancelReason = &v
39929	return s
39930}
39931
39932// SetDryRun sets the DryRun field's value.
39933func (s *CancelImportTaskInput) SetDryRun(v bool) *CancelImportTaskInput {
39934	s.DryRun = &v
39935	return s
39936}
39937
39938// SetImportTaskId sets the ImportTaskId field's value.
39939func (s *CancelImportTaskInput) SetImportTaskId(v string) *CancelImportTaskInput {
39940	s.ImportTaskId = &v
39941	return s
39942}
39943
39944type CancelImportTaskOutput struct {
39945	_ struct{} `type:"structure"`
39946
39947	// The ID of the task being canceled.
39948	ImportTaskId *string `locationName:"importTaskId" type:"string"`
39949
39950	// The current state of the task being canceled.
39951	PreviousState *string `locationName:"previousState" type:"string"`
39952
39953	// The current state of the task being canceled.
39954	State *string `locationName:"state" type:"string"`
39955}
39956
39957// String returns the string representation
39958func (s CancelImportTaskOutput) String() string {
39959	return awsutil.Prettify(s)
39960}
39961
39962// GoString returns the string representation
39963func (s CancelImportTaskOutput) GoString() string {
39964	return s.String()
39965}
39966
39967// SetImportTaskId sets the ImportTaskId field's value.
39968func (s *CancelImportTaskOutput) SetImportTaskId(v string) *CancelImportTaskOutput {
39969	s.ImportTaskId = &v
39970	return s
39971}
39972
39973// SetPreviousState sets the PreviousState field's value.
39974func (s *CancelImportTaskOutput) SetPreviousState(v string) *CancelImportTaskOutput {
39975	s.PreviousState = &v
39976	return s
39977}
39978
39979// SetState sets the State field's value.
39980func (s *CancelImportTaskOutput) SetState(v string) *CancelImportTaskOutput {
39981	s.State = &v
39982	return s
39983}
39984
39985// Contains the parameters for CancelReservedInstancesListing.
39986type CancelReservedInstancesListingInput struct {
39987	_ struct{} `type:"structure"`
39988
39989	// The ID of the Reserved Instance listing.
39990	//
39991	// ReservedInstancesListingId is a required field
39992	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string" required:"true"`
39993}
39994
39995// String returns the string representation
39996func (s CancelReservedInstancesListingInput) String() string {
39997	return awsutil.Prettify(s)
39998}
39999
40000// GoString returns the string representation
40001func (s CancelReservedInstancesListingInput) GoString() string {
40002	return s.String()
40003}
40004
40005// Validate inspects the fields of the type to determine if they are valid.
40006func (s *CancelReservedInstancesListingInput) Validate() error {
40007	invalidParams := request.ErrInvalidParams{Context: "CancelReservedInstancesListingInput"}
40008	if s.ReservedInstancesListingId == nil {
40009		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesListingId"))
40010	}
40011
40012	if invalidParams.Len() > 0 {
40013		return invalidParams
40014	}
40015	return nil
40016}
40017
40018// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
40019func (s *CancelReservedInstancesListingInput) SetReservedInstancesListingId(v string) *CancelReservedInstancesListingInput {
40020	s.ReservedInstancesListingId = &v
40021	return s
40022}
40023
40024// Contains the output of CancelReservedInstancesListing.
40025type CancelReservedInstancesListingOutput struct {
40026	_ struct{} `type:"structure"`
40027
40028	// The Reserved Instance listing.
40029	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
40030}
40031
40032// String returns the string representation
40033func (s CancelReservedInstancesListingOutput) String() string {
40034	return awsutil.Prettify(s)
40035}
40036
40037// GoString returns the string representation
40038func (s CancelReservedInstancesListingOutput) GoString() string {
40039	return s.String()
40040}
40041
40042// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
40043func (s *CancelReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CancelReservedInstancesListingOutput {
40044	s.ReservedInstancesListings = v
40045	return s
40046}
40047
40048// Describes a Spot Fleet error.
40049type CancelSpotFleetRequestsError struct {
40050	_ struct{} `type:"structure"`
40051
40052	// The error code.
40053	Code *string `locationName:"code" type:"string" enum:"CancelBatchErrorCode"`
40054
40055	// The description for the error code.
40056	Message *string `locationName:"message" type:"string"`
40057}
40058
40059// String returns the string representation
40060func (s CancelSpotFleetRequestsError) String() string {
40061	return awsutil.Prettify(s)
40062}
40063
40064// GoString returns the string representation
40065func (s CancelSpotFleetRequestsError) GoString() string {
40066	return s.String()
40067}
40068
40069// SetCode sets the Code field's value.
40070func (s *CancelSpotFleetRequestsError) SetCode(v string) *CancelSpotFleetRequestsError {
40071	s.Code = &v
40072	return s
40073}
40074
40075// SetMessage sets the Message field's value.
40076func (s *CancelSpotFleetRequestsError) SetMessage(v string) *CancelSpotFleetRequestsError {
40077	s.Message = &v
40078	return s
40079}
40080
40081// Describes a Spot Fleet request that was not successfully canceled.
40082type CancelSpotFleetRequestsErrorItem struct {
40083	_ struct{} `type:"structure"`
40084
40085	// The error.
40086	Error *CancelSpotFleetRequestsError `locationName:"error" type:"structure"`
40087
40088	// The ID of the Spot Fleet request.
40089	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
40090}
40091
40092// String returns the string representation
40093func (s CancelSpotFleetRequestsErrorItem) String() string {
40094	return awsutil.Prettify(s)
40095}
40096
40097// GoString returns the string representation
40098func (s CancelSpotFleetRequestsErrorItem) GoString() string {
40099	return s.String()
40100}
40101
40102// SetError sets the Error field's value.
40103func (s *CancelSpotFleetRequestsErrorItem) SetError(v *CancelSpotFleetRequestsError) *CancelSpotFleetRequestsErrorItem {
40104	s.Error = v
40105	return s
40106}
40107
40108// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
40109func (s *CancelSpotFleetRequestsErrorItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsErrorItem {
40110	s.SpotFleetRequestId = &v
40111	return s
40112}
40113
40114// Contains the parameters for CancelSpotFleetRequests.
40115type CancelSpotFleetRequestsInput struct {
40116	_ struct{} `type:"structure"`
40117
40118	// Checks whether you have the required permissions for the action, without
40119	// actually making the request, and provides an error response. If you have
40120	// the required permissions, the error response is DryRunOperation. Otherwise,
40121	// it is UnauthorizedOperation.
40122	DryRun *bool `locationName:"dryRun" type:"boolean"`
40123
40124	// The IDs of the Spot Fleet requests.
40125	//
40126	// SpotFleetRequestIds is a required field
40127	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list" required:"true"`
40128
40129	// Indicates whether to terminate instances for a Spot Fleet request if it is
40130	// canceled successfully.
40131	//
40132	// TerminateInstances is a required field
40133	TerminateInstances *bool `locationName:"terminateInstances" type:"boolean" required:"true"`
40134}
40135
40136// String returns the string representation
40137func (s CancelSpotFleetRequestsInput) String() string {
40138	return awsutil.Prettify(s)
40139}
40140
40141// GoString returns the string representation
40142func (s CancelSpotFleetRequestsInput) GoString() string {
40143	return s.String()
40144}
40145
40146// Validate inspects the fields of the type to determine if they are valid.
40147func (s *CancelSpotFleetRequestsInput) Validate() error {
40148	invalidParams := request.ErrInvalidParams{Context: "CancelSpotFleetRequestsInput"}
40149	if s.SpotFleetRequestIds == nil {
40150		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestIds"))
40151	}
40152	if s.TerminateInstances == nil {
40153		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
40154	}
40155
40156	if invalidParams.Len() > 0 {
40157		return invalidParams
40158	}
40159	return nil
40160}
40161
40162// SetDryRun sets the DryRun field's value.
40163func (s *CancelSpotFleetRequestsInput) SetDryRun(v bool) *CancelSpotFleetRequestsInput {
40164	s.DryRun = &v
40165	return s
40166}
40167
40168// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
40169func (s *CancelSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *CancelSpotFleetRequestsInput {
40170	s.SpotFleetRequestIds = v
40171	return s
40172}
40173
40174// SetTerminateInstances sets the TerminateInstances field's value.
40175func (s *CancelSpotFleetRequestsInput) SetTerminateInstances(v bool) *CancelSpotFleetRequestsInput {
40176	s.TerminateInstances = &v
40177	return s
40178}
40179
40180// Contains the output of CancelSpotFleetRequests.
40181type CancelSpotFleetRequestsOutput struct {
40182	_ struct{} `type:"structure"`
40183
40184	// Information about the Spot Fleet requests that are successfully canceled.
40185	SuccessfulFleetRequests []*CancelSpotFleetRequestsSuccessItem `locationName:"successfulFleetRequestSet" locationNameList:"item" type:"list"`
40186
40187	// Information about the Spot Fleet requests that are not successfully canceled.
40188	UnsuccessfulFleetRequests []*CancelSpotFleetRequestsErrorItem `locationName:"unsuccessfulFleetRequestSet" locationNameList:"item" type:"list"`
40189}
40190
40191// String returns the string representation
40192func (s CancelSpotFleetRequestsOutput) String() string {
40193	return awsutil.Prettify(s)
40194}
40195
40196// GoString returns the string representation
40197func (s CancelSpotFleetRequestsOutput) GoString() string {
40198	return s.String()
40199}
40200
40201// SetSuccessfulFleetRequests sets the SuccessfulFleetRequests field's value.
40202func (s *CancelSpotFleetRequestsOutput) SetSuccessfulFleetRequests(v []*CancelSpotFleetRequestsSuccessItem) *CancelSpotFleetRequestsOutput {
40203	s.SuccessfulFleetRequests = v
40204	return s
40205}
40206
40207// SetUnsuccessfulFleetRequests sets the UnsuccessfulFleetRequests field's value.
40208func (s *CancelSpotFleetRequestsOutput) SetUnsuccessfulFleetRequests(v []*CancelSpotFleetRequestsErrorItem) *CancelSpotFleetRequestsOutput {
40209	s.UnsuccessfulFleetRequests = v
40210	return s
40211}
40212
40213// Describes a Spot Fleet request that was successfully canceled.
40214type CancelSpotFleetRequestsSuccessItem struct {
40215	_ struct{} `type:"structure"`
40216
40217	// The current state of the Spot Fleet request.
40218	CurrentSpotFleetRequestState *string `locationName:"currentSpotFleetRequestState" type:"string" enum:"BatchState"`
40219
40220	// The previous state of the Spot Fleet request.
40221	PreviousSpotFleetRequestState *string `locationName:"previousSpotFleetRequestState" type:"string" enum:"BatchState"`
40222
40223	// The ID of the Spot Fleet request.
40224	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
40225}
40226
40227// String returns the string representation
40228func (s CancelSpotFleetRequestsSuccessItem) String() string {
40229	return awsutil.Prettify(s)
40230}
40231
40232// GoString returns the string representation
40233func (s CancelSpotFleetRequestsSuccessItem) GoString() string {
40234	return s.String()
40235}
40236
40237// SetCurrentSpotFleetRequestState sets the CurrentSpotFleetRequestState field's value.
40238func (s *CancelSpotFleetRequestsSuccessItem) SetCurrentSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
40239	s.CurrentSpotFleetRequestState = &v
40240	return s
40241}
40242
40243// SetPreviousSpotFleetRequestState sets the PreviousSpotFleetRequestState field's value.
40244func (s *CancelSpotFleetRequestsSuccessItem) SetPreviousSpotFleetRequestState(v string) *CancelSpotFleetRequestsSuccessItem {
40245	s.PreviousSpotFleetRequestState = &v
40246	return s
40247}
40248
40249// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
40250func (s *CancelSpotFleetRequestsSuccessItem) SetSpotFleetRequestId(v string) *CancelSpotFleetRequestsSuccessItem {
40251	s.SpotFleetRequestId = &v
40252	return s
40253}
40254
40255// Contains the parameters for CancelSpotInstanceRequests.
40256type CancelSpotInstanceRequestsInput struct {
40257	_ struct{} `type:"structure"`
40258
40259	// Checks whether you have the required permissions for the action, without
40260	// actually making the request, and provides an error response. If you have
40261	// the required permissions, the error response is DryRunOperation. Otherwise,
40262	// it is UnauthorizedOperation.
40263	DryRun *bool `locationName:"dryRun" type:"boolean"`
40264
40265	// One or more Spot Instance request IDs.
40266	//
40267	// SpotInstanceRequestIds is a required field
40268	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list" required:"true"`
40269}
40270
40271// String returns the string representation
40272func (s CancelSpotInstanceRequestsInput) String() string {
40273	return awsutil.Prettify(s)
40274}
40275
40276// GoString returns the string representation
40277func (s CancelSpotInstanceRequestsInput) GoString() string {
40278	return s.String()
40279}
40280
40281// Validate inspects the fields of the type to determine if they are valid.
40282func (s *CancelSpotInstanceRequestsInput) Validate() error {
40283	invalidParams := request.ErrInvalidParams{Context: "CancelSpotInstanceRequestsInput"}
40284	if s.SpotInstanceRequestIds == nil {
40285		invalidParams.Add(request.NewErrParamRequired("SpotInstanceRequestIds"))
40286	}
40287
40288	if invalidParams.Len() > 0 {
40289		return invalidParams
40290	}
40291	return nil
40292}
40293
40294// SetDryRun sets the DryRun field's value.
40295func (s *CancelSpotInstanceRequestsInput) SetDryRun(v bool) *CancelSpotInstanceRequestsInput {
40296	s.DryRun = &v
40297	return s
40298}
40299
40300// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
40301func (s *CancelSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *CancelSpotInstanceRequestsInput {
40302	s.SpotInstanceRequestIds = v
40303	return s
40304}
40305
40306// Contains the output of CancelSpotInstanceRequests.
40307type CancelSpotInstanceRequestsOutput struct {
40308	_ struct{} `type:"structure"`
40309
40310	// One or more Spot Instance requests.
40311	CancelledSpotInstanceRequests []*CancelledSpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
40312}
40313
40314// String returns the string representation
40315func (s CancelSpotInstanceRequestsOutput) String() string {
40316	return awsutil.Prettify(s)
40317}
40318
40319// GoString returns the string representation
40320func (s CancelSpotInstanceRequestsOutput) GoString() string {
40321	return s.String()
40322}
40323
40324// SetCancelledSpotInstanceRequests sets the CancelledSpotInstanceRequests field's value.
40325func (s *CancelSpotInstanceRequestsOutput) SetCancelledSpotInstanceRequests(v []*CancelledSpotInstanceRequest) *CancelSpotInstanceRequestsOutput {
40326	s.CancelledSpotInstanceRequests = v
40327	return s
40328}
40329
40330// Describes a request to cancel a Spot Instance.
40331type CancelledSpotInstanceRequest struct {
40332	_ struct{} `type:"structure"`
40333
40334	// The ID of the Spot Instance request.
40335	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
40336
40337	// The state of the Spot Instance request.
40338	State *string `locationName:"state" type:"string" enum:"CancelSpotInstanceRequestState"`
40339}
40340
40341// String returns the string representation
40342func (s CancelledSpotInstanceRequest) String() string {
40343	return awsutil.Prettify(s)
40344}
40345
40346// GoString returns the string representation
40347func (s CancelledSpotInstanceRequest) GoString() string {
40348	return s.String()
40349}
40350
40351// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
40352func (s *CancelledSpotInstanceRequest) SetSpotInstanceRequestId(v string) *CancelledSpotInstanceRequest {
40353	s.SpotInstanceRequestId = &v
40354	return s
40355}
40356
40357// SetState sets the State field's value.
40358func (s *CancelledSpotInstanceRequest) SetState(v string) *CancelledSpotInstanceRequest {
40359	s.State = &v
40360	return s
40361}
40362
40363// Describes a Capacity Reservation.
40364type CapacityReservation struct {
40365	_ struct{} `type:"structure"`
40366
40367	// The Availability Zone in which the capacity is reserved.
40368	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
40369
40370	// The Availability Zone ID of the Capacity Reservation.
40371	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
40372
40373	// The remaining capacity. Indicates the number of instances that can be launched
40374	// in the Capacity Reservation.
40375	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
40376
40377	// The Amazon Resource Name (ARN) of the Capacity Reservation.
40378	CapacityReservationArn *string `locationName:"capacityReservationArn" type:"string"`
40379
40380	// The ID of the Capacity Reservation.
40381	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
40382
40383	// The date and time at which the Capacity Reservation was created.
40384	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
40385
40386	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
40387	// This optimization provides dedicated throughput to Amazon EBS and an optimized
40388	// configuration stack to provide optimal I/O performance. This optimization
40389	// isn't available with all instance types. Additional usage charges apply when
40390	// using an EBS- optimized instance.
40391	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
40392
40393	// The date and time at which the Capacity Reservation expires. When a Capacity
40394	// Reservation expires, the reserved capacity is released and you can no longer
40395	// launch instances into it. The Capacity Reservation's state changes to expired
40396	// when it reaches its end date and time.
40397	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
40398
40399	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
40400	// can have one of the following end types:
40401	//
40402	//    * unlimited - The Capacity Reservation remains active until you explicitly
40403	//    cancel it.
40404	//
40405	//    * limited - The Capacity Reservation expires automatically at a specified
40406	//    date and time.
40407	EndDateType *string `locationName:"endDateType" type:"string" enum:"EndDateType"`
40408
40409	// Indicates whether the Capacity Reservation supports instances with temporary,
40410	// block-level storage.
40411	EphemeralStorage *bool `locationName:"ephemeralStorage" type:"boolean"`
40412
40413	// Indicates the type of instance launches that the Capacity Reservation accepts.
40414	// The options include:
40415	//
40416	//    * open - The Capacity Reservation accepts all instances that have matching
40417	//    attributes (instance type, platform, and Availability Zone). Instances
40418	//    that have matching attributes launch into the Capacity Reservation automatically
40419	//    without specifying any additional parameters.
40420	//
40421	//    * targeted - The Capacity Reservation only accepts instances that have
40422	//    matching attributes (instance type, platform, and Availability Zone),
40423	//    and explicitly target the Capacity Reservation. This ensures that only
40424	//    permitted instances can use the reserved capacity.
40425	InstanceMatchCriteria *string `locationName:"instanceMatchCriteria" type:"string" enum:"InstanceMatchCriteria"`
40426
40427	// The type of operating system for which the Capacity Reservation reserves
40428	// capacity.
40429	InstancePlatform *string `locationName:"instancePlatform" type:"string" enum:"CapacityReservationInstancePlatform"`
40430
40431	// The type of instance for which the Capacity Reservation reserves capacity.
40432	InstanceType *string `locationName:"instanceType" type:"string"`
40433
40434	// The ID of the AWS account that owns the Capacity Reservation.
40435	OwnerId *string `locationName:"ownerId" type:"string"`
40436
40437	// The current state of the Capacity Reservation. A Capacity Reservation can
40438	// be in one of the following states:
40439	//
40440	//    * active - The Capacity Reservation is active and the capacity is available
40441	//    for your use.
40442	//
40443	//    * expired - The Capacity Reservation expired automatically at the date
40444	//    and time specified in your request. The reserved capacity is no longer
40445	//    available for your use.
40446	//
40447	//    * cancelled - The Capacity Reservation was manually cancelled. The reserved
40448	//    capacity is no longer available for your use.
40449	//
40450	//    * pending - The Capacity Reservation request was successful but the capacity
40451	//    provisioning is still pending.
40452	//
40453	//    * failed - The Capacity Reservation request has failed. A request might
40454	//    fail due to invalid request parameters, capacity constraints, or instance
40455	//    limit constraints. Failed requests are retained for 60 minutes.
40456	State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
40457
40458	// Any tags assigned to the Capacity Reservation.
40459	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
40460
40461	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
40462	// can have one of the following tenancy settings:
40463	//
40464	//    * default - The Capacity Reservation is created on hardware that is shared
40465	//    with other AWS accounts.
40466	//
40467	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
40468	//    that is dedicated to a single AWS account.
40469	Tenancy *string `locationName:"tenancy" type:"string" enum:"CapacityReservationTenancy"`
40470
40471	// The total number of instances for which the Capacity Reservation reserves
40472	// capacity.
40473	TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
40474}
40475
40476// String returns the string representation
40477func (s CapacityReservation) String() string {
40478	return awsutil.Prettify(s)
40479}
40480
40481// GoString returns the string representation
40482func (s CapacityReservation) GoString() string {
40483	return s.String()
40484}
40485
40486// SetAvailabilityZone sets the AvailabilityZone field's value.
40487func (s *CapacityReservation) SetAvailabilityZone(v string) *CapacityReservation {
40488	s.AvailabilityZone = &v
40489	return s
40490}
40491
40492// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
40493func (s *CapacityReservation) SetAvailabilityZoneId(v string) *CapacityReservation {
40494	s.AvailabilityZoneId = &v
40495	return s
40496}
40497
40498// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
40499func (s *CapacityReservation) SetAvailableInstanceCount(v int64) *CapacityReservation {
40500	s.AvailableInstanceCount = &v
40501	return s
40502}
40503
40504// SetCapacityReservationArn sets the CapacityReservationArn field's value.
40505func (s *CapacityReservation) SetCapacityReservationArn(v string) *CapacityReservation {
40506	s.CapacityReservationArn = &v
40507	return s
40508}
40509
40510// SetCapacityReservationId sets the CapacityReservationId field's value.
40511func (s *CapacityReservation) SetCapacityReservationId(v string) *CapacityReservation {
40512	s.CapacityReservationId = &v
40513	return s
40514}
40515
40516// SetCreateDate sets the CreateDate field's value.
40517func (s *CapacityReservation) SetCreateDate(v time.Time) *CapacityReservation {
40518	s.CreateDate = &v
40519	return s
40520}
40521
40522// SetEbsOptimized sets the EbsOptimized field's value.
40523func (s *CapacityReservation) SetEbsOptimized(v bool) *CapacityReservation {
40524	s.EbsOptimized = &v
40525	return s
40526}
40527
40528// SetEndDate sets the EndDate field's value.
40529func (s *CapacityReservation) SetEndDate(v time.Time) *CapacityReservation {
40530	s.EndDate = &v
40531	return s
40532}
40533
40534// SetEndDateType sets the EndDateType field's value.
40535func (s *CapacityReservation) SetEndDateType(v string) *CapacityReservation {
40536	s.EndDateType = &v
40537	return s
40538}
40539
40540// SetEphemeralStorage sets the EphemeralStorage field's value.
40541func (s *CapacityReservation) SetEphemeralStorage(v bool) *CapacityReservation {
40542	s.EphemeralStorage = &v
40543	return s
40544}
40545
40546// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
40547func (s *CapacityReservation) SetInstanceMatchCriteria(v string) *CapacityReservation {
40548	s.InstanceMatchCriteria = &v
40549	return s
40550}
40551
40552// SetInstancePlatform sets the InstancePlatform field's value.
40553func (s *CapacityReservation) SetInstancePlatform(v string) *CapacityReservation {
40554	s.InstancePlatform = &v
40555	return s
40556}
40557
40558// SetInstanceType sets the InstanceType field's value.
40559func (s *CapacityReservation) SetInstanceType(v string) *CapacityReservation {
40560	s.InstanceType = &v
40561	return s
40562}
40563
40564// SetOwnerId sets the OwnerId field's value.
40565func (s *CapacityReservation) SetOwnerId(v string) *CapacityReservation {
40566	s.OwnerId = &v
40567	return s
40568}
40569
40570// SetState sets the State field's value.
40571func (s *CapacityReservation) SetState(v string) *CapacityReservation {
40572	s.State = &v
40573	return s
40574}
40575
40576// SetTags sets the Tags field's value.
40577func (s *CapacityReservation) SetTags(v []*Tag) *CapacityReservation {
40578	s.Tags = v
40579	return s
40580}
40581
40582// SetTenancy sets the Tenancy field's value.
40583func (s *CapacityReservation) SetTenancy(v string) *CapacityReservation {
40584	s.Tenancy = &v
40585	return s
40586}
40587
40588// SetTotalInstanceCount sets the TotalInstanceCount field's value.
40589func (s *CapacityReservation) SetTotalInstanceCount(v int64) *CapacityReservation {
40590	s.TotalInstanceCount = &v
40591	return s
40592}
40593
40594// Describes the strategy for using unused Capacity Reservations for fulfilling
40595// On-Demand capacity.
40596//
40597// This strategy can only be used if the EC2 Fleet is of type instant.
40598//
40599// For more information about Capacity Reservations, see On-Demand Capacity
40600// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
40601// in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity
40602// Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
40603// in the Amazon Elastic Compute Cloud User Guide.
40604type CapacityReservationOptions struct {
40605	_ struct{} `type:"structure"`
40606
40607	// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
40608	// capacity.
40609	//
40610	// If you specify use-capacity-reservations-first, the fleet uses unused Capacity
40611	// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
40612	// If multiple instance pools have unused Capacity Reservations, the On-Demand
40613	// allocation strategy (lowest-price or prioritized) is applied. If the number
40614	// of unused Capacity Reservations is less than the On-Demand target capacity,
40615	// the remaining On-Demand target capacity is launched according to the On-Demand
40616	// allocation strategy (lowest-price or prioritized).
40617	//
40618	// If you do not specify a value, the fleet fulfils the On-Demand capacity according
40619	// to the chosen On-Demand allocation strategy.
40620	UsageStrategy *string `locationName:"usageStrategy" type:"string" enum:"FleetCapacityReservationUsageStrategy"`
40621}
40622
40623// String returns the string representation
40624func (s CapacityReservationOptions) String() string {
40625	return awsutil.Prettify(s)
40626}
40627
40628// GoString returns the string representation
40629func (s CapacityReservationOptions) GoString() string {
40630	return s.String()
40631}
40632
40633// SetUsageStrategy sets the UsageStrategy field's value.
40634func (s *CapacityReservationOptions) SetUsageStrategy(v string) *CapacityReservationOptions {
40635	s.UsageStrategy = &v
40636	return s
40637}
40638
40639// Describes the strategy for using unused Capacity Reservations for fulfilling
40640// On-Demand capacity.
40641//
40642// This strategy can only be used if the EC2 Fleet is of type instant.
40643//
40644// For more information about Capacity Reservations, see On-Demand Capacity
40645// Reservations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html)
40646// in the Amazon Elastic Compute Cloud User Guide. For examples of using Capacity
40647// Reservations in an EC2 Fleet, see EC2 Fleet Example Configurations (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-examples.html)
40648// in the Amazon Elastic Compute Cloud User Guide.
40649type CapacityReservationOptionsRequest struct {
40650	_ struct{} `type:"structure"`
40651
40652	// Indicates whether to use unused Capacity Reservations for fulfilling On-Demand
40653	// capacity.
40654	//
40655	// If you specify use-capacity-reservations-first, the fleet uses unused Capacity
40656	// Reservations to fulfill On-Demand capacity up to the target On-Demand capacity.
40657	// If multiple instance pools have unused Capacity Reservations, the On-Demand
40658	// allocation strategy (lowest-price or prioritized) is applied. If the number
40659	// of unused Capacity Reservations is less than the On-Demand target capacity,
40660	// the remaining On-Demand target capacity is launched according to the On-Demand
40661	// allocation strategy (lowest-price or prioritized).
40662	//
40663	// If you do not specify a value, the fleet fulfils the On-Demand capacity according
40664	// to the chosen On-Demand allocation strategy.
40665	UsageStrategy *string `type:"string" enum:"FleetCapacityReservationUsageStrategy"`
40666}
40667
40668// String returns the string representation
40669func (s CapacityReservationOptionsRequest) String() string {
40670	return awsutil.Prettify(s)
40671}
40672
40673// GoString returns the string representation
40674func (s CapacityReservationOptionsRequest) GoString() string {
40675	return s.String()
40676}
40677
40678// SetUsageStrategy sets the UsageStrategy field's value.
40679func (s *CapacityReservationOptionsRequest) SetUsageStrategy(v string) *CapacityReservationOptionsRequest {
40680	s.UsageStrategy = &v
40681	return s
40682}
40683
40684// Describes an instance's Capacity Reservation targeting option. You can specify
40685// only one parameter at a time. If you specify CapacityReservationPreference
40686// and CapacityReservationTarget, the request fails.
40687//
40688// Use the CapacityReservationPreference parameter to configure the instance
40689// to run as an On-Demand Instance or to run in any open Capacity Reservation
40690// that has matching attributes (instance type, platform, Availability Zone).
40691// Use the CapacityReservationTarget parameter to explicitly target a specific
40692// Capacity Reservation.
40693type CapacityReservationSpecification struct {
40694	_ struct{} `type:"structure"`
40695
40696	// Indicates the instance's Capacity Reservation preferences. Possible preferences
40697	// include:
40698	//
40699	//    * open - The instance can run in any open Capacity Reservation that has
40700	//    matching attributes (instance type, platform, Availability Zone).
40701	//
40702	//    * none - The instance avoids running in a Capacity Reservation even if
40703	//    one is available. The instance runs as an On-Demand Instance.
40704	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
40705
40706	// Information about the target Capacity Reservation.
40707	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
40708}
40709
40710// String returns the string representation
40711func (s CapacityReservationSpecification) String() string {
40712	return awsutil.Prettify(s)
40713}
40714
40715// GoString returns the string representation
40716func (s CapacityReservationSpecification) GoString() string {
40717	return s.String()
40718}
40719
40720// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
40721func (s *CapacityReservationSpecification) SetCapacityReservationPreference(v string) *CapacityReservationSpecification {
40722	s.CapacityReservationPreference = &v
40723	return s
40724}
40725
40726// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
40727func (s *CapacityReservationSpecification) SetCapacityReservationTarget(v *CapacityReservationTarget) *CapacityReservationSpecification {
40728	s.CapacityReservationTarget = v
40729	return s
40730}
40731
40732// Describes the instance's Capacity Reservation targeting preferences. The
40733// action returns the capacityReservationPreference response element if the
40734// instance is configured to run in On-Demand capacity, or if it is configured
40735// in run in any open Capacity Reservation that has matching attributes (instance
40736// type, platform, Availability Zone). The action returns the capacityReservationTarget
40737// response element if the instance explicily targets a specific Capacity Reservation.
40738type CapacityReservationSpecificationResponse struct {
40739	_ struct{} `type:"structure"`
40740
40741	// Describes the instance's Capacity Reservation preferences. Possible preferences
40742	// include:
40743	//
40744	//    * open - The instance can run in any open Capacity Reservation that has
40745	//    matching attributes (instance type, platform, Availability Zone).
40746	//
40747	//    * none - The instance avoids running in a Capacity Reservation even if
40748	//    one is available. The instance runs in On-Demand capacity.
40749	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
40750
40751	// Information about the targeted Capacity Reservation.
40752	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
40753}
40754
40755// String returns the string representation
40756func (s CapacityReservationSpecificationResponse) String() string {
40757	return awsutil.Prettify(s)
40758}
40759
40760// GoString returns the string representation
40761func (s CapacityReservationSpecificationResponse) GoString() string {
40762	return s.String()
40763}
40764
40765// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
40766func (s *CapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *CapacityReservationSpecificationResponse {
40767	s.CapacityReservationPreference = &v
40768	return s
40769}
40770
40771// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
40772func (s *CapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *CapacityReservationSpecificationResponse {
40773	s.CapacityReservationTarget = v
40774	return s
40775}
40776
40777// Describes a target Capacity Reservation.
40778type CapacityReservationTarget struct {
40779	_ struct{} `type:"structure"`
40780
40781	// The ID of the Capacity Reservation.
40782	CapacityReservationId *string `type:"string"`
40783}
40784
40785// String returns the string representation
40786func (s CapacityReservationTarget) String() string {
40787	return awsutil.Prettify(s)
40788}
40789
40790// GoString returns the string representation
40791func (s CapacityReservationTarget) GoString() string {
40792	return s.String()
40793}
40794
40795// SetCapacityReservationId sets the CapacityReservationId field's value.
40796func (s *CapacityReservationTarget) SetCapacityReservationId(v string) *CapacityReservationTarget {
40797	s.CapacityReservationId = &v
40798	return s
40799}
40800
40801// Describes a target Capacity Reservation.
40802type CapacityReservationTargetResponse struct {
40803	_ struct{} `type:"structure"`
40804
40805	// The ID of the Capacity Reservation.
40806	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
40807}
40808
40809// String returns the string representation
40810func (s CapacityReservationTargetResponse) String() string {
40811	return awsutil.Prettify(s)
40812}
40813
40814// GoString returns the string representation
40815func (s CapacityReservationTargetResponse) GoString() string {
40816	return s.String()
40817}
40818
40819// SetCapacityReservationId sets the CapacityReservationId field's value.
40820func (s *CapacityReservationTargetResponse) SetCapacityReservationId(v string) *CapacityReservationTargetResponse {
40821	s.CapacityReservationId = &v
40822	return s
40823}
40824
40825// Information about the client certificate used for authentication.
40826type CertificateAuthentication struct {
40827	_ struct{} `type:"structure"`
40828
40829	// The ARN of the client certificate.
40830	ClientRootCertificateChain *string `locationName:"clientRootCertificateChain" type:"string"`
40831}
40832
40833// String returns the string representation
40834func (s CertificateAuthentication) String() string {
40835	return awsutil.Prettify(s)
40836}
40837
40838// GoString returns the string representation
40839func (s CertificateAuthentication) GoString() string {
40840	return s.String()
40841}
40842
40843// SetClientRootCertificateChain sets the ClientRootCertificateChain field's value.
40844func (s *CertificateAuthentication) SetClientRootCertificateChain(v string) *CertificateAuthentication {
40845	s.ClientRootCertificateChain = &v
40846	return s
40847}
40848
40849// Information about the client certificate to be used for authentication.
40850type CertificateAuthenticationRequest struct {
40851	_ struct{} `type:"structure"`
40852
40853	// The ARN of the client certificate. The certificate must be signed by a certificate
40854	// authority (CA) and it must be provisioned in AWS Certificate Manager (ACM).
40855	ClientRootCertificateChainArn *string `type:"string"`
40856}
40857
40858// String returns the string representation
40859func (s CertificateAuthenticationRequest) String() string {
40860	return awsutil.Prettify(s)
40861}
40862
40863// GoString returns the string representation
40864func (s CertificateAuthenticationRequest) GoString() string {
40865	return s.String()
40866}
40867
40868// SetClientRootCertificateChainArn sets the ClientRootCertificateChainArn field's value.
40869func (s *CertificateAuthenticationRequest) SetClientRootCertificateChainArn(v string) *CertificateAuthenticationRequest {
40870	s.ClientRootCertificateChainArn = &v
40871	return s
40872}
40873
40874// Provides authorization for Amazon to bring a specific IP address range to
40875// a specific AWS account using bring your own IP addresses (BYOIP). For more
40876// information, see Prepare to Bring Your Address Range to Your AWS Account
40877// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#prepare-for-byoip)
40878// in the Amazon Elastic Compute Cloud User Guide.
40879type CidrAuthorizationContext struct {
40880	_ struct{} `type:"structure"`
40881
40882	// The plain-text authorization message for the prefix and account.
40883	//
40884	// Message is a required field
40885	Message *string `type:"string" required:"true"`
40886
40887	// The signed authorization message for the prefix and account.
40888	//
40889	// Signature is a required field
40890	Signature *string `type:"string" required:"true"`
40891}
40892
40893// String returns the string representation
40894func (s CidrAuthorizationContext) String() string {
40895	return awsutil.Prettify(s)
40896}
40897
40898// GoString returns the string representation
40899func (s CidrAuthorizationContext) GoString() string {
40900	return s.String()
40901}
40902
40903// Validate inspects the fields of the type to determine if they are valid.
40904func (s *CidrAuthorizationContext) Validate() error {
40905	invalidParams := request.ErrInvalidParams{Context: "CidrAuthorizationContext"}
40906	if s.Message == nil {
40907		invalidParams.Add(request.NewErrParamRequired("Message"))
40908	}
40909	if s.Signature == nil {
40910		invalidParams.Add(request.NewErrParamRequired("Signature"))
40911	}
40912
40913	if invalidParams.Len() > 0 {
40914		return invalidParams
40915	}
40916	return nil
40917}
40918
40919// SetMessage sets the Message field's value.
40920func (s *CidrAuthorizationContext) SetMessage(v string) *CidrAuthorizationContext {
40921	s.Message = &v
40922	return s
40923}
40924
40925// SetSignature sets the Signature field's value.
40926func (s *CidrAuthorizationContext) SetSignature(v string) *CidrAuthorizationContext {
40927	s.Signature = &v
40928	return s
40929}
40930
40931// Describes an IPv4 CIDR block.
40932type CidrBlock struct {
40933	_ struct{} `type:"structure"`
40934
40935	// The IPv4 CIDR block.
40936	CidrBlock *string `locationName:"cidrBlock" type:"string"`
40937}
40938
40939// String returns the string representation
40940func (s CidrBlock) String() string {
40941	return awsutil.Prettify(s)
40942}
40943
40944// GoString returns the string representation
40945func (s CidrBlock) GoString() string {
40946	return s.String()
40947}
40948
40949// SetCidrBlock sets the CidrBlock field's value.
40950func (s *CidrBlock) SetCidrBlock(v string) *CidrBlock {
40951	s.CidrBlock = &v
40952	return s
40953}
40954
40955// Describes the ClassicLink DNS support status of a VPC.
40956type ClassicLinkDnsSupport struct {
40957	_ struct{} `type:"structure"`
40958
40959	// Indicates whether ClassicLink DNS support is enabled for the VPC.
40960	ClassicLinkDnsSupported *bool `locationName:"classicLinkDnsSupported" type:"boolean"`
40961
40962	// The ID of the VPC.
40963	VpcId *string `locationName:"vpcId" type:"string"`
40964}
40965
40966// String returns the string representation
40967func (s ClassicLinkDnsSupport) String() string {
40968	return awsutil.Prettify(s)
40969}
40970
40971// GoString returns the string representation
40972func (s ClassicLinkDnsSupport) GoString() string {
40973	return s.String()
40974}
40975
40976// SetClassicLinkDnsSupported sets the ClassicLinkDnsSupported field's value.
40977func (s *ClassicLinkDnsSupport) SetClassicLinkDnsSupported(v bool) *ClassicLinkDnsSupport {
40978	s.ClassicLinkDnsSupported = &v
40979	return s
40980}
40981
40982// SetVpcId sets the VpcId field's value.
40983func (s *ClassicLinkDnsSupport) SetVpcId(v string) *ClassicLinkDnsSupport {
40984	s.VpcId = &v
40985	return s
40986}
40987
40988// Describes a linked EC2-Classic instance.
40989type ClassicLinkInstance struct {
40990	_ struct{} `type:"structure"`
40991
40992	// A list of security groups.
40993	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
40994
40995	// The ID of the instance.
40996	InstanceId *string `locationName:"instanceId" type:"string"`
40997
40998	// Any tags assigned to the instance.
40999	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
41000
41001	// The ID of the VPC.
41002	VpcId *string `locationName:"vpcId" type:"string"`
41003}
41004
41005// String returns the string representation
41006func (s ClassicLinkInstance) String() string {
41007	return awsutil.Prettify(s)
41008}
41009
41010// GoString returns the string representation
41011func (s ClassicLinkInstance) GoString() string {
41012	return s.String()
41013}
41014
41015// SetGroups sets the Groups field's value.
41016func (s *ClassicLinkInstance) SetGroups(v []*GroupIdentifier) *ClassicLinkInstance {
41017	s.Groups = v
41018	return s
41019}
41020
41021// SetInstanceId sets the InstanceId field's value.
41022func (s *ClassicLinkInstance) SetInstanceId(v string) *ClassicLinkInstance {
41023	s.InstanceId = &v
41024	return s
41025}
41026
41027// SetTags sets the Tags field's value.
41028func (s *ClassicLinkInstance) SetTags(v []*Tag) *ClassicLinkInstance {
41029	s.Tags = v
41030	return s
41031}
41032
41033// SetVpcId sets the VpcId field's value.
41034func (s *ClassicLinkInstance) SetVpcId(v string) *ClassicLinkInstance {
41035	s.VpcId = &v
41036	return s
41037}
41038
41039// Describes a Classic Load Balancer.
41040type ClassicLoadBalancer struct {
41041	_ struct{} `type:"structure"`
41042
41043	// The name of the load balancer.
41044	Name *string `locationName:"name" type:"string"`
41045}
41046
41047// String returns the string representation
41048func (s ClassicLoadBalancer) String() string {
41049	return awsutil.Prettify(s)
41050}
41051
41052// GoString returns the string representation
41053func (s ClassicLoadBalancer) GoString() string {
41054	return s.String()
41055}
41056
41057// SetName sets the Name field's value.
41058func (s *ClassicLoadBalancer) SetName(v string) *ClassicLoadBalancer {
41059	s.Name = &v
41060	return s
41061}
41062
41063// Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet
41064// registers the running Spot Instances with these Classic Load Balancers.
41065type ClassicLoadBalancersConfig struct {
41066	_ struct{} `type:"structure"`
41067
41068	// One or more Classic Load Balancers.
41069	ClassicLoadBalancers []*ClassicLoadBalancer `locationName:"classicLoadBalancers" locationNameList:"item" min:"1" type:"list"`
41070}
41071
41072// String returns the string representation
41073func (s ClassicLoadBalancersConfig) String() string {
41074	return awsutil.Prettify(s)
41075}
41076
41077// GoString returns the string representation
41078func (s ClassicLoadBalancersConfig) GoString() string {
41079	return s.String()
41080}
41081
41082// Validate inspects the fields of the type to determine if they are valid.
41083func (s *ClassicLoadBalancersConfig) Validate() error {
41084	invalidParams := request.ErrInvalidParams{Context: "ClassicLoadBalancersConfig"}
41085	if s.ClassicLoadBalancers != nil && len(s.ClassicLoadBalancers) < 1 {
41086		invalidParams.Add(request.NewErrParamMinLen("ClassicLoadBalancers", 1))
41087	}
41088
41089	if invalidParams.Len() > 0 {
41090		return invalidParams
41091	}
41092	return nil
41093}
41094
41095// SetClassicLoadBalancers sets the ClassicLoadBalancers field's value.
41096func (s *ClassicLoadBalancersConfig) SetClassicLoadBalancers(v []*ClassicLoadBalancer) *ClassicLoadBalancersConfig {
41097	s.ClassicLoadBalancers = v
41098	return s
41099}
41100
41101// Describes the state of a client certificate revocation list.
41102type ClientCertificateRevocationListStatus struct {
41103	_ struct{} `type:"structure"`
41104
41105	// The state of the client certificate revocation list.
41106	Code *string `locationName:"code" type:"string" enum:"ClientCertificateRevocationListStatusCode"`
41107
41108	// A message about the status of the client certificate revocation list, if
41109	// applicable.
41110	Message *string `locationName:"message" type:"string"`
41111}
41112
41113// String returns the string representation
41114func (s ClientCertificateRevocationListStatus) String() string {
41115	return awsutil.Prettify(s)
41116}
41117
41118// GoString returns the string representation
41119func (s ClientCertificateRevocationListStatus) GoString() string {
41120	return s.String()
41121}
41122
41123// SetCode sets the Code field's value.
41124func (s *ClientCertificateRevocationListStatus) SetCode(v string) *ClientCertificateRevocationListStatus {
41125	s.Code = &v
41126	return s
41127}
41128
41129// SetMessage sets the Message field's value.
41130func (s *ClientCertificateRevocationListStatus) SetMessage(v string) *ClientCertificateRevocationListStatus {
41131	s.Message = &v
41132	return s
41133}
41134
41135// Describes the client-specific data.
41136type ClientData struct {
41137	_ struct{} `type:"structure"`
41138
41139	// A user-defined comment about the disk upload.
41140	Comment *string `type:"string"`
41141
41142	// The time that the disk upload ends.
41143	UploadEnd *time.Time `type:"timestamp"`
41144
41145	// The size of the uploaded disk image, in GiB.
41146	UploadSize *float64 `type:"double"`
41147
41148	// The time that the disk upload starts.
41149	UploadStart *time.Time `type:"timestamp"`
41150}
41151
41152// String returns the string representation
41153func (s ClientData) String() string {
41154	return awsutil.Prettify(s)
41155}
41156
41157// GoString returns the string representation
41158func (s ClientData) GoString() string {
41159	return s.String()
41160}
41161
41162// SetComment sets the Comment field's value.
41163func (s *ClientData) SetComment(v string) *ClientData {
41164	s.Comment = &v
41165	return s
41166}
41167
41168// SetUploadEnd sets the UploadEnd field's value.
41169func (s *ClientData) SetUploadEnd(v time.Time) *ClientData {
41170	s.UploadEnd = &v
41171	return s
41172}
41173
41174// SetUploadSize sets the UploadSize field's value.
41175func (s *ClientData) SetUploadSize(v float64) *ClientData {
41176	s.UploadSize = &v
41177	return s
41178}
41179
41180// SetUploadStart sets the UploadStart field's value.
41181func (s *ClientData) SetUploadStart(v time.Time) *ClientData {
41182	s.UploadStart = &v
41183	return s
41184}
41185
41186// Describes the authentication methods used by a Client VPN endpoint. Client
41187// VPN supports Active Directory and mutual authentication. For more information,
41188// see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
41189// in the AWS Client VPN Administrator Guide.
41190type ClientVpnAuthentication struct {
41191	_ struct{} `type:"structure"`
41192
41193	// Information about the Active Directory, if applicable.
41194	ActiveDirectory *DirectoryServiceAuthentication `locationName:"activeDirectory" type:"structure"`
41195
41196	// Information about the authentication certificates, if applicable.
41197	MutualAuthentication *CertificateAuthentication `locationName:"mutualAuthentication" type:"structure"`
41198
41199	// The authentication type used.
41200	Type *string `locationName:"type" type:"string" enum:"ClientVpnAuthenticationType"`
41201}
41202
41203// String returns the string representation
41204func (s ClientVpnAuthentication) String() string {
41205	return awsutil.Prettify(s)
41206}
41207
41208// GoString returns the string representation
41209func (s ClientVpnAuthentication) GoString() string {
41210	return s.String()
41211}
41212
41213// SetActiveDirectory sets the ActiveDirectory field's value.
41214func (s *ClientVpnAuthentication) SetActiveDirectory(v *DirectoryServiceAuthentication) *ClientVpnAuthentication {
41215	s.ActiveDirectory = v
41216	return s
41217}
41218
41219// SetMutualAuthentication sets the MutualAuthentication field's value.
41220func (s *ClientVpnAuthentication) SetMutualAuthentication(v *CertificateAuthentication) *ClientVpnAuthentication {
41221	s.MutualAuthentication = v
41222	return s
41223}
41224
41225// SetType sets the Type field's value.
41226func (s *ClientVpnAuthentication) SetType(v string) *ClientVpnAuthentication {
41227	s.Type = &v
41228	return s
41229}
41230
41231// Describes the authentication method to be used by a Client VPN endpoint.
41232// Client VPN supports Active Directory and mutual authentication. For more
41233// information, see Authentication (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication)
41234// in the AWS Client VPN Administrator Guide.
41235type ClientVpnAuthenticationRequest struct {
41236	_ struct{} `type:"structure"`
41237
41238	// Information about the Active Directory to be used, if applicable. You must
41239	// provide this information if Type is directory-service-authentication.
41240	ActiveDirectory *DirectoryServiceAuthenticationRequest `type:"structure"`
41241
41242	// Information about the authentication certificates to be used, if applicable.
41243	// You must provide this information if Type is certificate-authentication.
41244	MutualAuthentication *CertificateAuthenticationRequest `type:"structure"`
41245
41246	// The type of client authentication to be used. Specify certificate-authentication
41247	// to use certificate-based authentication, or directory-service-authentication
41248	// to use Active Directory authentication.
41249	Type *string `type:"string" enum:"ClientVpnAuthenticationType"`
41250}
41251
41252// String returns the string representation
41253func (s ClientVpnAuthenticationRequest) String() string {
41254	return awsutil.Prettify(s)
41255}
41256
41257// GoString returns the string representation
41258func (s ClientVpnAuthenticationRequest) GoString() string {
41259	return s.String()
41260}
41261
41262// SetActiveDirectory sets the ActiveDirectory field's value.
41263func (s *ClientVpnAuthenticationRequest) SetActiveDirectory(v *DirectoryServiceAuthenticationRequest) *ClientVpnAuthenticationRequest {
41264	s.ActiveDirectory = v
41265	return s
41266}
41267
41268// SetMutualAuthentication sets the MutualAuthentication field's value.
41269func (s *ClientVpnAuthenticationRequest) SetMutualAuthentication(v *CertificateAuthenticationRequest) *ClientVpnAuthenticationRequest {
41270	s.MutualAuthentication = v
41271	return s
41272}
41273
41274// SetType sets the Type field's value.
41275func (s *ClientVpnAuthenticationRequest) SetType(v string) *ClientVpnAuthenticationRequest {
41276	s.Type = &v
41277	return s
41278}
41279
41280// Describes the state of an authorization rule.
41281type ClientVpnAuthorizationRuleStatus struct {
41282	_ struct{} `type:"structure"`
41283
41284	// The state of the authorization rule.
41285	Code *string `locationName:"code" type:"string" enum:"ClientVpnAuthorizationRuleStatusCode"`
41286
41287	// A message about the status of the authorization rule, if applicable.
41288	Message *string `locationName:"message" type:"string"`
41289}
41290
41291// String returns the string representation
41292func (s ClientVpnAuthorizationRuleStatus) String() string {
41293	return awsutil.Prettify(s)
41294}
41295
41296// GoString returns the string representation
41297func (s ClientVpnAuthorizationRuleStatus) GoString() string {
41298	return s.String()
41299}
41300
41301// SetCode sets the Code field's value.
41302func (s *ClientVpnAuthorizationRuleStatus) SetCode(v string) *ClientVpnAuthorizationRuleStatus {
41303	s.Code = &v
41304	return s
41305}
41306
41307// SetMessage sets the Message field's value.
41308func (s *ClientVpnAuthorizationRuleStatus) SetMessage(v string) *ClientVpnAuthorizationRuleStatus {
41309	s.Message = &v
41310	return s
41311}
41312
41313// Describes a client connection.
41314type ClientVpnConnection struct {
41315	_ struct{} `type:"structure"`
41316
41317	// The IP address of the client.
41318	ClientIp *string `locationName:"clientIp" type:"string"`
41319
41320	// The ID of the Client VPN endpoint to which the client is connected.
41321	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
41322
41323	// The common name associated with the client. This is either the name of the
41324	// client certificate, or the Active Directory user name.
41325	CommonName *string `locationName:"commonName" type:"string"`
41326
41327	// The date and time the client connection was terminated.
41328	ConnectionEndTime *string `locationName:"connectionEndTime" type:"string"`
41329
41330	// The date and time the client connection was established.
41331	ConnectionEstablishedTime *string `locationName:"connectionEstablishedTime" type:"string"`
41332
41333	// The ID of the client connection.
41334	ConnectionId *string `locationName:"connectionId" type:"string"`
41335
41336	// The number of bytes received by the client.
41337	EgressBytes *string `locationName:"egressBytes" type:"string"`
41338
41339	// The number of packets received by the client.
41340	EgressPackets *string `locationName:"egressPackets" type:"string"`
41341
41342	// The number of bytes sent by the client.
41343	IngressBytes *string `locationName:"ingressBytes" type:"string"`
41344
41345	// The number of packets sent by the client.
41346	IngressPackets *string `locationName:"ingressPackets" type:"string"`
41347
41348	// The current state of the client connection.
41349	Status *ClientVpnConnectionStatus `locationName:"status" type:"structure"`
41350
41351	// The current date and time.
41352	Timestamp *string `locationName:"timestamp" type:"string"`
41353
41354	// The username of the client who established the client connection. This information
41355	// is only provided if Active Directory client authentication is used.
41356	Username *string `locationName:"username" type:"string"`
41357}
41358
41359// String returns the string representation
41360func (s ClientVpnConnection) String() string {
41361	return awsutil.Prettify(s)
41362}
41363
41364// GoString returns the string representation
41365func (s ClientVpnConnection) GoString() string {
41366	return s.String()
41367}
41368
41369// SetClientIp sets the ClientIp field's value.
41370func (s *ClientVpnConnection) SetClientIp(v string) *ClientVpnConnection {
41371	s.ClientIp = &v
41372	return s
41373}
41374
41375// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
41376func (s *ClientVpnConnection) SetClientVpnEndpointId(v string) *ClientVpnConnection {
41377	s.ClientVpnEndpointId = &v
41378	return s
41379}
41380
41381// SetCommonName sets the CommonName field's value.
41382func (s *ClientVpnConnection) SetCommonName(v string) *ClientVpnConnection {
41383	s.CommonName = &v
41384	return s
41385}
41386
41387// SetConnectionEndTime sets the ConnectionEndTime field's value.
41388func (s *ClientVpnConnection) SetConnectionEndTime(v string) *ClientVpnConnection {
41389	s.ConnectionEndTime = &v
41390	return s
41391}
41392
41393// SetConnectionEstablishedTime sets the ConnectionEstablishedTime field's value.
41394func (s *ClientVpnConnection) SetConnectionEstablishedTime(v string) *ClientVpnConnection {
41395	s.ConnectionEstablishedTime = &v
41396	return s
41397}
41398
41399// SetConnectionId sets the ConnectionId field's value.
41400func (s *ClientVpnConnection) SetConnectionId(v string) *ClientVpnConnection {
41401	s.ConnectionId = &v
41402	return s
41403}
41404
41405// SetEgressBytes sets the EgressBytes field's value.
41406func (s *ClientVpnConnection) SetEgressBytes(v string) *ClientVpnConnection {
41407	s.EgressBytes = &v
41408	return s
41409}
41410
41411// SetEgressPackets sets the EgressPackets field's value.
41412func (s *ClientVpnConnection) SetEgressPackets(v string) *ClientVpnConnection {
41413	s.EgressPackets = &v
41414	return s
41415}
41416
41417// SetIngressBytes sets the IngressBytes field's value.
41418func (s *ClientVpnConnection) SetIngressBytes(v string) *ClientVpnConnection {
41419	s.IngressBytes = &v
41420	return s
41421}
41422
41423// SetIngressPackets sets the IngressPackets field's value.
41424func (s *ClientVpnConnection) SetIngressPackets(v string) *ClientVpnConnection {
41425	s.IngressPackets = &v
41426	return s
41427}
41428
41429// SetStatus sets the Status field's value.
41430func (s *ClientVpnConnection) SetStatus(v *ClientVpnConnectionStatus) *ClientVpnConnection {
41431	s.Status = v
41432	return s
41433}
41434
41435// SetTimestamp sets the Timestamp field's value.
41436func (s *ClientVpnConnection) SetTimestamp(v string) *ClientVpnConnection {
41437	s.Timestamp = &v
41438	return s
41439}
41440
41441// SetUsername sets the Username field's value.
41442func (s *ClientVpnConnection) SetUsername(v string) *ClientVpnConnection {
41443	s.Username = &v
41444	return s
41445}
41446
41447// Describes the status of a client connection.
41448type ClientVpnConnectionStatus struct {
41449	_ struct{} `type:"structure"`
41450
41451	// The state of the client connection.
41452	Code *string `locationName:"code" type:"string" enum:"ClientVpnConnectionStatusCode"`
41453
41454	// A message about the status of the client connection, if applicable.
41455	Message *string `locationName:"message" type:"string"`
41456}
41457
41458// String returns the string representation
41459func (s ClientVpnConnectionStatus) String() string {
41460	return awsutil.Prettify(s)
41461}
41462
41463// GoString returns the string representation
41464func (s ClientVpnConnectionStatus) GoString() string {
41465	return s.String()
41466}
41467
41468// SetCode sets the Code field's value.
41469func (s *ClientVpnConnectionStatus) SetCode(v string) *ClientVpnConnectionStatus {
41470	s.Code = &v
41471	return s
41472}
41473
41474// SetMessage sets the Message field's value.
41475func (s *ClientVpnConnectionStatus) SetMessage(v string) *ClientVpnConnectionStatus {
41476	s.Message = &v
41477	return s
41478}
41479
41480// Describes a Client VPN endpoint.
41481type ClientVpnEndpoint struct {
41482	_ struct{} `type:"structure"`
41483
41484	// Information about the associated target networks. A target network is a subnet
41485	// in a VPC.
41486	//
41487	// Deprecated: This property is deprecated. To view the target networks associated with a Client VPN endpoint, call DescribeClientVpnTargetNetworks and inspect the clientVpnTargetNetworks response element.
41488	AssociatedTargetNetworks []*AssociatedTargetNetwork `locationName:"associatedTargetNetwork" locationNameList:"item" deprecated:"true" type:"list"`
41489
41490	// Information about the authentication method used by the Client VPN endpoint.
41491	AuthenticationOptions []*ClientVpnAuthentication `locationName:"authenticationOptions" locationNameList:"item" type:"list"`
41492
41493	// The IPv4 address range, in CIDR notation, from which client IP addresses
41494	// are assigned.
41495	ClientCidrBlock *string `locationName:"clientCidrBlock" type:"string"`
41496
41497	// The ID of the Client VPN endpoint.
41498	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
41499
41500	// Information about the client connection logging options for the Client VPN
41501	// endpoint.
41502	ConnectionLogOptions *ConnectionLogResponseOptions `locationName:"connectionLogOptions" type:"structure"`
41503
41504	// The date and time the Client VPN endpoint was created.
41505	CreationTime *string `locationName:"creationTime" type:"string"`
41506
41507	// The date and time the Client VPN endpoint was deleted, if applicable.
41508	DeletionTime *string `locationName:"deletionTime" type:"string"`
41509
41510	// A brief description of the endpoint.
41511	Description *string `locationName:"description" type:"string"`
41512
41513	// The DNS name to be used by clients when connecting to the Client VPN endpoint.
41514	DnsName *string `locationName:"dnsName" type:"string"`
41515
41516	// Information about the DNS servers to be used for DNS resolution.
41517	DnsServers []*string `locationName:"dnsServer" locationNameList:"item" type:"list"`
41518
41519	// The ARN of the server certificate.
41520	ServerCertificateArn *string `locationName:"serverCertificateArn" type:"string"`
41521
41522	// Indicates whether split-tunnel is enabled in the AWS Client VPN endpoint.
41523	//
41524	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
41525	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
41526	// in the AWS Client VPN Administrator Guide.
41527	SplitTunnel *bool `locationName:"splitTunnel" type:"boolean"`
41528
41529	// The current state of the Client VPN endpoint.
41530	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
41531
41532	// Any tags assigned to the Client VPN endpoint.
41533	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
41534
41535	// The transport protocol used by the Client VPN endpoint.
41536	TransportProtocol *string `locationName:"transportProtocol" type:"string" enum:"TransportProtocol"`
41537
41538	// The protocol used by the VPN session.
41539	VpnProtocol *string `locationName:"vpnProtocol" type:"string" enum:"VpnProtocol"`
41540}
41541
41542// String returns the string representation
41543func (s ClientVpnEndpoint) String() string {
41544	return awsutil.Prettify(s)
41545}
41546
41547// GoString returns the string representation
41548func (s ClientVpnEndpoint) GoString() string {
41549	return s.String()
41550}
41551
41552// SetAssociatedTargetNetworks sets the AssociatedTargetNetworks field's value.
41553func (s *ClientVpnEndpoint) SetAssociatedTargetNetworks(v []*AssociatedTargetNetwork) *ClientVpnEndpoint {
41554	s.AssociatedTargetNetworks = v
41555	return s
41556}
41557
41558// SetAuthenticationOptions sets the AuthenticationOptions field's value.
41559func (s *ClientVpnEndpoint) SetAuthenticationOptions(v []*ClientVpnAuthentication) *ClientVpnEndpoint {
41560	s.AuthenticationOptions = v
41561	return s
41562}
41563
41564// SetClientCidrBlock sets the ClientCidrBlock field's value.
41565func (s *ClientVpnEndpoint) SetClientCidrBlock(v string) *ClientVpnEndpoint {
41566	s.ClientCidrBlock = &v
41567	return s
41568}
41569
41570// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
41571func (s *ClientVpnEndpoint) SetClientVpnEndpointId(v string) *ClientVpnEndpoint {
41572	s.ClientVpnEndpointId = &v
41573	return s
41574}
41575
41576// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
41577func (s *ClientVpnEndpoint) SetConnectionLogOptions(v *ConnectionLogResponseOptions) *ClientVpnEndpoint {
41578	s.ConnectionLogOptions = v
41579	return s
41580}
41581
41582// SetCreationTime sets the CreationTime field's value.
41583func (s *ClientVpnEndpoint) SetCreationTime(v string) *ClientVpnEndpoint {
41584	s.CreationTime = &v
41585	return s
41586}
41587
41588// SetDeletionTime sets the DeletionTime field's value.
41589func (s *ClientVpnEndpoint) SetDeletionTime(v string) *ClientVpnEndpoint {
41590	s.DeletionTime = &v
41591	return s
41592}
41593
41594// SetDescription sets the Description field's value.
41595func (s *ClientVpnEndpoint) SetDescription(v string) *ClientVpnEndpoint {
41596	s.Description = &v
41597	return s
41598}
41599
41600// SetDnsName sets the DnsName field's value.
41601func (s *ClientVpnEndpoint) SetDnsName(v string) *ClientVpnEndpoint {
41602	s.DnsName = &v
41603	return s
41604}
41605
41606// SetDnsServers sets the DnsServers field's value.
41607func (s *ClientVpnEndpoint) SetDnsServers(v []*string) *ClientVpnEndpoint {
41608	s.DnsServers = v
41609	return s
41610}
41611
41612// SetServerCertificateArn sets the ServerCertificateArn field's value.
41613func (s *ClientVpnEndpoint) SetServerCertificateArn(v string) *ClientVpnEndpoint {
41614	s.ServerCertificateArn = &v
41615	return s
41616}
41617
41618// SetSplitTunnel sets the SplitTunnel field's value.
41619func (s *ClientVpnEndpoint) SetSplitTunnel(v bool) *ClientVpnEndpoint {
41620	s.SplitTunnel = &v
41621	return s
41622}
41623
41624// SetStatus sets the Status field's value.
41625func (s *ClientVpnEndpoint) SetStatus(v *ClientVpnEndpointStatus) *ClientVpnEndpoint {
41626	s.Status = v
41627	return s
41628}
41629
41630// SetTags sets the Tags field's value.
41631func (s *ClientVpnEndpoint) SetTags(v []*Tag) *ClientVpnEndpoint {
41632	s.Tags = v
41633	return s
41634}
41635
41636// SetTransportProtocol sets the TransportProtocol field's value.
41637func (s *ClientVpnEndpoint) SetTransportProtocol(v string) *ClientVpnEndpoint {
41638	s.TransportProtocol = &v
41639	return s
41640}
41641
41642// SetVpnProtocol sets the VpnProtocol field's value.
41643func (s *ClientVpnEndpoint) SetVpnProtocol(v string) *ClientVpnEndpoint {
41644	s.VpnProtocol = &v
41645	return s
41646}
41647
41648// Describes the state of a Client VPN endpoint.
41649type ClientVpnEndpointStatus struct {
41650	_ struct{} `type:"structure"`
41651
41652	// The state of the Client VPN endpoint. Possible states include:
41653	//
41654	//    * pending-associate - The Client VPN endpoint has been created but no
41655	//    target networks have been associated. The Client VPN endpoint cannot accept
41656	//    connections.
41657	//
41658	//    * available - The Client VPN endpoint has been created and a target network
41659	//    has been associated. The Client VPN endpoint can accept connections.
41660	//
41661	//    * deleting - The Client VPN endpoint is being deleted. The Client VPN
41662	//    endpoint cannot accept connections.
41663	//
41664	//    * deleted - The Client VPN endpoint has been deleted. The Client VPN endpoint
41665	//    cannot accept connections.
41666	Code *string `locationName:"code" type:"string" enum:"ClientVpnEndpointStatusCode"`
41667
41668	// A message about the status of the Client VPN endpoint.
41669	Message *string `locationName:"message" type:"string"`
41670}
41671
41672// String returns the string representation
41673func (s ClientVpnEndpointStatus) String() string {
41674	return awsutil.Prettify(s)
41675}
41676
41677// GoString returns the string representation
41678func (s ClientVpnEndpointStatus) GoString() string {
41679	return s.String()
41680}
41681
41682// SetCode sets the Code field's value.
41683func (s *ClientVpnEndpointStatus) SetCode(v string) *ClientVpnEndpointStatus {
41684	s.Code = &v
41685	return s
41686}
41687
41688// SetMessage sets the Message field's value.
41689func (s *ClientVpnEndpointStatus) SetMessage(v string) *ClientVpnEndpointStatus {
41690	s.Message = &v
41691	return s
41692}
41693
41694// Information about a Client VPN endpoint route.
41695type ClientVpnRoute struct {
41696	_ struct{} `type:"structure"`
41697
41698	// The ID of the Client VPN endpoint with which the route is associated.
41699	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
41700
41701	// A brief description of the route.
41702	Description *string `locationName:"description" type:"string"`
41703
41704	// The IPv4 address range, in CIDR notation, of the route destination.
41705	DestinationCidr *string `locationName:"destinationCidr" type:"string"`
41706
41707	// Indicates how the route was associated with the Client VPN endpoint. associate
41708	// indicates that the route was automatically added when the target network
41709	// was associated with the Client VPN endpoint. add-route indicates that the
41710	// route was manually added using the CreateClientVpnRoute action.
41711	Origin *string `locationName:"origin" type:"string"`
41712
41713	// The current state of the route.
41714	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
41715
41716	// The ID of the subnet through which traffic is routed.
41717	TargetSubnet *string `locationName:"targetSubnet" type:"string"`
41718
41719	// The route type.
41720	Type *string `locationName:"type" type:"string"`
41721}
41722
41723// String returns the string representation
41724func (s ClientVpnRoute) String() string {
41725	return awsutil.Prettify(s)
41726}
41727
41728// GoString returns the string representation
41729func (s ClientVpnRoute) GoString() string {
41730	return s.String()
41731}
41732
41733// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
41734func (s *ClientVpnRoute) SetClientVpnEndpointId(v string) *ClientVpnRoute {
41735	s.ClientVpnEndpointId = &v
41736	return s
41737}
41738
41739// SetDescription sets the Description field's value.
41740func (s *ClientVpnRoute) SetDescription(v string) *ClientVpnRoute {
41741	s.Description = &v
41742	return s
41743}
41744
41745// SetDestinationCidr sets the DestinationCidr field's value.
41746func (s *ClientVpnRoute) SetDestinationCidr(v string) *ClientVpnRoute {
41747	s.DestinationCidr = &v
41748	return s
41749}
41750
41751// SetOrigin sets the Origin field's value.
41752func (s *ClientVpnRoute) SetOrigin(v string) *ClientVpnRoute {
41753	s.Origin = &v
41754	return s
41755}
41756
41757// SetStatus sets the Status field's value.
41758func (s *ClientVpnRoute) SetStatus(v *ClientVpnRouteStatus) *ClientVpnRoute {
41759	s.Status = v
41760	return s
41761}
41762
41763// SetTargetSubnet sets the TargetSubnet field's value.
41764func (s *ClientVpnRoute) SetTargetSubnet(v string) *ClientVpnRoute {
41765	s.TargetSubnet = &v
41766	return s
41767}
41768
41769// SetType sets the Type field's value.
41770func (s *ClientVpnRoute) SetType(v string) *ClientVpnRoute {
41771	s.Type = &v
41772	return s
41773}
41774
41775// Describes the state of a Client VPN endpoint route.
41776type ClientVpnRouteStatus struct {
41777	_ struct{} `type:"structure"`
41778
41779	// The state of the Client VPN endpoint route.
41780	Code *string `locationName:"code" type:"string" enum:"ClientVpnRouteStatusCode"`
41781
41782	// A message about the status of the Client VPN endpoint route, if applicable.
41783	Message *string `locationName:"message" type:"string"`
41784}
41785
41786// String returns the string representation
41787func (s ClientVpnRouteStatus) String() string {
41788	return awsutil.Prettify(s)
41789}
41790
41791// GoString returns the string representation
41792func (s ClientVpnRouteStatus) GoString() string {
41793	return s.String()
41794}
41795
41796// SetCode sets the Code field's value.
41797func (s *ClientVpnRouteStatus) SetCode(v string) *ClientVpnRouteStatus {
41798	s.Code = &v
41799	return s
41800}
41801
41802// SetMessage sets the Message field's value.
41803func (s *ClientVpnRouteStatus) SetMessage(v string) *ClientVpnRouteStatus {
41804	s.Message = &v
41805	return s
41806}
41807
41808// Describes address usage for a customer-owned address pool.
41809type CoipAddressUsage struct {
41810	_ struct{} `type:"structure"`
41811
41812	// The allocation ID of the address.
41813	AllocationId *string `locationName:"allocationId" type:"string"`
41814
41815	// The AWS account ID.
41816	AwsAccountId *string `locationName:"awsAccountId" type:"string"`
41817
41818	// The AWS service.
41819	AwsService *string `locationName:"awsService" type:"string"`
41820
41821	// The customer-owned IP address.
41822	CoIp *string `locationName:"coIp" type:"string"`
41823}
41824
41825// String returns the string representation
41826func (s CoipAddressUsage) String() string {
41827	return awsutil.Prettify(s)
41828}
41829
41830// GoString returns the string representation
41831func (s CoipAddressUsage) GoString() string {
41832	return s.String()
41833}
41834
41835// SetAllocationId sets the AllocationId field's value.
41836func (s *CoipAddressUsage) SetAllocationId(v string) *CoipAddressUsage {
41837	s.AllocationId = &v
41838	return s
41839}
41840
41841// SetAwsAccountId sets the AwsAccountId field's value.
41842func (s *CoipAddressUsage) SetAwsAccountId(v string) *CoipAddressUsage {
41843	s.AwsAccountId = &v
41844	return s
41845}
41846
41847// SetAwsService sets the AwsService field's value.
41848func (s *CoipAddressUsage) SetAwsService(v string) *CoipAddressUsage {
41849	s.AwsService = &v
41850	return s
41851}
41852
41853// SetCoIp sets the CoIp field's value.
41854func (s *CoipAddressUsage) SetCoIp(v string) *CoipAddressUsage {
41855	s.CoIp = &v
41856	return s
41857}
41858
41859// Describes a customer-owned address pool.
41860type CoipPool struct {
41861	_ struct{} `type:"structure"`
41862
41863	// The ID of the local gateway route table.
41864	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
41865
41866	// The address ranges of the address pool.
41867	PoolCidrs []*string `locationName:"poolCidrSet" locationNameList:"item" type:"list"`
41868
41869	// The ID of the address pool.
41870	PoolId *string `locationName:"poolId" type:"string"`
41871
41872	// The tags.
41873	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
41874}
41875
41876// String returns the string representation
41877func (s CoipPool) String() string {
41878	return awsutil.Prettify(s)
41879}
41880
41881// GoString returns the string representation
41882func (s CoipPool) GoString() string {
41883	return s.String()
41884}
41885
41886// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
41887func (s *CoipPool) SetLocalGatewayRouteTableId(v string) *CoipPool {
41888	s.LocalGatewayRouteTableId = &v
41889	return s
41890}
41891
41892// SetPoolCidrs sets the PoolCidrs field's value.
41893func (s *CoipPool) SetPoolCidrs(v []*string) *CoipPool {
41894	s.PoolCidrs = v
41895	return s
41896}
41897
41898// SetPoolId sets the PoolId field's value.
41899func (s *CoipPool) SetPoolId(v string) *CoipPool {
41900	s.PoolId = &v
41901	return s
41902}
41903
41904// SetTags sets the Tags field's value.
41905func (s *CoipPool) SetTags(v []*Tag) *CoipPool {
41906	s.Tags = v
41907	return s
41908}
41909
41910type ConfirmProductInstanceInput struct {
41911	_ struct{} `type:"structure"`
41912
41913	// Checks whether you have the required permissions for the action, without
41914	// actually making the request, and provides an error response. If you have
41915	// the required permissions, the error response is DryRunOperation. Otherwise,
41916	// it is UnauthorizedOperation.
41917	DryRun *bool `locationName:"dryRun" type:"boolean"`
41918
41919	// The ID of the instance.
41920	//
41921	// InstanceId is a required field
41922	InstanceId *string `type:"string" required:"true"`
41923
41924	// The product code. This must be a product code that you own.
41925	//
41926	// ProductCode is a required field
41927	ProductCode *string `type:"string" required:"true"`
41928}
41929
41930// String returns the string representation
41931func (s ConfirmProductInstanceInput) String() string {
41932	return awsutil.Prettify(s)
41933}
41934
41935// GoString returns the string representation
41936func (s ConfirmProductInstanceInput) GoString() string {
41937	return s.String()
41938}
41939
41940// Validate inspects the fields of the type to determine if they are valid.
41941func (s *ConfirmProductInstanceInput) Validate() error {
41942	invalidParams := request.ErrInvalidParams{Context: "ConfirmProductInstanceInput"}
41943	if s.InstanceId == nil {
41944		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
41945	}
41946	if s.ProductCode == nil {
41947		invalidParams.Add(request.NewErrParamRequired("ProductCode"))
41948	}
41949
41950	if invalidParams.Len() > 0 {
41951		return invalidParams
41952	}
41953	return nil
41954}
41955
41956// SetDryRun sets the DryRun field's value.
41957func (s *ConfirmProductInstanceInput) SetDryRun(v bool) *ConfirmProductInstanceInput {
41958	s.DryRun = &v
41959	return s
41960}
41961
41962// SetInstanceId sets the InstanceId field's value.
41963func (s *ConfirmProductInstanceInput) SetInstanceId(v string) *ConfirmProductInstanceInput {
41964	s.InstanceId = &v
41965	return s
41966}
41967
41968// SetProductCode sets the ProductCode field's value.
41969func (s *ConfirmProductInstanceInput) SetProductCode(v string) *ConfirmProductInstanceInput {
41970	s.ProductCode = &v
41971	return s
41972}
41973
41974type ConfirmProductInstanceOutput struct {
41975	_ struct{} `type:"structure"`
41976
41977	// The AWS account ID of the instance owner. This is only present if the product
41978	// code is attached to the instance.
41979	OwnerId *string `locationName:"ownerId" type:"string"`
41980
41981	// The return value of the request. Returns true if the specified product code
41982	// is owned by the requester and associated with the specified instance.
41983	Return *bool `locationName:"return" type:"boolean"`
41984}
41985
41986// String returns the string representation
41987func (s ConfirmProductInstanceOutput) String() string {
41988	return awsutil.Prettify(s)
41989}
41990
41991// GoString returns the string representation
41992func (s ConfirmProductInstanceOutput) GoString() string {
41993	return s.String()
41994}
41995
41996// SetOwnerId sets the OwnerId field's value.
41997func (s *ConfirmProductInstanceOutput) SetOwnerId(v string) *ConfirmProductInstanceOutput {
41998	s.OwnerId = &v
41999	return s
42000}
42001
42002// SetReturn sets the Return field's value.
42003func (s *ConfirmProductInstanceOutput) SetReturn(v bool) *ConfirmProductInstanceOutput {
42004	s.Return = &v
42005	return s
42006}
42007
42008// Describes the client connection logging options for the Client VPN endpoint.
42009type ConnectionLogOptions struct {
42010	_ struct{} `type:"structure"`
42011
42012	// The name of the CloudWatch Logs log group.
42013	CloudwatchLogGroup *string `type:"string"`
42014
42015	// The name of the CloudWatch Logs log stream to which the connection data is
42016	// published.
42017	CloudwatchLogStream *string `type:"string"`
42018
42019	// Indicates whether connection logging is enabled.
42020	Enabled *bool `type:"boolean"`
42021}
42022
42023// String returns the string representation
42024func (s ConnectionLogOptions) String() string {
42025	return awsutil.Prettify(s)
42026}
42027
42028// GoString returns the string representation
42029func (s ConnectionLogOptions) GoString() string {
42030	return s.String()
42031}
42032
42033// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
42034func (s *ConnectionLogOptions) SetCloudwatchLogGroup(v string) *ConnectionLogOptions {
42035	s.CloudwatchLogGroup = &v
42036	return s
42037}
42038
42039// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
42040func (s *ConnectionLogOptions) SetCloudwatchLogStream(v string) *ConnectionLogOptions {
42041	s.CloudwatchLogStream = &v
42042	return s
42043}
42044
42045// SetEnabled sets the Enabled field's value.
42046func (s *ConnectionLogOptions) SetEnabled(v bool) *ConnectionLogOptions {
42047	s.Enabled = &v
42048	return s
42049}
42050
42051// Information about the client connection logging options for a Client VPN
42052// endpoint.
42053type ConnectionLogResponseOptions struct {
42054	_ struct{} `type:"structure"`
42055
42056	// The name of the Amazon CloudWatch Logs log group to which connection logging
42057	// data is published.
42058	CloudwatchLogGroup *string `type:"string"`
42059
42060	// The name of the Amazon CloudWatch Logs log stream to which connection logging
42061	// data is published.
42062	CloudwatchLogStream *string `type:"string"`
42063
42064	// Indicates whether client connection logging is enabled for the Client VPN
42065	// endpoint.
42066	Enabled *bool `type:"boolean"`
42067}
42068
42069// String returns the string representation
42070func (s ConnectionLogResponseOptions) String() string {
42071	return awsutil.Prettify(s)
42072}
42073
42074// GoString returns the string representation
42075func (s ConnectionLogResponseOptions) GoString() string {
42076	return s.String()
42077}
42078
42079// SetCloudwatchLogGroup sets the CloudwatchLogGroup field's value.
42080func (s *ConnectionLogResponseOptions) SetCloudwatchLogGroup(v string) *ConnectionLogResponseOptions {
42081	s.CloudwatchLogGroup = &v
42082	return s
42083}
42084
42085// SetCloudwatchLogStream sets the CloudwatchLogStream field's value.
42086func (s *ConnectionLogResponseOptions) SetCloudwatchLogStream(v string) *ConnectionLogResponseOptions {
42087	s.CloudwatchLogStream = &v
42088	return s
42089}
42090
42091// SetEnabled sets the Enabled field's value.
42092func (s *ConnectionLogResponseOptions) SetEnabled(v bool) *ConnectionLogResponseOptions {
42093	s.Enabled = &v
42094	return s
42095}
42096
42097// Describes a connection notification for a VPC endpoint or VPC endpoint service.
42098type ConnectionNotification struct {
42099	_ struct{} `type:"structure"`
42100
42101	// The events for the notification. Valid values are Accept, Connect, Delete,
42102	// and Reject.
42103	ConnectionEvents []*string `locationName:"connectionEvents" locationNameList:"item" type:"list"`
42104
42105	// The ARN of the SNS topic for the notification.
42106	ConnectionNotificationArn *string `locationName:"connectionNotificationArn" type:"string"`
42107
42108	// The ID of the notification.
42109	ConnectionNotificationId *string `locationName:"connectionNotificationId" type:"string"`
42110
42111	// The state of the notification.
42112	ConnectionNotificationState *string `locationName:"connectionNotificationState" type:"string" enum:"ConnectionNotificationState"`
42113
42114	// The type of notification.
42115	ConnectionNotificationType *string `locationName:"connectionNotificationType" type:"string" enum:"ConnectionNotificationType"`
42116
42117	// The ID of the endpoint service.
42118	ServiceId *string `locationName:"serviceId" type:"string"`
42119
42120	// The ID of the VPC endpoint.
42121	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
42122}
42123
42124// String returns the string representation
42125func (s ConnectionNotification) String() string {
42126	return awsutil.Prettify(s)
42127}
42128
42129// GoString returns the string representation
42130func (s ConnectionNotification) GoString() string {
42131	return s.String()
42132}
42133
42134// SetConnectionEvents sets the ConnectionEvents field's value.
42135func (s *ConnectionNotification) SetConnectionEvents(v []*string) *ConnectionNotification {
42136	s.ConnectionEvents = v
42137	return s
42138}
42139
42140// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
42141func (s *ConnectionNotification) SetConnectionNotificationArn(v string) *ConnectionNotification {
42142	s.ConnectionNotificationArn = &v
42143	return s
42144}
42145
42146// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
42147func (s *ConnectionNotification) SetConnectionNotificationId(v string) *ConnectionNotification {
42148	s.ConnectionNotificationId = &v
42149	return s
42150}
42151
42152// SetConnectionNotificationState sets the ConnectionNotificationState field's value.
42153func (s *ConnectionNotification) SetConnectionNotificationState(v string) *ConnectionNotification {
42154	s.ConnectionNotificationState = &v
42155	return s
42156}
42157
42158// SetConnectionNotificationType sets the ConnectionNotificationType field's value.
42159func (s *ConnectionNotification) SetConnectionNotificationType(v string) *ConnectionNotification {
42160	s.ConnectionNotificationType = &v
42161	return s
42162}
42163
42164// SetServiceId sets the ServiceId field's value.
42165func (s *ConnectionNotification) SetServiceId(v string) *ConnectionNotification {
42166	s.ServiceId = &v
42167	return s
42168}
42169
42170// SetVpcEndpointId sets the VpcEndpointId field's value.
42171func (s *ConnectionNotification) SetVpcEndpointId(v string) *ConnectionNotification {
42172	s.VpcEndpointId = &v
42173	return s
42174}
42175
42176// Describes a conversion task.
42177type ConversionTask struct {
42178	_ struct{} `type:"structure"`
42179
42180	// The ID of the conversion task.
42181	ConversionTaskId *string `locationName:"conversionTaskId" type:"string"`
42182
42183	// The time when the task expires. If the upload isn't complete before the expiration
42184	// time, we automatically cancel the task.
42185	ExpirationTime *string `locationName:"expirationTime" type:"string"`
42186
42187	// If the task is for importing an instance, this contains information about
42188	// the import instance task.
42189	ImportInstance *ImportInstanceTaskDetails `locationName:"importInstance" type:"structure"`
42190
42191	// If the task is for importing a volume, this contains information about the
42192	// import volume task.
42193	ImportVolume *ImportVolumeTaskDetails `locationName:"importVolume" type:"structure"`
42194
42195	// The state of the conversion task.
42196	State *string `locationName:"state" type:"string" enum:"ConversionTaskState"`
42197
42198	// The status message related to the conversion task.
42199	StatusMessage *string `locationName:"statusMessage" type:"string"`
42200
42201	// Any tags assigned to the task.
42202	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
42203}
42204
42205// String returns the string representation
42206func (s ConversionTask) String() string {
42207	return awsutil.Prettify(s)
42208}
42209
42210// GoString returns the string representation
42211func (s ConversionTask) GoString() string {
42212	return s.String()
42213}
42214
42215// SetConversionTaskId sets the ConversionTaskId field's value.
42216func (s *ConversionTask) SetConversionTaskId(v string) *ConversionTask {
42217	s.ConversionTaskId = &v
42218	return s
42219}
42220
42221// SetExpirationTime sets the ExpirationTime field's value.
42222func (s *ConversionTask) SetExpirationTime(v string) *ConversionTask {
42223	s.ExpirationTime = &v
42224	return s
42225}
42226
42227// SetImportInstance sets the ImportInstance field's value.
42228func (s *ConversionTask) SetImportInstance(v *ImportInstanceTaskDetails) *ConversionTask {
42229	s.ImportInstance = v
42230	return s
42231}
42232
42233// SetImportVolume sets the ImportVolume field's value.
42234func (s *ConversionTask) SetImportVolume(v *ImportVolumeTaskDetails) *ConversionTask {
42235	s.ImportVolume = v
42236	return s
42237}
42238
42239// SetState sets the State field's value.
42240func (s *ConversionTask) SetState(v string) *ConversionTask {
42241	s.State = &v
42242	return s
42243}
42244
42245// SetStatusMessage sets the StatusMessage field's value.
42246func (s *ConversionTask) SetStatusMessage(v string) *ConversionTask {
42247	s.StatusMessage = &v
42248	return s
42249}
42250
42251// SetTags sets the Tags field's value.
42252func (s *ConversionTask) SetTags(v []*Tag) *ConversionTask {
42253	s.Tags = v
42254	return s
42255}
42256
42257type CopyFpgaImageInput struct {
42258	_ struct{} `type:"structure"`
42259
42260	// Unique, case-sensitive identifier that you provide to ensure the idempotency
42261	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
42262	ClientToken *string `type:"string"`
42263
42264	// The description for the new AFI.
42265	Description *string `type:"string"`
42266
42267	// Checks whether you have the required permissions for the action, without
42268	// actually making the request, and provides an error response. If you have
42269	// the required permissions, the error response is DryRunOperation. Otherwise,
42270	// it is UnauthorizedOperation.
42271	DryRun *bool `type:"boolean"`
42272
42273	// The name for the new AFI. The default is the name of the source AFI.
42274	Name *string `type:"string"`
42275
42276	// The ID of the source AFI.
42277	//
42278	// SourceFpgaImageId is a required field
42279	SourceFpgaImageId *string `type:"string" required:"true"`
42280
42281	// The Region that contains the source AFI.
42282	//
42283	// SourceRegion is a required field
42284	SourceRegion *string `type:"string" required:"true"`
42285}
42286
42287// String returns the string representation
42288func (s CopyFpgaImageInput) String() string {
42289	return awsutil.Prettify(s)
42290}
42291
42292// GoString returns the string representation
42293func (s CopyFpgaImageInput) GoString() string {
42294	return s.String()
42295}
42296
42297// Validate inspects the fields of the type to determine if they are valid.
42298func (s *CopyFpgaImageInput) Validate() error {
42299	invalidParams := request.ErrInvalidParams{Context: "CopyFpgaImageInput"}
42300	if s.SourceFpgaImageId == nil {
42301		invalidParams.Add(request.NewErrParamRequired("SourceFpgaImageId"))
42302	}
42303	if s.SourceRegion == nil {
42304		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
42305	}
42306
42307	if invalidParams.Len() > 0 {
42308		return invalidParams
42309	}
42310	return nil
42311}
42312
42313// SetClientToken sets the ClientToken field's value.
42314func (s *CopyFpgaImageInput) SetClientToken(v string) *CopyFpgaImageInput {
42315	s.ClientToken = &v
42316	return s
42317}
42318
42319// SetDescription sets the Description field's value.
42320func (s *CopyFpgaImageInput) SetDescription(v string) *CopyFpgaImageInput {
42321	s.Description = &v
42322	return s
42323}
42324
42325// SetDryRun sets the DryRun field's value.
42326func (s *CopyFpgaImageInput) SetDryRun(v bool) *CopyFpgaImageInput {
42327	s.DryRun = &v
42328	return s
42329}
42330
42331// SetName sets the Name field's value.
42332func (s *CopyFpgaImageInput) SetName(v string) *CopyFpgaImageInput {
42333	s.Name = &v
42334	return s
42335}
42336
42337// SetSourceFpgaImageId sets the SourceFpgaImageId field's value.
42338func (s *CopyFpgaImageInput) SetSourceFpgaImageId(v string) *CopyFpgaImageInput {
42339	s.SourceFpgaImageId = &v
42340	return s
42341}
42342
42343// SetSourceRegion sets the SourceRegion field's value.
42344func (s *CopyFpgaImageInput) SetSourceRegion(v string) *CopyFpgaImageInput {
42345	s.SourceRegion = &v
42346	return s
42347}
42348
42349type CopyFpgaImageOutput struct {
42350	_ struct{} `type:"structure"`
42351
42352	// The ID of the new AFI.
42353	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
42354}
42355
42356// String returns the string representation
42357func (s CopyFpgaImageOutput) String() string {
42358	return awsutil.Prettify(s)
42359}
42360
42361// GoString returns the string representation
42362func (s CopyFpgaImageOutput) GoString() string {
42363	return s.String()
42364}
42365
42366// SetFpgaImageId sets the FpgaImageId field's value.
42367func (s *CopyFpgaImageOutput) SetFpgaImageId(v string) *CopyFpgaImageOutput {
42368	s.FpgaImageId = &v
42369	return s
42370}
42371
42372// Contains the parameters for CopyImage.
42373type CopyImageInput struct {
42374	_ struct{} `type:"structure"`
42375
42376	// Unique, case-sensitive identifier you provide to ensure idempotency of the
42377	// request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
42378	// in the Amazon Elastic Compute Cloud User Guide.
42379	ClientToken *string `type:"string"`
42380
42381	// A description for the new AMI in the destination Region.
42382	Description *string `type:"string"`
42383
42384	// Checks whether you have the required permissions for the action, without
42385	// actually making the request, and provides an error response. If you have
42386	// the required permissions, the error response is DryRunOperation. Otherwise,
42387	// it is UnauthorizedOperation.
42388	DryRun *bool `locationName:"dryRun" type:"boolean"`
42389
42390	// Specifies whether the destination snapshots of the copied image should be
42391	// encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot
42392	// create an unencrypted copy of an encrypted snapshot. The default CMK for
42393	// EBS is used unless you specify a non-default AWS Key Management Service (AWS
42394	// KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption
42395	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
42396	// in the Amazon Elastic Compute Cloud User Guide.
42397	Encrypted *bool `locationName:"encrypted" type:"boolean"`
42398
42399	// An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
42400	// master key (CMK) to use when creating the encrypted volume. This parameter
42401	// is only required if you want to use a non-default CMK; if this parameter
42402	// is not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
42403	// the Encrypted flag must also be set.
42404	//
42405	// To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name,
42406	// or alias ARN. When using an alias name, prefix it with "alias/". For example:
42407	//
42408	//    * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab
42409	//
42410	//    * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
42411	//
42412	//    * Alias name: alias/ExampleAlias
42413	//
42414	//    * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias
42415	//
42416	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
42417	// appear to complete even though you provided an invalid identifier. This action
42418	// will eventually report failure.
42419	//
42420	// The specified CMK must exist in the Region that the snapshot is being copied
42421	// to.
42422	//
42423	// Amazon EBS does not support asymmetric CMKs.
42424	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
42425
42426	// The name of the new AMI in the destination Region.
42427	//
42428	// Name is a required field
42429	Name *string `type:"string" required:"true"`
42430
42431	// The ID of the AMI to copy.
42432	//
42433	// SourceImageId is a required field
42434	SourceImageId *string `type:"string" required:"true"`
42435
42436	// The name of the Region that contains the AMI to copy.
42437	//
42438	// SourceRegion is a required field
42439	SourceRegion *string `type:"string" required:"true"`
42440}
42441
42442// String returns the string representation
42443func (s CopyImageInput) String() string {
42444	return awsutil.Prettify(s)
42445}
42446
42447// GoString returns the string representation
42448func (s CopyImageInput) GoString() string {
42449	return s.String()
42450}
42451
42452// Validate inspects the fields of the type to determine if they are valid.
42453func (s *CopyImageInput) Validate() error {
42454	invalidParams := request.ErrInvalidParams{Context: "CopyImageInput"}
42455	if s.Name == nil {
42456		invalidParams.Add(request.NewErrParamRequired("Name"))
42457	}
42458	if s.SourceImageId == nil {
42459		invalidParams.Add(request.NewErrParamRequired("SourceImageId"))
42460	}
42461	if s.SourceRegion == nil {
42462		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
42463	}
42464
42465	if invalidParams.Len() > 0 {
42466		return invalidParams
42467	}
42468	return nil
42469}
42470
42471// SetClientToken sets the ClientToken field's value.
42472func (s *CopyImageInput) SetClientToken(v string) *CopyImageInput {
42473	s.ClientToken = &v
42474	return s
42475}
42476
42477// SetDescription sets the Description field's value.
42478func (s *CopyImageInput) SetDescription(v string) *CopyImageInput {
42479	s.Description = &v
42480	return s
42481}
42482
42483// SetDryRun sets the DryRun field's value.
42484func (s *CopyImageInput) SetDryRun(v bool) *CopyImageInput {
42485	s.DryRun = &v
42486	return s
42487}
42488
42489// SetEncrypted sets the Encrypted field's value.
42490func (s *CopyImageInput) SetEncrypted(v bool) *CopyImageInput {
42491	s.Encrypted = &v
42492	return s
42493}
42494
42495// SetKmsKeyId sets the KmsKeyId field's value.
42496func (s *CopyImageInput) SetKmsKeyId(v string) *CopyImageInput {
42497	s.KmsKeyId = &v
42498	return s
42499}
42500
42501// SetName sets the Name field's value.
42502func (s *CopyImageInput) SetName(v string) *CopyImageInput {
42503	s.Name = &v
42504	return s
42505}
42506
42507// SetSourceImageId sets the SourceImageId field's value.
42508func (s *CopyImageInput) SetSourceImageId(v string) *CopyImageInput {
42509	s.SourceImageId = &v
42510	return s
42511}
42512
42513// SetSourceRegion sets the SourceRegion field's value.
42514func (s *CopyImageInput) SetSourceRegion(v string) *CopyImageInput {
42515	s.SourceRegion = &v
42516	return s
42517}
42518
42519// Contains the output of CopyImage.
42520type CopyImageOutput struct {
42521	_ struct{} `type:"structure"`
42522
42523	// The ID of the new AMI.
42524	ImageId *string `locationName:"imageId" type:"string"`
42525}
42526
42527// String returns the string representation
42528func (s CopyImageOutput) String() string {
42529	return awsutil.Prettify(s)
42530}
42531
42532// GoString returns the string representation
42533func (s CopyImageOutput) GoString() string {
42534	return s.String()
42535}
42536
42537// SetImageId sets the ImageId field's value.
42538func (s *CopyImageOutput) SetImageId(v string) *CopyImageOutput {
42539	s.ImageId = &v
42540	return s
42541}
42542
42543type CopySnapshotInput struct {
42544	_ struct{} `type:"structure"`
42545
42546	// A description for the EBS snapshot.
42547	Description *string `type:"string"`
42548
42549	// The destination Region to use in the PresignedUrl parameter of a snapshot
42550	// copy operation. This parameter is only valid for specifying the destination
42551	// Region in a PresignedUrl parameter, where it is required.
42552	//
42553	// The snapshot copy is sent to the regional endpoint that you sent the HTTP
42554	// request to (for example, ec2.us-east-1.amazonaws.com). With the AWS CLI,
42555	// this is specified using the --region parameter or the default Region in your
42556	// AWS configuration file.
42557	DestinationRegion *string `locationName:"destinationRegion" type:"string"`
42558
42559	// Checks whether you have the required permissions for the action, without
42560	// actually making the request, and provides an error response. If you have
42561	// the required permissions, the error response is DryRunOperation. Otherwise,
42562	// it is UnauthorizedOperation.
42563	DryRun *bool `locationName:"dryRun" type:"boolean"`
42564
42565	// To encrypt a copy of an unencrypted snapshot if encryption by default is
42566	// not enabled, enable encryption using this parameter. Otherwise, omit this
42567	// parameter. Encrypted snapshots are encrypted, even if you omit this parameter
42568	// and encryption by default is not enabled. You cannot set this parameter to
42569	// false. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
42570	// in the Amazon Elastic Compute Cloud User Guide.
42571	Encrypted *bool `locationName:"encrypted" type:"boolean"`
42572
42573	// The identifier of the AWS Key Management Service (AWS KMS) customer master
42574	// key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
42575	// your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
42576	// state must be true.
42577	//
42578	// You can specify the CMK using any of the following:
42579	//
42580	//    * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
42581	//
42582	//    * Key alias. For example, alias/ExampleAlias.
42583	//
42584	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
42585	//
42586	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
42587	//
42588	// AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
42589	// alias, or ARN that is not valid, the action can appear to complete, but eventually
42590	// fails.
42591	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
42592
42593	// When you copy an encrypted source snapshot using the Amazon EC2 Query API,
42594	// you must supply a pre-signed URL. This parameter is optional for unencrypted
42595	// snapshots. For more information, see Query Requests (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html).
42596	//
42597	// The PresignedUrl should use the snapshot source endpoint, the CopySnapshot
42598	// action, and include the SourceRegion, SourceSnapshotId, and DestinationRegion
42599	// parameters. The PresignedUrl must be signed using AWS Signature Version 4.
42600	// Because EBS snapshots are stored in Amazon S3, the signing algorithm for
42601	// this parameter uses the same logic that is described in Authenticating Requests
42602	// by Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
42603	// in the Amazon Simple Storage Service API Reference. An invalid or improperly
42604	// signed PresignedUrl will cause the copy operation to fail asynchronously,
42605	// and the snapshot will move to an error state.
42606	PresignedUrl *string `locationName:"presignedUrl" type:"string"`
42607
42608	// The ID of the Region that contains the snapshot to be copied.
42609	//
42610	// SourceRegion is a required field
42611	SourceRegion *string `type:"string" required:"true"`
42612
42613	// The ID of the EBS snapshot to copy.
42614	//
42615	// SourceSnapshotId is a required field
42616	SourceSnapshotId *string `type:"string" required:"true"`
42617
42618	// The tags to apply to the new snapshot.
42619	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
42620}
42621
42622// String returns the string representation
42623func (s CopySnapshotInput) String() string {
42624	return awsutil.Prettify(s)
42625}
42626
42627// GoString returns the string representation
42628func (s CopySnapshotInput) GoString() string {
42629	return s.String()
42630}
42631
42632// Validate inspects the fields of the type to determine if they are valid.
42633func (s *CopySnapshotInput) Validate() error {
42634	invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"}
42635	if s.SourceRegion == nil {
42636		invalidParams.Add(request.NewErrParamRequired("SourceRegion"))
42637	}
42638	if s.SourceSnapshotId == nil {
42639		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotId"))
42640	}
42641
42642	if invalidParams.Len() > 0 {
42643		return invalidParams
42644	}
42645	return nil
42646}
42647
42648// SetDescription sets the Description field's value.
42649func (s *CopySnapshotInput) SetDescription(v string) *CopySnapshotInput {
42650	s.Description = &v
42651	return s
42652}
42653
42654// SetDestinationRegion sets the DestinationRegion field's value.
42655func (s *CopySnapshotInput) SetDestinationRegion(v string) *CopySnapshotInput {
42656	s.DestinationRegion = &v
42657	return s
42658}
42659
42660// SetDryRun sets the DryRun field's value.
42661func (s *CopySnapshotInput) SetDryRun(v bool) *CopySnapshotInput {
42662	s.DryRun = &v
42663	return s
42664}
42665
42666// SetEncrypted sets the Encrypted field's value.
42667func (s *CopySnapshotInput) SetEncrypted(v bool) *CopySnapshotInput {
42668	s.Encrypted = &v
42669	return s
42670}
42671
42672// SetKmsKeyId sets the KmsKeyId field's value.
42673func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput {
42674	s.KmsKeyId = &v
42675	return s
42676}
42677
42678// SetPresignedUrl sets the PresignedUrl field's value.
42679func (s *CopySnapshotInput) SetPresignedUrl(v string) *CopySnapshotInput {
42680	s.PresignedUrl = &v
42681	return s
42682}
42683
42684// SetSourceRegion sets the SourceRegion field's value.
42685func (s *CopySnapshotInput) SetSourceRegion(v string) *CopySnapshotInput {
42686	s.SourceRegion = &v
42687	return s
42688}
42689
42690// SetSourceSnapshotId sets the SourceSnapshotId field's value.
42691func (s *CopySnapshotInput) SetSourceSnapshotId(v string) *CopySnapshotInput {
42692	s.SourceSnapshotId = &v
42693	return s
42694}
42695
42696// SetTagSpecifications sets the TagSpecifications field's value.
42697func (s *CopySnapshotInput) SetTagSpecifications(v []*TagSpecification) *CopySnapshotInput {
42698	s.TagSpecifications = v
42699	return s
42700}
42701
42702type CopySnapshotOutput struct {
42703	_ struct{} `type:"structure"`
42704
42705	// The ID of the new snapshot.
42706	SnapshotId *string `locationName:"snapshotId" type:"string"`
42707
42708	// Any tags applied to the new snapshot.
42709	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
42710}
42711
42712// String returns the string representation
42713func (s CopySnapshotOutput) String() string {
42714	return awsutil.Prettify(s)
42715}
42716
42717// GoString returns the string representation
42718func (s CopySnapshotOutput) GoString() string {
42719	return s.String()
42720}
42721
42722// SetSnapshotId sets the SnapshotId field's value.
42723func (s *CopySnapshotOutput) SetSnapshotId(v string) *CopySnapshotOutput {
42724	s.SnapshotId = &v
42725	return s
42726}
42727
42728// SetTags sets the Tags field's value.
42729func (s *CopySnapshotOutput) SetTags(v []*Tag) *CopySnapshotOutput {
42730	s.Tags = v
42731	return s
42732}
42733
42734// The CPU options for the instance.
42735type CpuOptions struct {
42736	_ struct{} `type:"structure"`
42737
42738	// The number of CPU cores for the instance.
42739	CoreCount *int64 `locationName:"coreCount" type:"integer"`
42740
42741	// The number of threads per CPU core.
42742	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
42743}
42744
42745// String returns the string representation
42746func (s CpuOptions) String() string {
42747	return awsutil.Prettify(s)
42748}
42749
42750// GoString returns the string representation
42751func (s CpuOptions) GoString() string {
42752	return s.String()
42753}
42754
42755// SetCoreCount sets the CoreCount field's value.
42756func (s *CpuOptions) SetCoreCount(v int64) *CpuOptions {
42757	s.CoreCount = &v
42758	return s
42759}
42760
42761// SetThreadsPerCore sets the ThreadsPerCore field's value.
42762func (s *CpuOptions) SetThreadsPerCore(v int64) *CpuOptions {
42763	s.ThreadsPerCore = &v
42764	return s
42765}
42766
42767// The CPU options for the instance. Both the core count and threads per core
42768// must be specified in the request.
42769type CpuOptionsRequest struct {
42770	_ struct{} `type:"structure"`
42771
42772	// The number of CPU cores for the instance.
42773	CoreCount *int64 `type:"integer"`
42774
42775	// The number of threads per CPU core. To disable multithreading for the instance,
42776	// specify a value of 1. Otherwise, specify the default value of 2.
42777	ThreadsPerCore *int64 `type:"integer"`
42778}
42779
42780// String returns the string representation
42781func (s CpuOptionsRequest) String() string {
42782	return awsutil.Prettify(s)
42783}
42784
42785// GoString returns the string representation
42786func (s CpuOptionsRequest) GoString() string {
42787	return s.String()
42788}
42789
42790// SetCoreCount sets the CoreCount field's value.
42791func (s *CpuOptionsRequest) SetCoreCount(v int64) *CpuOptionsRequest {
42792	s.CoreCount = &v
42793	return s
42794}
42795
42796// SetThreadsPerCore sets the ThreadsPerCore field's value.
42797func (s *CpuOptionsRequest) SetThreadsPerCore(v int64) *CpuOptionsRequest {
42798	s.ThreadsPerCore = &v
42799	return s
42800}
42801
42802type CreateCapacityReservationInput struct {
42803	_ struct{} `type:"structure"`
42804
42805	// The Availability Zone in which to create the Capacity Reservation.
42806	AvailabilityZone *string `type:"string"`
42807
42808	// The ID of the Availability Zone in which to create the Capacity Reservation.
42809	AvailabilityZoneId *string `type:"string"`
42810
42811	// Unique, case-sensitive identifier that you provide to ensure the idempotency
42812	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
42813	//
42814	// Constraint: Maximum 64 ASCII characters.
42815	ClientToken *string `type:"string"`
42816
42817	// Checks whether you have the required permissions for the action, without
42818	// actually making the request, and provides an error response. If you have
42819	// the required permissions, the error response is DryRunOperation. Otherwise,
42820	// it is UnauthorizedOperation.
42821	DryRun *bool `type:"boolean"`
42822
42823	// Indicates whether the Capacity Reservation supports EBS-optimized instances.
42824	// This optimization provides dedicated throughput to Amazon EBS and an optimized
42825	// configuration stack to provide optimal I/O performance. This optimization
42826	// isn't available with all instance types. Additional usage charges apply when
42827	// using an EBS- optimized instance.
42828	EbsOptimized *bool `type:"boolean"`
42829
42830	// The date and time at which the Capacity Reservation expires. When a Capacity
42831	// Reservation expires, the reserved capacity is released and you can no longer
42832	// launch instances into it. The Capacity Reservation's state changes to expired
42833	// when it reaches its end date and time.
42834	//
42835	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
42836	// if EndDateType is unlimited.
42837	//
42838	// If the EndDateType is limited, the Capacity Reservation is cancelled within
42839	// an hour from the specified time. For example, if you specify 5/31/2019, 13:30:55,
42840	// the Capacity Reservation is guaranteed to end between 13:30:55 and 14:30:55
42841	// on 5/31/2019.
42842	EndDate *time.Time `type:"timestamp"`
42843
42844	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
42845	// can have one of the following end types:
42846	//
42847	//    * unlimited - The Capacity Reservation remains active until you explicitly
42848	//    cancel it. Do not provide an EndDate if the EndDateType is unlimited.
42849	//
42850	//    * limited - The Capacity Reservation expires automatically at a specified
42851	//    date and time. You must provide an EndDate value if the EndDateType value
42852	//    is limited.
42853	EndDateType *string `type:"string" enum:"EndDateType"`
42854
42855	// Indicates whether the Capacity Reservation supports instances with temporary,
42856	// block-level storage.
42857	EphemeralStorage *bool `type:"boolean"`
42858
42859	// The number of instances for which to reserve capacity.
42860	//
42861	// InstanceCount is a required field
42862	InstanceCount *int64 `type:"integer" required:"true"`
42863
42864	// Indicates the type of instance launches that the Capacity Reservation accepts.
42865	// The options include:
42866	//
42867	//    * open - The Capacity Reservation automatically matches all instances
42868	//    that have matching attributes (instance type, platform, and Availability
42869	//    Zone). Instances that have matching attributes run in the Capacity Reservation
42870	//    automatically without specifying any additional parameters.
42871	//
42872	//    * targeted - The Capacity Reservation only accepts instances that have
42873	//    matching attributes (instance type, platform, and Availability Zone),
42874	//    and explicitly target the Capacity Reservation. This ensures that only
42875	//    permitted instances can use the reserved capacity.
42876	//
42877	// Default: open
42878	InstanceMatchCriteria *string `type:"string" enum:"InstanceMatchCriteria"`
42879
42880	// The type of operating system for which to reserve capacity.
42881	//
42882	// InstancePlatform is a required field
42883	InstancePlatform *string `type:"string" required:"true" enum:"CapacityReservationInstancePlatform"`
42884
42885	// The instance type for which to reserve capacity. For more information, see
42886	// Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
42887	// in the Amazon Elastic Compute Cloud User Guide.
42888	//
42889	// InstanceType is a required field
42890	InstanceType *string `type:"string" required:"true"`
42891
42892	// The tags to apply to the Capacity Reservation during launch.
42893	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
42894
42895	// Indicates the tenancy of the Capacity Reservation. A Capacity Reservation
42896	// can have one of the following tenancy settings:
42897	//
42898	//    * default - The Capacity Reservation is created on hardware that is shared
42899	//    with other AWS accounts.
42900	//
42901	//    * dedicated - The Capacity Reservation is created on single-tenant hardware
42902	//    that is dedicated to a single AWS account.
42903	Tenancy *string `type:"string" enum:"CapacityReservationTenancy"`
42904}
42905
42906// String returns the string representation
42907func (s CreateCapacityReservationInput) String() string {
42908	return awsutil.Prettify(s)
42909}
42910
42911// GoString returns the string representation
42912func (s CreateCapacityReservationInput) GoString() string {
42913	return s.String()
42914}
42915
42916// Validate inspects the fields of the type to determine if they are valid.
42917func (s *CreateCapacityReservationInput) Validate() error {
42918	invalidParams := request.ErrInvalidParams{Context: "CreateCapacityReservationInput"}
42919	if s.InstanceCount == nil {
42920		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
42921	}
42922	if s.InstancePlatform == nil {
42923		invalidParams.Add(request.NewErrParamRequired("InstancePlatform"))
42924	}
42925	if s.InstanceType == nil {
42926		invalidParams.Add(request.NewErrParamRequired("InstanceType"))
42927	}
42928
42929	if invalidParams.Len() > 0 {
42930		return invalidParams
42931	}
42932	return nil
42933}
42934
42935// SetAvailabilityZone sets the AvailabilityZone field's value.
42936func (s *CreateCapacityReservationInput) SetAvailabilityZone(v string) *CreateCapacityReservationInput {
42937	s.AvailabilityZone = &v
42938	return s
42939}
42940
42941// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
42942func (s *CreateCapacityReservationInput) SetAvailabilityZoneId(v string) *CreateCapacityReservationInput {
42943	s.AvailabilityZoneId = &v
42944	return s
42945}
42946
42947// SetClientToken sets the ClientToken field's value.
42948func (s *CreateCapacityReservationInput) SetClientToken(v string) *CreateCapacityReservationInput {
42949	s.ClientToken = &v
42950	return s
42951}
42952
42953// SetDryRun sets the DryRun field's value.
42954func (s *CreateCapacityReservationInput) SetDryRun(v bool) *CreateCapacityReservationInput {
42955	s.DryRun = &v
42956	return s
42957}
42958
42959// SetEbsOptimized sets the EbsOptimized field's value.
42960func (s *CreateCapacityReservationInput) SetEbsOptimized(v bool) *CreateCapacityReservationInput {
42961	s.EbsOptimized = &v
42962	return s
42963}
42964
42965// SetEndDate sets the EndDate field's value.
42966func (s *CreateCapacityReservationInput) SetEndDate(v time.Time) *CreateCapacityReservationInput {
42967	s.EndDate = &v
42968	return s
42969}
42970
42971// SetEndDateType sets the EndDateType field's value.
42972func (s *CreateCapacityReservationInput) SetEndDateType(v string) *CreateCapacityReservationInput {
42973	s.EndDateType = &v
42974	return s
42975}
42976
42977// SetEphemeralStorage sets the EphemeralStorage field's value.
42978func (s *CreateCapacityReservationInput) SetEphemeralStorage(v bool) *CreateCapacityReservationInput {
42979	s.EphemeralStorage = &v
42980	return s
42981}
42982
42983// SetInstanceCount sets the InstanceCount field's value.
42984func (s *CreateCapacityReservationInput) SetInstanceCount(v int64) *CreateCapacityReservationInput {
42985	s.InstanceCount = &v
42986	return s
42987}
42988
42989// SetInstanceMatchCriteria sets the InstanceMatchCriteria field's value.
42990func (s *CreateCapacityReservationInput) SetInstanceMatchCriteria(v string) *CreateCapacityReservationInput {
42991	s.InstanceMatchCriteria = &v
42992	return s
42993}
42994
42995// SetInstancePlatform sets the InstancePlatform field's value.
42996func (s *CreateCapacityReservationInput) SetInstancePlatform(v string) *CreateCapacityReservationInput {
42997	s.InstancePlatform = &v
42998	return s
42999}
43000
43001// SetInstanceType sets the InstanceType field's value.
43002func (s *CreateCapacityReservationInput) SetInstanceType(v string) *CreateCapacityReservationInput {
43003	s.InstanceType = &v
43004	return s
43005}
43006
43007// SetTagSpecifications sets the TagSpecifications field's value.
43008func (s *CreateCapacityReservationInput) SetTagSpecifications(v []*TagSpecification) *CreateCapacityReservationInput {
43009	s.TagSpecifications = v
43010	return s
43011}
43012
43013// SetTenancy sets the Tenancy field's value.
43014func (s *CreateCapacityReservationInput) SetTenancy(v string) *CreateCapacityReservationInput {
43015	s.Tenancy = &v
43016	return s
43017}
43018
43019type CreateCapacityReservationOutput struct {
43020	_ struct{} `type:"structure"`
43021
43022	// Information about the Capacity Reservation.
43023	CapacityReservation *CapacityReservation `locationName:"capacityReservation" type:"structure"`
43024}
43025
43026// String returns the string representation
43027func (s CreateCapacityReservationOutput) String() string {
43028	return awsutil.Prettify(s)
43029}
43030
43031// GoString returns the string representation
43032func (s CreateCapacityReservationOutput) GoString() string {
43033	return s.String()
43034}
43035
43036// SetCapacityReservation sets the CapacityReservation field's value.
43037func (s *CreateCapacityReservationOutput) SetCapacityReservation(v *CapacityReservation) *CreateCapacityReservationOutput {
43038	s.CapacityReservation = v
43039	return s
43040}
43041
43042type CreateClientVpnEndpointInput struct {
43043	_ struct{} `type:"structure"`
43044
43045	// Information about the authentication method to be used to authenticate clients.
43046	//
43047	// AuthenticationOptions is a required field
43048	AuthenticationOptions []*ClientVpnAuthenticationRequest `locationName:"Authentication" type:"list" required:"true"`
43049
43050	// The IPv4 address range, in CIDR notation, from which to assign client IP
43051	// addresses. The address range cannot overlap with the local CIDR of the VPC
43052	// in which the associated subnet is located, or the routes that you add manually.
43053	// The address range cannot be changed after the Client VPN endpoint has been
43054	// created. The CIDR block should be /22 or greater.
43055	//
43056	// ClientCidrBlock is a required field
43057	ClientCidrBlock *string `type:"string" required:"true"`
43058
43059	// Unique, case-sensitive identifier that you provide to ensure the idempotency
43060	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
43061	ClientToken *string `type:"string" idempotencyToken:"true"`
43062
43063	// Information about the client connection logging options.
43064	//
43065	// If you enable client connection logging, data about client connections is
43066	// sent to a Cloudwatch Logs log stream. The following information is logged:
43067	//
43068	//    * Client connection requests
43069	//
43070	//    * Client connection results (successful and unsuccessful)
43071	//
43072	//    * Reasons for unsuccessful client connection requests
43073	//
43074	//    * Client connection termination time
43075	//
43076	// ConnectionLogOptions is a required field
43077	ConnectionLogOptions *ConnectionLogOptions `type:"structure" required:"true"`
43078
43079	// A brief description of the Client VPN endpoint.
43080	Description *string `type:"string"`
43081
43082	// Information about the DNS servers to be used for DNS resolution. A Client
43083	// VPN endpoint can have up to two DNS servers. If no DNS server is specified,
43084	// the DNS address configured on the device is used for the DNS server.
43085	DnsServers []*string `locationNameList:"item" type:"list"`
43086
43087	// Checks whether you have the required permissions for the action, without
43088	// actually making the request, and provides an error response. If you have
43089	// the required permissions, the error response is DryRunOperation. Otherwise,
43090	// it is UnauthorizedOperation.
43091	DryRun *bool `type:"boolean"`
43092
43093	// The ARN of the server certificate. For more information, see the AWS Certificate
43094	// Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/).
43095	//
43096	// ServerCertificateArn is a required field
43097	ServerCertificateArn *string `type:"string" required:"true"`
43098
43099	// Indicates whether split-tunnel is enabled on the AWS Client VPN endpoint.
43100	//
43101	// By default, split-tunnel on a VPN endpoint is disabled.
43102	//
43103	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
43104	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
43105	// in the AWS Client VPN Administrator Guide.
43106	SplitTunnel *bool `type:"boolean"`
43107
43108	// The tags to apply to the Client VPN endpoint during creation.
43109	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
43110
43111	// The transport protocol to be used by the VPN session.
43112	//
43113	// Default value: udp
43114	TransportProtocol *string `type:"string" enum:"TransportProtocol"`
43115}
43116
43117// String returns the string representation
43118func (s CreateClientVpnEndpointInput) String() string {
43119	return awsutil.Prettify(s)
43120}
43121
43122// GoString returns the string representation
43123func (s CreateClientVpnEndpointInput) GoString() string {
43124	return s.String()
43125}
43126
43127// Validate inspects the fields of the type to determine if they are valid.
43128func (s *CreateClientVpnEndpointInput) Validate() error {
43129	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnEndpointInput"}
43130	if s.AuthenticationOptions == nil {
43131		invalidParams.Add(request.NewErrParamRequired("AuthenticationOptions"))
43132	}
43133	if s.ClientCidrBlock == nil {
43134		invalidParams.Add(request.NewErrParamRequired("ClientCidrBlock"))
43135	}
43136	if s.ConnectionLogOptions == nil {
43137		invalidParams.Add(request.NewErrParamRequired("ConnectionLogOptions"))
43138	}
43139	if s.ServerCertificateArn == nil {
43140		invalidParams.Add(request.NewErrParamRequired("ServerCertificateArn"))
43141	}
43142
43143	if invalidParams.Len() > 0 {
43144		return invalidParams
43145	}
43146	return nil
43147}
43148
43149// SetAuthenticationOptions sets the AuthenticationOptions field's value.
43150func (s *CreateClientVpnEndpointInput) SetAuthenticationOptions(v []*ClientVpnAuthenticationRequest) *CreateClientVpnEndpointInput {
43151	s.AuthenticationOptions = v
43152	return s
43153}
43154
43155// SetClientCidrBlock sets the ClientCidrBlock field's value.
43156func (s *CreateClientVpnEndpointInput) SetClientCidrBlock(v string) *CreateClientVpnEndpointInput {
43157	s.ClientCidrBlock = &v
43158	return s
43159}
43160
43161// SetClientToken sets the ClientToken field's value.
43162func (s *CreateClientVpnEndpointInput) SetClientToken(v string) *CreateClientVpnEndpointInput {
43163	s.ClientToken = &v
43164	return s
43165}
43166
43167// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
43168func (s *CreateClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *CreateClientVpnEndpointInput {
43169	s.ConnectionLogOptions = v
43170	return s
43171}
43172
43173// SetDescription sets the Description field's value.
43174func (s *CreateClientVpnEndpointInput) SetDescription(v string) *CreateClientVpnEndpointInput {
43175	s.Description = &v
43176	return s
43177}
43178
43179// SetDnsServers sets the DnsServers field's value.
43180func (s *CreateClientVpnEndpointInput) SetDnsServers(v []*string) *CreateClientVpnEndpointInput {
43181	s.DnsServers = v
43182	return s
43183}
43184
43185// SetDryRun sets the DryRun field's value.
43186func (s *CreateClientVpnEndpointInput) SetDryRun(v bool) *CreateClientVpnEndpointInput {
43187	s.DryRun = &v
43188	return s
43189}
43190
43191// SetServerCertificateArn sets the ServerCertificateArn field's value.
43192func (s *CreateClientVpnEndpointInput) SetServerCertificateArn(v string) *CreateClientVpnEndpointInput {
43193	s.ServerCertificateArn = &v
43194	return s
43195}
43196
43197// SetSplitTunnel sets the SplitTunnel field's value.
43198func (s *CreateClientVpnEndpointInput) SetSplitTunnel(v bool) *CreateClientVpnEndpointInput {
43199	s.SplitTunnel = &v
43200	return s
43201}
43202
43203// SetTagSpecifications sets the TagSpecifications field's value.
43204func (s *CreateClientVpnEndpointInput) SetTagSpecifications(v []*TagSpecification) *CreateClientVpnEndpointInput {
43205	s.TagSpecifications = v
43206	return s
43207}
43208
43209// SetTransportProtocol sets the TransportProtocol field's value.
43210func (s *CreateClientVpnEndpointInput) SetTransportProtocol(v string) *CreateClientVpnEndpointInput {
43211	s.TransportProtocol = &v
43212	return s
43213}
43214
43215type CreateClientVpnEndpointOutput struct {
43216	_ struct{} `type:"structure"`
43217
43218	// The ID of the Client VPN endpoint.
43219	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
43220
43221	// The DNS name to be used by clients when establishing their VPN session.
43222	DnsName *string `locationName:"dnsName" type:"string"`
43223
43224	// The current state of the Client VPN endpoint.
43225	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
43226}
43227
43228// String returns the string representation
43229func (s CreateClientVpnEndpointOutput) String() string {
43230	return awsutil.Prettify(s)
43231}
43232
43233// GoString returns the string representation
43234func (s CreateClientVpnEndpointOutput) GoString() string {
43235	return s.String()
43236}
43237
43238// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
43239func (s *CreateClientVpnEndpointOutput) SetClientVpnEndpointId(v string) *CreateClientVpnEndpointOutput {
43240	s.ClientVpnEndpointId = &v
43241	return s
43242}
43243
43244// SetDnsName sets the DnsName field's value.
43245func (s *CreateClientVpnEndpointOutput) SetDnsName(v string) *CreateClientVpnEndpointOutput {
43246	s.DnsName = &v
43247	return s
43248}
43249
43250// SetStatus sets the Status field's value.
43251func (s *CreateClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *CreateClientVpnEndpointOutput {
43252	s.Status = v
43253	return s
43254}
43255
43256type CreateClientVpnRouteInput struct {
43257	_ struct{} `type:"structure"`
43258
43259	// Unique, case-sensitive identifier that you provide to ensure the idempotency
43260	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
43261	ClientToken *string `type:"string" idempotencyToken:"true"`
43262
43263	// The ID of the Client VPN endpoint to which to add the route.
43264	//
43265	// ClientVpnEndpointId is a required field
43266	ClientVpnEndpointId *string `type:"string" required:"true"`
43267
43268	// A brief description of the route.
43269	Description *string `type:"string"`
43270
43271	// The IPv4 address range, in CIDR notation, of the route destination. For example:
43272	//
43273	//    * To add a route for Internet access, enter 0.0.0.0/0
43274	//
43275	//    * To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range
43276	//
43277	//    * To add a route for an on-premises network, enter the AWS Site-to-Site
43278	//    VPN connection's IPv4 CIDR range
43279	//
43280	// Route address ranges cannot overlap with the CIDR range specified for client
43281	// allocation.
43282	//
43283	// DestinationCidrBlock is a required field
43284	DestinationCidrBlock *string `type:"string" required:"true"`
43285
43286	// Checks whether you have the required permissions for the action, without
43287	// actually making the request, and provides an error response. If you have
43288	// the required permissions, the error response is DryRunOperation. Otherwise,
43289	// it is UnauthorizedOperation.
43290	DryRun *bool `type:"boolean"`
43291
43292	// The ID of the subnet through which you want to route traffic. The specified
43293	// subnet must be an existing target network of the Client VPN endpoint.
43294	//
43295	// TargetVpcSubnetId is a required field
43296	TargetVpcSubnetId *string `type:"string" required:"true"`
43297}
43298
43299// String returns the string representation
43300func (s CreateClientVpnRouteInput) String() string {
43301	return awsutil.Prettify(s)
43302}
43303
43304// GoString returns the string representation
43305func (s CreateClientVpnRouteInput) GoString() string {
43306	return s.String()
43307}
43308
43309// Validate inspects the fields of the type to determine if they are valid.
43310func (s *CreateClientVpnRouteInput) Validate() error {
43311	invalidParams := request.ErrInvalidParams{Context: "CreateClientVpnRouteInput"}
43312	if s.ClientVpnEndpointId == nil {
43313		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
43314	}
43315	if s.DestinationCidrBlock == nil {
43316		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
43317	}
43318	if s.TargetVpcSubnetId == nil {
43319		invalidParams.Add(request.NewErrParamRequired("TargetVpcSubnetId"))
43320	}
43321
43322	if invalidParams.Len() > 0 {
43323		return invalidParams
43324	}
43325	return nil
43326}
43327
43328// SetClientToken sets the ClientToken field's value.
43329func (s *CreateClientVpnRouteInput) SetClientToken(v string) *CreateClientVpnRouteInput {
43330	s.ClientToken = &v
43331	return s
43332}
43333
43334// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
43335func (s *CreateClientVpnRouteInput) SetClientVpnEndpointId(v string) *CreateClientVpnRouteInput {
43336	s.ClientVpnEndpointId = &v
43337	return s
43338}
43339
43340// SetDescription sets the Description field's value.
43341func (s *CreateClientVpnRouteInput) SetDescription(v string) *CreateClientVpnRouteInput {
43342	s.Description = &v
43343	return s
43344}
43345
43346// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
43347func (s *CreateClientVpnRouteInput) SetDestinationCidrBlock(v string) *CreateClientVpnRouteInput {
43348	s.DestinationCidrBlock = &v
43349	return s
43350}
43351
43352// SetDryRun sets the DryRun field's value.
43353func (s *CreateClientVpnRouteInput) SetDryRun(v bool) *CreateClientVpnRouteInput {
43354	s.DryRun = &v
43355	return s
43356}
43357
43358// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
43359func (s *CreateClientVpnRouteInput) SetTargetVpcSubnetId(v string) *CreateClientVpnRouteInput {
43360	s.TargetVpcSubnetId = &v
43361	return s
43362}
43363
43364type CreateClientVpnRouteOutput struct {
43365	_ struct{} `type:"structure"`
43366
43367	// The current state of the route.
43368	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
43369}
43370
43371// String returns the string representation
43372func (s CreateClientVpnRouteOutput) String() string {
43373	return awsutil.Prettify(s)
43374}
43375
43376// GoString returns the string representation
43377func (s CreateClientVpnRouteOutput) GoString() string {
43378	return s.String()
43379}
43380
43381// SetStatus sets the Status field's value.
43382func (s *CreateClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *CreateClientVpnRouteOutput {
43383	s.Status = v
43384	return s
43385}
43386
43387// Contains the parameters for CreateCustomerGateway.
43388type CreateCustomerGatewayInput struct {
43389	_ struct{} `type:"structure"`
43390
43391	// For devices that support BGP, the customer gateway's BGP ASN.
43392	//
43393	// Default: 65000
43394	//
43395	// BgpAsn is a required field
43396	BgpAsn *int64 `type:"integer" required:"true"`
43397
43398	// The Amazon Resource Name (ARN) for the customer gateway certificate.
43399	CertificateArn *string `type:"string"`
43400
43401	// A name for the customer gateway device.
43402	//
43403	// Length Constraints: Up to 255 characters.
43404	DeviceName *string `type:"string"`
43405
43406	// Checks whether you have the required permissions for the action, without
43407	// actually making the request, and provides an error response. If you have
43408	// the required permissions, the error response is DryRunOperation. Otherwise,
43409	// it is UnauthorizedOperation.
43410	DryRun *bool `locationName:"dryRun" type:"boolean"`
43411
43412	// The Internet-routable IP address for the customer gateway's outside interface.
43413	// The address must be static.
43414	PublicIp *string `locationName:"IpAddress" type:"string"`
43415
43416	// The type of VPN connection that this customer gateway supports (ipsec.1).
43417	//
43418	// Type is a required field
43419	Type *string `type:"string" required:"true" enum:"GatewayType"`
43420}
43421
43422// String returns the string representation
43423func (s CreateCustomerGatewayInput) String() string {
43424	return awsutil.Prettify(s)
43425}
43426
43427// GoString returns the string representation
43428func (s CreateCustomerGatewayInput) GoString() string {
43429	return s.String()
43430}
43431
43432// Validate inspects the fields of the type to determine if they are valid.
43433func (s *CreateCustomerGatewayInput) Validate() error {
43434	invalidParams := request.ErrInvalidParams{Context: "CreateCustomerGatewayInput"}
43435	if s.BgpAsn == nil {
43436		invalidParams.Add(request.NewErrParamRequired("BgpAsn"))
43437	}
43438	if s.Type == nil {
43439		invalidParams.Add(request.NewErrParamRequired("Type"))
43440	}
43441
43442	if invalidParams.Len() > 0 {
43443		return invalidParams
43444	}
43445	return nil
43446}
43447
43448// SetBgpAsn sets the BgpAsn field's value.
43449func (s *CreateCustomerGatewayInput) SetBgpAsn(v int64) *CreateCustomerGatewayInput {
43450	s.BgpAsn = &v
43451	return s
43452}
43453
43454// SetCertificateArn sets the CertificateArn field's value.
43455func (s *CreateCustomerGatewayInput) SetCertificateArn(v string) *CreateCustomerGatewayInput {
43456	s.CertificateArn = &v
43457	return s
43458}
43459
43460// SetDeviceName sets the DeviceName field's value.
43461func (s *CreateCustomerGatewayInput) SetDeviceName(v string) *CreateCustomerGatewayInput {
43462	s.DeviceName = &v
43463	return s
43464}
43465
43466// SetDryRun sets the DryRun field's value.
43467func (s *CreateCustomerGatewayInput) SetDryRun(v bool) *CreateCustomerGatewayInput {
43468	s.DryRun = &v
43469	return s
43470}
43471
43472// SetPublicIp sets the PublicIp field's value.
43473func (s *CreateCustomerGatewayInput) SetPublicIp(v string) *CreateCustomerGatewayInput {
43474	s.PublicIp = &v
43475	return s
43476}
43477
43478// SetType sets the Type field's value.
43479func (s *CreateCustomerGatewayInput) SetType(v string) *CreateCustomerGatewayInput {
43480	s.Type = &v
43481	return s
43482}
43483
43484// Contains the output of CreateCustomerGateway.
43485type CreateCustomerGatewayOutput struct {
43486	_ struct{} `type:"structure"`
43487
43488	// Information about the customer gateway.
43489	CustomerGateway *CustomerGateway `locationName:"customerGateway" type:"structure"`
43490}
43491
43492// String returns the string representation
43493func (s CreateCustomerGatewayOutput) String() string {
43494	return awsutil.Prettify(s)
43495}
43496
43497// GoString returns the string representation
43498func (s CreateCustomerGatewayOutput) GoString() string {
43499	return s.String()
43500}
43501
43502// SetCustomerGateway sets the CustomerGateway field's value.
43503func (s *CreateCustomerGatewayOutput) SetCustomerGateway(v *CustomerGateway) *CreateCustomerGatewayOutput {
43504	s.CustomerGateway = v
43505	return s
43506}
43507
43508type CreateDefaultSubnetInput struct {
43509	_ struct{} `type:"structure"`
43510
43511	// The Availability Zone in which to create the default subnet.
43512	//
43513	// AvailabilityZone is a required field
43514	AvailabilityZone *string `type:"string" required:"true"`
43515
43516	// Checks whether you have the required permissions for the action, without
43517	// actually making the request, and provides an error response. If you have
43518	// the required permissions, the error response is DryRunOperation. Otherwise,
43519	// it is UnauthorizedOperation.
43520	DryRun *bool `type:"boolean"`
43521}
43522
43523// String returns the string representation
43524func (s CreateDefaultSubnetInput) String() string {
43525	return awsutil.Prettify(s)
43526}
43527
43528// GoString returns the string representation
43529func (s CreateDefaultSubnetInput) GoString() string {
43530	return s.String()
43531}
43532
43533// Validate inspects the fields of the type to determine if they are valid.
43534func (s *CreateDefaultSubnetInput) Validate() error {
43535	invalidParams := request.ErrInvalidParams{Context: "CreateDefaultSubnetInput"}
43536	if s.AvailabilityZone == nil {
43537		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
43538	}
43539
43540	if invalidParams.Len() > 0 {
43541		return invalidParams
43542	}
43543	return nil
43544}
43545
43546// SetAvailabilityZone sets the AvailabilityZone field's value.
43547func (s *CreateDefaultSubnetInput) SetAvailabilityZone(v string) *CreateDefaultSubnetInput {
43548	s.AvailabilityZone = &v
43549	return s
43550}
43551
43552// SetDryRun sets the DryRun field's value.
43553func (s *CreateDefaultSubnetInput) SetDryRun(v bool) *CreateDefaultSubnetInput {
43554	s.DryRun = &v
43555	return s
43556}
43557
43558type CreateDefaultSubnetOutput struct {
43559	_ struct{} `type:"structure"`
43560
43561	// Information about the subnet.
43562	Subnet *Subnet `locationName:"subnet" type:"structure"`
43563}
43564
43565// String returns the string representation
43566func (s CreateDefaultSubnetOutput) String() string {
43567	return awsutil.Prettify(s)
43568}
43569
43570// GoString returns the string representation
43571func (s CreateDefaultSubnetOutput) GoString() string {
43572	return s.String()
43573}
43574
43575// SetSubnet sets the Subnet field's value.
43576func (s *CreateDefaultSubnetOutput) SetSubnet(v *Subnet) *CreateDefaultSubnetOutput {
43577	s.Subnet = v
43578	return s
43579}
43580
43581type CreateDefaultVpcInput struct {
43582	_ struct{} `type:"structure"`
43583
43584	// Checks whether you have the required permissions for the action, without
43585	// actually making the request, and provides an error response. If you have
43586	// the required permissions, the error response is DryRunOperation. Otherwise,
43587	// it is UnauthorizedOperation.
43588	DryRun *bool `type:"boolean"`
43589}
43590
43591// String returns the string representation
43592func (s CreateDefaultVpcInput) String() string {
43593	return awsutil.Prettify(s)
43594}
43595
43596// GoString returns the string representation
43597func (s CreateDefaultVpcInput) GoString() string {
43598	return s.String()
43599}
43600
43601// SetDryRun sets the DryRun field's value.
43602func (s *CreateDefaultVpcInput) SetDryRun(v bool) *CreateDefaultVpcInput {
43603	s.DryRun = &v
43604	return s
43605}
43606
43607type CreateDefaultVpcOutput struct {
43608	_ struct{} `type:"structure"`
43609
43610	// Information about the VPC.
43611	Vpc *Vpc `locationName:"vpc" type:"structure"`
43612}
43613
43614// String returns the string representation
43615func (s CreateDefaultVpcOutput) String() string {
43616	return awsutil.Prettify(s)
43617}
43618
43619// GoString returns the string representation
43620func (s CreateDefaultVpcOutput) GoString() string {
43621	return s.String()
43622}
43623
43624// SetVpc sets the Vpc field's value.
43625func (s *CreateDefaultVpcOutput) SetVpc(v *Vpc) *CreateDefaultVpcOutput {
43626	s.Vpc = v
43627	return s
43628}
43629
43630type CreateDhcpOptionsInput struct {
43631	_ struct{} `type:"structure"`
43632
43633	// A DHCP configuration option.
43634	//
43635	// DhcpConfigurations is a required field
43636	DhcpConfigurations []*NewDhcpConfiguration `locationName:"dhcpConfiguration" locationNameList:"item" type:"list" required:"true"`
43637
43638	// Checks whether you have the required permissions for the action, without
43639	// actually making the request, and provides an error response. If you have
43640	// the required permissions, the error response is DryRunOperation. Otherwise,
43641	// it is UnauthorizedOperation.
43642	DryRun *bool `locationName:"dryRun" type:"boolean"`
43643}
43644
43645// String returns the string representation
43646func (s CreateDhcpOptionsInput) String() string {
43647	return awsutil.Prettify(s)
43648}
43649
43650// GoString returns the string representation
43651func (s CreateDhcpOptionsInput) GoString() string {
43652	return s.String()
43653}
43654
43655// Validate inspects the fields of the type to determine if they are valid.
43656func (s *CreateDhcpOptionsInput) Validate() error {
43657	invalidParams := request.ErrInvalidParams{Context: "CreateDhcpOptionsInput"}
43658	if s.DhcpConfigurations == nil {
43659		invalidParams.Add(request.NewErrParamRequired("DhcpConfigurations"))
43660	}
43661
43662	if invalidParams.Len() > 0 {
43663		return invalidParams
43664	}
43665	return nil
43666}
43667
43668// SetDhcpConfigurations sets the DhcpConfigurations field's value.
43669func (s *CreateDhcpOptionsInput) SetDhcpConfigurations(v []*NewDhcpConfiguration) *CreateDhcpOptionsInput {
43670	s.DhcpConfigurations = v
43671	return s
43672}
43673
43674// SetDryRun sets the DryRun field's value.
43675func (s *CreateDhcpOptionsInput) SetDryRun(v bool) *CreateDhcpOptionsInput {
43676	s.DryRun = &v
43677	return s
43678}
43679
43680type CreateDhcpOptionsOutput struct {
43681	_ struct{} `type:"structure"`
43682
43683	// A set of DHCP options.
43684	DhcpOptions *DhcpOptions `locationName:"dhcpOptions" type:"structure"`
43685}
43686
43687// String returns the string representation
43688func (s CreateDhcpOptionsOutput) String() string {
43689	return awsutil.Prettify(s)
43690}
43691
43692// GoString returns the string representation
43693func (s CreateDhcpOptionsOutput) GoString() string {
43694	return s.String()
43695}
43696
43697// SetDhcpOptions sets the DhcpOptions field's value.
43698func (s *CreateDhcpOptionsOutput) SetDhcpOptions(v *DhcpOptions) *CreateDhcpOptionsOutput {
43699	s.DhcpOptions = v
43700	return s
43701}
43702
43703type CreateEgressOnlyInternetGatewayInput struct {
43704	_ struct{} `type:"structure"`
43705
43706	// Unique, case-sensitive identifier that you provide to ensure the idempotency
43707	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
43708	ClientToken *string `type:"string"`
43709
43710	// Checks whether you have the required permissions for the action, without
43711	// actually making the request, and provides an error response. If you have
43712	// the required permissions, the error response is DryRunOperation. Otherwise,
43713	// it is UnauthorizedOperation.
43714	DryRun *bool `type:"boolean"`
43715
43716	// The ID of the VPC for which to create the egress-only internet gateway.
43717	//
43718	// VpcId is a required field
43719	VpcId *string `type:"string" required:"true"`
43720}
43721
43722// String returns the string representation
43723func (s CreateEgressOnlyInternetGatewayInput) String() string {
43724	return awsutil.Prettify(s)
43725}
43726
43727// GoString returns the string representation
43728func (s CreateEgressOnlyInternetGatewayInput) GoString() string {
43729	return s.String()
43730}
43731
43732// Validate inspects the fields of the type to determine if they are valid.
43733func (s *CreateEgressOnlyInternetGatewayInput) Validate() error {
43734	invalidParams := request.ErrInvalidParams{Context: "CreateEgressOnlyInternetGatewayInput"}
43735	if s.VpcId == nil {
43736		invalidParams.Add(request.NewErrParamRequired("VpcId"))
43737	}
43738
43739	if invalidParams.Len() > 0 {
43740		return invalidParams
43741	}
43742	return nil
43743}
43744
43745// SetClientToken sets the ClientToken field's value.
43746func (s *CreateEgressOnlyInternetGatewayInput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayInput {
43747	s.ClientToken = &v
43748	return s
43749}
43750
43751// SetDryRun sets the DryRun field's value.
43752func (s *CreateEgressOnlyInternetGatewayInput) SetDryRun(v bool) *CreateEgressOnlyInternetGatewayInput {
43753	s.DryRun = &v
43754	return s
43755}
43756
43757// SetVpcId sets the VpcId field's value.
43758func (s *CreateEgressOnlyInternetGatewayInput) SetVpcId(v string) *CreateEgressOnlyInternetGatewayInput {
43759	s.VpcId = &v
43760	return s
43761}
43762
43763type CreateEgressOnlyInternetGatewayOutput struct {
43764	_ struct{} `type:"structure"`
43765
43766	// Unique, case-sensitive identifier that you provide to ensure the idempotency
43767	// of the request.
43768	ClientToken *string `locationName:"clientToken" type:"string"`
43769
43770	// Information about the egress-only internet gateway.
43771	EgressOnlyInternetGateway *EgressOnlyInternetGateway `locationName:"egressOnlyInternetGateway" type:"structure"`
43772}
43773
43774// String returns the string representation
43775func (s CreateEgressOnlyInternetGatewayOutput) String() string {
43776	return awsutil.Prettify(s)
43777}
43778
43779// GoString returns the string representation
43780func (s CreateEgressOnlyInternetGatewayOutput) GoString() string {
43781	return s.String()
43782}
43783
43784// SetClientToken sets the ClientToken field's value.
43785func (s *CreateEgressOnlyInternetGatewayOutput) SetClientToken(v string) *CreateEgressOnlyInternetGatewayOutput {
43786	s.ClientToken = &v
43787	return s
43788}
43789
43790// SetEgressOnlyInternetGateway sets the EgressOnlyInternetGateway field's value.
43791func (s *CreateEgressOnlyInternetGatewayOutput) SetEgressOnlyInternetGateway(v *EgressOnlyInternetGateway) *CreateEgressOnlyInternetGatewayOutput {
43792	s.EgressOnlyInternetGateway = v
43793	return s
43794}
43795
43796// Describes the instances that could not be launched by the fleet.
43797type CreateFleetError struct {
43798	_ struct{} `type:"structure"`
43799
43800	// The error code that indicates why the instance could not be launched. For
43801	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
43802	ErrorCode *string `locationName:"errorCode" type:"string"`
43803
43804	// The error message that describes why the instance could not be launched.
43805	// For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
43806	ErrorMessage *string `locationName:"errorMessage" type:"string"`
43807
43808	// The launch templates and overrides that were used for launching the instances.
43809	// The values that you specify in the Overrides replace the values in the launch
43810	// template.
43811	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
43812
43813	// Indicates if the instance that could not be launched was a Spot Instance
43814	// or On-Demand Instance.
43815	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
43816}
43817
43818// String returns the string representation
43819func (s CreateFleetError) String() string {
43820	return awsutil.Prettify(s)
43821}
43822
43823// GoString returns the string representation
43824func (s CreateFleetError) GoString() string {
43825	return s.String()
43826}
43827
43828// SetErrorCode sets the ErrorCode field's value.
43829func (s *CreateFleetError) SetErrorCode(v string) *CreateFleetError {
43830	s.ErrorCode = &v
43831	return s
43832}
43833
43834// SetErrorMessage sets the ErrorMessage field's value.
43835func (s *CreateFleetError) SetErrorMessage(v string) *CreateFleetError {
43836	s.ErrorMessage = &v
43837	return s
43838}
43839
43840// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
43841func (s *CreateFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetError {
43842	s.LaunchTemplateAndOverrides = v
43843	return s
43844}
43845
43846// SetLifecycle sets the Lifecycle field's value.
43847func (s *CreateFleetError) SetLifecycle(v string) *CreateFleetError {
43848	s.Lifecycle = &v
43849	return s
43850}
43851
43852type CreateFleetInput struct {
43853	_ struct{} `type:"structure"`
43854
43855	// Unique, case-sensitive identifier that you provide to ensure the idempotency
43856	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
43857	ClientToken *string `type:"string"`
43858
43859	// Checks whether you have the required permissions for the action, without
43860	// actually making the request, and provides an error response. If you have
43861	// the required permissions, the error response is DryRunOperation. Otherwise,
43862	// it is UnauthorizedOperation.
43863	DryRun *bool `type:"boolean"`
43864
43865	// Indicates whether running instances should be terminated if the total target
43866	// capacity of the EC2 Fleet is decreased below the current size of the EC2
43867	// Fleet.
43868	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
43869
43870	// The configuration for the EC2 Fleet.
43871	//
43872	// LaunchTemplateConfigs is a required field
43873	LaunchTemplateConfigs []*FleetLaunchTemplateConfigRequest `locationNameList:"item" type:"list" required:"true"`
43874
43875	// Describes the configuration of On-Demand Instances in an EC2 Fleet.
43876	OnDemandOptions *OnDemandOptionsRequest `type:"structure"`
43877
43878	// Indicates whether EC2 Fleet should replace unhealthy instances.
43879	ReplaceUnhealthyInstances *bool `type:"boolean"`
43880
43881	// Describes the configuration of Spot Instances in an EC2 Fleet.
43882	SpotOptions *SpotOptionsRequest `type:"structure"`
43883
43884	// The key-value pair for tagging the EC2 Fleet request on creation. The value
43885	// for ResourceType must be fleet, otherwise the fleet request fails. To tag
43886	// 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).
43887	// For information about tagging after launch, see Tagging Your Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources).
43888	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
43889
43890	// The number of units to request.
43891	//
43892	// TargetCapacitySpecification is a required field
43893	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
43894
43895	// Indicates whether running instances should be terminated when the EC2 Fleet
43896	// expires.
43897	TerminateInstancesWithExpiration *bool `type:"boolean"`
43898
43899	// The type of the request. By default, the EC2 Fleet places an asynchronous
43900	// request for your desired capacity, and maintains it by replenishing interrupted
43901	// Spot Instances (maintain). A value of instant places a synchronous one-time
43902	// request, and returns errors for any instances that could not be launched.
43903	// A value of request places an asynchronous one-time request without maintaining
43904	// capacity or submitting requests in alternative capacity pools if capacity
43905	// 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)
43906	// in the Amazon Elastic Compute Cloud User Guide.
43907	Type *string `type:"string" enum:"FleetType"`
43908
43909	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
43910	// The default is to start fulfilling the request immediately.
43911	ValidFrom *time.Time `type:"timestamp"`
43912
43913	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
43914	// At this point, no new EC2 Fleet requests are placed or able to fulfill the
43915	// request. If no value is specified, the request remains until you cancel it.
43916	ValidUntil *time.Time `type:"timestamp"`
43917}
43918
43919// String returns the string representation
43920func (s CreateFleetInput) String() string {
43921	return awsutil.Prettify(s)
43922}
43923
43924// GoString returns the string representation
43925func (s CreateFleetInput) GoString() string {
43926	return s.String()
43927}
43928
43929// Validate inspects the fields of the type to determine if they are valid.
43930func (s *CreateFleetInput) Validate() error {
43931	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
43932	if s.LaunchTemplateConfigs == nil {
43933		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateConfigs"))
43934	}
43935	if s.TargetCapacitySpecification == nil {
43936		invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
43937	}
43938	if s.LaunchTemplateConfigs != nil {
43939		for i, v := range s.LaunchTemplateConfigs {
43940			if v == nil {
43941				continue
43942			}
43943			if err := v.Validate(); err != nil {
43944				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
43945			}
43946		}
43947	}
43948	if s.TargetCapacitySpecification != nil {
43949		if err := s.TargetCapacitySpecification.Validate(); err != nil {
43950			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
43951		}
43952	}
43953
43954	if invalidParams.Len() > 0 {
43955		return invalidParams
43956	}
43957	return nil
43958}
43959
43960// SetClientToken sets the ClientToken field's value.
43961func (s *CreateFleetInput) SetClientToken(v string) *CreateFleetInput {
43962	s.ClientToken = &v
43963	return s
43964}
43965
43966// SetDryRun sets the DryRun field's value.
43967func (s *CreateFleetInput) SetDryRun(v bool) *CreateFleetInput {
43968	s.DryRun = &v
43969	return s
43970}
43971
43972// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
43973func (s *CreateFleetInput) SetExcessCapacityTerminationPolicy(v string) *CreateFleetInput {
43974	s.ExcessCapacityTerminationPolicy = &v
43975	return s
43976}
43977
43978// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
43979func (s *CreateFleetInput) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfigRequest) *CreateFleetInput {
43980	s.LaunchTemplateConfigs = v
43981	return s
43982}
43983
43984// SetOnDemandOptions sets the OnDemandOptions field's value.
43985func (s *CreateFleetInput) SetOnDemandOptions(v *OnDemandOptionsRequest) *CreateFleetInput {
43986	s.OnDemandOptions = v
43987	return s
43988}
43989
43990// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
43991func (s *CreateFleetInput) SetReplaceUnhealthyInstances(v bool) *CreateFleetInput {
43992	s.ReplaceUnhealthyInstances = &v
43993	return s
43994}
43995
43996// SetSpotOptions sets the SpotOptions field's value.
43997func (s *CreateFleetInput) SetSpotOptions(v *SpotOptionsRequest) *CreateFleetInput {
43998	s.SpotOptions = v
43999	return s
44000}
44001
44002// SetTagSpecifications sets the TagSpecifications field's value.
44003func (s *CreateFleetInput) SetTagSpecifications(v []*TagSpecification) *CreateFleetInput {
44004	s.TagSpecifications = v
44005	return s
44006}
44007
44008// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
44009func (s *CreateFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *CreateFleetInput {
44010	s.TargetCapacitySpecification = v
44011	return s
44012}
44013
44014// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
44015func (s *CreateFleetInput) SetTerminateInstancesWithExpiration(v bool) *CreateFleetInput {
44016	s.TerminateInstancesWithExpiration = &v
44017	return s
44018}
44019
44020// SetType sets the Type field's value.
44021func (s *CreateFleetInput) SetType(v string) *CreateFleetInput {
44022	s.Type = &v
44023	return s
44024}
44025
44026// SetValidFrom sets the ValidFrom field's value.
44027func (s *CreateFleetInput) SetValidFrom(v time.Time) *CreateFleetInput {
44028	s.ValidFrom = &v
44029	return s
44030}
44031
44032// SetValidUntil sets the ValidUntil field's value.
44033func (s *CreateFleetInput) SetValidUntil(v time.Time) *CreateFleetInput {
44034	s.ValidUntil = &v
44035	return s
44036}
44037
44038// Describes the instances that were launched by the fleet.
44039type CreateFleetInstance struct {
44040	_ struct{} `type:"structure"`
44041
44042	// The IDs of the instances.
44043	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
44044
44045	// The instance type.
44046	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
44047
44048	// The launch templates and overrides that were used for launching the instances.
44049	// The values that you specify in the Overrides replace the values in the launch
44050	// template.
44051	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
44052
44053	// Indicates if the instance that was launched is a Spot Instance or On-Demand
44054	// Instance.
44055	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
44056
44057	// The value is Windows for Windows instances. Otherwise, the value is blank.
44058	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
44059}
44060
44061// String returns the string representation
44062func (s CreateFleetInstance) String() string {
44063	return awsutil.Prettify(s)
44064}
44065
44066// GoString returns the string representation
44067func (s CreateFleetInstance) GoString() string {
44068	return s.String()
44069}
44070
44071// SetInstanceIds sets the InstanceIds field's value.
44072func (s *CreateFleetInstance) SetInstanceIds(v []*string) *CreateFleetInstance {
44073	s.InstanceIds = v
44074	return s
44075}
44076
44077// SetInstanceType sets the InstanceType field's value.
44078func (s *CreateFleetInstance) SetInstanceType(v string) *CreateFleetInstance {
44079	s.InstanceType = &v
44080	return s
44081}
44082
44083// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
44084func (s *CreateFleetInstance) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *CreateFleetInstance {
44085	s.LaunchTemplateAndOverrides = v
44086	return s
44087}
44088
44089// SetLifecycle sets the Lifecycle field's value.
44090func (s *CreateFleetInstance) SetLifecycle(v string) *CreateFleetInstance {
44091	s.Lifecycle = &v
44092	return s
44093}
44094
44095// SetPlatform sets the Platform field's value.
44096func (s *CreateFleetInstance) SetPlatform(v string) *CreateFleetInstance {
44097	s.Platform = &v
44098	return s
44099}
44100
44101type CreateFleetOutput struct {
44102	_ struct{} `type:"structure"`
44103
44104	// Information about the instances that could not be launched by the fleet.
44105	// Valid only when Type is set to instant.
44106	Errors []*CreateFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
44107
44108	// The ID of the EC2 Fleet.
44109	FleetId *string `locationName:"fleetId" type:"string"`
44110
44111	// Information about the instances that were launched by the fleet. Valid only
44112	// when Type is set to instant.
44113	Instances []*CreateFleetInstance `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
44114}
44115
44116// String returns the string representation
44117func (s CreateFleetOutput) String() string {
44118	return awsutil.Prettify(s)
44119}
44120
44121// GoString returns the string representation
44122func (s CreateFleetOutput) GoString() string {
44123	return s.String()
44124}
44125
44126// SetErrors sets the Errors field's value.
44127func (s *CreateFleetOutput) SetErrors(v []*CreateFleetError) *CreateFleetOutput {
44128	s.Errors = v
44129	return s
44130}
44131
44132// SetFleetId sets the FleetId field's value.
44133func (s *CreateFleetOutput) SetFleetId(v string) *CreateFleetOutput {
44134	s.FleetId = &v
44135	return s
44136}
44137
44138// SetInstances sets the Instances field's value.
44139func (s *CreateFleetOutput) SetInstances(v []*CreateFleetInstance) *CreateFleetOutput {
44140	s.Instances = v
44141	return s
44142}
44143
44144type CreateFlowLogsInput struct {
44145	_ struct{} `type:"structure"`
44146
44147	// Unique, case-sensitive identifier that you provide to ensure the idempotency
44148	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
44149	ClientToken *string `type:"string"`
44150
44151	// The ARN for the IAM role that permits Amazon EC2 to publish flow logs to
44152	// a CloudWatch Logs log group in your account.
44153	//
44154	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
44155	// or LogGroupName.
44156	DeliverLogsPermissionArn *string `type:"string"`
44157
44158	// Checks whether you have the required permissions for the action, without
44159	// actually making the request, and provides an error response. If you have
44160	// the required permissions, the error response is DryRunOperation. Otherwise,
44161	// it is UnauthorizedOperation.
44162	DryRun *bool `type:"boolean"`
44163
44164	// Specifies the destination to which the flow log data is to be published.
44165	// Flow log data can be published to a CloudWatch Logs log group or an Amazon
44166	// S3 bucket. The value specified for this parameter depends on the value specified
44167	// for LogDestinationType.
44168	//
44169	// If LogDestinationType is not specified or cloud-watch-logs, specify the Amazon
44170	// Resource Name (ARN) of the CloudWatch Logs log group. For example, to publish
44171	// to a log group called my-logs, specify arn:aws:logs:us-east-1:123456789012:log-group:my-logs.
44172	// Alternatively, use LogGroupName instead.
44173	//
44174	// If LogDestinationType is s3, specify the ARN of the Amazon S3 bucket. You
44175	// can also specify a subfolder in the bucket. To specify a subfolder in the
44176	// bucket, use the following ARN format: bucket_ARN/subfolder_name/. For example,
44177	// to specify a subfolder named my-logs in a bucket named my-bucket, use the
44178	// following ARN: arn:aws:s3:::my-bucket/my-logs/. You cannot use AWSLogs as
44179	// a subfolder name. This is a reserved term.
44180	LogDestination *string `type:"string"`
44181
44182	// Specifies the type of destination to which the flow log data is to be published.
44183	// Flow log data can be published to CloudWatch Logs or Amazon S3. To publish
44184	// flow log data to CloudWatch Logs, specify cloud-watch-logs. To publish flow
44185	// log data to Amazon S3, specify s3.
44186	//
44187	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
44188	// or LogGroupName.
44189	//
44190	// Default: cloud-watch-logs
44191	LogDestinationType *string `type:"string" enum:"LogDestinationType"`
44192
44193	// The fields to include in the flow log record, in the order in which they
44194	// 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).
44195	// If you omit this parameter, the flow log is created using the default format.
44196	// If you specify this parameter, you must specify at least one field.
44197	//
44198	// Specify the fields using the ${field-id} format, separated by spaces. For
44199	// the AWS CLI, use single quotation marks (' ') to surround the parameter value.
44200	//
44201	// Only applicable to flow logs that are published to an Amazon S3 bucket.
44202	LogFormat *string `type:"string"`
44203
44204	// The name of a new or existing CloudWatch Logs log group where Amazon EC2
44205	// publishes your flow logs.
44206	//
44207	// If you specify LogDestinationType as s3, do not specify DeliverLogsPermissionArn
44208	// or LogGroupName.
44209	LogGroupName *string `type:"string"`
44210
44211	// The ID of the subnet, network interface, or VPC for which you want to create
44212	// a flow log.
44213	//
44214	// Constraints: Maximum of 1000 resources
44215	//
44216	// ResourceIds is a required field
44217	ResourceIds []*string `locationName:"ResourceId" locationNameList:"item" type:"list" required:"true"`
44218
44219	// The type of resource for which to create the flow log. For example, if you
44220	// specified a VPC ID for the ResourceId property, specify VPC for this property.
44221	//
44222	// ResourceType is a required field
44223	ResourceType *string `type:"string" required:"true" enum:"FlowLogsResourceType"`
44224
44225	// The type of traffic to log. You can log traffic that the resource accepts
44226	// or rejects, or all traffic.
44227	//
44228	// TrafficType is a required field
44229	TrafficType *string `type:"string" required:"true" enum:"TrafficType"`
44230}
44231
44232// String returns the string representation
44233func (s CreateFlowLogsInput) String() string {
44234	return awsutil.Prettify(s)
44235}
44236
44237// GoString returns the string representation
44238func (s CreateFlowLogsInput) GoString() string {
44239	return s.String()
44240}
44241
44242// Validate inspects the fields of the type to determine if they are valid.
44243func (s *CreateFlowLogsInput) Validate() error {
44244	invalidParams := request.ErrInvalidParams{Context: "CreateFlowLogsInput"}
44245	if s.ResourceIds == nil {
44246		invalidParams.Add(request.NewErrParamRequired("ResourceIds"))
44247	}
44248	if s.ResourceType == nil {
44249		invalidParams.Add(request.NewErrParamRequired("ResourceType"))
44250	}
44251	if s.TrafficType == nil {
44252		invalidParams.Add(request.NewErrParamRequired("TrafficType"))
44253	}
44254
44255	if invalidParams.Len() > 0 {
44256		return invalidParams
44257	}
44258	return nil
44259}
44260
44261// SetClientToken sets the ClientToken field's value.
44262func (s *CreateFlowLogsInput) SetClientToken(v string) *CreateFlowLogsInput {
44263	s.ClientToken = &v
44264	return s
44265}
44266
44267// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
44268func (s *CreateFlowLogsInput) SetDeliverLogsPermissionArn(v string) *CreateFlowLogsInput {
44269	s.DeliverLogsPermissionArn = &v
44270	return s
44271}
44272
44273// SetDryRun sets the DryRun field's value.
44274func (s *CreateFlowLogsInput) SetDryRun(v bool) *CreateFlowLogsInput {
44275	s.DryRun = &v
44276	return s
44277}
44278
44279// SetLogDestination sets the LogDestination field's value.
44280func (s *CreateFlowLogsInput) SetLogDestination(v string) *CreateFlowLogsInput {
44281	s.LogDestination = &v
44282	return s
44283}
44284
44285// SetLogDestinationType sets the LogDestinationType field's value.
44286func (s *CreateFlowLogsInput) SetLogDestinationType(v string) *CreateFlowLogsInput {
44287	s.LogDestinationType = &v
44288	return s
44289}
44290
44291// SetLogFormat sets the LogFormat field's value.
44292func (s *CreateFlowLogsInput) SetLogFormat(v string) *CreateFlowLogsInput {
44293	s.LogFormat = &v
44294	return s
44295}
44296
44297// SetLogGroupName sets the LogGroupName field's value.
44298func (s *CreateFlowLogsInput) SetLogGroupName(v string) *CreateFlowLogsInput {
44299	s.LogGroupName = &v
44300	return s
44301}
44302
44303// SetResourceIds sets the ResourceIds field's value.
44304func (s *CreateFlowLogsInput) SetResourceIds(v []*string) *CreateFlowLogsInput {
44305	s.ResourceIds = v
44306	return s
44307}
44308
44309// SetResourceType sets the ResourceType field's value.
44310func (s *CreateFlowLogsInput) SetResourceType(v string) *CreateFlowLogsInput {
44311	s.ResourceType = &v
44312	return s
44313}
44314
44315// SetTrafficType sets the TrafficType field's value.
44316func (s *CreateFlowLogsInput) SetTrafficType(v string) *CreateFlowLogsInput {
44317	s.TrafficType = &v
44318	return s
44319}
44320
44321type CreateFlowLogsOutput struct {
44322	_ struct{} `type:"structure"`
44323
44324	// Unique, case-sensitive identifier that you provide to ensure the idempotency
44325	// of the request.
44326	ClientToken *string `locationName:"clientToken" type:"string"`
44327
44328	// The IDs of the flow logs.
44329	FlowLogIds []*string `locationName:"flowLogIdSet" locationNameList:"item" type:"list"`
44330
44331	// Information about the flow logs that could not be created successfully.
44332	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
44333}
44334
44335// String returns the string representation
44336func (s CreateFlowLogsOutput) String() string {
44337	return awsutil.Prettify(s)
44338}
44339
44340// GoString returns the string representation
44341func (s CreateFlowLogsOutput) GoString() string {
44342	return s.String()
44343}
44344
44345// SetClientToken sets the ClientToken field's value.
44346func (s *CreateFlowLogsOutput) SetClientToken(v string) *CreateFlowLogsOutput {
44347	s.ClientToken = &v
44348	return s
44349}
44350
44351// SetFlowLogIds sets the FlowLogIds field's value.
44352func (s *CreateFlowLogsOutput) SetFlowLogIds(v []*string) *CreateFlowLogsOutput {
44353	s.FlowLogIds = v
44354	return s
44355}
44356
44357// SetUnsuccessful sets the Unsuccessful field's value.
44358func (s *CreateFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *CreateFlowLogsOutput {
44359	s.Unsuccessful = v
44360	return s
44361}
44362
44363type CreateFpgaImageInput struct {
44364	_ struct{} `type:"structure"`
44365
44366	// Unique, case-sensitive identifier that you provide to ensure the idempotency
44367	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
44368	ClientToken *string `type:"string"`
44369
44370	// A description for the AFI.
44371	Description *string `type:"string"`
44372
44373	// Checks whether you have the required permissions for the action, without
44374	// actually making the request, and provides an error response. If you have
44375	// the required permissions, the error response is DryRunOperation. Otherwise,
44376	// it is UnauthorizedOperation.
44377	DryRun *bool `type:"boolean"`
44378
44379	// The location of the encrypted design checkpoint in Amazon S3. The input must
44380	// be a tarball.
44381	//
44382	// InputStorageLocation is a required field
44383	InputStorageLocation *StorageLocation `type:"structure" required:"true"`
44384
44385	// The location in Amazon S3 for the output logs.
44386	LogsStorageLocation *StorageLocation `type:"structure"`
44387
44388	// A name for the AFI.
44389	Name *string `type:"string"`
44390
44391	// The tags to apply to the FPGA image during creation.
44392	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
44393}
44394
44395// String returns the string representation
44396func (s CreateFpgaImageInput) String() string {
44397	return awsutil.Prettify(s)
44398}
44399
44400// GoString returns the string representation
44401func (s CreateFpgaImageInput) GoString() string {
44402	return s.String()
44403}
44404
44405// Validate inspects the fields of the type to determine if they are valid.
44406func (s *CreateFpgaImageInput) Validate() error {
44407	invalidParams := request.ErrInvalidParams{Context: "CreateFpgaImageInput"}
44408	if s.InputStorageLocation == nil {
44409		invalidParams.Add(request.NewErrParamRequired("InputStorageLocation"))
44410	}
44411
44412	if invalidParams.Len() > 0 {
44413		return invalidParams
44414	}
44415	return nil
44416}
44417
44418// SetClientToken sets the ClientToken field's value.
44419func (s *CreateFpgaImageInput) SetClientToken(v string) *CreateFpgaImageInput {
44420	s.ClientToken = &v
44421	return s
44422}
44423
44424// SetDescription sets the Description field's value.
44425func (s *CreateFpgaImageInput) SetDescription(v string) *CreateFpgaImageInput {
44426	s.Description = &v
44427	return s
44428}
44429
44430// SetDryRun sets the DryRun field's value.
44431func (s *CreateFpgaImageInput) SetDryRun(v bool) *CreateFpgaImageInput {
44432	s.DryRun = &v
44433	return s
44434}
44435
44436// SetInputStorageLocation sets the InputStorageLocation field's value.
44437func (s *CreateFpgaImageInput) SetInputStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
44438	s.InputStorageLocation = v
44439	return s
44440}
44441
44442// SetLogsStorageLocation sets the LogsStorageLocation field's value.
44443func (s *CreateFpgaImageInput) SetLogsStorageLocation(v *StorageLocation) *CreateFpgaImageInput {
44444	s.LogsStorageLocation = v
44445	return s
44446}
44447
44448// SetName sets the Name field's value.
44449func (s *CreateFpgaImageInput) SetName(v string) *CreateFpgaImageInput {
44450	s.Name = &v
44451	return s
44452}
44453
44454// SetTagSpecifications sets the TagSpecifications field's value.
44455func (s *CreateFpgaImageInput) SetTagSpecifications(v []*TagSpecification) *CreateFpgaImageInput {
44456	s.TagSpecifications = v
44457	return s
44458}
44459
44460type CreateFpgaImageOutput struct {
44461	_ struct{} `type:"structure"`
44462
44463	// The global FPGA image identifier (AGFI ID).
44464	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
44465
44466	// The FPGA image identifier (AFI ID).
44467	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
44468}
44469
44470// String returns the string representation
44471func (s CreateFpgaImageOutput) String() string {
44472	return awsutil.Prettify(s)
44473}
44474
44475// GoString returns the string representation
44476func (s CreateFpgaImageOutput) GoString() string {
44477	return s.String()
44478}
44479
44480// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
44481func (s *CreateFpgaImageOutput) SetFpgaImageGlobalId(v string) *CreateFpgaImageOutput {
44482	s.FpgaImageGlobalId = &v
44483	return s
44484}
44485
44486// SetFpgaImageId sets the FpgaImageId field's value.
44487func (s *CreateFpgaImageOutput) SetFpgaImageId(v string) *CreateFpgaImageOutput {
44488	s.FpgaImageId = &v
44489	return s
44490}
44491
44492type CreateImageInput struct {
44493	_ struct{} `type:"structure"`
44494
44495	// The block device mappings. This parameter cannot be used to modify the encryption
44496	// status of existing volumes or snapshots. To create an AMI with encrypted
44497	// snapshots, use the CopyImage action.
44498	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
44499
44500	// A description for the new image.
44501	Description *string `locationName:"description" type:"string"`
44502
44503	// Checks whether you have the required permissions for the action, without
44504	// actually making the request, and provides an error response. If you have
44505	// the required permissions, the error response is DryRunOperation. Otherwise,
44506	// it is UnauthorizedOperation.
44507	DryRun *bool `locationName:"dryRun" type:"boolean"`
44508
44509	// The ID of the instance.
44510	//
44511	// InstanceId is a required field
44512	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
44513
44514	// A name for the new image.
44515	//
44516	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
44517	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
44518	// at-signs (@), or underscores(_)
44519	//
44520	// Name is a required field
44521	Name *string `locationName:"name" type:"string" required:"true"`
44522
44523	// By default, Amazon EC2 attempts to shut down and reboot the instance before
44524	// creating the image. If the 'No Reboot' option is set, Amazon EC2 doesn't
44525	// shut down the instance before creating the image. When this option is used,
44526	// file system integrity on the created image can't be guaranteed.
44527	NoReboot *bool `locationName:"noReboot" type:"boolean"`
44528}
44529
44530// String returns the string representation
44531func (s CreateImageInput) String() string {
44532	return awsutil.Prettify(s)
44533}
44534
44535// GoString returns the string representation
44536func (s CreateImageInput) GoString() string {
44537	return s.String()
44538}
44539
44540// Validate inspects the fields of the type to determine if they are valid.
44541func (s *CreateImageInput) Validate() error {
44542	invalidParams := request.ErrInvalidParams{Context: "CreateImageInput"}
44543	if s.InstanceId == nil {
44544		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
44545	}
44546	if s.Name == nil {
44547		invalidParams.Add(request.NewErrParamRequired("Name"))
44548	}
44549
44550	if invalidParams.Len() > 0 {
44551		return invalidParams
44552	}
44553	return nil
44554}
44555
44556// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
44557func (s *CreateImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *CreateImageInput {
44558	s.BlockDeviceMappings = v
44559	return s
44560}
44561
44562// SetDescription sets the Description field's value.
44563func (s *CreateImageInput) SetDescription(v string) *CreateImageInput {
44564	s.Description = &v
44565	return s
44566}
44567
44568// SetDryRun sets the DryRun field's value.
44569func (s *CreateImageInput) SetDryRun(v bool) *CreateImageInput {
44570	s.DryRun = &v
44571	return s
44572}
44573
44574// SetInstanceId sets the InstanceId field's value.
44575func (s *CreateImageInput) SetInstanceId(v string) *CreateImageInput {
44576	s.InstanceId = &v
44577	return s
44578}
44579
44580// SetName sets the Name field's value.
44581func (s *CreateImageInput) SetName(v string) *CreateImageInput {
44582	s.Name = &v
44583	return s
44584}
44585
44586// SetNoReboot sets the NoReboot field's value.
44587func (s *CreateImageInput) SetNoReboot(v bool) *CreateImageInput {
44588	s.NoReboot = &v
44589	return s
44590}
44591
44592type CreateImageOutput struct {
44593	_ struct{} `type:"structure"`
44594
44595	// The ID of the new AMI.
44596	ImageId *string `locationName:"imageId" type:"string"`
44597}
44598
44599// String returns the string representation
44600func (s CreateImageOutput) String() string {
44601	return awsutil.Prettify(s)
44602}
44603
44604// GoString returns the string representation
44605func (s CreateImageOutput) GoString() string {
44606	return s.String()
44607}
44608
44609// SetImageId sets the ImageId field's value.
44610func (s *CreateImageOutput) SetImageId(v string) *CreateImageOutput {
44611	s.ImageId = &v
44612	return s
44613}
44614
44615type CreateInstanceExportTaskInput struct {
44616	_ struct{} `type:"structure"`
44617
44618	// A description for the conversion task or the resource being exported. The
44619	// maximum length is 255 bytes.
44620	Description *string `locationName:"description" type:"string"`
44621
44622	// The format and location for an instance export task.
44623	ExportToS3Task *ExportToS3TaskSpecification `locationName:"exportToS3" type:"structure"`
44624
44625	// The ID of the instance.
44626	//
44627	// InstanceId is a required field
44628	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
44629
44630	// The target virtualization environment.
44631	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
44632}
44633
44634// String returns the string representation
44635func (s CreateInstanceExportTaskInput) String() string {
44636	return awsutil.Prettify(s)
44637}
44638
44639// GoString returns the string representation
44640func (s CreateInstanceExportTaskInput) GoString() string {
44641	return s.String()
44642}
44643
44644// Validate inspects the fields of the type to determine if they are valid.
44645func (s *CreateInstanceExportTaskInput) Validate() error {
44646	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceExportTaskInput"}
44647	if s.InstanceId == nil {
44648		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
44649	}
44650
44651	if invalidParams.Len() > 0 {
44652		return invalidParams
44653	}
44654	return nil
44655}
44656
44657// SetDescription sets the Description field's value.
44658func (s *CreateInstanceExportTaskInput) SetDescription(v string) *CreateInstanceExportTaskInput {
44659	s.Description = &v
44660	return s
44661}
44662
44663// SetExportToS3Task sets the ExportToS3Task field's value.
44664func (s *CreateInstanceExportTaskInput) SetExportToS3Task(v *ExportToS3TaskSpecification) *CreateInstanceExportTaskInput {
44665	s.ExportToS3Task = v
44666	return s
44667}
44668
44669// SetInstanceId sets the InstanceId field's value.
44670func (s *CreateInstanceExportTaskInput) SetInstanceId(v string) *CreateInstanceExportTaskInput {
44671	s.InstanceId = &v
44672	return s
44673}
44674
44675// SetTargetEnvironment sets the TargetEnvironment field's value.
44676func (s *CreateInstanceExportTaskInput) SetTargetEnvironment(v string) *CreateInstanceExportTaskInput {
44677	s.TargetEnvironment = &v
44678	return s
44679}
44680
44681type CreateInstanceExportTaskOutput struct {
44682	_ struct{} `type:"structure"`
44683
44684	// Information about the instance export task.
44685	ExportTask *ExportTask `locationName:"exportTask" type:"structure"`
44686}
44687
44688// String returns the string representation
44689func (s CreateInstanceExportTaskOutput) String() string {
44690	return awsutil.Prettify(s)
44691}
44692
44693// GoString returns the string representation
44694func (s CreateInstanceExportTaskOutput) GoString() string {
44695	return s.String()
44696}
44697
44698// SetExportTask sets the ExportTask field's value.
44699func (s *CreateInstanceExportTaskOutput) SetExportTask(v *ExportTask) *CreateInstanceExportTaskOutput {
44700	s.ExportTask = v
44701	return s
44702}
44703
44704type CreateInternetGatewayInput struct {
44705	_ struct{} `type:"structure"`
44706
44707	// Checks whether you have the required permissions for the action, without
44708	// actually making the request, and provides an error response. If you have
44709	// the required permissions, the error response is DryRunOperation. Otherwise,
44710	// it is UnauthorizedOperation.
44711	DryRun *bool `locationName:"dryRun" type:"boolean"`
44712}
44713
44714// String returns the string representation
44715func (s CreateInternetGatewayInput) String() string {
44716	return awsutil.Prettify(s)
44717}
44718
44719// GoString returns the string representation
44720func (s CreateInternetGatewayInput) GoString() string {
44721	return s.String()
44722}
44723
44724// SetDryRun sets the DryRun field's value.
44725func (s *CreateInternetGatewayInput) SetDryRun(v bool) *CreateInternetGatewayInput {
44726	s.DryRun = &v
44727	return s
44728}
44729
44730type CreateInternetGatewayOutput struct {
44731	_ struct{} `type:"structure"`
44732
44733	// Information about the internet gateway.
44734	InternetGateway *InternetGateway `locationName:"internetGateway" type:"structure"`
44735}
44736
44737// String returns the string representation
44738func (s CreateInternetGatewayOutput) String() string {
44739	return awsutil.Prettify(s)
44740}
44741
44742// GoString returns the string representation
44743func (s CreateInternetGatewayOutput) GoString() string {
44744	return s.String()
44745}
44746
44747// SetInternetGateway sets the InternetGateway field's value.
44748func (s *CreateInternetGatewayOutput) SetInternetGateway(v *InternetGateway) *CreateInternetGatewayOutput {
44749	s.InternetGateway = v
44750	return s
44751}
44752
44753type CreateKeyPairInput struct {
44754	_ struct{} `type:"structure"`
44755
44756	// Checks whether you have the required permissions for the action, without
44757	// actually making the request, and provides an error response. If you have
44758	// the required permissions, the error response is DryRunOperation. Otherwise,
44759	// it is UnauthorizedOperation.
44760	DryRun *bool `locationName:"dryRun" type:"boolean"`
44761
44762	// A unique name for the key pair.
44763	//
44764	// Constraints: Up to 255 ASCII characters
44765	//
44766	// KeyName is a required field
44767	KeyName *string `type:"string" required:"true"`
44768}
44769
44770// String returns the string representation
44771func (s CreateKeyPairInput) String() string {
44772	return awsutil.Prettify(s)
44773}
44774
44775// GoString returns the string representation
44776func (s CreateKeyPairInput) GoString() string {
44777	return s.String()
44778}
44779
44780// Validate inspects the fields of the type to determine if they are valid.
44781func (s *CreateKeyPairInput) Validate() error {
44782	invalidParams := request.ErrInvalidParams{Context: "CreateKeyPairInput"}
44783	if s.KeyName == nil {
44784		invalidParams.Add(request.NewErrParamRequired("KeyName"))
44785	}
44786
44787	if invalidParams.Len() > 0 {
44788		return invalidParams
44789	}
44790	return nil
44791}
44792
44793// SetDryRun sets the DryRun field's value.
44794func (s *CreateKeyPairInput) SetDryRun(v bool) *CreateKeyPairInput {
44795	s.DryRun = &v
44796	return s
44797}
44798
44799// SetKeyName sets the KeyName field's value.
44800func (s *CreateKeyPairInput) SetKeyName(v string) *CreateKeyPairInput {
44801	s.KeyName = &v
44802	return s
44803}
44804
44805// Describes a key pair.
44806type CreateKeyPairOutput struct {
44807	_ struct{} `type:"structure"`
44808
44809	// The SHA-1 digest of the DER encoded private key.
44810	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
44811
44812	// An unencrypted PEM encoded RSA private key.
44813	KeyMaterial *string `locationName:"keyMaterial" type:"string" sensitive:"true"`
44814
44815	// The name of the key pair.
44816	KeyName *string `locationName:"keyName" type:"string"`
44817
44818	// The ID of the key pair.
44819	KeyPairId *string `locationName:"keyPairId" type:"string"`
44820}
44821
44822// String returns the string representation
44823func (s CreateKeyPairOutput) String() string {
44824	return awsutil.Prettify(s)
44825}
44826
44827// GoString returns the string representation
44828func (s CreateKeyPairOutput) GoString() string {
44829	return s.String()
44830}
44831
44832// SetKeyFingerprint sets the KeyFingerprint field's value.
44833func (s *CreateKeyPairOutput) SetKeyFingerprint(v string) *CreateKeyPairOutput {
44834	s.KeyFingerprint = &v
44835	return s
44836}
44837
44838// SetKeyMaterial sets the KeyMaterial field's value.
44839func (s *CreateKeyPairOutput) SetKeyMaterial(v string) *CreateKeyPairOutput {
44840	s.KeyMaterial = &v
44841	return s
44842}
44843
44844// SetKeyName sets the KeyName field's value.
44845func (s *CreateKeyPairOutput) SetKeyName(v string) *CreateKeyPairOutput {
44846	s.KeyName = &v
44847	return s
44848}
44849
44850// SetKeyPairId sets the KeyPairId field's value.
44851func (s *CreateKeyPairOutput) SetKeyPairId(v string) *CreateKeyPairOutput {
44852	s.KeyPairId = &v
44853	return s
44854}
44855
44856type CreateLaunchTemplateInput struct {
44857	_ struct{} `type:"structure"`
44858
44859	// Unique, case-sensitive identifier you provide to ensure the idempotency of
44860	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
44861	//
44862	// Constraint: Maximum 128 ASCII characters.
44863	ClientToken *string `type:"string"`
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	// The information for the launch template.
44872	//
44873	// LaunchTemplateData is a required field
44874	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
44875
44876	// A name for the launch template.
44877	//
44878	// LaunchTemplateName is a required field
44879	LaunchTemplateName *string `min:"3" type:"string" required:"true"`
44880
44881	// The tags to apply to the launch template during creation.
44882	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
44883
44884	// A description for the first version of the launch template.
44885	VersionDescription *string `type:"string"`
44886}
44887
44888// String returns the string representation
44889func (s CreateLaunchTemplateInput) String() string {
44890	return awsutil.Prettify(s)
44891}
44892
44893// GoString returns the string representation
44894func (s CreateLaunchTemplateInput) GoString() string {
44895	return s.String()
44896}
44897
44898// Validate inspects the fields of the type to determine if they are valid.
44899func (s *CreateLaunchTemplateInput) Validate() error {
44900	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateInput"}
44901	if s.LaunchTemplateData == nil {
44902		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
44903	}
44904	if s.LaunchTemplateName == nil {
44905		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateName"))
44906	}
44907	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
44908		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
44909	}
44910	if s.LaunchTemplateData != nil {
44911		if err := s.LaunchTemplateData.Validate(); err != nil {
44912			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
44913		}
44914	}
44915
44916	if invalidParams.Len() > 0 {
44917		return invalidParams
44918	}
44919	return nil
44920}
44921
44922// SetClientToken sets the ClientToken field's value.
44923func (s *CreateLaunchTemplateInput) SetClientToken(v string) *CreateLaunchTemplateInput {
44924	s.ClientToken = &v
44925	return s
44926}
44927
44928// SetDryRun sets the DryRun field's value.
44929func (s *CreateLaunchTemplateInput) SetDryRun(v bool) *CreateLaunchTemplateInput {
44930	s.DryRun = &v
44931	return s
44932}
44933
44934// SetLaunchTemplateData sets the LaunchTemplateData field's value.
44935func (s *CreateLaunchTemplateInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateInput {
44936	s.LaunchTemplateData = v
44937	return s
44938}
44939
44940// SetLaunchTemplateName sets the LaunchTemplateName field's value.
44941func (s *CreateLaunchTemplateInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateInput {
44942	s.LaunchTemplateName = &v
44943	return s
44944}
44945
44946// SetTagSpecifications sets the TagSpecifications field's value.
44947func (s *CreateLaunchTemplateInput) SetTagSpecifications(v []*TagSpecification) *CreateLaunchTemplateInput {
44948	s.TagSpecifications = v
44949	return s
44950}
44951
44952// SetVersionDescription sets the VersionDescription field's value.
44953func (s *CreateLaunchTemplateInput) SetVersionDescription(v string) *CreateLaunchTemplateInput {
44954	s.VersionDescription = &v
44955	return s
44956}
44957
44958type CreateLaunchTemplateOutput struct {
44959	_ struct{} `type:"structure"`
44960
44961	// Information about the launch template.
44962	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
44963}
44964
44965// String returns the string representation
44966func (s CreateLaunchTemplateOutput) String() string {
44967	return awsutil.Prettify(s)
44968}
44969
44970// GoString returns the string representation
44971func (s CreateLaunchTemplateOutput) GoString() string {
44972	return s.String()
44973}
44974
44975// SetLaunchTemplate sets the LaunchTemplate field's value.
44976func (s *CreateLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *CreateLaunchTemplateOutput {
44977	s.LaunchTemplate = v
44978	return s
44979}
44980
44981type CreateLaunchTemplateVersionInput struct {
44982	_ struct{} `type:"structure"`
44983
44984	// Unique, case-sensitive identifier you provide to ensure the idempotency of
44985	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
44986	//
44987	// Constraint: Maximum 128 ASCII characters.
44988	ClientToken *string `type:"string"`
44989
44990	// Checks whether you have the required permissions for the action, without
44991	// actually making the request, and provides an error response. If you have
44992	// the required permissions, the error response is DryRunOperation. Otherwise,
44993	// it is UnauthorizedOperation.
44994	DryRun *bool `type:"boolean"`
44995
44996	// The information for the launch template.
44997	//
44998	// LaunchTemplateData is a required field
44999	LaunchTemplateData *RequestLaunchTemplateData `type:"structure" required:"true"`
45000
45001	// The ID of the launch template. You must specify either the launch template
45002	// ID or launch template name in the request.
45003	LaunchTemplateId *string `type:"string"`
45004
45005	// The name of the launch template. You must specify either the launch template
45006	// ID or launch template name in the request.
45007	LaunchTemplateName *string `min:"3" type:"string"`
45008
45009	// The version number of the launch template version on which to base the new
45010	// version. The new version inherits the same launch parameters as the source
45011	// version, except for parameters that you specify in LaunchTemplateData. Snapshots
45012	// applied to the block device mapping are ignored when creating a new version
45013	// unless they are explicitly included.
45014	SourceVersion *string `type:"string"`
45015
45016	// A description for the version of the launch template.
45017	VersionDescription *string `type:"string"`
45018}
45019
45020// String returns the string representation
45021func (s CreateLaunchTemplateVersionInput) String() string {
45022	return awsutil.Prettify(s)
45023}
45024
45025// GoString returns the string representation
45026func (s CreateLaunchTemplateVersionInput) GoString() string {
45027	return s.String()
45028}
45029
45030// Validate inspects the fields of the type to determine if they are valid.
45031func (s *CreateLaunchTemplateVersionInput) Validate() error {
45032	invalidParams := request.ErrInvalidParams{Context: "CreateLaunchTemplateVersionInput"}
45033	if s.LaunchTemplateData == nil {
45034		invalidParams.Add(request.NewErrParamRequired("LaunchTemplateData"))
45035	}
45036	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
45037		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
45038	}
45039	if s.LaunchTemplateData != nil {
45040		if err := s.LaunchTemplateData.Validate(); err != nil {
45041			invalidParams.AddNested("LaunchTemplateData", err.(request.ErrInvalidParams))
45042		}
45043	}
45044
45045	if invalidParams.Len() > 0 {
45046		return invalidParams
45047	}
45048	return nil
45049}
45050
45051// SetClientToken sets the ClientToken field's value.
45052func (s *CreateLaunchTemplateVersionInput) SetClientToken(v string) *CreateLaunchTemplateVersionInput {
45053	s.ClientToken = &v
45054	return s
45055}
45056
45057// SetDryRun sets the DryRun field's value.
45058func (s *CreateLaunchTemplateVersionInput) SetDryRun(v bool) *CreateLaunchTemplateVersionInput {
45059	s.DryRun = &v
45060	return s
45061}
45062
45063// SetLaunchTemplateData sets the LaunchTemplateData field's value.
45064func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateData(v *RequestLaunchTemplateData) *CreateLaunchTemplateVersionInput {
45065	s.LaunchTemplateData = v
45066	return s
45067}
45068
45069// SetLaunchTemplateId sets the LaunchTemplateId field's value.
45070func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateId(v string) *CreateLaunchTemplateVersionInput {
45071	s.LaunchTemplateId = &v
45072	return s
45073}
45074
45075// SetLaunchTemplateName sets the LaunchTemplateName field's value.
45076func (s *CreateLaunchTemplateVersionInput) SetLaunchTemplateName(v string) *CreateLaunchTemplateVersionInput {
45077	s.LaunchTemplateName = &v
45078	return s
45079}
45080
45081// SetSourceVersion sets the SourceVersion field's value.
45082func (s *CreateLaunchTemplateVersionInput) SetSourceVersion(v string) *CreateLaunchTemplateVersionInput {
45083	s.SourceVersion = &v
45084	return s
45085}
45086
45087// SetVersionDescription sets the VersionDescription field's value.
45088func (s *CreateLaunchTemplateVersionInput) SetVersionDescription(v string) *CreateLaunchTemplateVersionInput {
45089	s.VersionDescription = &v
45090	return s
45091}
45092
45093type CreateLaunchTemplateVersionOutput struct {
45094	_ struct{} `type:"structure"`
45095
45096	// Information about the launch template version.
45097	LaunchTemplateVersion *LaunchTemplateVersion `locationName:"launchTemplateVersion" type:"structure"`
45098}
45099
45100// String returns the string representation
45101func (s CreateLaunchTemplateVersionOutput) String() string {
45102	return awsutil.Prettify(s)
45103}
45104
45105// GoString returns the string representation
45106func (s CreateLaunchTemplateVersionOutput) GoString() string {
45107	return s.String()
45108}
45109
45110// SetLaunchTemplateVersion sets the LaunchTemplateVersion field's value.
45111func (s *CreateLaunchTemplateVersionOutput) SetLaunchTemplateVersion(v *LaunchTemplateVersion) *CreateLaunchTemplateVersionOutput {
45112	s.LaunchTemplateVersion = v
45113	return s
45114}
45115
45116type CreateLocalGatewayRouteInput struct {
45117	_ struct{} `type:"structure"`
45118
45119	// The CIDR range used for destination matches. Routing decisions are based
45120	// on the most specific match.
45121	//
45122	// DestinationCidrBlock is a required field
45123	DestinationCidrBlock *string `type:"string" required:"true"`
45124
45125	// Checks whether you have the required permissions for the action, without
45126	// actually making the request, and provides an error response. If you have
45127	// the required permissions, the error response is DryRunOperation. Otherwise,
45128	// it is UnauthorizedOperation.
45129	DryRun *bool `type:"boolean"`
45130
45131	// The ID of the local gateway route table.
45132	//
45133	// LocalGatewayRouteTableId is a required field
45134	LocalGatewayRouteTableId *string `type:"string" required:"true"`
45135
45136	// The ID of the virtual interface group.
45137	//
45138	// LocalGatewayVirtualInterfaceGroupId is a required field
45139	LocalGatewayVirtualInterfaceGroupId *string `type:"string" required:"true"`
45140}
45141
45142// String returns the string representation
45143func (s CreateLocalGatewayRouteInput) String() string {
45144	return awsutil.Prettify(s)
45145}
45146
45147// GoString returns the string representation
45148func (s CreateLocalGatewayRouteInput) GoString() string {
45149	return s.String()
45150}
45151
45152// Validate inspects the fields of the type to determine if they are valid.
45153func (s *CreateLocalGatewayRouteInput) Validate() error {
45154	invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteInput"}
45155	if s.DestinationCidrBlock == nil {
45156		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
45157	}
45158	if s.LocalGatewayRouteTableId == nil {
45159		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
45160	}
45161	if s.LocalGatewayVirtualInterfaceGroupId == nil {
45162		invalidParams.Add(request.NewErrParamRequired("LocalGatewayVirtualInterfaceGroupId"))
45163	}
45164
45165	if invalidParams.Len() > 0 {
45166		return invalidParams
45167	}
45168	return nil
45169}
45170
45171// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
45172func (s *CreateLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateLocalGatewayRouteInput {
45173	s.DestinationCidrBlock = &v
45174	return s
45175}
45176
45177// SetDryRun sets the DryRun field's value.
45178func (s *CreateLocalGatewayRouteInput) SetDryRun(v bool) *CreateLocalGatewayRouteInput {
45179	s.DryRun = &v
45180	return s
45181}
45182
45183// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
45184func (s *CreateLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteInput {
45185	s.LocalGatewayRouteTableId = &v
45186	return s
45187}
45188
45189// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
45190func (s *CreateLocalGatewayRouteInput) SetLocalGatewayVirtualInterfaceGroupId(v string) *CreateLocalGatewayRouteInput {
45191	s.LocalGatewayVirtualInterfaceGroupId = &v
45192	return s
45193}
45194
45195type CreateLocalGatewayRouteOutput struct {
45196	_ struct{} `type:"structure"`
45197
45198	// Information about the route.
45199	Route *LocalGatewayRoute `locationName:"route" type:"structure"`
45200}
45201
45202// String returns the string representation
45203func (s CreateLocalGatewayRouteOutput) String() string {
45204	return awsutil.Prettify(s)
45205}
45206
45207// GoString returns the string representation
45208func (s CreateLocalGatewayRouteOutput) GoString() string {
45209	return s.String()
45210}
45211
45212// SetRoute sets the Route field's value.
45213func (s *CreateLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *CreateLocalGatewayRouteOutput {
45214	s.Route = v
45215	return s
45216}
45217
45218type CreateLocalGatewayRouteTableVpcAssociationInput struct {
45219	_ struct{} `type:"structure"`
45220
45221	// Checks whether you have the required permissions for the action, without
45222	// actually making the request, and provides an error response. If you have
45223	// the required permissions, the error response is DryRunOperation. Otherwise,
45224	// it is UnauthorizedOperation.
45225	DryRun *bool `type:"boolean"`
45226
45227	// The ID of the local gateway route table.
45228	//
45229	// LocalGatewayRouteTableId is a required field
45230	LocalGatewayRouteTableId *string `type:"string" required:"true"`
45231
45232	// The ID of the VPC.
45233	//
45234	// VpcId is a required field
45235	VpcId *string `type:"string" required:"true"`
45236}
45237
45238// String returns the string representation
45239func (s CreateLocalGatewayRouteTableVpcAssociationInput) String() string {
45240	return awsutil.Prettify(s)
45241}
45242
45243// GoString returns the string representation
45244func (s CreateLocalGatewayRouteTableVpcAssociationInput) GoString() string {
45245	return s.String()
45246}
45247
45248// Validate inspects the fields of the type to determine if they are valid.
45249func (s *CreateLocalGatewayRouteTableVpcAssociationInput) Validate() error {
45250	invalidParams := request.ErrInvalidParams{Context: "CreateLocalGatewayRouteTableVpcAssociationInput"}
45251	if s.LocalGatewayRouteTableId == nil {
45252		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
45253	}
45254	if s.VpcId == nil {
45255		invalidParams.Add(request.NewErrParamRequired("VpcId"))
45256	}
45257
45258	if invalidParams.Len() > 0 {
45259		return invalidParams
45260	}
45261	return nil
45262}
45263
45264// SetDryRun sets the DryRun field's value.
45265func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *CreateLocalGatewayRouteTableVpcAssociationInput {
45266	s.DryRun = &v
45267	return s
45268}
45269
45270// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
45271func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
45272	s.LocalGatewayRouteTableId = &v
45273	return s
45274}
45275
45276// SetVpcId sets the VpcId field's value.
45277func (s *CreateLocalGatewayRouteTableVpcAssociationInput) SetVpcId(v string) *CreateLocalGatewayRouteTableVpcAssociationInput {
45278	s.VpcId = &v
45279	return s
45280}
45281
45282type CreateLocalGatewayRouteTableVpcAssociationOutput struct {
45283	_ struct{} `type:"structure"`
45284
45285	// Information about the association.
45286	LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
45287}
45288
45289// String returns the string representation
45290func (s CreateLocalGatewayRouteTableVpcAssociationOutput) String() string {
45291	return awsutil.Prettify(s)
45292}
45293
45294// GoString returns the string representation
45295func (s CreateLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
45296	return s.String()
45297}
45298
45299// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
45300func (s *CreateLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *CreateLocalGatewayRouteTableVpcAssociationOutput {
45301	s.LocalGatewayRouteTableVpcAssociation = v
45302	return s
45303}
45304
45305type CreateNatGatewayInput struct {
45306	_ struct{} `type:"structure"`
45307
45308	// The allocation ID of an Elastic IP address to associate with the NAT gateway.
45309	// If the Elastic IP address is associated with another resource, you must first
45310	// disassociate it.
45311	//
45312	// AllocationId is a required field
45313	AllocationId *string `type:"string" required:"true"`
45314
45315	// Unique, case-sensitive identifier that you provide to ensure the idempotency
45316	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
45317	//
45318	// Constraint: Maximum 64 ASCII characters.
45319	ClientToken *string `type:"string"`
45320
45321	// The subnet in which to create the NAT gateway.
45322	//
45323	// SubnetId is a required field
45324	SubnetId *string `type:"string" required:"true"`
45325}
45326
45327// String returns the string representation
45328func (s CreateNatGatewayInput) String() string {
45329	return awsutil.Prettify(s)
45330}
45331
45332// GoString returns the string representation
45333func (s CreateNatGatewayInput) GoString() string {
45334	return s.String()
45335}
45336
45337// Validate inspects the fields of the type to determine if they are valid.
45338func (s *CreateNatGatewayInput) Validate() error {
45339	invalidParams := request.ErrInvalidParams{Context: "CreateNatGatewayInput"}
45340	if s.AllocationId == nil {
45341		invalidParams.Add(request.NewErrParamRequired("AllocationId"))
45342	}
45343	if s.SubnetId == nil {
45344		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
45345	}
45346
45347	if invalidParams.Len() > 0 {
45348		return invalidParams
45349	}
45350	return nil
45351}
45352
45353// SetAllocationId sets the AllocationId field's value.
45354func (s *CreateNatGatewayInput) SetAllocationId(v string) *CreateNatGatewayInput {
45355	s.AllocationId = &v
45356	return s
45357}
45358
45359// SetClientToken sets the ClientToken field's value.
45360func (s *CreateNatGatewayInput) SetClientToken(v string) *CreateNatGatewayInput {
45361	s.ClientToken = &v
45362	return s
45363}
45364
45365// SetSubnetId sets the SubnetId field's value.
45366func (s *CreateNatGatewayInput) SetSubnetId(v string) *CreateNatGatewayInput {
45367	s.SubnetId = &v
45368	return s
45369}
45370
45371type CreateNatGatewayOutput struct {
45372	_ struct{} `type:"structure"`
45373
45374	// Unique, case-sensitive identifier to ensure the idempotency of the request.
45375	// Only returned if a client token was provided in the request.
45376	ClientToken *string `locationName:"clientToken" type:"string"`
45377
45378	// Information about the NAT gateway.
45379	NatGateway *NatGateway `locationName:"natGateway" type:"structure"`
45380}
45381
45382// String returns the string representation
45383func (s CreateNatGatewayOutput) String() string {
45384	return awsutil.Prettify(s)
45385}
45386
45387// GoString returns the string representation
45388func (s CreateNatGatewayOutput) GoString() string {
45389	return s.String()
45390}
45391
45392// SetClientToken sets the ClientToken field's value.
45393func (s *CreateNatGatewayOutput) SetClientToken(v string) *CreateNatGatewayOutput {
45394	s.ClientToken = &v
45395	return s
45396}
45397
45398// SetNatGateway sets the NatGateway field's value.
45399func (s *CreateNatGatewayOutput) SetNatGateway(v *NatGateway) *CreateNatGatewayOutput {
45400	s.NatGateway = v
45401	return s
45402}
45403
45404type CreateNetworkAclEntryInput struct {
45405	_ struct{} `type:"structure"`
45406
45407	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
45408	CidrBlock *string `locationName:"cidrBlock" type:"string"`
45409
45410	// Checks whether you have the required permissions for the action, without
45411	// actually making the request, and provides an error response. If you have
45412	// the required permissions, the error response is DryRunOperation. Otherwise,
45413	// it is UnauthorizedOperation.
45414	DryRun *bool `locationName:"dryRun" type:"boolean"`
45415
45416	// Indicates whether this is an egress rule (rule is applied to traffic leaving
45417	// the subnet).
45418	//
45419	// Egress is a required field
45420	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
45421
45422	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
45423	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
45424	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
45425
45426	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:db8:1234:1a00::/64).
45427	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
45428
45429	// The ID of the network ACL.
45430	//
45431	// NetworkAclId is a required field
45432	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
45433
45434	// TCP or UDP protocols: The range of ports the rule applies to. Required if
45435	// specifying protocol 6 (TCP) or 17 (UDP).
45436	PortRange *PortRange `locationName:"portRange" type:"structure"`
45437
45438	// The protocol number. A value of "-1" means all protocols. If you specify
45439	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
45440	// traffic on all ports is allowed, regardless of any ports or ICMP types or
45441	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
45442	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
45443	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
45444	// an IPv6 CIDR block, you must specify an ICMP type and code.
45445	//
45446	// Protocol is a required field
45447	Protocol *string `locationName:"protocol" type:"string" required:"true"`
45448
45449	// Indicates whether to allow or deny the traffic that matches the rule.
45450	//
45451	// RuleAction is a required field
45452	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
45453
45454	// The rule number for the entry (for example, 100). ACL entries are processed
45455	// in ascending order by rule number.
45456	//
45457	// Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is
45458	// reserved for internal use.
45459	//
45460	// RuleNumber is a required field
45461	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
45462}
45463
45464// String returns the string representation
45465func (s CreateNetworkAclEntryInput) String() string {
45466	return awsutil.Prettify(s)
45467}
45468
45469// GoString returns the string representation
45470func (s CreateNetworkAclEntryInput) GoString() string {
45471	return s.String()
45472}
45473
45474// Validate inspects the fields of the type to determine if they are valid.
45475func (s *CreateNetworkAclEntryInput) Validate() error {
45476	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclEntryInput"}
45477	if s.Egress == nil {
45478		invalidParams.Add(request.NewErrParamRequired("Egress"))
45479	}
45480	if s.NetworkAclId == nil {
45481		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
45482	}
45483	if s.Protocol == nil {
45484		invalidParams.Add(request.NewErrParamRequired("Protocol"))
45485	}
45486	if s.RuleAction == nil {
45487		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
45488	}
45489	if s.RuleNumber == nil {
45490		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
45491	}
45492
45493	if invalidParams.Len() > 0 {
45494		return invalidParams
45495	}
45496	return nil
45497}
45498
45499// SetCidrBlock sets the CidrBlock field's value.
45500func (s *CreateNetworkAclEntryInput) SetCidrBlock(v string) *CreateNetworkAclEntryInput {
45501	s.CidrBlock = &v
45502	return s
45503}
45504
45505// SetDryRun sets the DryRun field's value.
45506func (s *CreateNetworkAclEntryInput) SetDryRun(v bool) *CreateNetworkAclEntryInput {
45507	s.DryRun = &v
45508	return s
45509}
45510
45511// SetEgress sets the Egress field's value.
45512func (s *CreateNetworkAclEntryInput) SetEgress(v bool) *CreateNetworkAclEntryInput {
45513	s.Egress = &v
45514	return s
45515}
45516
45517// SetIcmpTypeCode sets the IcmpTypeCode field's value.
45518func (s *CreateNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *CreateNetworkAclEntryInput {
45519	s.IcmpTypeCode = v
45520	return s
45521}
45522
45523// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
45524func (s *CreateNetworkAclEntryInput) SetIpv6CidrBlock(v string) *CreateNetworkAclEntryInput {
45525	s.Ipv6CidrBlock = &v
45526	return s
45527}
45528
45529// SetNetworkAclId sets the NetworkAclId field's value.
45530func (s *CreateNetworkAclEntryInput) SetNetworkAclId(v string) *CreateNetworkAclEntryInput {
45531	s.NetworkAclId = &v
45532	return s
45533}
45534
45535// SetPortRange sets the PortRange field's value.
45536func (s *CreateNetworkAclEntryInput) SetPortRange(v *PortRange) *CreateNetworkAclEntryInput {
45537	s.PortRange = v
45538	return s
45539}
45540
45541// SetProtocol sets the Protocol field's value.
45542func (s *CreateNetworkAclEntryInput) SetProtocol(v string) *CreateNetworkAclEntryInput {
45543	s.Protocol = &v
45544	return s
45545}
45546
45547// SetRuleAction sets the RuleAction field's value.
45548func (s *CreateNetworkAclEntryInput) SetRuleAction(v string) *CreateNetworkAclEntryInput {
45549	s.RuleAction = &v
45550	return s
45551}
45552
45553// SetRuleNumber sets the RuleNumber field's value.
45554func (s *CreateNetworkAclEntryInput) SetRuleNumber(v int64) *CreateNetworkAclEntryInput {
45555	s.RuleNumber = &v
45556	return s
45557}
45558
45559type CreateNetworkAclEntryOutput struct {
45560	_ struct{} `type:"structure"`
45561}
45562
45563// String returns the string representation
45564func (s CreateNetworkAclEntryOutput) String() string {
45565	return awsutil.Prettify(s)
45566}
45567
45568// GoString returns the string representation
45569func (s CreateNetworkAclEntryOutput) GoString() string {
45570	return s.String()
45571}
45572
45573type CreateNetworkAclInput struct {
45574	_ struct{} `type:"structure"`
45575
45576	// Checks whether you have the required permissions for the action, without
45577	// actually making the request, and provides an error response. If you have
45578	// the required permissions, the error response is DryRunOperation. Otherwise,
45579	// it is UnauthorizedOperation.
45580	DryRun *bool `locationName:"dryRun" type:"boolean"`
45581
45582	// The ID of the VPC.
45583	//
45584	// VpcId is a required field
45585	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
45586}
45587
45588// String returns the string representation
45589func (s CreateNetworkAclInput) String() string {
45590	return awsutil.Prettify(s)
45591}
45592
45593// GoString returns the string representation
45594func (s CreateNetworkAclInput) GoString() string {
45595	return s.String()
45596}
45597
45598// Validate inspects the fields of the type to determine if they are valid.
45599func (s *CreateNetworkAclInput) Validate() error {
45600	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkAclInput"}
45601	if s.VpcId == nil {
45602		invalidParams.Add(request.NewErrParamRequired("VpcId"))
45603	}
45604
45605	if invalidParams.Len() > 0 {
45606		return invalidParams
45607	}
45608	return nil
45609}
45610
45611// SetDryRun sets the DryRun field's value.
45612func (s *CreateNetworkAclInput) SetDryRun(v bool) *CreateNetworkAclInput {
45613	s.DryRun = &v
45614	return s
45615}
45616
45617// SetVpcId sets the VpcId field's value.
45618func (s *CreateNetworkAclInput) SetVpcId(v string) *CreateNetworkAclInput {
45619	s.VpcId = &v
45620	return s
45621}
45622
45623type CreateNetworkAclOutput struct {
45624	_ struct{} `type:"structure"`
45625
45626	// Information about the network ACL.
45627	NetworkAcl *NetworkAcl `locationName:"networkAcl" type:"structure"`
45628}
45629
45630// String returns the string representation
45631func (s CreateNetworkAclOutput) String() string {
45632	return awsutil.Prettify(s)
45633}
45634
45635// GoString returns the string representation
45636func (s CreateNetworkAclOutput) GoString() string {
45637	return s.String()
45638}
45639
45640// SetNetworkAcl sets the NetworkAcl field's value.
45641func (s *CreateNetworkAclOutput) SetNetworkAcl(v *NetworkAcl) *CreateNetworkAclOutput {
45642	s.NetworkAcl = v
45643	return s
45644}
45645
45646// Contains the parameters for CreateNetworkInterface.
45647type CreateNetworkInterfaceInput struct {
45648	_ struct{} `type:"structure"`
45649
45650	// A description for the network interface.
45651	Description *string `locationName:"description" type:"string"`
45652
45653	// Checks whether you have the required permissions for the action, without
45654	// actually making the request, and provides an error response. If you have
45655	// the required permissions, the error response is DryRunOperation. Otherwise,
45656	// it is UnauthorizedOperation.
45657	DryRun *bool `locationName:"dryRun" type:"boolean"`
45658
45659	// The IDs of one or more security groups.
45660	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
45661
45662	// Indicates the type of network interface. To create an Elastic Fabric Adapter
45663	// (EFA), specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
45664	// in the Amazon Elastic Compute Cloud User Guide.
45665	InterfaceType *string `type:"string" enum:"NetworkInterfaceCreationType"`
45666
45667	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
45668	// automatically selects the IPv6 addresses from the subnet range. You can't
45669	// use this option if specifying specific IPv6 addresses. If your subnet has
45670	// the AssignIpv6AddressOnCreation attribute set to true, you can specify 0
45671	// to override this setting.
45672	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
45673
45674	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
45675	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
45676	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6Addresses" locationNameList:"item" type:"list"`
45677
45678	// The primary private IPv4 address of the network interface. If you don't specify
45679	// an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR
45680	// range. If you specify an IP address, you cannot indicate any IP addresses
45681	// specified in privateIpAddresses as primary (only one IP address can be designated
45682	// as primary).
45683	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
45684
45685	// One or more private IPv4 addresses.
45686	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddresses" locationNameList:"item" type:"list"`
45687
45688	// The number of secondary private IPv4 addresses to assign to a network interface.
45689	// When you specify a number of secondary IPv4 addresses, Amazon EC2 selects
45690	// these IP addresses within the subnet's IPv4 CIDR range. You can't specify
45691	// this option and specify more than one private IP address using privateIpAddresses.
45692	//
45693	// The number of IP addresses you can assign to a network interface varies by
45694	// instance type. For more information, see IP Addresses Per ENI Per Instance
45695	// Type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)
45696	// in the Amazon Virtual Private Cloud User Guide.
45697	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
45698
45699	// The ID of the subnet to associate with the network interface.
45700	//
45701	// SubnetId is a required field
45702	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
45703}
45704
45705// String returns the string representation
45706func (s CreateNetworkInterfaceInput) String() string {
45707	return awsutil.Prettify(s)
45708}
45709
45710// GoString returns the string representation
45711func (s CreateNetworkInterfaceInput) GoString() string {
45712	return s.String()
45713}
45714
45715// Validate inspects the fields of the type to determine if they are valid.
45716func (s *CreateNetworkInterfaceInput) Validate() error {
45717	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfaceInput"}
45718	if s.SubnetId == nil {
45719		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
45720	}
45721
45722	if invalidParams.Len() > 0 {
45723		return invalidParams
45724	}
45725	return nil
45726}
45727
45728// SetDescription sets the Description field's value.
45729func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput {
45730	s.Description = &v
45731	return s
45732}
45733
45734// SetDryRun sets the DryRun field's value.
45735func (s *CreateNetworkInterfaceInput) SetDryRun(v bool) *CreateNetworkInterfaceInput {
45736	s.DryRun = &v
45737	return s
45738}
45739
45740// SetGroups sets the Groups field's value.
45741func (s *CreateNetworkInterfaceInput) SetGroups(v []*string) *CreateNetworkInterfaceInput {
45742	s.Groups = v
45743	return s
45744}
45745
45746// SetInterfaceType sets the InterfaceType field's value.
45747func (s *CreateNetworkInterfaceInput) SetInterfaceType(v string) *CreateNetworkInterfaceInput {
45748	s.InterfaceType = &v
45749	return s
45750}
45751
45752// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
45753func (s *CreateNetworkInterfaceInput) SetIpv6AddressCount(v int64) *CreateNetworkInterfaceInput {
45754	s.Ipv6AddressCount = &v
45755	return s
45756}
45757
45758// SetIpv6Addresses sets the Ipv6Addresses field's value.
45759func (s *CreateNetworkInterfaceInput) SetIpv6Addresses(v []*InstanceIpv6Address) *CreateNetworkInterfaceInput {
45760	s.Ipv6Addresses = v
45761	return s
45762}
45763
45764// SetPrivateIpAddress sets the PrivateIpAddress field's value.
45765func (s *CreateNetworkInterfaceInput) SetPrivateIpAddress(v string) *CreateNetworkInterfaceInput {
45766	s.PrivateIpAddress = &v
45767	return s
45768}
45769
45770// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
45771func (s *CreateNetworkInterfaceInput) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *CreateNetworkInterfaceInput {
45772	s.PrivateIpAddresses = v
45773	return s
45774}
45775
45776// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
45777func (s *CreateNetworkInterfaceInput) SetSecondaryPrivateIpAddressCount(v int64) *CreateNetworkInterfaceInput {
45778	s.SecondaryPrivateIpAddressCount = &v
45779	return s
45780}
45781
45782// SetSubnetId sets the SubnetId field's value.
45783func (s *CreateNetworkInterfaceInput) SetSubnetId(v string) *CreateNetworkInterfaceInput {
45784	s.SubnetId = &v
45785	return s
45786}
45787
45788// Contains the output of CreateNetworkInterface.
45789type CreateNetworkInterfaceOutput struct {
45790	_ struct{} `type:"structure"`
45791
45792	// Information about the network interface.
45793	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
45794}
45795
45796// String returns the string representation
45797func (s CreateNetworkInterfaceOutput) String() string {
45798	return awsutil.Prettify(s)
45799}
45800
45801// GoString returns the string representation
45802func (s CreateNetworkInterfaceOutput) GoString() string {
45803	return s.String()
45804}
45805
45806// SetNetworkInterface sets the NetworkInterface field's value.
45807func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput {
45808	s.NetworkInterface = v
45809	return s
45810}
45811
45812// Contains the parameters for CreateNetworkInterfacePermission.
45813type CreateNetworkInterfacePermissionInput struct {
45814	_ struct{} `type:"structure"`
45815
45816	// The AWS account ID.
45817	AwsAccountId *string `type:"string"`
45818
45819	// The AWS service. Currently not supported.
45820	AwsService *string `type:"string"`
45821
45822	// Checks whether you have the required permissions for the action, without
45823	// actually making the request, and provides an error response. If you have
45824	// the required permissions, the error response is DryRunOperation. Otherwise,
45825	// it is UnauthorizedOperation.
45826	DryRun *bool `type:"boolean"`
45827
45828	// The ID of the network interface.
45829	//
45830	// NetworkInterfaceId is a required field
45831	NetworkInterfaceId *string `type:"string" required:"true"`
45832
45833	// The type of permission to grant.
45834	//
45835	// Permission is a required field
45836	Permission *string `type:"string" required:"true" enum:"InterfacePermissionType"`
45837}
45838
45839// String returns the string representation
45840func (s CreateNetworkInterfacePermissionInput) String() string {
45841	return awsutil.Prettify(s)
45842}
45843
45844// GoString returns the string representation
45845func (s CreateNetworkInterfacePermissionInput) GoString() string {
45846	return s.String()
45847}
45848
45849// Validate inspects the fields of the type to determine if they are valid.
45850func (s *CreateNetworkInterfacePermissionInput) Validate() error {
45851	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkInterfacePermissionInput"}
45852	if s.NetworkInterfaceId == nil {
45853		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
45854	}
45855	if s.Permission == nil {
45856		invalidParams.Add(request.NewErrParamRequired("Permission"))
45857	}
45858
45859	if invalidParams.Len() > 0 {
45860		return invalidParams
45861	}
45862	return nil
45863}
45864
45865// SetAwsAccountId sets the AwsAccountId field's value.
45866func (s *CreateNetworkInterfacePermissionInput) SetAwsAccountId(v string) *CreateNetworkInterfacePermissionInput {
45867	s.AwsAccountId = &v
45868	return s
45869}
45870
45871// SetAwsService sets the AwsService field's value.
45872func (s *CreateNetworkInterfacePermissionInput) SetAwsService(v string) *CreateNetworkInterfacePermissionInput {
45873	s.AwsService = &v
45874	return s
45875}
45876
45877// SetDryRun sets the DryRun field's value.
45878func (s *CreateNetworkInterfacePermissionInput) SetDryRun(v bool) *CreateNetworkInterfacePermissionInput {
45879	s.DryRun = &v
45880	return s
45881}
45882
45883// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
45884func (s *CreateNetworkInterfacePermissionInput) SetNetworkInterfaceId(v string) *CreateNetworkInterfacePermissionInput {
45885	s.NetworkInterfaceId = &v
45886	return s
45887}
45888
45889// SetPermission sets the Permission field's value.
45890func (s *CreateNetworkInterfacePermissionInput) SetPermission(v string) *CreateNetworkInterfacePermissionInput {
45891	s.Permission = &v
45892	return s
45893}
45894
45895// Contains the output of CreateNetworkInterfacePermission.
45896type CreateNetworkInterfacePermissionOutput struct {
45897	_ struct{} `type:"structure"`
45898
45899	// Information about the permission for the network interface.
45900	InterfacePermission *NetworkInterfacePermission `locationName:"interfacePermission" type:"structure"`
45901}
45902
45903// String returns the string representation
45904func (s CreateNetworkInterfacePermissionOutput) String() string {
45905	return awsutil.Prettify(s)
45906}
45907
45908// GoString returns the string representation
45909func (s CreateNetworkInterfacePermissionOutput) GoString() string {
45910	return s.String()
45911}
45912
45913// SetInterfacePermission sets the InterfacePermission field's value.
45914func (s *CreateNetworkInterfacePermissionOutput) SetInterfacePermission(v *NetworkInterfacePermission) *CreateNetworkInterfacePermissionOutput {
45915	s.InterfacePermission = v
45916	return s
45917}
45918
45919type CreatePlacementGroupInput struct {
45920	_ struct{} `type:"structure"`
45921
45922	// Checks whether you have the required permissions for the action, without
45923	// actually making the request, and provides an error response. If you have
45924	// the required permissions, the error response is DryRunOperation. Otherwise,
45925	// it is UnauthorizedOperation.
45926	DryRun *bool `locationName:"dryRun" type:"boolean"`
45927
45928	// A name for the placement group. Must be unique within the scope of your account
45929	// for the Region.
45930	//
45931	// Constraints: Up to 255 ASCII characters
45932	GroupName *string `locationName:"groupName" type:"string"`
45933
45934	// The number of partitions. Valid only when Strategy is set to partition.
45935	PartitionCount *int64 `type:"integer"`
45936
45937	// The placement strategy.
45938	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
45939}
45940
45941// String returns the string representation
45942func (s CreatePlacementGroupInput) String() string {
45943	return awsutil.Prettify(s)
45944}
45945
45946// GoString returns the string representation
45947func (s CreatePlacementGroupInput) GoString() string {
45948	return s.String()
45949}
45950
45951// SetDryRun sets the DryRun field's value.
45952func (s *CreatePlacementGroupInput) SetDryRun(v bool) *CreatePlacementGroupInput {
45953	s.DryRun = &v
45954	return s
45955}
45956
45957// SetGroupName sets the GroupName field's value.
45958func (s *CreatePlacementGroupInput) SetGroupName(v string) *CreatePlacementGroupInput {
45959	s.GroupName = &v
45960	return s
45961}
45962
45963// SetPartitionCount sets the PartitionCount field's value.
45964func (s *CreatePlacementGroupInput) SetPartitionCount(v int64) *CreatePlacementGroupInput {
45965	s.PartitionCount = &v
45966	return s
45967}
45968
45969// SetStrategy sets the Strategy field's value.
45970func (s *CreatePlacementGroupInput) SetStrategy(v string) *CreatePlacementGroupInput {
45971	s.Strategy = &v
45972	return s
45973}
45974
45975type CreatePlacementGroupOutput struct {
45976	_ struct{} `type:"structure"`
45977}
45978
45979// String returns the string representation
45980func (s CreatePlacementGroupOutput) String() string {
45981	return awsutil.Prettify(s)
45982}
45983
45984// GoString returns the string representation
45985func (s CreatePlacementGroupOutput) GoString() string {
45986	return s.String()
45987}
45988
45989// Contains the parameters for CreateReservedInstancesListing.
45990type CreateReservedInstancesListingInput struct {
45991	_ struct{} `type:"structure"`
45992
45993	// Unique, case-sensitive identifier you provide to ensure idempotency of your
45994	// listings. This helps avoid duplicate listings. For more information, see
45995	// Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
45996	//
45997	// ClientToken is a required field
45998	ClientToken *string `locationName:"clientToken" type:"string" required:"true"`
45999
46000	// The number of instances that are a part of a Reserved Instance account to
46001	// be listed in the Reserved Instance Marketplace. This number should be less
46002	// than or equal to the instance count associated with the Reserved Instance
46003	// ID specified in this call.
46004	//
46005	// InstanceCount is a required field
46006	InstanceCount *int64 `locationName:"instanceCount" type:"integer" required:"true"`
46007
46008	// A list specifying the price of the Standard Reserved Instance for each month
46009	// remaining in the Reserved Instance term.
46010	//
46011	// PriceSchedules is a required field
46012	PriceSchedules []*PriceScheduleSpecification `locationName:"priceSchedules" locationNameList:"item" type:"list" required:"true"`
46013
46014	// The ID of the active Standard Reserved Instance.
46015	//
46016	// ReservedInstancesId is a required field
46017	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string" required:"true"`
46018}
46019
46020// String returns the string representation
46021func (s CreateReservedInstancesListingInput) String() string {
46022	return awsutil.Prettify(s)
46023}
46024
46025// GoString returns the string representation
46026func (s CreateReservedInstancesListingInput) GoString() string {
46027	return s.String()
46028}
46029
46030// Validate inspects the fields of the type to determine if they are valid.
46031func (s *CreateReservedInstancesListingInput) Validate() error {
46032	invalidParams := request.ErrInvalidParams{Context: "CreateReservedInstancesListingInput"}
46033	if s.ClientToken == nil {
46034		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
46035	}
46036	if s.InstanceCount == nil {
46037		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
46038	}
46039	if s.PriceSchedules == nil {
46040		invalidParams.Add(request.NewErrParamRequired("PriceSchedules"))
46041	}
46042	if s.ReservedInstancesId == nil {
46043		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesId"))
46044	}
46045
46046	if invalidParams.Len() > 0 {
46047		return invalidParams
46048	}
46049	return nil
46050}
46051
46052// SetClientToken sets the ClientToken field's value.
46053func (s *CreateReservedInstancesListingInput) SetClientToken(v string) *CreateReservedInstancesListingInput {
46054	s.ClientToken = &v
46055	return s
46056}
46057
46058// SetInstanceCount sets the InstanceCount field's value.
46059func (s *CreateReservedInstancesListingInput) SetInstanceCount(v int64) *CreateReservedInstancesListingInput {
46060	s.InstanceCount = &v
46061	return s
46062}
46063
46064// SetPriceSchedules sets the PriceSchedules field's value.
46065func (s *CreateReservedInstancesListingInput) SetPriceSchedules(v []*PriceScheduleSpecification) *CreateReservedInstancesListingInput {
46066	s.PriceSchedules = v
46067	return s
46068}
46069
46070// SetReservedInstancesId sets the ReservedInstancesId field's value.
46071func (s *CreateReservedInstancesListingInput) SetReservedInstancesId(v string) *CreateReservedInstancesListingInput {
46072	s.ReservedInstancesId = &v
46073	return s
46074}
46075
46076// Contains the output of CreateReservedInstancesListing.
46077type CreateReservedInstancesListingOutput struct {
46078	_ struct{} `type:"structure"`
46079
46080	// Information about the Standard Reserved Instance listing.
46081	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
46082}
46083
46084// String returns the string representation
46085func (s CreateReservedInstancesListingOutput) String() string {
46086	return awsutil.Prettify(s)
46087}
46088
46089// GoString returns the string representation
46090func (s CreateReservedInstancesListingOutput) GoString() string {
46091	return s.String()
46092}
46093
46094// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
46095func (s *CreateReservedInstancesListingOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *CreateReservedInstancesListingOutput {
46096	s.ReservedInstancesListings = v
46097	return s
46098}
46099
46100type CreateRouteInput struct {
46101	_ struct{} `type:"structure"`
46102
46103	// The IPv4 CIDR address block used for the destination match. Routing decisions
46104	// are based on the most specific match.
46105	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
46106
46107	// The IPv6 CIDR block used for the destination match. Routing decisions are
46108	// based on the most specific match.
46109	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
46110
46111	// Checks whether you have the required permissions for the action, without
46112	// actually making the request, and provides an error response. If you have
46113	// the required permissions, the error response is DryRunOperation. Otherwise,
46114	// it is UnauthorizedOperation.
46115	DryRun *bool `locationName:"dryRun" type:"boolean"`
46116
46117	// [IPv6 traffic only] The ID of an egress-only internet gateway.
46118	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
46119
46120	// The ID of an internet gateway or virtual private gateway attached to your
46121	// VPC.
46122	GatewayId *string `locationName:"gatewayId" type:"string"`
46123
46124	// The ID of a NAT instance in your VPC. The operation fails if you specify
46125	// an instance ID unless exactly one network interface is attached.
46126	InstanceId *string `locationName:"instanceId" type:"string"`
46127
46128	// The ID of the local gateway.
46129	LocalGatewayId *string `type:"string"`
46130
46131	// [IPv4 traffic only] The ID of a NAT gateway.
46132	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
46133
46134	// The ID of a network interface.
46135	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
46136
46137	// The ID of the route table for the route.
46138	//
46139	// RouteTableId is a required field
46140	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
46141
46142	// The ID of a transit gateway.
46143	TransitGatewayId *string `type:"string"`
46144
46145	// The ID of a VPC peering connection.
46146	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
46147}
46148
46149// String returns the string representation
46150func (s CreateRouteInput) String() string {
46151	return awsutil.Prettify(s)
46152}
46153
46154// GoString returns the string representation
46155func (s CreateRouteInput) GoString() string {
46156	return s.String()
46157}
46158
46159// Validate inspects the fields of the type to determine if they are valid.
46160func (s *CreateRouteInput) Validate() error {
46161	invalidParams := request.ErrInvalidParams{Context: "CreateRouteInput"}
46162	if s.RouteTableId == nil {
46163		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
46164	}
46165
46166	if invalidParams.Len() > 0 {
46167		return invalidParams
46168	}
46169	return nil
46170}
46171
46172// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
46173func (s *CreateRouteInput) SetDestinationCidrBlock(v string) *CreateRouteInput {
46174	s.DestinationCidrBlock = &v
46175	return s
46176}
46177
46178// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
46179func (s *CreateRouteInput) SetDestinationIpv6CidrBlock(v string) *CreateRouteInput {
46180	s.DestinationIpv6CidrBlock = &v
46181	return s
46182}
46183
46184// SetDryRun sets the DryRun field's value.
46185func (s *CreateRouteInput) SetDryRun(v bool) *CreateRouteInput {
46186	s.DryRun = &v
46187	return s
46188}
46189
46190// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
46191func (s *CreateRouteInput) SetEgressOnlyInternetGatewayId(v string) *CreateRouteInput {
46192	s.EgressOnlyInternetGatewayId = &v
46193	return s
46194}
46195
46196// SetGatewayId sets the GatewayId field's value.
46197func (s *CreateRouteInput) SetGatewayId(v string) *CreateRouteInput {
46198	s.GatewayId = &v
46199	return s
46200}
46201
46202// SetInstanceId sets the InstanceId field's value.
46203func (s *CreateRouteInput) SetInstanceId(v string) *CreateRouteInput {
46204	s.InstanceId = &v
46205	return s
46206}
46207
46208// SetLocalGatewayId sets the LocalGatewayId field's value.
46209func (s *CreateRouteInput) SetLocalGatewayId(v string) *CreateRouteInput {
46210	s.LocalGatewayId = &v
46211	return s
46212}
46213
46214// SetNatGatewayId sets the NatGatewayId field's value.
46215func (s *CreateRouteInput) SetNatGatewayId(v string) *CreateRouteInput {
46216	s.NatGatewayId = &v
46217	return s
46218}
46219
46220// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
46221func (s *CreateRouteInput) SetNetworkInterfaceId(v string) *CreateRouteInput {
46222	s.NetworkInterfaceId = &v
46223	return s
46224}
46225
46226// SetRouteTableId sets the RouteTableId field's value.
46227func (s *CreateRouteInput) SetRouteTableId(v string) *CreateRouteInput {
46228	s.RouteTableId = &v
46229	return s
46230}
46231
46232// SetTransitGatewayId sets the TransitGatewayId field's value.
46233func (s *CreateRouteInput) SetTransitGatewayId(v string) *CreateRouteInput {
46234	s.TransitGatewayId = &v
46235	return s
46236}
46237
46238// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
46239func (s *CreateRouteInput) SetVpcPeeringConnectionId(v string) *CreateRouteInput {
46240	s.VpcPeeringConnectionId = &v
46241	return s
46242}
46243
46244type CreateRouteOutput struct {
46245	_ struct{} `type:"structure"`
46246
46247	// Returns true if the request succeeds; otherwise, it returns an error.
46248	Return *bool `locationName:"return" type:"boolean"`
46249}
46250
46251// String returns the string representation
46252func (s CreateRouteOutput) String() string {
46253	return awsutil.Prettify(s)
46254}
46255
46256// GoString returns the string representation
46257func (s CreateRouteOutput) GoString() string {
46258	return s.String()
46259}
46260
46261// SetReturn sets the Return field's value.
46262func (s *CreateRouteOutput) SetReturn(v bool) *CreateRouteOutput {
46263	s.Return = &v
46264	return s
46265}
46266
46267type CreateRouteTableInput struct {
46268	_ struct{} `type:"structure"`
46269
46270	// Checks whether you have the required permissions for the action, without
46271	// actually making the request, and provides an error response. If you have
46272	// the required permissions, the error response is DryRunOperation. Otherwise,
46273	// it is UnauthorizedOperation.
46274	DryRun *bool `locationName:"dryRun" type:"boolean"`
46275
46276	// The ID of the VPC.
46277	//
46278	// VpcId is a required field
46279	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
46280}
46281
46282// String returns the string representation
46283func (s CreateRouteTableInput) String() string {
46284	return awsutil.Prettify(s)
46285}
46286
46287// GoString returns the string representation
46288func (s CreateRouteTableInput) GoString() string {
46289	return s.String()
46290}
46291
46292// Validate inspects the fields of the type to determine if they are valid.
46293func (s *CreateRouteTableInput) Validate() error {
46294	invalidParams := request.ErrInvalidParams{Context: "CreateRouteTableInput"}
46295	if s.VpcId == nil {
46296		invalidParams.Add(request.NewErrParamRequired("VpcId"))
46297	}
46298
46299	if invalidParams.Len() > 0 {
46300		return invalidParams
46301	}
46302	return nil
46303}
46304
46305// SetDryRun sets the DryRun field's value.
46306func (s *CreateRouteTableInput) SetDryRun(v bool) *CreateRouteTableInput {
46307	s.DryRun = &v
46308	return s
46309}
46310
46311// SetVpcId sets the VpcId field's value.
46312func (s *CreateRouteTableInput) SetVpcId(v string) *CreateRouteTableInput {
46313	s.VpcId = &v
46314	return s
46315}
46316
46317type CreateRouteTableOutput struct {
46318	_ struct{} `type:"structure"`
46319
46320	// Information about the route table.
46321	RouteTable *RouteTable `locationName:"routeTable" type:"structure"`
46322}
46323
46324// String returns the string representation
46325func (s CreateRouteTableOutput) String() string {
46326	return awsutil.Prettify(s)
46327}
46328
46329// GoString returns the string representation
46330func (s CreateRouteTableOutput) GoString() string {
46331	return s.String()
46332}
46333
46334// SetRouteTable sets the RouteTable field's value.
46335func (s *CreateRouteTableOutput) SetRouteTable(v *RouteTable) *CreateRouteTableOutput {
46336	s.RouteTable = v
46337	return s
46338}
46339
46340type CreateSecurityGroupInput struct {
46341	_ struct{} `type:"structure"`
46342
46343	// A description for the security group. This is informational only.
46344	//
46345	// Constraints: Up to 255 characters in length
46346	//
46347	// Constraints for EC2-Classic: ASCII characters
46348	//
46349	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
46350	//
46351	// Description is a required field
46352	Description *string `locationName:"GroupDescription" type:"string" required:"true"`
46353
46354	// Checks whether you have the required permissions for the action, without
46355	// actually making the request, and provides an error response. If you have
46356	// the required permissions, the error response is DryRunOperation. Otherwise,
46357	// it is UnauthorizedOperation.
46358	DryRun *bool `locationName:"dryRun" type:"boolean"`
46359
46360	// The name of the security group.
46361	//
46362	// Constraints: Up to 255 characters in length. Cannot start with sg-.
46363	//
46364	// Constraints for EC2-Classic: ASCII characters
46365	//
46366	// Constraints for EC2-VPC: a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
46367	//
46368	// GroupName is a required field
46369	GroupName *string `type:"string" required:"true"`
46370
46371	// [EC2-VPC] The ID of the VPC. Required for EC2-VPC.
46372	VpcId *string `type:"string"`
46373}
46374
46375// String returns the string representation
46376func (s CreateSecurityGroupInput) String() string {
46377	return awsutil.Prettify(s)
46378}
46379
46380// GoString returns the string representation
46381func (s CreateSecurityGroupInput) GoString() string {
46382	return s.String()
46383}
46384
46385// Validate inspects the fields of the type to determine if they are valid.
46386func (s *CreateSecurityGroupInput) Validate() error {
46387	invalidParams := request.ErrInvalidParams{Context: "CreateSecurityGroupInput"}
46388	if s.Description == nil {
46389		invalidParams.Add(request.NewErrParamRequired("Description"))
46390	}
46391	if s.GroupName == nil {
46392		invalidParams.Add(request.NewErrParamRequired("GroupName"))
46393	}
46394
46395	if invalidParams.Len() > 0 {
46396		return invalidParams
46397	}
46398	return nil
46399}
46400
46401// SetDescription sets the Description field's value.
46402func (s *CreateSecurityGroupInput) SetDescription(v string) *CreateSecurityGroupInput {
46403	s.Description = &v
46404	return s
46405}
46406
46407// SetDryRun sets the DryRun field's value.
46408func (s *CreateSecurityGroupInput) SetDryRun(v bool) *CreateSecurityGroupInput {
46409	s.DryRun = &v
46410	return s
46411}
46412
46413// SetGroupName sets the GroupName field's value.
46414func (s *CreateSecurityGroupInput) SetGroupName(v string) *CreateSecurityGroupInput {
46415	s.GroupName = &v
46416	return s
46417}
46418
46419// SetVpcId sets the VpcId field's value.
46420func (s *CreateSecurityGroupInput) SetVpcId(v string) *CreateSecurityGroupInput {
46421	s.VpcId = &v
46422	return s
46423}
46424
46425type CreateSecurityGroupOutput struct {
46426	_ struct{} `type:"structure"`
46427
46428	// The ID of the security group.
46429	GroupId *string `locationName:"groupId" type:"string"`
46430}
46431
46432// String returns the string representation
46433func (s CreateSecurityGroupOutput) String() string {
46434	return awsutil.Prettify(s)
46435}
46436
46437// GoString returns the string representation
46438func (s CreateSecurityGroupOutput) GoString() string {
46439	return s.String()
46440}
46441
46442// SetGroupId sets the GroupId field's value.
46443func (s *CreateSecurityGroupOutput) SetGroupId(v string) *CreateSecurityGroupOutput {
46444	s.GroupId = &v
46445	return s
46446}
46447
46448type CreateSnapshotInput struct {
46449	_ struct{} `type:"structure"`
46450
46451	// A description for the snapshot.
46452	Description *string `type:"string"`
46453
46454	// Checks whether you have the required permissions for the action, without
46455	// actually making the request, and provides an error response. If you have
46456	// the required permissions, the error response is DryRunOperation. Otherwise,
46457	// it is UnauthorizedOperation.
46458	DryRun *bool `locationName:"dryRun" type:"boolean"`
46459
46460	// The tags to apply to the snapshot during creation.
46461	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
46462
46463	// The ID of the EBS volume.
46464	//
46465	// VolumeId is a required field
46466	VolumeId *string `type:"string" required:"true"`
46467}
46468
46469// String returns the string representation
46470func (s CreateSnapshotInput) String() string {
46471	return awsutil.Prettify(s)
46472}
46473
46474// GoString returns the string representation
46475func (s CreateSnapshotInput) GoString() string {
46476	return s.String()
46477}
46478
46479// Validate inspects the fields of the type to determine if they are valid.
46480func (s *CreateSnapshotInput) Validate() error {
46481	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
46482	if s.VolumeId == nil {
46483		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
46484	}
46485
46486	if invalidParams.Len() > 0 {
46487		return invalidParams
46488	}
46489	return nil
46490}
46491
46492// SetDescription sets the Description field's value.
46493func (s *CreateSnapshotInput) SetDescription(v string) *CreateSnapshotInput {
46494	s.Description = &v
46495	return s
46496}
46497
46498// SetDryRun sets the DryRun field's value.
46499func (s *CreateSnapshotInput) SetDryRun(v bool) *CreateSnapshotInput {
46500	s.DryRun = &v
46501	return s
46502}
46503
46504// SetTagSpecifications sets the TagSpecifications field's value.
46505func (s *CreateSnapshotInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotInput {
46506	s.TagSpecifications = v
46507	return s
46508}
46509
46510// SetVolumeId sets the VolumeId field's value.
46511func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput {
46512	s.VolumeId = &v
46513	return s
46514}
46515
46516type CreateSnapshotsInput struct {
46517	_ struct{} `type:"structure"`
46518
46519	// Copies the tags from the specified volume to corresponding snapshot.
46520	CopyTagsFromSource *string `type:"string" enum:"CopyTagsFromSource"`
46521
46522	// A description propagated to every snapshot specified by the instance.
46523	Description *string `type:"string"`
46524
46525	// Checks whether you have the required permissions for the action, without
46526	// actually making the request, and provides an error response. If you have
46527	// the required permissions, the error response is DryRunOperation. Otherwise,
46528	// it is UnauthorizedOperation.
46529	DryRun *bool `type:"boolean"`
46530
46531	// The instance to specify which volumes should be included in the snapshots.
46532	//
46533	// InstanceSpecification is a required field
46534	InstanceSpecification *InstanceSpecification `type:"structure" required:"true"`
46535
46536	// Tags to apply to every snapshot specified by the instance.
46537	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
46538}
46539
46540// String returns the string representation
46541func (s CreateSnapshotsInput) String() string {
46542	return awsutil.Prettify(s)
46543}
46544
46545// GoString returns the string representation
46546func (s CreateSnapshotsInput) GoString() string {
46547	return s.String()
46548}
46549
46550// Validate inspects the fields of the type to determine if they are valid.
46551func (s *CreateSnapshotsInput) Validate() error {
46552	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotsInput"}
46553	if s.InstanceSpecification == nil {
46554		invalidParams.Add(request.NewErrParamRequired("InstanceSpecification"))
46555	}
46556
46557	if invalidParams.Len() > 0 {
46558		return invalidParams
46559	}
46560	return nil
46561}
46562
46563// SetCopyTagsFromSource sets the CopyTagsFromSource field's value.
46564func (s *CreateSnapshotsInput) SetCopyTagsFromSource(v string) *CreateSnapshotsInput {
46565	s.CopyTagsFromSource = &v
46566	return s
46567}
46568
46569// SetDescription sets the Description field's value.
46570func (s *CreateSnapshotsInput) SetDescription(v string) *CreateSnapshotsInput {
46571	s.Description = &v
46572	return s
46573}
46574
46575// SetDryRun sets the DryRun field's value.
46576func (s *CreateSnapshotsInput) SetDryRun(v bool) *CreateSnapshotsInput {
46577	s.DryRun = &v
46578	return s
46579}
46580
46581// SetInstanceSpecification sets the InstanceSpecification field's value.
46582func (s *CreateSnapshotsInput) SetInstanceSpecification(v *InstanceSpecification) *CreateSnapshotsInput {
46583	s.InstanceSpecification = v
46584	return s
46585}
46586
46587// SetTagSpecifications sets the TagSpecifications field's value.
46588func (s *CreateSnapshotsInput) SetTagSpecifications(v []*TagSpecification) *CreateSnapshotsInput {
46589	s.TagSpecifications = v
46590	return s
46591}
46592
46593type CreateSnapshotsOutput struct {
46594	_ struct{} `type:"structure"`
46595
46596	// List of snapshots.
46597	Snapshots []*SnapshotInfo `locationName:"snapshotSet" locationNameList:"item" type:"list"`
46598}
46599
46600// String returns the string representation
46601func (s CreateSnapshotsOutput) String() string {
46602	return awsutil.Prettify(s)
46603}
46604
46605// GoString returns the string representation
46606func (s CreateSnapshotsOutput) GoString() string {
46607	return s.String()
46608}
46609
46610// SetSnapshots sets the Snapshots field's value.
46611func (s *CreateSnapshotsOutput) SetSnapshots(v []*SnapshotInfo) *CreateSnapshotsOutput {
46612	s.Snapshots = v
46613	return s
46614}
46615
46616// Contains the parameters for CreateSpotDatafeedSubscription.
46617type CreateSpotDatafeedSubscriptionInput struct {
46618	_ struct{} `type:"structure"`
46619
46620	// The Amazon S3 bucket in which to store the Spot Instance data feed.
46621	//
46622	// Bucket is a required field
46623	Bucket *string `locationName:"bucket" type:"string" required:"true"`
46624
46625	// Checks whether you have the required permissions for the action, without
46626	// actually making the request, and provides an error response. If you have
46627	// the required permissions, the error response is DryRunOperation. Otherwise,
46628	// it is UnauthorizedOperation.
46629	DryRun *bool `locationName:"dryRun" type:"boolean"`
46630
46631	// A prefix for the data feed file names.
46632	Prefix *string `locationName:"prefix" type:"string"`
46633}
46634
46635// String returns the string representation
46636func (s CreateSpotDatafeedSubscriptionInput) String() string {
46637	return awsutil.Prettify(s)
46638}
46639
46640// GoString returns the string representation
46641func (s CreateSpotDatafeedSubscriptionInput) GoString() string {
46642	return s.String()
46643}
46644
46645// Validate inspects the fields of the type to determine if they are valid.
46646func (s *CreateSpotDatafeedSubscriptionInput) Validate() error {
46647	invalidParams := request.ErrInvalidParams{Context: "CreateSpotDatafeedSubscriptionInput"}
46648	if s.Bucket == nil {
46649		invalidParams.Add(request.NewErrParamRequired("Bucket"))
46650	}
46651
46652	if invalidParams.Len() > 0 {
46653		return invalidParams
46654	}
46655	return nil
46656}
46657
46658// SetBucket sets the Bucket field's value.
46659func (s *CreateSpotDatafeedSubscriptionInput) SetBucket(v string) *CreateSpotDatafeedSubscriptionInput {
46660	s.Bucket = &v
46661	return s
46662}
46663
46664// SetDryRun sets the DryRun field's value.
46665func (s *CreateSpotDatafeedSubscriptionInput) SetDryRun(v bool) *CreateSpotDatafeedSubscriptionInput {
46666	s.DryRun = &v
46667	return s
46668}
46669
46670// SetPrefix sets the Prefix field's value.
46671func (s *CreateSpotDatafeedSubscriptionInput) SetPrefix(v string) *CreateSpotDatafeedSubscriptionInput {
46672	s.Prefix = &v
46673	return s
46674}
46675
46676// Contains the output of CreateSpotDatafeedSubscription.
46677type CreateSpotDatafeedSubscriptionOutput struct {
46678	_ struct{} `type:"structure"`
46679
46680	// The Spot Instance data feed subscription.
46681	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
46682}
46683
46684// String returns the string representation
46685func (s CreateSpotDatafeedSubscriptionOutput) String() string {
46686	return awsutil.Prettify(s)
46687}
46688
46689// GoString returns the string representation
46690func (s CreateSpotDatafeedSubscriptionOutput) GoString() string {
46691	return s.String()
46692}
46693
46694// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
46695func (s *CreateSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *CreateSpotDatafeedSubscriptionOutput {
46696	s.SpotDatafeedSubscription = v
46697	return s
46698}
46699
46700type CreateSubnetInput struct {
46701	_ struct{} `type:"structure"`
46702
46703	// The Availability Zone or Local Zone for the subnet.
46704	//
46705	// Default: AWS selects one for you. If you create more than one subnet in your
46706	// VPC, we do not necessarily select a different zone for each subnet.
46707	//
46708	// To create a subnet in a Local Zone, set this value to the Local Zone ID,
46709	// for example us-west-2-lax-1a. For information about the Regions that support
46710	// Local Zones, see Available Regions (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions)
46711	// in the Amazon Elastic Compute Cloud User Guide.
46712	AvailabilityZone *string `type:"string"`
46713
46714	// The AZ ID or the Local Zone ID of the subnet.
46715	AvailabilityZoneId *string `type:"string"`
46716
46717	// The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24.
46718	//
46719	// CidrBlock is a required field
46720	CidrBlock *string `type:"string" required:"true"`
46721
46722	// Checks whether you have the required permissions for the action, without
46723	// actually making the request, and provides an error response. If you have
46724	// the required permissions, the error response is DryRunOperation. Otherwise,
46725	// it is UnauthorizedOperation.
46726	DryRun *bool `locationName:"dryRun" type:"boolean"`
46727
46728	// The IPv6 network range for the subnet, in CIDR notation. The subnet size
46729	// must use a /64 prefix length.
46730	Ipv6CidrBlock *string `type:"string"`
46731
46732	// The Amazon Resource Name (ARN) of the Outpost.
46733	OutpostArn *string `type:"string"`
46734
46735	// The ID of the VPC.
46736	//
46737	// VpcId is a required field
46738	VpcId *string `type:"string" required:"true"`
46739}
46740
46741// String returns the string representation
46742func (s CreateSubnetInput) String() string {
46743	return awsutil.Prettify(s)
46744}
46745
46746// GoString returns the string representation
46747func (s CreateSubnetInput) GoString() string {
46748	return s.String()
46749}
46750
46751// Validate inspects the fields of the type to determine if they are valid.
46752func (s *CreateSubnetInput) Validate() error {
46753	invalidParams := request.ErrInvalidParams{Context: "CreateSubnetInput"}
46754	if s.CidrBlock == nil {
46755		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
46756	}
46757	if s.VpcId == nil {
46758		invalidParams.Add(request.NewErrParamRequired("VpcId"))
46759	}
46760
46761	if invalidParams.Len() > 0 {
46762		return invalidParams
46763	}
46764	return nil
46765}
46766
46767// SetAvailabilityZone sets the AvailabilityZone field's value.
46768func (s *CreateSubnetInput) SetAvailabilityZone(v string) *CreateSubnetInput {
46769	s.AvailabilityZone = &v
46770	return s
46771}
46772
46773// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
46774func (s *CreateSubnetInput) SetAvailabilityZoneId(v string) *CreateSubnetInput {
46775	s.AvailabilityZoneId = &v
46776	return s
46777}
46778
46779// SetCidrBlock sets the CidrBlock field's value.
46780func (s *CreateSubnetInput) SetCidrBlock(v string) *CreateSubnetInput {
46781	s.CidrBlock = &v
46782	return s
46783}
46784
46785// SetDryRun sets the DryRun field's value.
46786func (s *CreateSubnetInput) SetDryRun(v bool) *CreateSubnetInput {
46787	s.DryRun = &v
46788	return s
46789}
46790
46791// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
46792func (s *CreateSubnetInput) SetIpv6CidrBlock(v string) *CreateSubnetInput {
46793	s.Ipv6CidrBlock = &v
46794	return s
46795}
46796
46797// SetOutpostArn sets the OutpostArn field's value.
46798func (s *CreateSubnetInput) SetOutpostArn(v string) *CreateSubnetInput {
46799	s.OutpostArn = &v
46800	return s
46801}
46802
46803// SetVpcId sets the VpcId field's value.
46804func (s *CreateSubnetInput) SetVpcId(v string) *CreateSubnetInput {
46805	s.VpcId = &v
46806	return s
46807}
46808
46809type CreateSubnetOutput struct {
46810	_ struct{} `type:"structure"`
46811
46812	// Information about the subnet.
46813	Subnet *Subnet `locationName:"subnet" type:"structure"`
46814}
46815
46816// String returns the string representation
46817func (s CreateSubnetOutput) String() string {
46818	return awsutil.Prettify(s)
46819}
46820
46821// GoString returns the string representation
46822func (s CreateSubnetOutput) GoString() string {
46823	return s.String()
46824}
46825
46826// SetSubnet sets the Subnet field's value.
46827func (s *CreateSubnetOutput) SetSubnet(v *Subnet) *CreateSubnetOutput {
46828	s.Subnet = v
46829	return s
46830}
46831
46832type CreateTagsInput struct {
46833	_ struct{} `type:"structure"`
46834
46835	// Checks whether you have the required permissions for the action, without
46836	// actually making the request, and provides an error response. If you have
46837	// the required permissions, the error response is DryRunOperation. Otherwise,
46838	// it is UnauthorizedOperation.
46839	DryRun *bool `locationName:"dryRun" type:"boolean"`
46840
46841	// The IDs of the resources, separated by spaces.
46842	//
46843	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
46844	// into smaller batches.
46845	//
46846	// Resources is a required field
46847	Resources []*string `locationName:"ResourceId" type:"list" required:"true"`
46848
46849	// The tags. The value parameter is required, but if you don't want the tag
46850	// to have a value, specify the parameter with no value, and we set the value
46851	// to an empty string.
46852	//
46853	// Tags is a required field
46854	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list" required:"true"`
46855}
46856
46857// String returns the string representation
46858func (s CreateTagsInput) String() string {
46859	return awsutil.Prettify(s)
46860}
46861
46862// GoString returns the string representation
46863func (s CreateTagsInput) GoString() string {
46864	return s.String()
46865}
46866
46867// Validate inspects the fields of the type to determine if they are valid.
46868func (s *CreateTagsInput) Validate() error {
46869	invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"}
46870	if s.Resources == nil {
46871		invalidParams.Add(request.NewErrParamRequired("Resources"))
46872	}
46873	if s.Tags == nil {
46874		invalidParams.Add(request.NewErrParamRequired("Tags"))
46875	}
46876
46877	if invalidParams.Len() > 0 {
46878		return invalidParams
46879	}
46880	return nil
46881}
46882
46883// SetDryRun sets the DryRun field's value.
46884func (s *CreateTagsInput) SetDryRun(v bool) *CreateTagsInput {
46885	s.DryRun = &v
46886	return s
46887}
46888
46889// SetResources sets the Resources field's value.
46890func (s *CreateTagsInput) SetResources(v []*string) *CreateTagsInput {
46891	s.Resources = v
46892	return s
46893}
46894
46895// SetTags sets the Tags field's value.
46896func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput {
46897	s.Tags = v
46898	return s
46899}
46900
46901type CreateTagsOutput struct {
46902	_ struct{} `type:"structure"`
46903}
46904
46905// String returns the string representation
46906func (s CreateTagsOutput) String() string {
46907	return awsutil.Prettify(s)
46908}
46909
46910// GoString returns the string representation
46911func (s CreateTagsOutput) GoString() string {
46912	return s.String()
46913}
46914
46915type CreateTrafficMirrorFilterInput struct {
46916	_ struct{} `type:"structure"`
46917
46918	// Unique, case-sensitive identifier that you provide to ensure the idempotency
46919	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
46920	ClientToken *string `type:"string" idempotencyToken:"true"`
46921
46922	// The description of the Traffic Mirror filter.
46923	Description *string `type:"string"`
46924
46925	// Checks whether you have the required permissions for the action, without
46926	// actually making the request, and provides an error response. If you have
46927	// the required permissions, the error response is DryRunOperation. Otherwise,
46928	// it is UnauthorizedOperation.
46929	DryRun *bool `type:"boolean"`
46930
46931	// The tags to assign to a Traffic Mirror filter.
46932	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
46933}
46934
46935// String returns the string representation
46936func (s CreateTrafficMirrorFilterInput) String() string {
46937	return awsutil.Prettify(s)
46938}
46939
46940// GoString returns the string representation
46941func (s CreateTrafficMirrorFilterInput) GoString() string {
46942	return s.String()
46943}
46944
46945// SetClientToken sets the ClientToken field's value.
46946func (s *CreateTrafficMirrorFilterInput) SetClientToken(v string) *CreateTrafficMirrorFilterInput {
46947	s.ClientToken = &v
46948	return s
46949}
46950
46951// SetDescription sets the Description field's value.
46952func (s *CreateTrafficMirrorFilterInput) SetDescription(v string) *CreateTrafficMirrorFilterInput {
46953	s.Description = &v
46954	return s
46955}
46956
46957// SetDryRun sets the DryRun field's value.
46958func (s *CreateTrafficMirrorFilterInput) SetDryRun(v bool) *CreateTrafficMirrorFilterInput {
46959	s.DryRun = &v
46960	return s
46961}
46962
46963// SetTagSpecifications sets the TagSpecifications field's value.
46964func (s *CreateTrafficMirrorFilterInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorFilterInput {
46965	s.TagSpecifications = v
46966	return s
46967}
46968
46969type CreateTrafficMirrorFilterOutput struct {
46970	_ struct{} `type:"structure"`
46971
46972	// Unique, case-sensitive identifier that you provide to ensure the idempotency
46973	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
46974	ClientToken *string `locationName:"clientToken" type:"string"`
46975
46976	// Information about the Traffic Mirror filter.
46977	TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
46978}
46979
46980// String returns the string representation
46981func (s CreateTrafficMirrorFilterOutput) String() string {
46982	return awsutil.Prettify(s)
46983}
46984
46985// GoString returns the string representation
46986func (s CreateTrafficMirrorFilterOutput) GoString() string {
46987	return s.String()
46988}
46989
46990// SetClientToken sets the ClientToken field's value.
46991func (s *CreateTrafficMirrorFilterOutput) SetClientToken(v string) *CreateTrafficMirrorFilterOutput {
46992	s.ClientToken = &v
46993	return s
46994}
46995
46996// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
46997func (s *CreateTrafficMirrorFilterOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *CreateTrafficMirrorFilterOutput {
46998	s.TrafficMirrorFilter = v
46999	return s
47000}
47001
47002type CreateTrafficMirrorFilterRuleInput struct {
47003	_ struct{} `type:"structure"`
47004
47005	// Unique, case-sensitive identifier that you provide to ensure the idempotency
47006	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
47007	ClientToken *string `type:"string" idempotencyToken:"true"`
47008
47009	// The description of the Traffic Mirror rule.
47010	Description *string `type:"string"`
47011
47012	// The destination CIDR block to assign to the Traffic Mirror rule.
47013	//
47014	// DestinationCidrBlock is a required field
47015	DestinationCidrBlock *string `type:"string" required:"true"`
47016
47017	// The destination port range.
47018	DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
47019
47020	// Checks whether you have the required permissions for the action, without
47021	// actually making the request, and provides an error response. If you have
47022	// the required permissions, the error response is DryRunOperation. Otherwise,
47023	// it is UnauthorizedOperation.
47024	DryRun *bool `type:"boolean"`
47025
47026	// The protocol, for example UDP, to assign to the Traffic Mirror rule.
47027	//
47028	// For information about the protocol value, see Protocol Numbers (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)
47029	// on the Internet Assigned Numbers Authority (IANA) website.
47030	Protocol *int64 `type:"integer"`
47031
47032	// The action to take (accept | reject) on the filtered traffic.
47033	//
47034	// RuleAction is a required field
47035	RuleAction *string `type:"string" required:"true" enum:"TrafficMirrorRuleAction"`
47036
47037	// The number of the Traffic Mirror rule. This number must be unique for each
47038	// Traffic Mirror rule in a given direction. The rules are processed in ascending
47039	// order by rule number.
47040	//
47041	// RuleNumber is a required field
47042	RuleNumber *int64 `type:"integer" required:"true"`
47043
47044	// The source CIDR block to assign to the Traffic Mirror rule.
47045	//
47046	// SourceCidrBlock is a required field
47047	SourceCidrBlock *string `type:"string" required:"true"`
47048
47049	// The source port range.
47050	SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
47051
47052	// The type of traffic (ingress | egress).
47053	//
47054	// TrafficDirection is a required field
47055	TrafficDirection *string `type:"string" required:"true" enum:"TrafficDirection"`
47056
47057	// The ID of the filter that this rule is associated with.
47058	//
47059	// TrafficMirrorFilterId is a required field
47060	TrafficMirrorFilterId *string `type:"string" required:"true"`
47061}
47062
47063// String returns the string representation
47064func (s CreateTrafficMirrorFilterRuleInput) String() string {
47065	return awsutil.Prettify(s)
47066}
47067
47068// GoString returns the string representation
47069func (s CreateTrafficMirrorFilterRuleInput) GoString() string {
47070	return s.String()
47071}
47072
47073// Validate inspects the fields of the type to determine if they are valid.
47074func (s *CreateTrafficMirrorFilterRuleInput) Validate() error {
47075	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorFilterRuleInput"}
47076	if s.DestinationCidrBlock == nil {
47077		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
47078	}
47079	if s.RuleAction == nil {
47080		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
47081	}
47082	if s.RuleNumber == nil {
47083		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
47084	}
47085	if s.SourceCidrBlock == nil {
47086		invalidParams.Add(request.NewErrParamRequired("SourceCidrBlock"))
47087	}
47088	if s.TrafficDirection == nil {
47089		invalidParams.Add(request.NewErrParamRequired("TrafficDirection"))
47090	}
47091	if s.TrafficMirrorFilterId == nil {
47092		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
47093	}
47094
47095	if invalidParams.Len() > 0 {
47096		return invalidParams
47097	}
47098	return nil
47099}
47100
47101// SetClientToken sets the ClientToken field's value.
47102func (s *CreateTrafficMirrorFilterRuleInput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleInput {
47103	s.ClientToken = &v
47104	return s
47105}
47106
47107// SetDescription sets the Description field's value.
47108func (s *CreateTrafficMirrorFilterRuleInput) SetDescription(v string) *CreateTrafficMirrorFilterRuleInput {
47109	s.Description = &v
47110	return s
47111}
47112
47113// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
47114func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
47115	s.DestinationCidrBlock = &v
47116	return s
47117}
47118
47119// SetDestinationPortRange sets the DestinationPortRange field's value.
47120func (s *CreateTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
47121	s.DestinationPortRange = v
47122	return s
47123}
47124
47125// SetDryRun sets the DryRun field's value.
47126func (s *CreateTrafficMirrorFilterRuleInput) SetDryRun(v bool) *CreateTrafficMirrorFilterRuleInput {
47127	s.DryRun = &v
47128	return s
47129}
47130
47131// SetProtocol sets the Protocol field's value.
47132func (s *CreateTrafficMirrorFilterRuleInput) SetProtocol(v int64) *CreateTrafficMirrorFilterRuleInput {
47133	s.Protocol = &v
47134	return s
47135}
47136
47137// SetRuleAction sets the RuleAction field's value.
47138func (s *CreateTrafficMirrorFilterRuleInput) SetRuleAction(v string) *CreateTrafficMirrorFilterRuleInput {
47139	s.RuleAction = &v
47140	return s
47141}
47142
47143// SetRuleNumber sets the RuleNumber field's value.
47144func (s *CreateTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *CreateTrafficMirrorFilterRuleInput {
47145	s.RuleNumber = &v
47146	return s
47147}
47148
47149// SetSourceCidrBlock sets the SourceCidrBlock field's value.
47150func (s *CreateTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *CreateTrafficMirrorFilterRuleInput {
47151	s.SourceCidrBlock = &v
47152	return s
47153}
47154
47155// SetSourcePortRange sets the SourcePortRange field's value.
47156func (s *CreateTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *CreateTrafficMirrorFilterRuleInput {
47157	s.SourcePortRange = v
47158	return s
47159}
47160
47161// SetTrafficDirection sets the TrafficDirection field's value.
47162func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *CreateTrafficMirrorFilterRuleInput {
47163	s.TrafficDirection = &v
47164	return s
47165}
47166
47167// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
47168func (s *CreateTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorFilterRuleInput {
47169	s.TrafficMirrorFilterId = &v
47170	return s
47171}
47172
47173type CreateTrafficMirrorFilterRuleOutput struct {
47174	_ struct{} `type:"structure"`
47175
47176	// Unique, case-sensitive identifier that you provide to ensure the idempotency
47177	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
47178	ClientToken *string `locationName:"clientToken" type:"string"`
47179
47180	// The Traffic Mirror rule.
47181	TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
47182}
47183
47184// String returns the string representation
47185func (s CreateTrafficMirrorFilterRuleOutput) String() string {
47186	return awsutil.Prettify(s)
47187}
47188
47189// GoString returns the string representation
47190func (s CreateTrafficMirrorFilterRuleOutput) GoString() string {
47191	return s.String()
47192}
47193
47194// SetClientToken sets the ClientToken field's value.
47195func (s *CreateTrafficMirrorFilterRuleOutput) SetClientToken(v string) *CreateTrafficMirrorFilterRuleOutput {
47196	s.ClientToken = &v
47197	return s
47198}
47199
47200// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
47201func (s *CreateTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *CreateTrafficMirrorFilterRuleOutput {
47202	s.TrafficMirrorFilterRule = v
47203	return s
47204}
47205
47206type CreateTrafficMirrorSessionInput struct {
47207	_ struct{} `type:"structure"`
47208
47209	// Unique, case-sensitive identifier that you provide to ensure the idempotency
47210	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
47211	ClientToken *string `type:"string" idempotencyToken:"true"`
47212
47213	// The description of the Traffic Mirror session.
47214	Description *string `type:"string"`
47215
47216	// Checks whether you have the required permissions for the action, without
47217	// actually making the request, and provides an error response. If you have
47218	// the required permissions, the error response is DryRunOperation. Otherwise,
47219	// it is UnauthorizedOperation.
47220	DryRun *bool `type:"boolean"`
47221
47222	// The ID of the source network interface.
47223	//
47224	// NetworkInterfaceId is a required field
47225	NetworkInterfaceId *string `type:"string" required:"true"`
47226
47227	// The number of bytes in each packet to mirror. These are bytes after the VXLAN
47228	// header. Do not specify this parameter when you want to mirror the entire
47229	// packet. To mirror a subset of the packet, set this to the length (in bytes)
47230	// that you want to mirror. For example, if you set this value to 100, then
47231	// the first 100 bytes that meet the filter criteria are copied to the target.
47232	//
47233	// If you do not want to mirror the entire packet, use the PacketLength parameter
47234	// to specify the number of bytes in each packet to mirror.
47235	PacketLength *int64 `type:"integer"`
47236
47237	// The session number determines the order in which sessions are evaluated when
47238	// an interface is used by multiple sessions. The first session with a matching
47239	// filter is the one that mirrors the packets.
47240	//
47241	// Valid values are 1-32766.
47242	//
47243	// SessionNumber is a required field
47244	SessionNumber *int64 `type:"integer" required:"true"`
47245
47246	// The tags to assign to a Traffic Mirror session.
47247	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
47248
47249	// The ID of the Traffic Mirror filter.
47250	//
47251	// TrafficMirrorFilterId is a required field
47252	TrafficMirrorFilterId *string `type:"string" required:"true"`
47253
47254	// The ID of the Traffic Mirror target.
47255	//
47256	// TrafficMirrorTargetId is a required field
47257	TrafficMirrorTargetId *string `type:"string" required:"true"`
47258
47259	// The VXLAN ID for the Traffic Mirror session. For more information about the
47260	// VXLAN protocol, see RFC 7348 (https://tools.ietf.org/html/rfc7348). If you
47261	// do not specify a VirtualNetworkId, an account-wide unique id is chosen at
47262	// random.
47263	VirtualNetworkId *int64 `type:"integer"`
47264}
47265
47266// String returns the string representation
47267func (s CreateTrafficMirrorSessionInput) String() string {
47268	return awsutil.Prettify(s)
47269}
47270
47271// GoString returns the string representation
47272func (s CreateTrafficMirrorSessionInput) GoString() string {
47273	return s.String()
47274}
47275
47276// Validate inspects the fields of the type to determine if they are valid.
47277func (s *CreateTrafficMirrorSessionInput) Validate() error {
47278	invalidParams := request.ErrInvalidParams{Context: "CreateTrafficMirrorSessionInput"}
47279	if s.NetworkInterfaceId == nil {
47280		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
47281	}
47282	if s.SessionNumber == nil {
47283		invalidParams.Add(request.NewErrParamRequired("SessionNumber"))
47284	}
47285	if s.TrafficMirrorFilterId == nil {
47286		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
47287	}
47288	if s.TrafficMirrorTargetId == nil {
47289		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
47290	}
47291
47292	if invalidParams.Len() > 0 {
47293		return invalidParams
47294	}
47295	return nil
47296}
47297
47298// SetClientToken sets the ClientToken field's value.
47299func (s *CreateTrafficMirrorSessionInput) SetClientToken(v string) *CreateTrafficMirrorSessionInput {
47300	s.ClientToken = &v
47301	return s
47302}
47303
47304// SetDescription sets the Description field's value.
47305func (s *CreateTrafficMirrorSessionInput) SetDescription(v string) *CreateTrafficMirrorSessionInput {
47306	s.Description = &v
47307	return s
47308}
47309
47310// SetDryRun sets the DryRun field's value.
47311func (s *CreateTrafficMirrorSessionInput) SetDryRun(v bool) *CreateTrafficMirrorSessionInput {
47312	s.DryRun = &v
47313	return s
47314}
47315
47316// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
47317func (s *CreateTrafficMirrorSessionInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorSessionInput {
47318	s.NetworkInterfaceId = &v
47319	return s
47320}
47321
47322// SetPacketLength sets the PacketLength field's value.
47323func (s *CreateTrafficMirrorSessionInput) SetPacketLength(v int64) *CreateTrafficMirrorSessionInput {
47324	s.PacketLength = &v
47325	return s
47326}
47327
47328// SetSessionNumber sets the SessionNumber field's value.
47329func (s *CreateTrafficMirrorSessionInput) SetSessionNumber(v int64) *CreateTrafficMirrorSessionInput {
47330	s.SessionNumber = &v
47331	return s
47332}
47333
47334// SetTagSpecifications sets the TagSpecifications field's value.
47335func (s *CreateTrafficMirrorSessionInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorSessionInput {
47336	s.TagSpecifications = v
47337	return s
47338}
47339
47340// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
47341func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *CreateTrafficMirrorSessionInput {
47342	s.TrafficMirrorFilterId = &v
47343	return s
47344}
47345
47346// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
47347func (s *CreateTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *CreateTrafficMirrorSessionInput {
47348	s.TrafficMirrorTargetId = &v
47349	return s
47350}
47351
47352// SetVirtualNetworkId sets the VirtualNetworkId field's value.
47353func (s *CreateTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *CreateTrafficMirrorSessionInput {
47354	s.VirtualNetworkId = &v
47355	return s
47356}
47357
47358type CreateTrafficMirrorSessionOutput struct {
47359	_ struct{} `type:"structure"`
47360
47361	// Unique, case-sensitive identifier that you provide to ensure the idempotency
47362	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
47363	ClientToken *string `locationName:"clientToken" type:"string"`
47364
47365	// Information about the Traffic Mirror session.
47366	TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
47367}
47368
47369// String returns the string representation
47370func (s CreateTrafficMirrorSessionOutput) String() string {
47371	return awsutil.Prettify(s)
47372}
47373
47374// GoString returns the string representation
47375func (s CreateTrafficMirrorSessionOutput) GoString() string {
47376	return s.String()
47377}
47378
47379// SetClientToken sets the ClientToken field's value.
47380func (s *CreateTrafficMirrorSessionOutput) SetClientToken(v string) *CreateTrafficMirrorSessionOutput {
47381	s.ClientToken = &v
47382	return s
47383}
47384
47385// SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
47386func (s *CreateTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *CreateTrafficMirrorSessionOutput {
47387	s.TrafficMirrorSession = v
47388	return s
47389}
47390
47391type CreateTrafficMirrorTargetInput struct {
47392	_ struct{} `type:"structure"`
47393
47394	// Unique, case-sensitive identifier that you provide to ensure the idempotency
47395	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
47396	ClientToken *string `type:"string" idempotencyToken:"true"`
47397
47398	// The description of the Traffic Mirror target.
47399	Description *string `type:"string"`
47400
47401	// Checks whether you have the required permissions for the action, without
47402	// actually making the request, and provides an error response. If you have
47403	// the required permissions, the error response is DryRunOperation. Otherwise,
47404	// it is UnauthorizedOperation.
47405	DryRun *bool `type:"boolean"`
47406
47407	// The network interface ID that is associated with the target.
47408	NetworkInterfaceId *string `type:"string"`
47409
47410	// The Amazon Resource Name (ARN) of the Network Load Balancer that is associated
47411	// with the target.
47412	NetworkLoadBalancerArn *string `type:"string"`
47413
47414	// The tags to assign to the Traffic Mirror target.
47415	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
47416}
47417
47418// String returns the string representation
47419func (s CreateTrafficMirrorTargetInput) String() string {
47420	return awsutil.Prettify(s)
47421}
47422
47423// GoString returns the string representation
47424func (s CreateTrafficMirrorTargetInput) GoString() string {
47425	return s.String()
47426}
47427
47428// SetClientToken sets the ClientToken field's value.
47429func (s *CreateTrafficMirrorTargetInput) SetClientToken(v string) *CreateTrafficMirrorTargetInput {
47430	s.ClientToken = &v
47431	return s
47432}
47433
47434// SetDescription sets the Description field's value.
47435func (s *CreateTrafficMirrorTargetInput) SetDescription(v string) *CreateTrafficMirrorTargetInput {
47436	s.Description = &v
47437	return s
47438}
47439
47440// SetDryRun sets the DryRun field's value.
47441func (s *CreateTrafficMirrorTargetInput) SetDryRun(v bool) *CreateTrafficMirrorTargetInput {
47442	s.DryRun = &v
47443	return s
47444}
47445
47446// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
47447func (s *CreateTrafficMirrorTargetInput) SetNetworkInterfaceId(v string) *CreateTrafficMirrorTargetInput {
47448	s.NetworkInterfaceId = &v
47449	return s
47450}
47451
47452// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
47453func (s *CreateTrafficMirrorTargetInput) SetNetworkLoadBalancerArn(v string) *CreateTrafficMirrorTargetInput {
47454	s.NetworkLoadBalancerArn = &v
47455	return s
47456}
47457
47458// SetTagSpecifications sets the TagSpecifications field's value.
47459func (s *CreateTrafficMirrorTargetInput) SetTagSpecifications(v []*TagSpecification) *CreateTrafficMirrorTargetInput {
47460	s.TagSpecifications = v
47461	return s
47462}
47463
47464type CreateTrafficMirrorTargetOutput struct {
47465	_ struct{} `type:"structure"`
47466
47467	// Unique, case-sensitive identifier that you provide to ensure the idempotency
47468	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
47469	ClientToken *string `locationName:"clientToken" type:"string"`
47470
47471	// Information about the Traffic Mirror target.
47472	TrafficMirrorTarget *TrafficMirrorTarget `locationName:"trafficMirrorTarget" type:"structure"`
47473}
47474
47475// String returns the string representation
47476func (s CreateTrafficMirrorTargetOutput) String() string {
47477	return awsutil.Prettify(s)
47478}
47479
47480// GoString returns the string representation
47481func (s CreateTrafficMirrorTargetOutput) GoString() string {
47482	return s.String()
47483}
47484
47485// SetClientToken sets the ClientToken field's value.
47486func (s *CreateTrafficMirrorTargetOutput) SetClientToken(v string) *CreateTrafficMirrorTargetOutput {
47487	s.ClientToken = &v
47488	return s
47489}
47490
47491// SetTrafficMirrorTarget sets the TrafficMirrorTarget field's value.
47492func (s *CreateTrafficMirrorTargetOutput) SetTrafficMirrorTarget(v *TrafficMirrorTarget) *CreateTrafficMirrorTargetOutput {
47493	s.TrafficMirrorTarget = v
47494	return s
47495}
47496
47497type CreateTransitGatewayInput struct {
47498	_ struct{} `type:"structure"`
47499
47500	// A description of the transit gateway.
47501	Description *string `type:"string"`
47502
47503	// Checks whether you have the required permissions for the action, without
47504	// actually making the request, and provides an error response. If you have
47505	// the required permissions, the error response is DryRunOperation. Otherwise,
47506	// it is UnauthorizedOperation.
47507	DryRun *bool `type:"boolean"`
47508
47509	// The transit gateway options.
47510	Options *TransitGatewayRequestOptions `type:"structure"`
47511
47512	// The tags to apply to the transit gateway.
47513	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
47514}
47515
47516// String returns the string representation
47517func (s CreateTransitGatewayInput) String() string {
47518	return awsutil.Prettify(s)
47519}
47520
47521// GoString returns the string representation
47522func (s CreateTransitGatewayInput) GoString() string {
47523	return s.String()
47524}
47525
47526// SetDescription sets the Description field's value.
47527func (s *CreateTransitGatewayInput) SetDescription(v string) *CreateTransitGatewayInput {
47528	s.Description = &v
47529	return s
47530}
47531
47532// SetDryRun sets the DryRun field's value.
47533func (s *CreateTransitGatewayInput) SetDryRun(v bool) *CreateTransitGatewayInput {
47534	s.DryRun = &v
47535	return s
47536}
47537
47538// SetOptions sets the Options field's value.
47539func (s *CreateTransitGatewayInput) SetOptions(v *TransitGatewayRequestOptions) *CreateTransitGatewayInput {
47540	s.Options = v
47541	return s
47542}
47543
47544// SetTagSpecifications sets the TagSpecifications field's value.
47545func (s *CreateTransitGatewayInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayInput {
47546	s.TagSpecifications = v
47547	return s
47548}
47549
47550type CreateTransitGatewayMulticastDomainInput struct {
47551	_ struct{} `type:"structure"`
47552
47553	// Checks whether you have the required permissions for the action, without
47554	// actually making the request, and provides an error response. If you have
47555	// the required permissions, the error response is DryRunOperation. Otherwise,
47556	// it is UnauthorizedOperation.
47557	DryRun *bool `type:"boolean"`
47558
47559	// The tags for the transit gateway multicast domain.
47560	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
47561
47562	// The ID of the transit gateway.
47563	//
47564	// TransitGatewayId is a required field
47565	TransitGatewayId *string `type:"string" required:"true"`
47566}
47567
47568// String returns the string representation
47569func (s CreateTransitGatewayMulticastDomainInput) String() string {
47570	return awsutil.Prettify(s)
47571}
47572
47573// GoString returns the string representation
47574func (s CreateTransitGatewayMulticastDomainInput) GoString() string {
47575	return s.String()
47576}
47577
47578// Validate inspects the fields of the type to determine if they are valid.
47579func (s *CreateTransitGatewayMulticastDomainInput) Validate() error {
47580	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayMulticastDomainInput"}
47581	if s.TransitGatewayId == nil {
47582		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
47583	}
47584
47585	if invalidParams.Len() > 0 {
47586		return invalidParams
47587	}
47588	return nil
47589}
47590
47591// SetDryRun sets the DryRun field's value.
47592func (s *CreateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *CreateTransitGatewayMulticastDomainInput {
47593	s.DryRun = &v
47594	return s
47595}
47596
47597// SetTagSpecifications sets the TagSpecifications field's value.
47598func (s *CreateTransitGatewayMulticastDomainInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayMulticastDomainInput {
47599	s.TagSpecifications = v
47600	return s
47601}
47602
47603// SetTransitGatewayId sets the TransitGatewayId field's value.
47604func (s *CreateTransitGatewayMulticastDomainInput) SetTransitGatewayId(v string) *CreateTransitGatewayMulticastDomainInput {
47605	s.TransitGatewayId = &v
47606	return s
47607}
47608
47609type CreateTransitGatewayMulticastDomainOutput struct {
47610	_ struct{} `type:"structure"`
47611
47612	// Information about the transit gateway multicast domain.
47613	TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
47614}
47615
47616// String returns the string representation
47617func (s CreateTransitGatewayMulticastDomainOutput) String() string {
47618	return awsutil.Prettify(s)
47619}
47620
47621// GoString returns the string representation
47622func (s CreateTransitGatewayMulticastDomainOutput) GoString() string {
47623	return s.String()
47624}
47625
47626// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
47627func (s *CreateTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *CreateTransitGatewayMulticastDomainOutput {
47628	s.TransitGatewayMulticastDomain = v
47629	return s
47630}
47631
47632type CreateTransitGatewayOutput struct {
47633	_ struct{} `type:"structure"`
47634
47635	// Information about the transit gateway.
47636	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
47637}
47638
47639// String returns the string representation
47640func (s CreateTransitGatewayOutput) String() string {
47641	return awsutil.Prettify(s)
47642}
47643
47644// GoString returns the string representation
47645func (s CreateTransitGatewayOutput) GoString() string {
47646	return s.String()
47647}
47648
47649// SetTransitGateway sets the TransitGateway field's value.
47650func (s *CreateTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *CreateTransitGatewayOutput {
47651	s.TransitGateway = v
47652	return s
47653}
47654
47655type CreateTransitGatewayPeeringAttachmentInput struct {
47656	_ struct{} `type:"structure"`
47657
47658	// Checks whether you have the required permissions for the action, without
47659	// actually making the request, and provides an error response. If you have
47660	// the required permissions, the error response is DryRunOperation. Otherwise,
47661	// it is UnauthorizedOperation.
47662	DryRun *bool `type:"boolean"`
47663
47664	// The AWS account ID of the owner of the peer transit gateway.
47665	//
47666	// PeerAccountId is a required field
47667	PeerAccountId *string `type:"string" required:"true"`
47668
47669	// The Region where the peer transit gateway is located.
47670	//
47671	// PeerRegion is a required field
47672	PeerRegion *string `type:"string" required:"true"`
47673
47674	// The ID of the peer transit gateway with which to create the peering attachment.
47675	//
47676	// PeerTransitGatewayId is a required field
47677	PeerTransitGatewayId *string `type:"string" required:"true"`
47678
47679	// The tags to apply to the transit gateway peering attachment.
47680	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
47681
47682	// The ID of the transit gateway.
47683	//
47684	// TransitGatewayId is a required field
47685	TransitGatewayId *string `type:"string" required:"true"`
47686}
47687
47688// String returns the string representation
47689func (s CreateTransitGatewayPeeringAttachmentInput) String() string {
47690	return awsutil.Prettify(s)
47691}
47692
47693// GoString returns the string representation
47694func (s CreateTransitGatewayPeeringAttachmentInput) GoString() string {
47695	return s.String()
47696}
47697
47698// Validate inspects the fields of the type to determine if they are valid.
47699func (s *CreateTransitGatewayPeeringAttachmentInput) Validate() error {
47700	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayPeeringAttachmentInput"}
47701	if s.PeerAccountId == nil {
47702		invalidParams.Add(request.NewErrParamRequired("PeerAccountId"))
47703	}
47704	if s.PeerRegion == nil {
47705		invalidParams.Add(request.NewErrParamRequired("PeerRegion"))
47706	}
47707	if s.PeerTransitGatewayId == nil {
47708		invalidParams.Add(request.NewErrParamRequired("PeerTransitGatewayId"))
47709	}
47710	if s.TransitGatewayId == nil {
47711		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
47712	}
47713
47714	if invalidParams.Len() > 0 {
47715		return invalidParams
47716	}
47717	return nil
47718}
47719
47720// SetDryRun sets the DryRun field's value.
47721func (s *CreateTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayPeeringAttachmentInput {
47722	s.DryRun = &v
47723	return s
47724}
47725
47726// SetPeerAccountId sets the PeerAccountId field's value.
47727func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerAccountId(v string) *CreateTransitGatewayPeeringAttachmentInput {
47728	s.PeerAccountId = &v
47729	return s
47730}
47731
47732// SetPeerRegion sets the PeerRegion field's value.
47733func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerRegion(v string) *CreateTransitGatewayPeeringAttachmentInput {
47734	s.PeerRegion = &v
47735	return s
47736}
47737
47738// SetPeerTransitGatewayId sets the PeerTransitGatewayId field's value.
47739func (s *CreateTransitGatewayPeeringAttachmentInput) SetPeerTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
47740	s.PeerTransitGatewayId = &v
47741	return s
47742}
47743
47744// SetTagSpecifications sets the TagSpecifications field's value.
47745func (s *CreateTransitGatewayPeeringAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayPeeringAttachmentInput {
47746	s.TagSpecifications = v
47747	return s
47748}
47749
47750// SetTransitGatewayId sets the TransitGatewayId field's value.
47751func (s *CreateTransitGatewayPeeringAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayPeeringAttachmentInput {
47752	s.TransitGatewayId = &v
47753	return s
47754}
47755
47756type CreateTransitGatewayPeeringAttachmentOutput struct {
47757	_ struct{} `type:"structure"`
47758
47759	// The transit gateway peering attachment.
47760	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
47761}
47762
47763// String returns the string representation
47764func (s CreateTransitGatewayPeeringAttachmentOutput) String() string {
47765	return awsutil.Prettify(s)
47766}
47767
47768// GoString returns the string representation
47769func (s CreateTransitGatewayPeeringAttachmentOutput) GoString() string {
47770	return s.String()
47771}
47772
47773// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
47774func (s *CreateTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *CreateTransitGatewayPeeringAttachmentOutput {
47775	s.TransitGatewayPeeringAttachment = v
47776	return s
47777}
47778
47779type CreateTransitGatewayRouteInput struct {
47780	_ struct{} `type:"structure"`
47781
47782	// Indicates whether to drop traffic that matches this route.
47783	Blackhole *bool `type:"boolean"`
47784
47785	// The CIDR range used for destination matches. Routing decisions are based
47786	// on the most specific match.
47787	//
47788	// DestinationCidrBlock is a required field
47789	DestinationCidrBlock *string `type:"string" required:"true"`
47790
47791	// Checks whether you have the required permissions for the action, without
47792	// actually making the request, and provides an error response. If you have
47793	// the required permissions, the error response is DryRunOperation. Otherwise,
47794	// it is UnauthorizedOperation.
47795	DryRun *bool `type:"boolean"`
47796
47797	// The ID of the attachment.
47798	TransitGatewayAttachmentId *string `type:"string"`
47799
47800	// The ID of the transit gateway route table.
47801	//
47802	// TransitGatewayRouteTableId is a required field
47803	TransitGatewayRouteTableId *string `type:"string" required:"true"`
47804}
47805
47806// String returns the string representation
47807func (s CreateTransitGatewayRouteInput) String() string {
47808	return awsutil.Prettify(s)
47809}
47810
47811// GoString returns the string representation
47812func (s CreateTransitGatewayRouteInput) GoString() string {
47813	return s.String()
47814}
47815
47816// Validate inspects the fields of the type to determine if they are valid.
47817func (s *CreateTransitGatewayRouteInput) Validate() error {
47818	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteInput"}
47819	if s.DestinationCidrBlock == nil {
47820		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
47821	}
47822	if s.TransitGatewayRouteTableId == nil {
47823		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
47824	}
47825
47826	if invalidParams.Len() > 0 {
47827		return invalidParams
47828	}
47829	return nil
47830}
47831
47832// SetBlackhole sets the Blackhole field's value.
47833func (s *CreateTransitGatewayRouteInput) SetBlackhole(v bool) *CreateTransitGatewayRouteInput {
47834	s.Blackhole = &v
47835	return s
47836}
47837
47838// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
47839func (s *CreateTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *CreateTransitGatewayRouteInput {
47840	s.DestinationCidrBlock = &v
47841	return s
47842}
47843
47844// SetDryRun sets the DryRun field's value.
47845func (s *CreateTransitGatewayRouteInput) SetDryRun(v bool) *CreateTransitGatewayRouteInput {
47846	s.DryRun = &v
47847	return s
47848}
47849
47850// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
47851func (s *CreateTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *CreateTransitGatewayRouteInput {
47852	s.TransitGatewayAttachmentId = &v
47853	return s
47854}
47855
47856// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
47857func (s *CreateTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *CreateTransitGatewayRouteInput {
47858	s.TransitGatewayRouteTableId = &v
47859	return s
47860}
47861
47862type CreateTransitGatewayRouteOutput struct {
47863	_ struct{} `type:"structure"`
47864
47865	// Information about the route.
47866	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
47867}
47868
47869// String returns the string representation
47870func (s CreateTransitGatewayRouteOutput) String() string {
47871	return awsutil.Prettify(s)
47872}
47873
47874// GoString returns the string representation
47875func (s CreateTransitGatewayRouteOutput) GoString() string {
47876	return s.String()
47877}
47878
47879// SetRoute sets the Route field's value.
47880func (s *CreateTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *CreateTransitGatewayRouteOutput {
47881	s.Route = v
47882	return s
47883}
47884
47885type CreateTransitGatewayRouteTableInput struct {
47886	_ struct{} `type:"structure"`
47887
47888	// Checks whether you have the required permissions for the action, without
47889	// actually making the request, and provides an error response. If you have
47890	// the required permissions, the error response is DryRunOperation. Otherwise,
47891	// it is UnauthorizedOperation.
47892	DryRun *bool `type:"boolean"`
47893
47894	// The tags to apply to the transit gateway route table.
47895	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
47896
47897	// The ID of the transit gateway.
47898	//
47899	// TransitGatewayId is a required field
47900	TransitGatewayId *string `type:"string" required:"true"`
47901}
47902
47903// String returns the string representation
47904func (s CreateTransitGatewayRouteTableInput) String() string {
47905	return awsutil.Prettify(s)
47906}
47907
47908// GoString returns the string representation
47909func (s CreateTransitGatewayRouteTableInput) GoString() string {
47910	return s.String()
47911}
47912
47913// Validate inspects the fields of the type to determine if they are valid.
47914func (s *CreateTransitGatewayRouteTableInput) Validate() error {
47915	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayRouteTableInput"}
47916	if s.TransitGatewayId == nil {
47917		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
47918	}
47919
47920	if invalidParams.Len() > 0 {
47921		return invalidParams
47922	}
47923	return nil
47924}
47925
47926// SetDryRun sets the DryRun field's value.
47927func (s *CreateTransitGatewayRouteTableInput) SetDryRun(v bool) *CreateTransitGatewayRouteTableInput {
47928	s.DryRun = &v
47929	return s
47930}
47931
47932// SetTagSpecifications sets the TagSpecifications field's value.
47933func (s *CreateTransitGatewayRouteTableInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayRouteTableInput {
47934	s.TagSpecifications = v
47935	return s
47936}
47937
47938// SetTransitGatewayId sets the TransitGatewayId field's value.
47939func (s *CreateTransitGatewayRouteTableInput) SetTransitGatewayId(v string) *CreateTransitGatewayRouteTableInput {
47940	s.TransitGatewayId = &v
47941	return s
47942}
47943
47944type CreateTransitGatewayRouteTableOutput struct {
47945	_ struct{} `type:"structure"`
47946
47947	// Information about the transit gateway route table.
47948	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
47949}
47950
47951// String returns the string representation
47952func (s CreateTransitGatewayRouteTableOutput) String() string {
47953	return awsutil.Prettify(s)
47954}
47955
47956// GoString returns the string representation
47957func (s CreateTransitGatewayRouteTableOutput) GoString() string {
47958	return s.String()
47959}
47960
47961// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
47962func (s *CreateTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *CreateTransitGatewayRouteTableOutput {
47963	s.TransitGatewayRouteTable = v
47964	return s
47965}
47966
47967type CreateTransitGatewayVpcAttachmentInput struct {
47968	_ struct{} `type:"structure"`
47969
47970	// Checks whether you have the required permissions for the action, without
47971	// actually making the request, and provides an error response. If you have
47972	// the required permissions, the error response is DryRunOperation. Otherwise,
47973	// it is UnauthorizedOperation.
47974	DryRun *bool `type:"boolean"`
47975
47976	// The VPC attachment options.
47977	Options *CreateTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
47978
47979	// The IDs of one or more subnets. You can specify only one subnet per Availability
47980	// Zone. You must specify at least one subnet, but we recommend that you specify
47981	// two subnets for better availability. The transit gateway uses one IP address
47982	// from each specified subnet.
47983	//
47984	// SubnetIds is a required field
47985	SubnetIds []*string `locationNameList:"item" type:"list" required:"true"`
47986
47987	// The tags to apply to the VPC attachment.
47988	TagSpecifications []*TagSpecification `locationNameList:"item" type:"list"`
47989
47990	// The ID of the transit gateway.
47991	//
47992	// TransitGatewayId is a required field
47993	TransitGatewayId *string `type:"string" required:"true"`
47994
47995	// The ID of the VPC.
47996	//
47997	// VpcId is a required field
47998	VpcId *string `type:"string" required:"true"`
47999}
48000
48001// String returns the string representation
48002func (s CreateTransitGatewayVpcAttachmentInput) String() string {
48003	return awsutil.Prettify(s)
48004}
48005
48006// GoString returns the string representation
48007func (s CreateTransitGatewayVpcAttachmentInput) GoString() string {
48008	return s.String()
48009}
48010
48011// Validate inspects the fields of the type to determine if they are valid.
48012func (s *CreateTransitGatewayVpcAttachmentInput) Validate() error {
48013	invalidParams := request.ErrInvalidParams{Context: "CreateTransitGatewayVpcAttachmentInput"}
48014	if s.SubnetIds == nil {
48015		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
48016	}
48017	if s.TransitGatewayId == nil {
48018		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
48019	}
48020	if s.VpcId == nil {
48021		invalidParams.Add(request.NewErrParamRequired("VpcId"))
48022	}
48023
48024	if invalidParams.Len() > 0 {
48025		return invalidParams
48026	}
48027	return nil
48028}
48029
48030// SetDryRun sets the DryRun field's value.
48031func (s *CreateTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *CreateTransitGatewayVpcAttachmentInput {
48032	s.DryRun = &v
48033	return s
48034}
48035
48036// SetOptions sets the Options field's value.
48037func (s *CreateTransitGatewayVpcAttachmentInput) SetOptions(v *CreateTransitGatewayVpcAttachmentRequestOptions) *CreateTransitGatewayVpcAttachmentInput {
48038	s.Options = v
48039	return s
48040}
48041
48042// SetSubnetIds sets the SubnetIds field's value.
48043func (s *CreateTransitGatewayVpcAttachmentInput) SetSubnetIds(v []*string) *CreateTransitGatewayVpcAttachmentInput {
48044	s.SubnetIds = v
48045	return s
48046}
48047
48048// SetTagSpecifications sets the TagSpecifications field's value.
48049func (s *CreateTransitGatewayVpcAttachmentInput) SetTagSpecifications(v []*TagSpecification) *CreateTransitGatewayVpcAttachmentInput {
48050	s.TagSpecifications = v
48051	return s
48052}
48053
48054// SetTransitGatewayId sets the TransitGatewayId field's value.
48055func (s *CreateTransitGatewayVpcAttachmentInput) SetTransitGatewayId(v string) *CreateTransitGatewayVpcAttachmentInput {
48056	s.TransitGatewayId = &v
48057	return s
48058}
48059
48060// SetVpcId sets the VpcId field's value.
48061func (s *CreateTransitGatewayVpcAttachmentInput) SetVpcId(v string) *CreateTransitGatewayVpcAttachmentInput {
48062	s.VpcId = &v
48063	return s
48064}
48065
48066type CreateTransitGatewayVpcAttachmentOutput struct {
48067	_ struct{} `type:"structure"`
48068
48069	// Information about the VPC attachment.
48070	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
48071}
48072
48073// String returns the string representation
48074func (s CreateTransitGatewayVpcAttachmentOutput) String() string {
48075	return awsutil.Prettify(s)
48076}
48077
48078// GoString returns the string representation
48079func (s CreateTransitGatewayVpcAttachmentOutput) GoString() string {
48080	return s.String()
48081}
48082
48083// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
48084func (s *CreateTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *CreateTransitGatewayVpcAttachmentOutput {
48085	s.TransitGatewayVpcAttachment = v
48086	return s
48087}
48088
48089// Describes the options for a VPC attachment.
48090type CreateTransitGatewayVpcAttachmentRequestOptions struct {
48091	_ struct{} `type:"structure"`
48092
48093	// Enable or disable DNS support. The default is enable.
48094	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
48095
48096	// Enable or disable IPv6 support. The default is enable.
48097	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
48098}
48099
48100// String returns the string representation
48101func (s CreateTransitGatewayVpcAttachmentRequestOptions) String() string {
48102	return awsutil.Prettify(s)
48103}
48104
48105// GoString returns the string representation
48106func (s CreateTransitGatewayVpcAttachmentRequestOptions) GoString() string {
48107	return s.String()
48108}
48109
48110// SetDnsSupport sets the DnsSupport field's value.
48111func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
48112	s.DnsSupport = &v
48113	return s
48114}
48115
48116// SetIpv6Support sets the Ipv6Support field's value.
48117func (s *CreateTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *CreateTransitGatewayVpcAttachmentRequestOptions {
48118	s.Ipv6Support = &v
48119	return s
48120}
48121
48122type CreateVolumeInput struct {
48123	_ struct{} `type:"structure"`
48124
48125	// The Availability Zone in which to create the volume.
48126	//
48127	// AvailabilityZone is a required field
48128	AvailabilityZone *string `type:"string" required:"true"`
48129
48130	// Checks whether you have the required permissions for the action, without
48131	// actually making the request, and provides an error response. If you have
48132	// the required permissions, the error response is DryRunOperation. Otherwise,
48133	// it is UnauthorizedOperation.
48134	DryRun *bool `locationName:"dryRun" type:"boolean"`
48135
48136	// Specifies whether the volume should be encrypted. The effect of setting the
48137	// encryption state to true depends on the volume origin (new or from a snapshot),
48138	// starting encryption state, ownership, and whether encryption by default is
48139	// enabled. For more information, see Encryption by Default (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default)
48140	// in the Amazon Elastic Compute Cloud User Guide.
48141	//
48142	// Encrypted Amazon EBS volumes must be attached to instances that support Amazon
48143	// EBS encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
48144	Encrypted *bool `locationName:"encrypted" type:"boolean"`
48145
48146	// The number of I/O operations per second (IOPS) to provision for the volume,
48147	// with a maximum ratio of 50 IOPS/GiB. Range is 100 to 64,000 IOPS for volumes
48148	// in most Regions. Maximum IOPS of 64,000 is guaranteed only on Nitro-based
48149	// instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
48150	// Other instance families guarantee performance up to 32,000 IOPS. For more
48151	// information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
48152	// in the Amazon Elastic Compute Cloud User Guide.
48153	//
48154	// This parameter is valid only for Provisioned IOPS SSD (io1) volumes.
48155	Iops *int64 `type:"integer"`
48156
48157	// The identifier of the AWS Key Management Service (AWS KMS) customer master
48158	// key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
48159	// your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
48160	// state must be true.
48161	//
48162	// You can specify the CMK using any of the following:
48163	//
48164	//    * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
48165	//
48166	//    * Key alias. For example, alias/ExampleAlias.
48167	//
48168	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
48169	//
48170	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
48171	//
48172	// AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
48173	// alias, or ARN that is not valid, the action can appear to complete, but eventually
48174	// fails.
48175	KmsKeyId *string `type:"string"`
48176
48177	// The Amazon Resource Name (ARN) of the Outpost.
48178	OutpostArn *string `type:"string"`
48179
48180	// The size of the volume, in GiBs.
48181	//
48182	// Constraints: 1-16,384 for gp2, 4-16,384 for io1, 500-16,384 for st1, 500-16,384
48183	// for sc1, and 1-1,024 for standard. If you specify a snapshot, the volume
48184	// size must be equal to or larger than the snapshot size.
48185	//
48186	// Default: If you're creating the volume from a snapshot and don't specify
48187	// a volume size, the default is the snapshot size.
48188	//
48189	// At least one of Size or SnapshotId is required.
48190	Size *int64 `type:"integer"`
48191
48192	// The snapshot from which to create the volume.
48193	//
48194	// At least one of Size or SnapshotId are required.
48195	SnapshotId *string `type:"string"`
48196
48197	// The tags to apply to the volume during creation.
48198	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
48199
48200	// The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
48201	// IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
48202	// for Magnetic volumes.
48203	//
48204	// Default: gp2
48205	VolumeType *string `type:"string" enum:"VolumeType"`
48206}
48207
48208// String returns the string representation
48209func (s CreateVolumeInput) String() string {
48210	return awsutil.Prettify(s)
48211}
48212
48213// GoString returns the string representation
48214func (s CreateVolumeInput) GoString() string {
48215	return s.String()
48216}
48217
48218// Validate inspects the fields of the type to determine if they are valid.
48219func (s *CreateVolumeInput) Validate() error {
48220	invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"}
48221	if s.AvailabilityZone == nil {
48222		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
48223	}
48224
48225	if invalidParams.Len() > 0 {
48226		return invalidParams
48227	}
48228	return nil
48229}
48230
48231// SetAvailabilityZone sets the AvailabilityZone field's value.
48232func (s *CreateVolumeInput) SetAvailabilityZone(v string) *CreateVolumeInput {
48233	s.AvailabilityZone = &v
48234	return s
48235}
48236
48237// SetDryRun sets the DryRun field's value.
48238func (s *CreateVolumeInput) SetDryRun(v bool) *CreateVolumeInput {
48239	s.DryRun = &v
48240	return s
48241}
48242
48243// SetEncrypted sets the Encrypted field's value.
48244func (s *CreateVolumeInput) SetEncrypted(v bool) *CreateVolumeInput {
48245	s.Encrypted = &v
48246	return s
48247}
48248
48249// SetIops sets the Iops field's value.
48250func (s *CreateVolumeInput) SetIops(v int64) *CreateVolumeInput {
48251	s.Iops = &v
48252	return s
48253}
48254
48255// SetKmsKeyId sets the KmsKeyId field's value.
48256func (s *CreateVolumeInput) SetKmsKeyId(v string) *CreateVolumeInput {
48257	s.KmsKeyId = &v
48258	return s
48259}
48260
48261// SetOutpostArn sets the OutpostArn field's value.
48262func (s *CreateVolumeInput) SetOutpostArn(v string) *CreateVolumeInput {
48263	s.OutpostArn = &v
48264	return s
48265}
48266
48267// SetSize sets the Size field's value.
48268func (s *CreateVolumeInput) SetSize(v int64) *CreateVolumeInput {
48269	s.Size = &v
48270	return s
48271}
48272
48273// SetSnapshotId sets the SnapshotId field's value.
48274func (s *CreateVolumeInput) SetSnapshotId(v string) *CreateVolumeInput {
48275	s.SnapshotId = &v
48276	return s
48277}
48278
48279// SetTagSpecifications sets the TagSpecifications field's value.
48280func (s *CreateVolumeInput) SetTagSpecifications(v []*TagSpecification) *CreateVolumeInput {
48281	s.TagSpecifications = v
48282	return s
48283}
48284
48285// SetVolumeType sets the VolumeType field's value.
48286func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput {
48287	s.VolumeType = &v
48288	return s
48289}
48290
48291// Describes the user or group to be added or removed from the list of create
48292// volume permissions for a volume.
48293type CreateVolumePermission struct {
48294	_ struct{} `type:"structure"`
48295
48296	// The group to be added or removed. The possible value is all.
48297	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
48298
48299	// The AWS account ID to be added or removed.
48300	UserId *string `locationName:"userId" type:"string"`
48301}
48302
48303// String returns the string representation
48304func (s CreateVolumePermission) String() string {
48305	return awsutil.Prettify(s)
48306}
48307
48308// GoString returns the string representation
48309func (s CreateVolumePermission) GoString() string {
48310	return s.String()
48311}
48312
48313// SetGroup sets the Group field's value.
48314func (s *CreateVolumePermission) SetGroup(v string) *CreateVolumePermission {
48315	s.Group = &v
48316	return s
48317}
48318
48319// SetUserId sets the UserId field's value.
48320func (s *CreateVolumePermission) SetUserId(v string) *CreateVolumePermission {
48321	s.UserId = &v
48322	return s
48323}
48324
48325// Describes modifications to the list of create volume permissions for a volume.
48326type CreateVolumePermissionModifications struct {
48327	_ struct{} `type:"structure"`
48328
48329	// Adds the specified AWS account ID or group to the list.
48330	Add []*CreateVolumePermission `locationNameList:"item" type:"list"`
48331
48332	// Removes the specified AWS account ID or group from the list.
48333	Remove []*CreateVolumePermission `locationNameList:"item" type:"list"`
48334}
48335
48336// String returns the string representation
48337func (s CreateVolumePermissionModifications) String() string {
48338	return awsutil.Prettify(s)
48339}
48340
48341// GoString returns the string representation
48342func (s CreateVolumePermissionModifications) GoString() string {
48343	return s.String()
48344}
48345
48346// SetAdd sets the Add field's value.
48347func (s *CreateVolumePermissionModifications) SetAdd(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
48348	s.Add = v
48349	return s
48350}
48351
48352// SetRemove sets the Remove field's value.
48353func (s *CreateVolumePermissionModifications) SetRemove(v []*CreateVolumePermission) *CreateVolumePermissionModifications {
48354	s.Remove = v
48355	return s
48356}
48357
48358type CreateVpcEndpointConnectionNotificationInput struct {
48359	_ struct{} `type:"structure"`
48360
48361	// Unique, case-sensitive identifier you provide to ensure the idempotency of
48362	// the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48363	ClientToken *string `type:"string"`
48364
48365	// One or more endpoint events for which to receive notifications. Valid values
48366	// are Accept, Connect, Delete, and Reject.
48367	//
48368	// ConnectionEvents is a required field
48369	ConnectionEvents []*string `locationNameList:"item" type:"list" required:"true"`
48370
48371	// The ARN of the SNS topic for the notifications.
48372	//
48373	// ConnectionNotificationArn is a required field
48374	ConnectionNotificationArn *string `type:"string" required:"true"`
48375
48376	// Checks whether you have the required permissions for the action, without
48377	// actually making the request, and provides an error response. If you have
48378	// the required permissions, the error response is DryRunOperation. Otherwise,
48379	// it is UnauthorizedOperation.
48380	DryRun *bool `type:"boolean"`
48381
48382	// The ID of the endpoint service.
48383	ServiceId *string `type:"string"`
48384
48385	// The ID of the endpoint.
48386	VpcEndpointId *string `type:"string"`
48387}
48388
48389// String returns the string representation
48390func (s CreateVpcEndpointConnectionNotificationInput) String() string {
48391	return awsutil.Prettify(s)
48392}
48393
48394// GoString returns the string representation
48395func (s CreateVpcEndpointConnectionNotificationInput) GoString() string {
48396	return s.String()
48397}
48398
48399// Validate inspects the fields of the type to determine if they are valid.
48400func (s *CreateVpcEndpointConnectionNotificationInput) Validate() error {
48401	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointConnectionNotificationInput"}
48402	if s.ConnectionEvents == nil {
48403		invalidParams.Add(request.NewErrParamRequired("ConnectionEvents"))
48404	}
48405	if s.ConnectionNotificationArn == nil {
48406		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationArn"))
48407	}
48408
48409	if invalidParams.Len() > 0 {
48410		return invalidParams
48411	}
48412	return nil
48413}
48414
48415// SetClientToken sets the ClientToken field's value.
48416func (s *CreateVpcEndpointConnectionNotificationInput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationInput {
48417	s.ClientToken = &v
48418	return s
48419}
48420
48421// SetConnectionEvents sets the ConnectionEvents field's value.
48422func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *CreateVpcEndpointConnectionNotificationInput {
48423	s.ConnectionEvents = v
48424	return s
48425}
48426
48427// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
48428func (s *CreateVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *CreateVpcEndpointConnectionNotificationInput {
48429	s.ConnectionNotificationArn = &v
48430	return s
48431}
48432
48433// SetDryRun sets the DryRun field's value.
48434func (s *CreateVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *CreateVpcEndpointConnectionNotificationInput {
48435	s.DryRun = &v
48436	return s
48437}
48438
48439// SetServiceId sets the ServiceId field's value.
48440func (s *CreateVpcEndpointConnectionNotificationInput) SetServiceId(v string) *CreateVpcEndpointConnectionNotificationInput {
48441	s.ServiceId = &v
48442	return s
48443}
48444
48445// SetVpcEndpointId sets the VpcEndpointId field's value.
48446func (s *CreateVpcEndpointConnectionNotificationInput) SetVpcEndpointId(v string) *CreateVpcEndpointConnectionNotificationInput {
48447	s.VpcEndpointId = &v
48448	return s
48449}
48450
48451type CreateVpcEndpointConnectionNotificationOutput struct {
48452	_ struct{} `type:"structure"`
48453
48454	// Unique, case-sensitive identifier you provide to ensure the idempotency of
48455	// the request.
48456	ClientToken *string `locationName:"clientToken" type:"string"`
48457
48458	// Information about the notification.
48459	ConnectionNotification *ConnectionNotification `locationName:"connectionNotification" type:"structure"`
48460}
48461
48462// String returns the string representation
48463func (s CreateVpcEndpointConnectionNotificationOutput) String() string {
48464	return awsutil.Prettify(s)
48465}
48466
48467// GoString returns the string representation
48468func (s CreateVpcEndpointConnectionNotificationOutput) GoString() string {
48469	return s.String()
48470}
48471
48472// SetClientToken sets the ClientToken field's value.
48473func (s *CreateVpcEndpointConnectionNotificationOutput) SetClientToken(v string) *CreateVpcEndpointConnectionNotificationOutput {
48474	s.ClientToken = &v
48475	return s
48476}
48477
48478// SetConnectionNotification sets the ConnectionNotification field's value.
48479func (s *CreateVpcEndpointConnectionNotificationOutput) SetConnectionNotification(v *ConnectionNotification) *CreateVpcEndpointConnectionNotificationOutput {
48480	s.ConnectionNotification = v
48481	return s
48482}
48483
48484// Contains the parameters for CreateVpcEndpoint.
48485type CreateVpcEndpointInput struct {
48486	_ struct{} `type:"structure"`
48487
48488	// Unique, case-sensitive identifier you provide to ensure the idempotency of
48489	// the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
48490	ClientToken *string `type:"string"`
48491
48492	// Checks whether you have the required permissions for the action, without
48493	// actually making the request, and provides an error response. If you have
48494	// the required permissions, the error response is DryRunOperation. Otherwise,
48495	// it is UnauthorizedOperation.
48496	DryRun *bool `type:"boolean"`
48497
48498	// A policy to attach to the endpoint that controls access to the service. The
48499	// policy must be in valid JSON format. If this parameter is not specified,
48500	// we attach a default policy that allows full access to the service.
48501	PolicyDocument *string `type:"string"`
48502
48503	// (Interface endpoint) Indicate whether to associate a private hosted zone
48504	// with the specified VPC. The private hosted zone contains a record set for
48505	// the default public DNS name for the service for the Region (for example,
48506	// kinesis.us-east-1.amazonaws.com) which resolves to the private IP addresses
48507	// of the endpoint network interfaces in the VPC. This enables you to make requests
48508	// to the default public DNS name for the service instead of the public DNS
48509	// names that are automatically generated by the VPC endpoint service.
48510	//
48511	// To use a private hosted zone, you must set the following VPC attributes to
48512	// true: enableDnsHostnames and enableDnsSupport. Use ModifyVpcAttribute to
48513	// set the VPC attributes.
48514	//
48515	// Default: true
48516	PrivateDnsEnabled *bool `type:"boolean"`
48517
48518	// (Gateway endpoint) One or more route table IDs.
48519	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
48520
48521	// (Interface endpoint) The ID of one or more security groups to associate with
48522	// the endpoint network interface.
48523	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
48524
48525	// The service name. To get a list of available services, use the DescribeVpcEndpointServices
48526	// request, or get the name from the service provider.
48527	//
48528	// ServiceName is a required field
48529	ServiceName *string `type:"string" required:"true"`
48530
48531	// (Interface endpoint) The ID of one or more subnets in which to create an
48532	// endpoint network interface.
48533	SubnetIds []*string `locationName:"SubnetId" locationNameList:"item" type:"list"`
48534
48535	// The type of endpoint.
48536	//
48537	// Default: Gateway
48538	VpcEndpointType *string `type:"string" enum:"VpcEndpointType"`
48539
48540	// The ID of the VPC in which the endpoint will be used.
48541	//
48542	// VpcId is a required field
48543	VpcId *string `type:"string" required:"true"`
48544}
48545
48546// String returns the string representation
48547func (s CreateVpcEndpointInput) String() string {
48548	return awsutil.Prettify(s)
48549}
48550
48551// GoString returns the string representation
48552func (s CreateVpcEndpointInput) GoString() string {
48553	return s.String()
48554}
48555
48556// Validate inspects the fields of the type to determine if they are valid.
48557func (s *CreateVpcEndpointInput) Validate() error {
48558	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointInput"}
48559	if s.ServiceName == nil {
48560		invalidParams.Add(request.NewErrParamRequired("ServiceName"))
48561	}
48562	if s.VpcId == nil {
48563		invalidParams.Add(request.NewErrParamRequired("VpcId"))
48564	}
48565
48566	if invalidParams.Len() > 0 {
48567		return invalidParams
48568	}
48569	return nil
48570}
48571
48572// SetClientToken sets the ClientToken field's value.
48573func (s *CreateVpcEndpointInput) SetClientToken(v string) *CreateVpcEndpointInput {
48574	s.ClientToken = &v
48575	return s
48576}
48577
48578// SetDryRun sets the DryRun field's value.
48579func (s *CreateVpcEndpointInput) SetDryRun(v bool) *CreateVpcEndpointInput {
48580	s.DryRun = &v
48581	return s
48582}
48583
48584// SetPolicyDocument sets the PolicyDocument field's value.
48585func (s *CreateVpcEndpointInput) SetPolicyDocument(v string) *CreateVpcEndpointInput {
48586	s.PolicyDocument = &v
48587	return s
48588}
48589
48590// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
48591func (s *CreateVpcEndpointInput) SetPrivateDnsEnabled(v bool) *CreateVpcEndpointInput {
48592	s.PrivateDnsEnabled = &v
48593	return s
48594}
48595
48596// SetRouteTableIds sets the RouteTableIds field's value.
48597func (s *CreateVpcEndpointInput) SetRouteTableIds(v []*string) *CreateVpcEndpointInput {
48598	s.RouteTableIds = v
48599	return s
48600}
48601
48602// SetSecurityGroupIds sets the SecurityGroupIds field's value.
48603func (s *CreateVpcEndpointInput) SetSecurityGroupIds(v []*string) *CreateVpcEndpointInput {
48604	s.SecurityGroupIds = v
48605	return s
48606}
48607
48608// SetServiceName sets the ServiceName field's value.
48609func (s *CreateVpcEndpointInput) SetServiceName(v string) *CreateVpcEndpointInput {
48610	s.ServiceName = &v
48611	return s
48612}
48613
48614// SetSubnetIds sets the SubnetIds field's value.
48615func (s *CreateVpcEndpointInput) SetSubnetIds(v []*string) *CreateVpcEndpointInput {
48616	s.SubnetIds = v
48617	return s
48618}
48619
48620// SetVpcEndpointType sets the VpcEndpointType field's value.
48621func (s *CreateVpcEndpointInput) SetVpcEndpointType(v string) *CreateVpcEndpointInput {
48622	s.VpcEndpointType = &v
48623	return s
48624}
48625
48626// SetVpcId sets the VpcId field's value.
48627func (s *CreateVpcEndpointInput) SetVpcId(v string) *CreateVpcEndpointInput {
48628	s.VpcId = &v
48629	return s
48630}
48631
48632// Contains the output of CreateVpcEndpoint.
48633type CreateVpcEndpointOutput struct {
48634	_ struct{} `type:"structure"`
48635
48636	// Unique, case-sensitive identifier you provide to ensure the idempotency of
48637	// the request.
48638	ClientToken *string `locationName:"clientToken" type:"string"`
48639
48640	// Information about the endpoint.
48641	VpcEndpoint *VpcEndpoint `locationName:"vpcEndpoint" type:"structure"`
48642}
48643
48644// String returns the string representation
48645func (s CreateVpcEndpointOutput) String() string {
48646	return awsutil.Prettify(s)
48647}
48648
48649// GoString returns the string representation
48650func (s CreateVpcEndpointOutput) GoString() string {
48651	return s.String()
48652}
48653
48654// SetClientToken sets the ClientToken field's value.
48655func (s *CreateVpcEndpointOutput) SetClientToken(v string) *CreateVpcEndpointOutput {
48656	s.ClientToken = &v
48657	return s
48658}
48659
48660// SetVpcEndpoint sets the VpcEndpoint field's value.
48661func (s *CreateVpcEndpointOutput) SetVpcEndpoint(v *VpcEndpoint) *CreateVpcEndpointOutput {
48662	s.VpcEndpoint = v
48663	return s
48664}
48665
48666type CreateVpcEndpointServiceConfigurationInput struct {
48667	_ struct{} `type:"structure"`
48668
48669	// Indicate whether requests from service consumers to create an endpoint to
48670	// your service must be accepted. To accept a request, use AcceptVpcEndpointConnections.
48671	AcceptanceRequired *bool `type:"boolean"`
48672
48673	// Unique, case-sensitive identifier you provide to ensure the idempotency of
48674	// the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html).
48675	ClientToken *string `type:"string"`
48676
48677	// Checks whether you have the required permissions for the action, without
48678	// actually making the request, and provides an error response. If you have
48679	// the required permissions, the error response is DryRunOperation. Otherwise,
48680	// it is UnauthorizedOperation.
48681	DryRun *bool `type:"boolean"`
48682
48683	// The Amazon Resource Names (ARNs) of one or more Network Load Balancers for
48684	// your service.
48685	//
48686	// NetworkLoadBalancerArns is a required field
48687	NetworkLoadBalancerArns []*string `locationName:"NetworkLoadBalancerArn" locationNameList:"item" type:"list" required:"true"`
48688}
48689
48690// String returns the string representation
48691func (s CreateVpcEndpointServiceConfigurationInput) String() string {
48692	return awsutil.Prettify(s)
48693}
48694
48695// GoString returns the string representation
48696func (s CreateVpcEndpointServiceConfigurationInput) GoString() string {
48697	return s.String()
48698}
48699
48700// Validate inspects the fields of the type to determine if they are valid.
48701func (s *CreateVpcEndpointServiceConfigurationInput) Validate() error {
48702	invalidParams := request.ErrInvalidParams{Context: "CreateVpcEndpointServiceConfigurationInput"}
48703	if s.NetworkLoadBalancerArns == nil {
48704		invalidParams.Add(request.NewErrParamRequired("NetworkLoadBalancerArns"))
48705	}
48706
48707	if invalidParams.Len() > 0 {
48708		return invalidParams
48709	}
48710	return nil
48711}
48712
48713// SetAcceptanceRequired sets the AcceptanceRequired field's value.
48714func (s *CreateVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *CreateVpcEndpointServiceConfigurationInput {
48715	s.AcceptanceRequired = &v
48716	return s
48717}
48718
48719// SetClientToken sets the ClientToken field's value.
48720func (s *CreateVpcEndpointServiceConfigurationInput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationInput {
48721	s.ClientToken = &v
48722	return s
48723}
48724
48725// SetDryRun sets the DryRun field's value.
48726func (s *CreateVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *CreateVpcEndpointServiceConfigurationInput {
48727	s.DryRun = &v
48728	return s
48729}
48730
48731// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
48732func (s *CreateVpcEndpointServiceConfigurationInput) SetNetworkLoadBalancerArns(v []*string) *CreateVpcEndpointServiceConfigurationInput {
48733	s.NetworkLoadBalancerArns = v
48734	return s
48735}
48736
48737type CreateVpcEndpointServiceConfigurationOutput struct {
48738	_ struct{} `type:"structure"`
48739
48740	// Unique, case-sensitive identifier you provide to ensure the idempotency of
48741	// the request.
48742	ClientToken *string `locationName:"clientToken" type:"string"`
48743
48744	// Information about the service configuration.
48745	ServiceConfiguration *ServiceConfiguration `locationName:"serviceConfiguration" type:"structure"`
48746}
48747
48748// String returns the string representation
48749func (s CreateVpcEndpointServiceConfigurationOutput) String() string {
48750	return awsutil.Prettify(s)
48751}
48752
48753// GoString returns the string representation
48754func (s CreateVpcEndpointServiceConfigurationOutput) GoString() string {
48755	return s.String()
48756}
48757
48758// SetClientToken sets the ClientToken field's value.
48759func (s *CreateVpcEndpointServiceConfigurationOutput) SetClientToken(v string) *CreateVpcEndpointServiceConfigurationOutput {
48760	s.ClientToken = &v
48761	return s
48762}
48763
48764// SetServiceConfiguration sets the ServiceConfiguration field's value.
48765func (s *CreateVpcEndpointServiceConfigurationOutput) SetServiceConfiguration(v *ServiceConfiguration) *CreateVpcEndpointServiceConfigurationOutput {
48766	s.ServiceConfiguration = v
48767	return s
48768}
48769
48770type CreateVpcInput struct {
48771	_ struct{} `type:"structure"`
48772
48773	// Requests an Amazon-provided IPv6 CIDR block with a /56 prefix length for
48774	// the VPC. You cannot specify the range of IP addresses, or the size of the
48775	// CIDR block.
48776	AmazonProvidedIpv6CidrBlock *bool `locationName:"amazonProvidedIpv6CidrBlock" type:"boolean"`
48777
48778	// The IPv4 network range for the VPC, in CIDR notation. For example, 10.0.0.0/16.
48779	//
48780	// CidrBlock is a required field
48781	CidrBlock *string `type:"string" required:"true"`
48782
48783	// Checks whether you have the required permissions for the action, without
48784	// actually making the request, and provides an error response. If you have
48785	// the required permissions, the error response is DryRunOperation. Otherwise,
48786	// it is UnauthorizedOperation.
48787	DryRun *bool `locationName:"dryRun" type:"boolean"`
48788
48789	// The tenancy options for instances launched into the VPC. For default, instances
48790	// are launched with shared tenancy by default. You can launch instances with
48791	// any tenancy into a shared tenancy VPC. For dedicated, instances are launched
48792	// as dedicated tenancy instances by default. You can only launch instances
48793	// with a tenancy of dedicated or host into a dedicated tenancy VPC.
48794	//
48795	// Important: The host value cannot be used with this parameter. Use the default
48796	// or dedicated values only.
48797	//
48798	// Default: default
48799	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
48800
48801	// The name of the location from which we advertise the IPV6 CIDR block. Use
48802	// this parameter to limit the address to this location.
48803	//
48804	// You must set AmazonProvidedIpv6CidrBlock to true to use this parameter.
48805	Ipv6CidrBlockNetworkBorderGroup *string `type:"string"`
48806}
48807
48808// String returns the string representation
48809func (s CreateVpcInput) String() string {
48810	return awsutil.Prettify(s)
48811}
48812
48813// GoString returns the string representation
48814func (s CreateVpcInput) GoString() string {
48815	return s.String()
48816}
48817
48818// Validate inspects the fields of the type to determine if they are valid.
48819func (s *CreateVpcInput) Validate() error {
48820	invalidParams := request.ErrInvalidParams{Context: "CreateVpcInput"}
48821	if s.CidrBlock == nil {
48822		invalidParams.Add(request.NewErrParamRequired("CidrBlock"))
48823	}
48824
48825	if invalidParams.Len() > 0 {
48826		return invalidParams
48827	}
48828	return nil
48829}
48830
48831// SetAmazonProvidedIpv6CidrBlock sets the AmazonProvidedIpv6CidrBlock field's value.
48832func (s *CreateVpcInput) SetAmazonProvidedIpv6CidrBlock(v bool) *CreateVpcInput {
48833	s.AmazonProvidedIpv6CidrBlock = &v
48834	return s
48835}
48836
48837// SetCidrBlock sets the CidrBlock field's value.
48838func (s *CreateVpcInput) SetCidrBlock(v string) *CreateVpcInput {
48839	s.CidrBlock = &v
48840	return s
48841}
48842
48843// SetDryRun sets the DryRun field's value.
48844func (s *CreateVpcInput) SetDryRun(v bool) *CreateVpcInput {
48845	s.DryRun = &v
48846	return s
48847}
48848
48849// SetInstanceTenancy sets the InstanceTenancy field's value.
48850func (s *CreateVpcInput) SetInstanceTenancy(v string) *CreateVpcInput {
48851	s.InstanceTenancy = &v
48852	return s
48853}
48854
48855// SetIpv6CidrBlockNetworkBorderGroup sets the Ipv6CidrBlockNetworkBorderGroup field's value.
48856func (s *CreateVpcInput) SetIpv6CidrBlockNetworkBorderGroup(v string) *CreateVpcInput {
48857	s.Ipv6CidrBlockNetworkBorderGroup = &v
48858	return s
48859}
48860
48861type CreateVpcOutput struct {
48862	_ struct{} `type:"structure"`
48863
48864	// Information about the VPC.
48865	Vpc *Vpc `locationName:"vpc" type:"structure"`
48866}
48867
48868// String returns the string representation
48869func (s CreateVpcOutput) String() string {
48870	return awsutil.Prettify(s)
48871}
48872
48873// GoString returns the string representation
48874func (s CreateVpcOutput) GoString() string {
48875	return s.String()
48876}
48877
48878// SetVpc sets the Vpc field's value.
48879func (s *CreateVpcOutput) SetVpc(v *Vpc) *CreateVpcOutput {
48880	s.Vpc = v
48881	return s
48882}
48883
48884type CreateVpcPeeringConnectionInput struct {
48885	_ struct{} `type:"structure"`
48886
48887	// Checks whether you have the required permissions for the action, without
48888	// actually making the request, and provides an error response. If you have
48889	// the required permissions, the error response is DryRunOperation. Otherwise,
48890	// it is UnauthorizedOperation.
48891	DryRun *bool `locationName:"dryRun" type:"boolean"`
48892
48893	// The AWS account ID of the owner of the accepter VPC.
48894	//
48895	// Default: Your AWS account ID
48896	PeerOwnerId *string `locationName:"peerOwnerId" type:"string"`
48897
48898	// The Region code for the accepter VPC, if the accepter VPC is located in a
48899	// Region other than the Region in which you make the request.
48900	//
48901	// Default: The Region in which you make the request.
48902	PeerRegion *string `type:"string"`
48903
48904	// The ID of the VPC with which you are creating the VPC peering connection.
48905	// You must specify this parameter in the request.
48906	PeerVpcId *string `locationName:"peerVpcId" type:"string"`
48907
48908	// The ID of the requester VPC. You must specify this parameter in the request.
48909	VpcId *string `locationName:"vpcId" type:"string"`
48910}
48911
48912// String returns the string representation
48913func (s CreateVpcPeeringConnectionInput) String() string {
48914	return awsutil.Prettify(s)
48915}
48916
48917// GoString returns the string representation
48918func (s CreateVpcPeeringConnectionInput) GoString() string {
48919	return s.String()
48920}
48921
48922// SetDryRun sets the DryRun field's value.
48923func (s *CreateVpcPeeringConnectionInput) SetDryRun(v bool) *CreateVpcPeeringConnectionInput {
48924	s.DryRun = &v
48925	return s
48926}
48927
48928// SetPeerOwnerId sets the PeerOwnerId field's value.
48929func (s *CreateVpcPeeringConnectionInput) SetPeerOwnerId(v string) *CreateVpcPeeringConnectionInput {
48930	s.PeerOwnerId = &v
48931	return s
48932}
48933
48934// SetPeerRegion sets the PeerRegion field's value.
48935func (s *CreateVpcPeeringConnectionInput) SetPeerRegion(v string) *CreateVpcPeeringConnectionInput {
48936	s.PeerRegion = &v
48937	return s
48938}
48939
48940// SetPeerVpcId sets the PeerVpcId field's value.
48941func (s *CreateVpcPeeringConnectionInput) SetPeerVpcId(v string) *CreateVpcPeeringConnectionInput {
48942	s.PeerVpcId = &v
48943	return s
48944}
48945
48946// SetVpcId sets the VpcId field's value.
48947func (s *CreateVpcPeeringConnectionInput) SetVpcId(v string) *CreateVpcPeeringConnectionInput {
48948	s.VpcId = &v
48949	return s
48950}
48951
48952type CreateVpcPeeringConnectionOutput struct {
48953	_ struct{} `type:"structure"`
48954
48955	// Information about the VPC peering connection.
48956	VpcPeeringConnection *VpcPeeringConnection `locationName:"vpcPeeringConnection" type:"structure"`
48957}
48958
48959// String returns the string representation
48960func (s CreateVpcPeeringConnectionOutput) String() string {
48961	return awsutil.Prettify(s)
48962}
48963
48964// GoString returns the string representation
48965func (s CreateVpcPeeringConnectionOutput) GoString() string {
48966	return s.String()
48967}
48968
48969// SetVpcPeeringConnection sets the VpcPeeringConnection field's value.
48970func (s *CreateVpcPeeringConnectionOutput) SetVpcPeeringConnection(v *VpcPeeringConnection) *CreateVpcPeeringConnectionOutput {
48971	s.VpcPeeringConnection = v
48972	return s
48973}
48974
48975// Contains the parameters for CreateVpnConnection.
48976type CreateVpnConnectionInput struct {
48977	_ struct{} `type:"structure"`
48978
48979	// The ID of the customer gateway.
48980	//
48981	// CustomerGatewayId is a required field
48982	CustomerGatewayId *string `type:"string" required:"true"`
48983
48984	// Checks whether you have the required permissions for the action, without
48985	// actually making the request, and provides an error response. If you have
48986	// the required permissions, the error response is DryRunOperation. Otherwise,
48987	// it is UnauthorizedOperation.
48988	DryRun *bool `locationName:"dryRun" type:"boolean"`
48989
48990	// The options for the VPN connection.
48991	Options *VpnConnectionOptionsSpecification `locationName:"options" type:"structure"`
48992
48993	// The ID of the transit gateway. If you specify a transit gateway, you cannot
48994	// specify a virtual private gateway.
48995	TransitGatewayId *string `type:"string"`
48996
48997	// The type of VPN connection (ipsec.1).
48998	//
48999	// Type is a required field
49000	Type *string `type:"string" required:"true"`
49001
49002	// The ID of the virtual private gateway. If you specify a virtual private gateway,
49003	// you cannot specify a transit gateway.
49004	VpnGatewayId *string `type:"string"`
49005}
49006
49007// String returns the string representation
49008func (s CreateVpnConnectionInput) String() string {
49009	return awsutil.Prettify(s)
49010}
49011
49012// GoString returns the string representation
49013func (s CreateVpnConnectionInput) GoString() string {
49014	return s.String()
49015}
49016
49017// Validate inspects the fields of the type to determine if they are valid.
49018func (s *CreateVpnConnectionInput) Validate() error {
49019	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionInput"}
49020	if s.CustomerGatewayId == nil {
49021		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
49022	}
49023	if s.Type == nil {
49024		invalidParams.Add(request.NewErrParamRequired("Type"))
49025	}
49026
49027	if invalidParams.Len() > 0 {
49028		return invalidParams
49029	}
49030	return nil
49031}
49032
49033// SetCustomerGatewayId sets the CustomerGatewayId field's value.
49034func (s *CreateVpnConnectionInput) SetCustomerGatewayId(v string) *CreateVpnConnectionInput {
49035	s.CustomerGatewayId = &v
49036	return s
49037}
49038
49039// SetDryRun sets the DryRun field's value.
49040func (s *CreateVpnConnectionInput) SetDryRun(v bool) *CreateVpnConnectionInput {
49041	s.DryRun = &v
49042	return s
49043}
49044
49045// SetOptions sets the Options field's value.
49046func (s *CreateVpnConnectionInput) SetOptions(v *VpnConnectionOptionsSpecification) *CreateVpnConnectionInput {
49047	s.Options = v
49048	return s
49049}
49050
49051// SetTransitGatewayId sets the TransitGatewayId field's value.
49052func (s *CreateVpnConnectionInput) SetTransitGatewayId(v string) *CreateVpnConnectionInput {
49053	s.TransitGatewayId = &v
49054	return s
49055}
49056
49057// SetType sets the Type field's value.
49058func (s *CreateVpnConnectionInput) SetType(v string) *CreateVpnConnectionInput {
49059	s.Type = &v
49060	return s
49061}
49062
49063// SetVpnGatewayId sets the VpnGatewayId field's value.
49064func (s *CreateVpnConnectionInput) SetVpnGatewayId(v string) *CreateVpnConnectionInput {
49065	s.VpnGatewayId = &v
49066	return s
49067}
49068
49069// Contains the output of CreateVpnConnection.
49070type CreateVpnConnectionOutput struct {
49071	_ struct{} `type:"structure"`
49072
49073	// Information about the VPN connection.
49074	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
49075}
49076
49077// String returns the string representation
49078func (s CreateVpnConnectionOutput) String() string {
49079	return awsutil.Prettify(s)
49080}
49081
49082// GoString returns the string representation
49083func (s CreateVpnConnectionOutput) GoString() string {
49084	return s.String()
49085}
49086
49087// SetVpnConnection sets the VpnConnection field's value.
49088func (s *CreateVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *CreateVpnConnectionOutput {
49089	s.VpnConnection = v
49090	return s
49091}
49092
49093// Contains the parameters for CreateVpnConnectionRoute.
49094type CreateVpnConnectionRouteInput struct {
49095	_ struct{} `type:"structure"`
49096
49097	// The CIDR block associated with the local subnet of the customer network.
49098	//
49099	// DestinationCidrBlock is a required field
49100	DestinationCidrBlock *string `type:"string" required:"true"`
49101
49102	// The ID of the VPN connection.
49103	//
49104	// VpnConnectionId is a required field
49105	VpnConnectionId *string `type:"string" required:"true"`
49106}
49107
49108// String returns the string representation
49109func (s CreateVpnConnectionRouteInput) String() string {
49110	return awsutil.Prettify(s)
49111}
49112
49113// GoString returns the string representation
49114func (s CreateVpnConnectionRouteInput) GoString() string {
49115	return s.String()
49116}
49117
49118// Validate inspects the fields of the type to determine if they are valid.
49119func (s *CreateVpnConnectionRouteInput) Validate() error {
49120	invalidParams := request.ErrInvalidParams{Context: "CreateVpnConnectionRouteInput"}
49121	if s.DestinationCidrBlock == nil {
49122		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
49123	}
49124	if s.VpnConnectionId == nil {
49125		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
49126	}
49127
49128	if invalidParams.Len() > 0 {
49129		return invalidParams
49130	}
49131	return nil
49132}
49133
49134// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
49135func (s *CreateVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *CreateVpnConnectionRouteInput {
49136	s.DestinationCidrBlock = &v
49137	return s
49138}
49139
49140// SetVpnConnectionId sets the VpnConnectionId field's value.
49141func (s *CreateVpnConnectionRouteInput) SetVpnConnectionId(v string) *CreateVpnConnectionRouteInput {
49142	s.VpnConnectionId = &v
49143	return s
49144}
49145
49146type CreateVpnConnectionRouteOutput struct {
49147	_ struct{} `type:"structure"`
49148}
49149
49150// String returns the string representation
49151func (s CreateVpnConnectionRouteOutput) String() string {
49152	return awsutil.Prettify(s)
49153}
49154
49155// GoString returns the string representation
49156func (s CreateVpnConnectionRouteOutput) GoString() string {
49157	return s.String()
49158}
49159
49160// Contains the parameters for CreateVpnGateway.
49161type CreateVpnGatewayInput struct {
49162	_ struct{} `type:"structure"`
49163
49164	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
49165	// If you're using a 16-bit ASN, it must be in the 64512 to 65534 range. If
49166	// you're using a 32-bit ASN, it must be in the 4200000000 to 4294967294 range.
49167	//
49168	// Default: 64512
49169	AmazonSideAsn *int64 `type:"long"`
49170
49171	// The Availability Zone for the virtual private gateway.
49172	AvailabilityZone *string `type:"string"`
49173
49174	// Checks whether you have the required permissions for the action, without
49175	// actually making the request, and provides an error response. If you have
49176	// the required permissions, the error response is DryRunOperation. Otherwise,
49177	// it is UnauthorizedOperation.
49178	DryRun *bool `locationName:"dryRun" type:"boolean"`
49179
49180	// The type of VPN connection this virtual private gateway supports.
49181	//
49182	// Type is a required field
49183	Type *string `type:"string" required:"true" enum:"GatewayType"`
49184}
49185
49186// String returns the string representation
49187func (s CreateVpnGatewayInput) String() string {
49188	return awsutil.Prettify(s)
49189}
49190
49191// GoString returns the string representation
49192func (s CreateVpnGatewayInput) GoString() string {
49193	return s.String()
49194}
49195
49196// Validate inspects the fields of the type to determine if they are valid.
49197func (s *CreateVpnGatewayInput) Validate() error {
49198	invalidParams := request.ErrInvalidParams{Context: "CreateVpnGatewayInput"}
49199	if s.Type == nil {
49200		invalidParams.Add(request.NewErrParamRequired("Type"))
49201	}
49202
49203	if invalidParams.Len() > 0 {
49204		return invalidParams
49205	}
49206	return nil
49207}
49208
49209// SetAmazonSideAsn sets the AmazonSideAsn field's value.
49210func (s *CreateVpnGatewayInput) SetAmazonSideAsn(v int64) *CreateVpnGatewayInput {
49211	s.AmazonSideAsn = &v
49212	return s
49213}
49214
49215// SetAvailabilityZone sets the AvailabilityZone field's value.
49216func (s *CreateVpnGatewayInput) SetAvailabilityZone(v string) *CreateVpnGatewayInput {
49217	s.AvailabilityZone = &v
49218	return s
49219}
49220
49221// SetDryRun sets the DryRun field's value.
49222func (s *CreateVpnGatewayInput) SetDryRun(v bool) *CreateVpnGatewayInput {
49223	s.DryRun = &v
49224	return s
49225}
49226
49227// SetType sets the Type field's value.
49228func (s *CreateVpnGatewayInput) SetType(v string) *CreateVpnGatewayInput {
49229	s.Type = &v
49230	return s
49231}
49232
49233// Contains the output of CreateVpnGateway.
49234type CreateVpnGatewayOutput struct {
49235	_ struct{} `type:"structure"`
49236
49237	// Information about the virtual private gateway.
49238	VpnGateway *VpnGateway `locationName:"vpnGateway" type:"structure"`
49239}
49240
49241// String returns the string representation
49242func (s CreateVpnGatewayOutput) String() string {
49243	return awsutil.Prettify(s)
49244}
49245
49246// GoString returns the string representation
49247func (s CreateVpnGatewayOutput) GoString() string {
49248	return s.String()
49249}
49250
49251// SetVpnGateway sets the VpnGateway field's value.
49252func (s *CreateVpnGatewayOutput) SetVpnGateway(v *VpnGateway) *CreateVpnGatewayOutput {
49253	s.VpnGateway = v
49254	return s
49255}
49256
49257// Describes the credit option for CPU usage of a T2 or T3 instance.
49258type CreditSpecification struct {
49259	_ struct{} `type:"structure"`
49260
49261	// The credit option for CPU usage of a T2 or T3 instance. Valid values are
49262	// standard and unlimited.
49263	CpuCredits *string `locationName:"cpuCredits" type:"string"`
49264}
49265
49266// String returns the string representation
49267func (s CreditSpecification) String() string {
49268	return awsutil.Prettify(s)
49269}
49270
49271// GoString returns the string representation
49272func (s CreditSpecification) GoString() string {
49273	return s.String()
49274}
49275
49276// SetCpuCredits sets the CpuCredits field's value.
49277func (s *CreditSpecification) SetCpuCredits(v string) *CreditSpecification {
49278	s.CpuCredits = &v
49279	return s
49280}
49281
49282// The credit option for CPU usage of a T2 or T3 instance.
49283type CreditSpecificationRequest struct {
49284	_ struct{} `type:"structure"`
49285
49286	// The credit option for CPU usage of a T2 or T3 instance. Valid values are
49287	// standard and unlimited.
49288	//
49289	// CpuCredits is a required field
49290	CpuCredits *string `type:"string" required:"true"`
49291}
49292
49293// String returns the string representation
49294func (s CreditSpecificationRequest) String() string {
49295	return awsutil.Prettify(s)
49296}
49297
49298// GoString returns the string representation
49299func (s CreditSpecificationRequest) GoString() string {
49300	return s.String()
49301}
49302
49303// Validate inspects the fields of the type to determine if they are valid.
49304func (s *CreditSpecificationRequest) Validate() error {
49305	invalidParams := request.ErrInvalidParams{Context: "CreditSpecificationRequest"}
49306	if s.CpuCredits == nil {
49307		invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
49308	}
49309
49310	if invalidParams.Len() > 0 {
49311		return invalidParams
49312	}
49313	return nil
49314}
49315
49316// SetCpuCredits sets the CpuCredits field's value.
49317func (s *CreditSpecificationRequest) SetCpuCredits(v string) *CreditSpecificationRequest {
49318	s.CpuCredits = &v
49319	return s
49320}
49321
49322// Describes a customer gateway.
49323type CustomerGateway struct {
49324	_ struct{} `type:"structure"`
49325
49326	// The customer gateway's Border Gateway Protocol (BGP) Autonomous System Number
49327	// (ASN).
49328	BgpAsn *string `locationName:"bgpAsn" type:"string"`
49329
49330	// The Amazon Resource Name (ARN) for the customer gateway certificate.
49331	CertificateArn *string `locationName:"certificateArn" type:"string"`
49332
49333	// The ID of the customer gateway.
49334	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
49335
49336	// The name of customer gateway device.
49337	DeviceName *string `locationName:"deviceName" type:"string"`
49338
49339	// The Internet-routable IP address of the customer gateway's outside interface.
49340	IpAddress *string `locationName:"ipAddress" type:"string"`
49341
49342	// The current state of the customer gateway (pending | available | deleting
49343	// | deleted).
49344	State *string `locationName:"state" type:"string"`
49345
49346	// Any tags assigned to the customer gateway.
49347	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
49348
49349	// The type of VPN connection the customer gateway supports (ipsec.1).
49350	Type *string `locationName:"type" type:"string"`
49351}
49352
49353// String returns the string representation
49354func (s CustomerGateway) String() string {
49355	return awsutil.Prettify(s)
49356}
49357
49358// GoString returns the string representation
49359func (s CustomerGateway) GoString() string {
49360	return s.String()
49361}
49362
49363// SetBgpAsn sets the BgpAsn field's value.
49364func (s *CustomerGateway) SetBgpAsn(v string) *CustomerGateway {
49365	s.BgpAsn = &v
49366	return s
49367}
49368
49369// SetCertificateArn sets the CertificateArn field's value.
49370func (s *CustomerGateway) SetCertificateArn(v string) *CustomerGateway {
49371	s.CertificateArn = &v
49372	return s
49373}
49374
49375// SetCustomerGatewayId sets the CustomerGatewayId field's value.
49376func (s *CustomerGateway) SetCustomerGatewayId(v string) *CustomerGateway {
49377	s.CustomerGatewayId = &v
49378	return s
49379}
49380
49381// SetDeviceName sets the DeviceName field's value.
49382func (s *CustomerGateway) SetDeviceName(v string) *CustomerGateway {
49383	s.DeviceName = &v
49384	return s
49385}
49386
49387// SetIpAddress sets the IpAddress field's value.
49388func (s *CustomerGateway) SetIpAddress(v string) *CustomerGateway {
49389	s.IpAddress = &v
49390	return s
49391}
49392
49393// SetState sets the State field's value.
49394func (s *CustomerGateway) SetState(v string) *CustomerGateway {
49395	s.State = &v
49396	return s
49397}
49398
49399// SetTags sets the Tags field's value.
49400func (s *CustomerGateway) SetTags(v []*Tag) *CustomerGateway {
49401	s.Tags = v
49402	return s
49403}
49404
49405// SetType sets the Type field's value.
49406func (s *CustomerGateway) SetType(v string) *CustomerGateway {
49407	s.Type = &v
49408	return s
49409}
49410
49411type DeleteClientVpnEndpointInput struct {
49412	_ struct{} `type:"structure"`
49413
49414	// The ID of the Client VPN to be deleted.
49415	//
49416	// ClientVpnEndpointId is a required field
49417	ClientVpnEndpointId *string `type:"string" required:"true"`
49418
49419	// Checks whether you have the required permissions for the action, without
49420	// actually making the request, and provides an error response. If you have
49421	// the required permissions, the error response is DryRunOperation. Otherwise,
49422	// it is UnauthorizedOperation.
49423	DryRun *bool `type:"boolean"`
49424}
49425
49426// String returns the string representation
49427func (s DeleteClientVpnEndpointInput) String() string {
49428	return awsutil.Prettify(s)
49429}
49430
49431// GoString returns the string representation
49432func (s DeleteClientVpnEndpointInput) GoString() string {
49433	return s.String()
49434}
49435
49436// Validate inspects the fields of the type to determine if they are valid.
49437func (s *DeleteClientVpnEndpointInput) Validate() error {
49438	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnEndpointInput"}
49439	if s.ClientVpnEndpointId == nil {
49440		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
49441	}
49442
49443	if invalidParams.Len() > 0 {
49444		return invalidParams
49445	}
49446	return nil
49447}
49448
49449// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
49450func (s *DeleteClientVpnEndpointInput) SetClientVpnEndpointId(v string) *DeleteClientVpnEndpointInput {
49451	s.ClientVpnEndpointId = &v
49452	return s
49453}
49454
49455// SetDryRun sets the DryRun field's value.
49456func (s *DeleteClientVpnEndpointInput) SetDryRun(v bool) *DeleteClientVpnEndpointInput {
49457	s.DryRun = &v
49458	return s
49459}
49460
49461type DeleteClientVpnEndpointOutput struct {
49462	_ struct{} `type:"structure"`
49463
49464	// The current state of the Client VPN endpoint.
49465	Status *ClientVpnEndpointStatus `locationName:"status" type:"structure"`
49466}
49467
49468// String returns the string representation
49469func (s DeleteClientVpnEndpointOutput) String() string {
49470	return awsutil.Prettify(s)
49471}
49472
49473// GoString returns the string representation
49474func (s DeleteClientVpnEndpointOutput) GoString() string {
49475	return s.String()
49476}
49477
49478// SetStatus sets the Status field's value.
49479func (s *DeleteClientVpnEndpointOutput) SetStatus(v *ClientVpnEndpointStatus) *DeleteClientVpnEndpointOutput {
49480	s.Status = v
49481	return s
49482}
49483
49484type DeleteClientVpnRouteInput struct {
49485	_ struct{} `type:"structure"`
49486
49487	// The ID of the Client VPN endpoint from which the route is to be deleted.
49488	//
49489	// ClientVpnEndpointId is a required field
49490	ClientVpnEndpointId *string `type:"string" required:"true"`
49491
49492	// The IPv4 address range, in CIDR notation, of the route to be deleted.
49493	//
49494	// DestinationCidrBlock is a required field
49495	DestinationCidrBlock *string `type:"string" required:"true"`
49496
49497	// Checks whether you have the required permissions for the action, without
49498	// actually making the request, and provides an error response. If you have
49499	// the required permissions, the error response is DryRunOperation. Otherwise,
49500	// it is UnauthorizedOperation.
49501	DryRun *bool `type:"boolean"`
49502
49503	// The ID of the target subnet used by the route.
49504	TargetVpcSubnetId *string `type:"string"`
49505}
49506
49507// String returns the string representation
49508func (s DeleteClientVpnRouteInput) String() string {
49509	return awsutil.Prettify(s)
49510}
49511
49512// GoString returns the string representation
49513func (s DeleteClientVpnRouteInput) GoString() string {
49514	return s.String()
49515}
49516
49517// Validate inspects the fields of the type to determine if they are valid.
49518func (s *DeleteClientVpnRouteInput) Validate() error {
49519	invalidParams := request.ErrInvalidParams{Context: "DeleteClientVpnRouteInput"}
49520	if s.ClientVpnEndpointId == nil {
49521		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
49522	}
49523	if s.DestinationCidrBlock == nil {
49524		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
49525	}
49526
49527	if invalidParams.Len() > 0 {
49528		return invalidParams
49529	}
49530	return nil
49531}
49532
49533// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
49534func (s *DeleteClientVpnRouteInput) SetClientVpnEndpointId(v string) *DeleteClientVpnRouteInput {
49535	s.ClientVpnEndpointId = &v
49536	return s
49537}
49538
49539// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
49540func (s *DeleteClientVpnRouteInput) SetDestinationCidrBlock(v string) *DeleteClientVpnRouteInput {
49541	s.DestinationCidrBlock = &v
49542	return s
49543}
49544
49545// SetDryRun sets the DryRun field's value.
49546func (s *DeleteClientVpnRouteInput) SetDryRun(v bool) *DeleteClientVpnRouteInput {
49547	s.DryRun = &v
49548	return s
49549}
49550
49551// SetTargetVpcSubnetId sets the TargetVpcSubnetId field's value.
49552func (s *DeleteClientVpnRouteInput) SetTargetVpcSubnetId(v string) *DeleteClientVpnRouteInput {
49553	s.TargetVpcSubnetId = &v
49554	return s
49555}
49556
49557type DeleteClientVpnRouteOutput struct {
49558	_ struct{} `type:"structure"`
49559
49560	// The current state of the route.
49561	Status *ClientVpnRouteStatus `locationName:"status" type:"structure"`
49562}
49563
49564// String returns the string representation
49565func (s DeleteClientVpnRouteOutput) String() string {
49566	return awsutil.Prettify(s)
49567}
49568
49569// GoString returns the string representation
49570func (s DeleteClientVpnRouteOutput) GoString() string {
49571	return s.String()
49572}
49573
49574// SetStatus sets the Status field's value.
49575func (s *DeleteClientVpnRouteOutput) SetStatus(v *ClientVpnRouteStatus) *DeleteClientVpnRouteOutput {
49576	s.Status = v
49577	return s
49578}
49579
49580// Contains the parameters for DeleteCustomerGateway.
49581type DeleteCustomerGatewayInput struct {
49582	_ struct{} `type:"structure"`
49583
49584	// The ID of the customer gateway.
49585	//
49586	// CustomerGatewayId is a required field
49587	CustomerGatewayId *string `type:"string" required:"true"`
49588
49589	// Checks whether you have the required permissions for the action, without
49590	// actually making the request, and provides an error response. If you have
49591	// the required permissions, the error response is DryRunOperation. Otherwise,
49592	// it is UnauthorizedOperation.
49593	DryRun *bool `locationName:"dryRun" type:"boolean"`
49594}
49595
49596// String returns the string representation
49597func (s DeleteCustomerGatewayInput) String() string {
49598	return awsutil.Prettify(s)
49599}
49600
49601// GoString returns the string representation
49602func (s DeleteCustomerGatewayInput) GoString() string {
49603	return s.String()
49604}
49605
49606// Validate inspects the fields of the type to determine if they are valid.
49607func (s *DeleteCustomerGatewayInput) Validate() error {
49608	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomerGatewayInput"}
49609	if s.CustomerGatewayId == nil {
49610		invalidParams.Add(request.NewErrParamRequired("CustomerGatewayId"))
49611	}
49612
49613	if invalidParams.Len() > 0 {
49614		return invalidParams
49615	}
49616	return nil
49617}
49618
49619// SetCustomerGatewayId sets the CustomerGatewayId field's value.
49620func (s *DeleteCustomerGatewayInput) SetCustomerGatewayId(v string) *DeleteCustomerGatewayInput {
49621	s.CustomerGatewayId = &v
49622	return s
49623}
49624
49625// SetDryRun sets the DryRun field's value.
49626func (s *DeleteCustomerGatewayInput) SetDryRun(v bool) *DeleteCustomerGatewayInput {
49627	s.DryRun = &v
49628	return s
49629}
49630
49631type DeleteCustomerGatewayOutput struct {
49632	_ struct{} `type:"structure"`
49633}
49634
49635// String returns the string representation
49636func (s DeleteCustomerGatewayOutput) String() string {
49637	return awsutil.Prettify(s)
49638}
49639
49640// GoString returns the string representation
49641func (s DeleteCustomerGatewayOutput) GoString() string {
49642	return s.String()
49643}
49644
49645type DeleteDhcpOptionsInput struct {
49646	_ struct{} `type:"structure"`
49647
49648	// The ID of the DHCP options set.
49649	//
49650	// DhcpOptionsId is a required field
49651	DhcpOptionsId *string `type:"string" required:"true"`
49652
49653	// Checks whether you have the required permissions for the action, without
49654	// actually making the request, and provides an error response. If you have
49655	// the required permissions, the error response is DryRunOperation. Otherwise,
49656	// it is UnauthorizedOperation.
49657	DryRun *bool `locationName:"dryRun" type:"boolean"`
49658}
49659
49660// String returns the string representation
49661func (s DeleteDhcpOptionsInput) String() string {
49662	return awsutil.Prettify(s)
49663}
49664
49665// GoString returns the string representation
49666func (s DeleteDhcpOptionsInput) GoString() string {
49667	return s.String()
49668}
49669
49670// Validate inspects the fields of the type to determine if they are valid.
49671func (s *DeleteDhcpOptionsInput) Validate() error {
49672	invalidParams := request.ErrInvalidParams{Context: "DeleteDhcpOptionsInput"}
49673	if s.DhcpOptionsId == nil {
49674		invalidParams.Add(request.NewErrParamRequired("DhcpOptionsId"))
49675	}
49676
49677	if invalidParams.Len() > 0 {
49678		return invalidParams
49679	}
49680	return nil
49681}
49682
49683// SetDhcpOptionsId sets the DhcpOptionsId field's value.
49684func (s *DeleteDhcpOptionsInput) SetDhcpOptionsId(v string) *DeleteDhcpOptionsInput {
49685	s.DhcpOptionsId = &v
49686	return s
49687}
49688
49689// SetDryRun sets the DryRun field's value.
49690func (s *DeleteDhcpOptionsInput) SetDryRun(v bool) *DeleteDhcpOptionsInput {
49691	s.DryRun = &v
49692	return s
49693}
49694
49695type DeleteDhcpOptionsOutput struct {
49696	_ struct{} `type:"structure"`
49697}
49698
49699// String returns the string representation
49700func (s DeleteDhcpOptionsOutput) String() string {
49701	return awsutil.Prettify(s)
49702}
49703
49704// GoString returns the string representation
49705func (s DeleteDhcpOptionsOutput) GoString() string {
49706	return s.String()
49707}
49708
49709type DeleteEgressOnlyInternetGatewayInput struct {
49710	_ struct{} `type:"structure"`
49711
49712	// Checks whether you have the required permissions for the action, without
49713	// actually making the request, and provides an error response. If you have
49714	// the required permissions, the error response is DryRunOperation. Otherwise,
49715	// it is UnauthorizedOperation.
49716	DryRun *bool `type:"boolean"`
49717
49718	// The ID of the egress-only internet gateway.
49719	//
49720	// EgressOnlyInternetGatewayId is a required field
49721	EgressOnlyInternetGatewayId *string `type:"string" required:"true"`
49722}
49723
49724// String returns the string representation
49725func (s DeleteEgressOnlyInternetGatewayInput) String() string {
49726	return awsutil.Prettify(s)
49727}
49728
49729// GoString returns the string representation
49730func (s DeleteEgressOnlyInternetGatewayInput) GoString() string {
49731	return s.String()
49732}
49733
49734// Validate inspects the fields of the type to determine if they are valid.
49735func (s *DeleteEgressOnlyInternetGatewayInput) Validate() error {
49736	invalidParams := request.ErrInvalidParams{Context: "DeleteEgressOnlyInternetGatewayInput"}
49737	if s.EgressOnlyInternetGatewayId == nil {
49738		invalidParams.Add(request.NewErrParamRequired("EgressOnlyInternetGatewayId"))
49739	}
49740
49741	if invalidParams.Len() > 0 {
49742		return invalidParams
49743	}
49744	return nil
49745}
49746
49747// SetDryRun sets the DryRun field's value.
49748func (s *DeleteEgressOnlyInternetGatewayInput) SetDryRun(v bool) *DeleteEgressOnlyInternetGatewayInput {
49749	s.DryRun = &v
49750	return s
49751}
49752
49753// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
49754func (s *DeleteEgressOnlyInternetGatewayInput) SetEgressOnlyInternetGatewayId(v string) *DeleteEgressOnlyInternetGatewayInput {
49755	s.EgressOnlyInternetGatewayId = &v
49756	return s
49757}
49758
49759type DeleteEgressOnlyInternetGatewayOutput struct {
49760	_ struct{} `type:"structure"`
49761
49762	// Returns true if the request succeeds; otherwise, it returns an error.
49763	ReturnCode *bool `locationName:"returnCode" type:"boolean"`
49764}
49765
49766// String returns the string representation
49767func (s DeleteEgressOnlyInternetGatewayOutput) String() string {
49768	return awsutil.Prettify(s)
49769}
49770
49771// GoString returns the string representation
49772func (s DeleteEgressOnlyInternetGatewayOutput) GoString() string {
49773	return s.String()
49774}
49775
49776// SetReturnCode sets the ReturnCode field's value.
49777func (s *DeleteEgressOnlyInternetGatewayOutput) SetReturnCode(v bool) *DeleteEgressOnlyInternetGatewayOutput {
49778	s.ReturnCode = &v
49779	return s
49780}
49781
49782// Describes an EC2 Fleet error.
49783type DeleteFleetError struct {
49784	_ struct{} `type:"structure"`
49785
49786	// The error code.
49787	Code *string `locationName:"code" type:"string" enum:"DeleteFleetErrorCode"`
49788
49789	// The description for the error code.
49790	Message *string `locationName:"message" type:"string"`
49791}
49792
49793// String returns the string representation
49794func (s DeleteFleetError) String() string {
49795	return awsutil.Prettify(s)
49796}
49797
49798// GoString returns the string representation
49799func (s DeleteFleetError) GoString() string {
49800	return s.String()
49801}
49802
49803// SetCode sets the Code field's value.
49804func (s *DeleteFleetError) SetCode(v string) *DeleteFleetError {
49805	s.Code = &v
49806	return s
49807}
49808
49809// SetMessage sets the Message field's value.
49810func (s *DeleteFleetError) SetMessage(v string) *DeleteFleetError {
49811	s.Message = &v
49812	return s
49813}
49814
49815// Describes an EC2 Fleet that was not successfully deleted.
49816type DeleteFleetErrorItem struct {
49817	_ struct{} `type:"structure"`
49818
49819	// The error.
49820	Error *DeleteFleetError `locationName:"error" type:"structure"`
49821
49822	// The ID of the EC2 Fleet.
49823	FleetId *string `locationName:"fleetId" type:"string"`
49824}
49825
49826// String returns the string representation
49827func (s DeleteFleetErrorItem) String() string {
49828	return awsutil.Prettify(s)
49829}
49830
49831// GoString returns the string representation
49832func (s DeleteFleetErrorItem) GoString() string {
49833	return s.String()
49834}
49835
49836// SetError sets the Error field's value.
49837func (s *DeleteFleetErrorItem) SetError(v *DeleteFleetError) *DeleteFleetErrorItem {
49838	s.Error = v
49839	return s
49840}
49841
49842// SetFleetId sets the FleetId field's value.
49843func (s *DeleteFleetErrorItem) SetFleetId(v string) *DeleteFleetErrorItem {
49844	s.FleetId = &v
49845	return s
49846}
49847
49848// Describes an EC2 Fleet that was successfully deleted.
49849type DeleteFleetSuccessItem struct {
49850	_ struct{} `type:"structure"`
49851
49852	// The current state of the EC2 Fleet.
49853	CurrentFleetState *string `locationName:"currentFleetState" type:"string" enum:"FleetStateCode"`
49854
49855	// The ID of the EC2 Fleet.
49856	FleetId *string `locationName:"fleetId" type:"string"`
49857
49858	// The previous state of the EC2 Fleet.
49859	PreviousFleetState *string `locationName:"previousFleetState" type:"string" enum:"FleetStateCode"`
49860}
49861
49862// String returns the string representation
49863func (s DeleteFleetSuccessItem) String() string {
49864	return awsutil.Prettify(s)
49865}
49866
49867// GoString returns the string representation
49868func (s DeleteFleetSuccessItem) GoString() string {
49869	return s.String()
49870}
49871
49872// SetCurrentFleetState sets the CurrentFleetState field's value.
49873func (s *DeleteFleetSuccessItem) SetCurrentFleetState(v string) *DeleteFleetSuccessItem {
49874	s.CurrentFleetState = &v
49875	return s
49876}
49877
49878// SetFleetId sets the FleetId field's value.
49879func (s *DeleteFleetSuccessItem) SetFleetId(v string) *DeleteFleetSuccessItem {
49880	s.FleetId = &v
49881	return s
49882}
49883
49884// SetPreviousFleetState sets the PreviousFleetState field's value.
49885func (s *DeleteFleetSuccessItem) SetPreviousFleetState(v string) *DeleteFleetSuccessItem {
49886	s.PreviousFleetState = &v
49887	return s
49888}
49889
49890type DeleteFleetsInput struct {
49891	_ struct{} `type:"structure"`
49892
49893	// Checks whether you have the required permissions for the action, without
49894	// actually making the request, and provides an error response. If you have
49895	// the required permissions, the error response is DryRunOperation. Otherwise,
49896	// it is UnauthorizedOperation.
49897	DryRun *bool `type:"boolean"`
49898
49899	// The IDs of the EC2 Fleets.
49900	//
49901	// FleetIds is a required field
49902	FleetIds []*string `locationName:"FleetId" type:"list" required:"true"`
49903
49904	// Indicates whether to terminate instances for an EC2 Fleet if it is deleted
49905	// successfully.
49906	//
49907	// TerminateInstances is a required field
49908	TerminateInstances *bool `type:"boolean" required:"true"`
49909}
49910
49911// String returns the string representation
49912func (s DeleteFleetsInput) String() string {
49913	return awsutil.Prettify(s)
49914}
49915
49916// GoString returns the string representation
49917func (s DeleteFleetsInput) GoString() string {
49918	return s.String()
49919}
49920
49921// Validate inspects the fields of the type to determine if they are valid.
49922func (s *DeleteFleetsInput) Validate() error {
49923	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetsInput"}
49924	if s.FleetIds == nil {
49925		invalidParams.Add(request.NewErrParamRequired("FleetIds"))
49926	}
49927	if s.TerminateInstances == nil {
49928		invalidParams.Add(request.NewErrParamRequired("TerminateInstances"))
49929	}
49930
49931	if invalidParams.Len() > 0 {
49932		return invalidParams
49933	}
49934	return nil
49935}
49936
49937// SetDryRun sets the DryRun field's value.
49938func (s *DeleteFleetsInput) SetDryRun(v bool) *DeleteFleetsInput {
49939	s.DryRun = &v
49940	return s
49941}
49942
49943// SetFleetIds sets the FleetIds field's value.
49944func (s *DeleteFleetsInput) SetFleetIds(v []*string) *DeleteFleetsInput {
49945	s.FleetIds = v
49946	return s
49947}
49948
49949// SetTerminateInstances sets the TerminateInstances field's value.
49950func (s *DeleteFleetsInput) SetTerminateInstances(v bool) *DeleteFleetsInput {
49951	s.TerminateInstances = &v
49952	return s
49953}
49954
49955type DeleteFleetsOutput struct {
49956	_ struct{} `type:"structure"`
49957
49958	// Information about the EC2 Fleets that are successfully deleted.
49959	SuccessfulFleetDeletions []*DeleteFleetSuccessItem `locationName:"successfulFleetDeletionSet" locationNameList:"item" type:"list"`
49960
49961	// Information about the EC2 Fleets that are not successfully deleted.
49962	UnsuccessfulFleetDeletions []*DeleteFleetErrorItem `locationName:"unsuccessfulFleetDeletionSet" locationNameList:"item" type:"list"`
49963}
49964
49965// String returns the string representation
49966func (s DeleteFleetsOutput) String() string {
49967	return awsutil.Prettify(s)
49968}
49969
49970// GoString returns the string representation
49971func (s DeleteFleetsOutput) GoString() string {
49972	return s.String()
49973}
49974
49975// SetSuccessfulFleetDeletions sets the SuccessfulFleetDeletions field's value.
49976func (s *DeleteFleetsOutput) SetSuccessfulFleetDeletions(v []*DeleteFleetSuccessItem) *DeleteFleetsOutput {
49977	s.SuccessfulFleetDeletions = v
49978	return s
49979}
49980
49981// SetUnsuccessfulFleetDeletions sets the UnsuccessfulFleetDeletions field's value.
49982func (s *DeleteFleetsOutput) SetUnsuccessfulFleetDeletions(v []*DeleteFleetErrorItem) *DeleteFleetsOutput {
49983	s.UnsuccessfulFleetDeletions = v
49984	return s
49985}
49986
49987type DeleteFlowLogsInput struct {
49988	_ struct{} `type:"structure"`
49989
49990	// Checks whether you have the required permissions for the action, without
49991	// actually making the request, and provides an error response. If you have
49992	// the required permissions, the error response is DryRunOperation. Otherwise,
49993	// it is UnauthorizedOperation.
49994	DryRun *bool `type:"boolean"`
49995
49996	// One or more flow log IDs.
49997	//
49998	// Constraint: Maximum of 1000 flow log IDs.
49999	//
50000	// FlowLogIds is a required field
50001	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list" required:"true"`
50002}
50003
50004// String returns the string representation
50005func (s DeleteFlowLogsInput) String() string {
50006	return awsutil.Prettify(s)
50007}
50008
50009// GoString returns the string representation
50010func (s DeleteFlowLogsInput) GoString() string {
50011	return s.String()
50012}
50013
50014// Validate inspects the fields of the type to determine if they are valid.
50015func (s *DeleteFlowLogsInput) Validate() error {
50016	invalidParams := request.ErrInvalidParams{Context: "DeleteFlowLogsInput"}
50017	if s.FlowLogIds == nil {
50018		invalidParams.Add(request.NewErrParamRequired("FlowLogIds"))
50019	}
50020
50021	if invalidParams.Len() > 0 {
50022		return invalidParams
50023	}
50024	return nil
50025}
50026
50027// SetDryRun sets the DryRun field's value.
50028func (s *DeleteFlowLogsInput) SetDryRun(v bool) *DeleteFlowLogsInput {
50029	s.DryRun = &v
50030	return s
50031}
50032
50033// SetFlowLogIds sets the FlowLogIds field's value.
50034func (s *DeleteFlowLogsInput) SetFlowLogIds(v []*string) *DeleteFlowLogsInput {
50035	s.FlowLogIds = v
50036	return s
50037}
50038
50039type DeleteFlowLogsOutput struct {
50040	_ struct{} `type:"structure"`
50041
50042	// Information about the flow logs that could not be deleted successfully.
50043	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
50044}
50045
50046// String returns the string representation
50047func (s DeleteFlowLogsOutput) String() string {
50048	return awsutil.Prettify(s)
50049}
50050
50051// GoString returns the string representation
50052func (s DeleteFlowLogsOutput) GoString() string {
50053	return s.String()
50054}
50055
50056// SetUnsuccessful sets the Unsuccessful field's value.
50057func (s *DeleteFlowLogsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteFlowLogsOutput {
50058	s.Unsuccessful = v
50059	return s
50060}
50061
50062type DeleteFpgaImageInput struct {
50063	_ struct{} `type:"structure"`
50064
50065	// Checks whether you have the required permissions for the action, without
50066	// actually making the request, and provides an error response. If you have
50067	// the required permissions, the error response is DryRunOperation. Otherwise,
50068	// it is UnauthorizedOperation.
50069	DryRun *bool `type:"boolean"`
50070
50071	// The ID of the AFI.
50072	//
50073	// FpgaImageId is a required field
50074	FpgaImageId *string `type:"string" required:"true"`
50075}
50076
50077// String returns the string representation
50078func (s DeleteFpgaImageInput) String() string {
50079	return awsutil.Prettify(s)
50080}
50081
50082// GoString returns the string representation
50083func (s DeleteFpgaImageInput) GoString() string {
50084	return s.String()
50085}
50086
50087// Validate inspects the fields of the type to determine if they are valid.
50088func (s *DeleteFpgaImageInput) Validate() error {
50089	invalidParams := request.ErrInvalidParams{Context: "DeleteFpgaImageInput"}
50090	if s.FpgaImageId == nil {
50091		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
50092	}
50093
50094	if invalidParams.Len() > 0 {
50095		return invalidParams
50096	}
50097	return nil
50098}
50099
50100// SetDryRun sets the DryRun field's value.
50101func (s *DeleteFpgaImageInput) SetDryRun(v bool) *DeleteFpgaImageInput {
50102	s.DryRun = &v
50103	return s
50104}
50105
50106// SetFpgaImageId sets the FpgaImageId field's value.
50107func (s *DeleteFpgaImageInput) SetFpgaImageId(v string) *DeleteFpgaImageInput {
50108	s.FpgaImageId = &v
50109	return s
50110}
50111
50112type DeleteFpgaImageOutput struct {
50113	_ struct{} `type:"structure"`
50114
50115	// Is true if the request succeeds, and an error otherwise.
50116	Return *bool `locationName:"return" type:"boolean"`
50117}
50118
50119// String returns the string representation
50120func (s DeleteFpgaImageOutput) String() string {
50121	return awsutil.Prettify(s)
50122}
50123
50124// GoString returns the string representation
50125func (s DeleteFpgaImageOutput) GoString() string {
50126	return s.String()
50127}
50128
50129// SetReturn sets the Return field's value.
50130func (s *DeleteFpgaImageOutput) SetReturn(v bool) *DeleteFpgaImageOutput {
50131	s.Return = &v
50132	return s
50133}
50134
50135type DeleteInternetGatewayInput struct {
50136	_ struct{} `type:"structure"`
50137
50138	// Checks whether you have the required permissions for the action, without
50139	// actually making the request, and provides an error response. If you have
50140	// the required permissions, the error response is DryRunOperation. Otherwise,
50141	// it is UnauthorizedOperation.
50142	DryRun *bool `locationName:"dryRun" type:"boolean"`
50143
50144	// The ID of the internet gateway.
50145	//
50146	// InternetGatewayId is a required field
50147	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
50148}
50149
50150// String returns the string representation
50151func (s DeleteInternetGatewayInput) String() string {
50152	return awsutil.Prettify(s)
50153}
50154
50155// GoString returns the string representation
50156func (s DeleteInternetGatewayInput) GoString() string {
50157	return s.String()
50158}
50159
50160// Validate inspects the fields of the type to determine if they are valid.
50161func (s *DeleteInternetGatewayInput) Validate() error {
50162	invalidParams := request.ErrInvalidParams{Context: "DeleteInternetGatewayInput"}
50163	if s.InternetGatewayId == nil {
50164		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
50165	}
50166
50167	if invalidParams.Len() > 0 {
50168		return invalidParams
50169	}
50170	return nil
50171}
50172
50173// SetDryRun sets the DryRun field's value.
50174func (s *DeleteInternetGatewayInput) SetDryRun(v bool) *DeleteInternetGatewayInput {
50175	s.DryRun = &v
50176	return s
50177}
50178
50179// SetInternetGatewayId sets the InternetGatewayId field's value.
50180func (s *DeleteInternetGatewayInput) SetInternetGatewayId(v string) *DeleteInternetGatewayInput {
50181	s.InternetGatewayId = &v
50182	return s
50183}
50184
50185type DeleteInternetGatewayOutput struct {
50186	_ struct{} `type:"structure"`
50187}
50188
50189// String returns the string representation
50190func (s DeleteInternetGatewayOutput) String() string {
50191	return awsutil.Prettify(s)
50192}
50193
50194// GoString returns the string representation
50195func (s DeleteInternetGatewayOutput) GoString() string {
50196	return s.String()
50197}
50198
50199type DeleteKeyPairInput struct {
50200	_ struct{} `type:"structure"`
50201
50202	// Checks whether you have the required permissions for the action, without
50203	// actually making the request, and provides an error response. If you have
50204	// the required permissions, the error response is DryRunOperation. Otherwise,
50205	// it is UnauthorizedOperation.
50206	DryRun *bool `locationName:"dryRun" type:"boolean"`
50207
50208	// The name of the key pair.
50209	//
50210	// KeyName is a required field
50211	KeyName *string `type:"string" required:"true"`
50212}
50213
50214// String returns the string representation
50215func (s DeleteKeyPairInput) String() string {
50216	return awsutil.Prettify(s)
50217}
50218
50219// GoString returns the string representation
50220func (s DeleteKeyPairInput) GoString() string {
50221	return s.String()
50222}
50223
50224// Validate inspects the fields of the type to determine if they are valid.
50225func (s *DeleteKeyPairInput) Validate() error {
50226	invalidParams := request.ErrInvalidParams{Context: "DeleteKeyPairInput"}
50227	if s.KeyName == nil {
50228		invalidParams.Add(request.NewErrParamRequired("KeyName"))
50229	}
50230
50231	if invalidParams.Len() > 0 {
50232		return invalidParams
50233	}
50234	return nil
50235}
50236
50237// SetDryRun sets the DryRun field's value.
50238func (s *DeleteKeyPairInput) SetDryRun(v bool) *DeleteKeyPairInput {
50239	s.DryRun = &v
50240	return s
50241}
50242
50243// SetKeyName sets the KeyName field's value.
50244func (s *DeleteKeyPairInput) SetKeyName(v string) *DeleteKeyPairInput {
50245	s.KeyName = &v
50246	return s
50247}
50248
50249type DeleteKeyPairOutput struct {
50250	_ struct{} `type:"structure"`
50251}
50252
50253// String returns the string representation
50254func (s DeleteKeyPairOutput) String() string {
50255	return awsutil.Prettify(s)
50256}
50257
50258// GoString returns the string representation
50259func (s DeleteKeyPairOutput) GoString() string {
50260	return s.String()
50261}
50262
50263type DeleteLaunchTemplateInput struct {
50264	_ struct{} `type:"structure"`
50265
50266	// Checks whether you have the required permissions for the action, without
50267	// actually making the request, and provides an error response. If you have
50268	// the required permissions, the error response is DryRunOperation. Otherwise,
50269	// it is UnauthorizedOperation.
50270	DryRun *bool `type:"boolean"`
50271
50272	// The ID of the launch template. You must specify either the launch template
50273	// ID or launch template name in the request.
50274	LaunchTemplateId *string `type:"string"`
50275
50276	// The name of the launch template. You must specify either the launch template
50277	// ID or launch template name in the request.
50278	LaunchTemplateName *string `min:"3" type:"string"`
50279}
50280
50281// String returns the string representation
50282func (s DeleteLaunchTemplateInput) String() string {
50283	return awsutil.Prettify(s)
50284}
50285
50286// GoString returns the string representation
50287func (s DeleteLaunchTemplateInput) GoString() string {
50288	return s.String()
50289}
50290
50291// Validate inspects the fields of the type to determine if they are valid.
50292func (s *DeleteLaunchTemplateInput) Validate() error {
50293	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateInput"}
50294	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
50295		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
50296	}
50297
50298	if invalidParams.Len() > 0 {
50299		return invalidParams
50300	}
50301	return nil
50302}
50303
50304// SetDryRun sets the DryRun field's value.
50305func (s *DeleteLaunchTemplateInput) SetDryRun(v bool) *DeleteLaunchTemplateInput {
50306	s.DryRun = &v
50307	return s
50308}
50309
50310// SetLaunchTemplateId sets the LaunchTemplateId field's value.
50311func (s *DeleteLaunchTemplateInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateInput {
50312	s.LaunchTemplateId = &v
50313	return s
50314}
50315
50316// SetLaunchTemplateName sets the LaunchTemplateName field's value.
50317func (s *DeleteLaunchTemplateInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateInput {
50318	s.LaunchTemplateName = &v
50319	return s
50320}
50321
50322type DeleteLaunchTemplateOutput struct {
50323	_ struct{} `type:"structure"`
50324
50325	// Information about the launch template.
50326	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
50327}
50328
50329// String returns the string representation
50330func (s DeleteLaunchTemplateOutput) String() string {
50331	return awsutil.Prettify(s)
50332}
50333
50334// GoString returns the string representation
50335func (s DeleteLaunchTemplateOutput) GoString() string {
50336	return s.String()
50337}
50338
50339// SetLaunchTemplate sets the LaunchTemplate field's value.
50340func (s *DeleteLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *DeleteLaunchTemplateOutput {
50341	s.LaunchTemplate = v
50342	return s
50343}
50344
50345type DeleteLaunchTemplateVersionsInput struct {
50346	_ struct{} `type:"structure"`
50347
50348	// Checks whether you have the required permissions for the action, without
50349	// actually making the request, and provides an error response. If you have
50350	// the required permissions, the error response is DryRunOperation. Otherwise,
50351	// it is UnauthorizedOperation.
50352	DryRun *bool `type:"boolean"`
50353
50354	// The ID of the launch template. You must specify either the launch template
50355	// ID or launch template name in the request.
50356	LaunchTemplateId *string `type:"string"`
50357
50358	// The name of the launch template. You must specify either the launch template
50359	// ID or launch template name in the request.
50360	LaunchTemplateName *string `min:"3" type:"string"`
50361
50362	// The version numbers of one or more launch template versions to delete.
50363	//
50364	// Versions is a required field
50365	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list" required:"true"`
50366}
50367
50368// String returns the string representation
50369func (s DeleteLaunchTemplateVersionsInput) String() string {
50370	return awsutil.Prettify(s)
50371}
50372
50373// GoString returns the string representation
50374func (s DeleteLaunchTemplateVersionsInput) GoString() string {
50375	return s.String()
50376}
50377
50378// Validate inspects the fields of the type to determine if they are valid.
50379func (s *DeleteLaunchTemplateVersionsInput) Validate() error {
50380	invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchTemplateVersionsInput"}
50381	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
50382		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
50383	}
50384	if s.Versions == nil {
50385		invalidParams.Add(request.NewErrParamRequired("Versions"))
50386	}
50387
50388	if invalidParams.Len() > 0 {
50389		return invalidParams
50390	}
50391	return nil
50392}
50393
50394// SetDryRun sets the DryRun field's value.
50395func (s *DeleteLaunchTemplateVersionsInput) SetDryRun(v bool) *DeleteLaunchTemplateVersionsInput {
50396	s.DryRun = &v
50397	return s
50398}
50399
50400// SetLaunchTemplateId sets the LaunchTemplateId field's value.
50401func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsInput {
50402	s.LaunchTemplateId = &v
50403	return s
50404}
50405
50406// SetLaunchTemplateName sets the LaunchTemplateName field's value.
50407func (s *DeleteLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsInput {
50408	s.LaunchTemplateName = &v
50409	return s
50410}
50411
50412// SetVersions sets the Versions field's value.
50413func (s *DeleteLaunchTemplateVersionsInput) SetVersions(v []*string) *DeleteLaunchTemplateVersionsInput {
50414	s.Versions = v
50415	return s
50416}
50417
50418type DeleteLaunchTemplateVersionsOutput struct {
50419	_ struct{} `type:"structure"`
50420
50421	// Information about the launch template versions that were successfully deleted.
50422	SuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseSuccessItem `locationName:"successfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
50423
50424	// Information about the launch template versions that could not be deleted.
50425	UnsuccessfullyDeletedLaunchTemplateVersions []*DeleteLaunchTemplateVersionsResponseErrorItem `locationName:"unsuccessfullyDeletedLaunchTemplateVersionSet" locationNameList:"item" type:"list"`
50426}
50427
50428// String returns the string representation
50429func (s DeleteLaunchTemplateVersionsOutput) String() string {
50430	return awsutil.Prettify(s)
50431}
50432
50433// GoString returns the string representation
50434func (s DeleteLaunchTemplateVersionsOutput) GoString() string {
50435	return s.String()
50436}
50437
50438// SetSuccessfullyDeletedLaunchTemplateVersions sets the SuccessfullyDeletedLaunchTemplateVersions field's value.
50439func (s *DeleteLaunchTemplateVersionsOutput) SetSuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseSuccessItem) *DeleteLaunchTemplateVersionsOutput {
50440	s.SuccessfullyDeletedLaunchTemplateVersions = v
50441	return s
50442}
50443
50444// SetUnsuccessfullyDeletedLaunchTemplateVersions sets the UnsuccessfullyDeletedLaunchTemplateVersions field's value.
50445func (s *DeleteLaunchTemplateVersionsOutput) SetUnsuccessfullyDeletedLaunchTemplateVersions(v []*DeleteLaunchTemplateVersionsResponseErrorItem) *DeleteLaunchTemplateVersionsOutput {
50446	s.UnsuccessfullyDeletedLaunchTemplateVersions = v
50447	return s
50448}
50449
50450// Describes a launch template version that could not be deleted.
50451type DeleteLaunchTemplateVersionsResponseErrorItem struct {
50452	_ struct{} `type:"structure"`
50453
50454	// The ID of the launch template.
50455	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
50456
50457	// The name of the launch template.
50458	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
50459
50460	// Information about the error.
50461	ResponseError *ResponseError `locationName:"responseError" type:"structure"`
50462
50463	// The version number of the launch template.
50464	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
50465}
50466
50467// String returns the string representation
50468func (s DeleteLaunchTemplateVersionsResponseErrorItem) String() string {
50469	return awsutil.Prettify(s)
50470}
50471
50472// GoString returns the string representation
50473func (s DeleteLaunchTemplateVersionsResponseErrorItem) GoString() string {
50474	return s.String()
50475}
50476
50477// SetLaunchTemplateId sets the LaunchTemplateId field's value.
50478func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
50479	s.LaunchTemplateId = &v
50480	return s
50481}
50482
50483// SetLaunchTemplateName sets the LaunchTemplateName field's value.
50484func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseErrorItem {
50485	s.LaunchTemplateName = &v
50486	return s
50487}
50488
50489// SetResponseError sets the ResponseError field's value.
50490func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetResponseError(v *ResponseError) *DeleteLaunchTemplateVersionsResponseErrorItem {
50491	s.ResponseError = v
50492	return s
50493}
50494
50495// SetVersionNumber sets the VersionNumber field's value.
50496func (s *DeleteLaunchTemplateVersionsResponseErrorItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseErrorItem {
50497	s.VersionNumber = &v
50498	return s
50499}
50500
50501// Describes a launch template version that was successfully deleted.
50502type DeleteLaunchTemplateVersionsResponseSuccessItem struct {
50503	_ struct{} `type:"structure"`
50504
50505	// The ID of the launch template.
50506	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
50507
50508	// The name of the launch template.
50509	LaunchTemplateName *string `locationName:"launchTemplateName" type:"string"`
50510
50511	// The version number of the launch template.
50512	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
50513}
50514
50515// String returns the string representation
50516func (s DeleteLaunchTemplateVersionsResponseSuccessItem) String() string {
50517	return awsutil.Prettify(s)
50518}
50519
50520// GoString returns the string representation
50521func (s DeleteLaunchTemplateVersionsResponseSuccessItem) GoString() string {
50522	return s.String()
50523}
50524
50525// SetLaunchTemplateId sets the LaunchTemplateId field's value.
50526func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateId(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
50527	s.LaunchTemplateId = &v
50528	return s
50529}
50530
50531// SetLaunchTemplateName sets the LaunchTemplateName field's value.
50532func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetLaunchTemplateName(v string) *DeleteLaunchTemplateVersionsResponseSuccessItem {
50533	s.LaunchTemplateName = &v
50534	return s
50535}
50536
50537// SetVersionNumber sets the VersionNumber field's value.
50538func (s *DeleteLaunchTemplateVersionsResponseSuccessItem) SetVersionNumber(v int64) *DeleteLaunchTemplateVersionsResponseSuccessItem {
50539	s.VersionNumber = &v
50540	return s
50541}
50542
50543type DeleteLocalGatewayRouteInput struct {
50544	_ struct{} `type:"structure"`
50545
50546	// The CIDR range for the route. This must match the CIDR for the route exactly.
50547	//
50548	// DestinationCidrBlock is a required field
50549	DestinationCidrBlock *string `type:"string" required:"true"`
50550
50551	// Checks whether you have the required permissions for the action, without
50552	// actually making the request, and provides an error response. If you have
50553	// the required permissions, the error response is DryRunOperation. Otherwise,
50554	// it is UnauthorizedOperation.
50555	DryRun *bool `type:"boolean"`
50556
50557	// The ID of the local gateway route table.
50558	//
50559	// LocalGatewayRouteTableId is a required field
50560	LocalGatewayRouteTableId *string `type:"string" required:"true"`
50561}
50562
50563// String returns the string representation
50564func (s DeleteLocalGatewayRouteInput) String() string {
50565	return awsutil.Prettify(s)
50566}
50567
50568// GoString returns the string representation
50569func (s DeleteLocalGatewayRouteInput) GoString() string {
50570	return s.String()
50571}
50572
50573// Validate inspects the fields of the type to determine if they are valid.
50574func (s *DeleteLocalGatewayRouteInput) Validate() error {
50575	invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteInput"}
50576	if s.DestinationCidrBlock == nil {
50577		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
50578	}
50579	if s.LocalGatewayRouteTableId == nil {
50580		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
50581	}
50582
50583	if invalidParams.Len() > 0 {
50584		return invalidParams
50585	}
50586	return nil
50587}
50588
50589// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
50590func (s *DeleteLocalGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteLocalGatewayRouteInput {
50591	s.DestinationCidrBlock = &v
50592	return s
50593}
50594
50595// SetDryRun sets the DryRun field's value.
50596func (s *DeleteLocalGatewayRouteInput) SetDryRun(v bool) *DeleteLocalGatewayRouteInput {
50597	s.DryRun = &v
50598	return s
50599}
50600
50601// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
50602func (s *DeleteLocalGatewayRouteInput) SetLocalGatewayRouteTableId(v string) *DeleteLocalGatewayRouteInput {
50603	s.LocalGatewayRouteTableId = &v
50604	return s
50605}
50606
50607type DeleteLocalGatewayRouteOutput struct {
50608	_ struct{} `type:"structure"`
50609
50610	// Information about the route.
50611	Route *LocalGatewayRoute `locationName:"route" type:"structure"`
50612}
50613
50614// String returns the string representation
50615func (s DeleteLocalGatewayRouteOutput) String() string {
50616	return awsutil.Prettify(s)
50617}
50618
50619// GoString returns the string representation
50620func (s DeleteLocalGatewayRouteOutput) GoString() string {
50621	return s.String()
50622}
50623
50624// SetRoute sets the Route field's value.
50625func (s *DeleteLocalGatewayRouteOutput) SetRoute(v *LocalGatewayRoute) *DeleteLocalGatewayRouteOutput {
50626	s.Route = v
50627	return s
50628}
50629
50630type DeleteLocalGatewayRouteTableVpcAssociationInput struct {
50631	_ struct{} `type:"structure"`
50632
50633	// Checks whether you have the required permissions for the action, without
50634	// actually making the request, and provides an error response. If you have
50635	// the required permissions, the error response is DryRunOperation. Otherwise,
50636	// it is UnauthorizedOperation.
50637	DryRun *bool `type:"boolean"`
50638
50639	// The ID of the association.
50640	//
50641	// LocalGatewayRouteTableVpcAssociationId is a required field
50642	LocalGatewayRouteTableVpcAssociationId *string `type:"string" required:"true"`
50643}
50644
50645// String returns the string representation
50646func (s DeleteLocalGatewayRouteTableVpcAssociationInput) String() string {
50647	return awsutil.Prettify(s)
50648}
50649
50650// GoString returns the string representation
50651func (s DeleteLocalGatewayRouteTableVpcAssociationInput) GoString() string {
50652	return s.String()
50653}
50654
50655// Validate inspects the fields of the type to determine if they are valid.
50656func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) Validate() error {
50657	invalidParams := request.ErrInvalidParams{Context: "DeleteLocalGatewayRouteTableVpcAssociationInput"}
50658	if s.LocalGatewayRouteTableVpcAssociationId == nil {
50659		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableVpcAssociationId"))
50660	}
50661
50662	if invalidParams.Len() > 0 {
50663		return invalidParams
50664	}
50665	return nil
50666}
50667
50668// SetDryRun sets the DryRun field's value.
50669func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetDryRun(v bool) *DeleteLocalGatewayRouteTableVpcAssociationInput {
50670	s.DryRun = &v
50671	return s
50672}
50673
50674// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
50675func (s *DeleteLocalGatewayRouteTableVpcAssociationInput) SetLocalGatewayRouteTableVpcAssociationId(v string) *DeleteLocalGatewayRouteTableVpcAssociationInput {
50676	s.LocalGatewayRouteTableVpcAssociationId = &v
50677	return s
50678}
50679
50680type DeleteLocalGatewayRouteTableVpcAssociationOutput struct {
50681	_ struct{} `type:"structure"`
50682
50683	// Information about the association.
50684	LocalGatewayRouteTableVpcAssociation *LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociation" type:"structure"`
50685}
50686
50687// String returns the string representation
50688func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) String() string {
50689	return awsutil.Prettify(s)
50690}
50691
50692// GoString returns the string representation
50693func (s DeleteLocalGatewayRouteTableVpcAssociationOutput) GoString() string {
50694	return s.String()
50695}
50696
50697// SetLocalGatewayRouteTableVpcAssociation sets the LocalGatewayRouteTableVpcAssociation field's value.
50698func (s *DeleteLocalGatewayRouteTableVpcAssociationOutput) SetLocalGatewayRouteTableVpcAssociation(v *LocalGatewayRouteTableVpcAssociation) *DeleteLocalGatewayRouteTableVpcAssociationOutput {
50699	s.LocalGatewayRouteTableVpcAssociation = v
50700	return s
50701}
50702
50703type DeleteNatGatewayInput struct {
50704	_ struct{} `type:"structure"`
50705
50706	// The ID of the NAT gateway.
50707	//
50708	// NatGatewayId is a required field
50709	NatGatewayId *string `type:"string" required:"true"`
50710}
50711
50712// String returns the string representation
50713func (s DeleteNatGatewayInput) String() string {
50714	return awsutil.Prettify(s)
50715}
50716
50717// GoString returns the string representation
50718func (s DeleteNatGatewayInput) GoString() string {
50719	return s.String()
50720}
50721
50722// Validate inspects the fields of the type to determine if they are valid.
50723func (s *DeleteNatGatewayInput) Validate() error {
50724	invalidParams := request.ErrInvalidParams{Context: "DeleteNatGatewayInput"}
50725	if s.NatGatewayId == nil {
50726		invalidParams.Add(request.NewErrParamRequired("NatGatewayId"))
50727	}
50728
50729	if invalidParams.Len() > 0 {
50730		return invalidParams
50731	}
50732	return nil
50733}
50734
50735// SetNatGatewayId sets the NatGatewayId field's value.
50736func (s *DeleteNatGatewayInput) SetNatGatewayId(v string) *DeleteNatGatewayInput {
50737	s.NatGatewayId = &v
50738	return s
50739}
50740
50741type DeleteNatGatewayOutput struct {
50742	_ struct{} `type:"structure"`
50743
50744	// The ID of the NAT gateway.
50745	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
50746}
50747
50748// String returns the string representation
50749func (s DeleteNatGatewayOutput) String() string {
50750	return awsutil.Prettify(s)
50751}
50752
50753// GoString returns the string representation
50754func (s DeleteNatGatewayOutput) GoString() string {
50755	return s.String()
50756}
50757
50758// SetNatGatewayId sets the NatGatewayId field's value.
50759func (s *DeleteNatGatewayOutput) SetNatGatewayId(v string) *DeleteNatGatewayOutput {
50760	s.NatGatewayId = &v
50761	return s
50762}
50763
50764type DeleteNetworkAclEntryInput struct {
50765	_ struct{} `type:"structure"`
50766
50767	// Checks whether you have the required permissions for the action, without
50768	// actually making the request, and provides an error response. If you have
50769	// the required permissions, the error response is DryRunOperation. Otherwise,
50770	// it is UnauthorizedOperation.
50771	DryRun *bool `locationName:"dryRun" type:"boolean"`
50772
50773	// Indicates whether the rule is an egress rule.
50774	//
50775	// Egress is a required field
50776	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
50777
50778	// The ID of the network ACL.
50779	//
50780	// NetworkAclId is a required field
50781	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
50782
50783	// The rule number of the entry to delete.
50784	//
50785	// RuleNumber is a required field
50786	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
50787}
50788
50789// String returns the string representation
50790func (s DeleteNetworkAclEntryInput) String() string {
50791	return awsutil.Prettify(s)
50792}
50793
50794// GoString returns the string representation
50795func (s DeleteNetworkAclEntryInput) GoString() string {
50796	return s.String()
50797}
50798
50799// Validate inspects the fields of the type to determine if they are valid.
50800func (s *DeleteNetworkAclEntryInput) Validate() error {
50801	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclEntryInput"}
50802	if s.Egress == nil {
50803		invalidParams.Add(request.NewErrParamRequired("Egress"))
50804	}
50805	if s.NetworkAclId == nil {
50806		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
50807	}
50808	if s.RuleNumber == nil {
50809		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
50810	}
50811
50812	if invalidParams.Len() > 0 {
50813		return invalidParams
50814	}
50815	return nil
50816}
50817
50818// SetDryRun sets the DryRun field's value.
50819func (s *DeleteNetworkAclEntryInput) SetDryRun(v bool) *DeleteNetworkAclEntryInput {
50820	s.DryRun = &v
50821	return s
50822}
50823
50824// SetEgress sets the Egress field's value.
50825func (s *DeleteNetworkAclEntryInput) SetEgress(v bool) *DeleteNetworkAclEntryInput {
50826	s.Egress = &v
50827	return s
50828}
50829
50830// SetNetworkAclId sets the NetworkAclId field's value.
50831func (s *DeleteNetworkAclEntryInput) SetNetworkAclId(v string) *DeleteNetworkAclEntryInput {
50832	s.NetworkAclId = &v
50833	return s
50834}
50835
50836// SetRuleNumber sets the RuleNumber field's value.
50837func (s *DeleteNetworkAclEntryInput) SetRuleNumber(v int64) *DeleteNetworkAclEntryInput {
50838	s.RuleNumber = &v
50839	return s
50840}
50841
50842type DeleteNetworkAclEntryOutput struct {
50843	_ struct{} `type:"structure"`
50844}
50845
50846// String returns the string representation
50847func (s DeleteNetworkAclEntryOutput) String() string {
50848	return awsutil.Prettify(s)
50849}
50850
50851// GoString returns the string representation
50852func (s DeleteNetworkAclEntryOutput) GoString() string {
50853	return s.String()
50854}
50855
50856type DeleteNetworkAclInput struct {
50857	_ struct{} `type:"structure"`
50858
50859	// Checks whether you have the required permissions for the action, without
50860	// actually making the request, and provides an error response. If you have
50861	// the required permissions, the error response is DryRunOperation. Otherwise,
50862	// it is UnauthorizedOperation.
50863	DryRun *bool `locationName:"dryRun" type:"boolean"`
50864
50865	// The ID of the network ACL.
50866	//
50867	// NetworkAclId is a required field
50868	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
50869}
50870
50871// String returns the string representation
50872func (s DeleteNetworkAclInput) String() string {
50873	return awsutil.Prettify(s)
50874}
50875
50876// GoString returns the string representation
50877func (s DeleteNetworkAclInput) GoString() string {
50878	return s.String()
50879}
50880
50881// Validate inspects the fields of the type to determine if they are valid.
50882func (s *DeleteNetworkAclInput) Validate() error {
50883	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkAclInput"}
50884	if s.NetworkAclId == nil {
50885		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
50886	}
50887
50888	if invalidParams.Len() > 0 {
50889		return invalidParams
50890	}
50891	return nil
50892}
50893
50894// SetDryRun sets the DryRun field's value.
50895func (s *DeleteNetworkAclInput) SetDryRun(v bool) *DeleteNetworkAclInput {
50896	s.DryRun = &v
50897	return s
50898}
50899
50900// SetNetworkAclId sets the NetworkAclId field's value.
50901func (s *DeleteNetworkAclInput) SetNetworkAclId(v string) *DeleteNetworkAclInput {
50902	s.NetworkAclId = &v
50903	return s
50904}
50905
50906type DeleteNetworkAclOutput struct {
50907	_ struct{} `type:"structure"`
50908}
50909
50910// String returns the string representation
50911func (s DeleteNetworkAclOutput) String() string {
50912	return awsutil.Prettify(s)
50913}
50914
50915// GoString returns the string representation
50916func (s DeleteNetworkAclOutput) GoString() string {
50917	return s.String()
50918}
50919
50920// Contains the parameters for DeleteNetworkInterface.
50921type DeleteNetworkInterfaceInput struct {
50922	_ struct{} `type:"structure"`
50923
50924	// Checks whether you have the required permissions for the action, without
50925	// actually making the request, and provides an error response. If you have
50926	// the required permissions, the error response is DryRunOperation. Otherwise,
50927	// it is UnauthorizedOperation.
50928	DryRun *bool `locationName:"dryRun" type:"boolean"`
50929
50930	// The ID of the network interface.
50931	//
50932	// NetworkInterfaceId is a required field
50933	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
50934}
50935
50936// String returns the string representation
50937func (s DeleteNetworkInterfaceInput) String() string {
50938	return awsutil.Prettify(s)
50939}
50940
50941// GoString returns the string representation
50942func (s DeleteNetworkInterfaceInput) GoString() string {
50943	return s.String()
50944}
50945
50946// Validate inspects the fields of the type to determine if they are valid.
50947func (s *DeleteNetworkInterfaceInput) Validate() error {
50948	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfaceInput"}
50949	if s.NetworkInterfaceId == nil {
50950		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
50951	}
50952
50953	if invalidParams.Len() > 0 {
50954		return invalidParams
50955	}
50956	return nil
50957}
50958
50959// SetDryRun sets the DryRun field's value.
50960func (s *DeleteNetworkInterfaceInput) SetDryRun(v bool) *DeleteNetworkInterfaceInput {
50961	s.DryRun = &v
50962	return s
50963}
50964
50965// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
50966func (s *DeleteNetworkInterfaceInput) SetNetworkInterfaceId(v string) *DeleteNetworkInterfaceInput {
50967	s.NetworkInterfaceId = &v
50968	return s
50969}
50970
50971type DeleteNetworkInterfaceOutput struct {
50972	_ struct{} `type:"structure"`
50973}
50974
50975// String returns the string representation
50976func (s DeleteNetworkInterfaceOutput) String() string {
50977	return awsutil.Prettify(s)
50978}
50979
50980// GoString returns the string representation
50981func (s DeleteNetworkInterfaceOutput) GoString() string {
50982	return s.String()
50983}
50984
50985// Contains the parameters for DeleteNetworkInterfacePermission.
50986type DeleteNetworkInterfacePermissionInput struct {
50987	_ struct{} `type:"structure"`
50988
50989	// Checks whether you have the required permissions for the action, without
50990	// actually making the request, and provides an error response. If you have
50991	// the required permissions, the error response is DryRunOperation. Otherwise,
50992	// it is UnauthorizedOperation.
50993	DryRun *bool `type:"boolean"`
50994
50995	// Specify true to remove the permission even if the network interface is attached
50996	// to an instance.
50997	Force *bool `type:"boolean"`
50998
50999	// The ID of the network interface permission.
51000	//
51001	// NetworkInterfacePermissionId is a required field
51002	NetworkInterfacePermissionId *string `type:"string" required:"true"`
51003}
51004
51005// String returns the string representation
51006func (s DeleteNetworkInterfacePermissionInput) String() string {
51007	return awsutil.Prettify(s)
51008}
51009
51010// GoString returns the string representation
51011func (s DeleteNetworkInterfacePermissionInput) GoString() string {
51012	return s.String()
51013}
51014
51015// Validate inspects the fields of the type to determine if they are valid.
51016func (s *DeleteNetworkInterfacePermissionInput) Validate() error {
51017	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkInterfacePermissionInput"}
51018	if s.NetworkInterfacePermissionId == nil {
51019		invalidParams.Add(request.NewErrParamRequired("NetworkInterfacePermissionId"))
51020	}
51021
51022	if invalidParams.Len() > 0 {
51023		return invalidParams
51024	}
51025	return nil
51026}
51027
51028// SetDryRun sets the DryRun field's value.
51029func (s *DeleteNetworkInterfacePermissionInput) SetDryRun(v bool) *DeleteNetworkInterfacePermissionInput {
51030	s.DryRun = &v
51031	return s
51032}
51033
51034// SetForce sets the Force field's value.
51035func (s *DeleteNetworkInterfacePermissionInput) SetForce(v bool) *DeleteNetworkInterfacePermissionInput {
51036	s.Force = &v
51037	return s
51038}
51039
51040// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
51041func (s *DeleteNetworkInterfacePermissionInput) SetNetworkInterfacePermissionId(v string) *DeleteNetworkInterfacePermissionInput {
51042	s.NetworkInterfacePermissionId = &v
51043	return s
51044}
51045
51046// Contains the output for DeleteNetworkInterfacePermission.
51047type DeleteNetworkInterfacePermissionOutput struct {
51048	_ struct{} `type:"structure"`
51049
51050	// Returns true if the request succeeds, otherwise returns an error.
51051	Return *bool `locationName:"return" type:"boolean"`
51052}
51053
51054// String returns the string representation
51055func (s DeleteNetworkInterfacePermissionOutput) String() string {
51056	return awsutil.Prettify(s)
51057}
51058
51059// GoString returns the string representation
51060func (s DeleteNetworkInterfacePermissionOutput) GoString() string {
51061	return s.String()
51062}
51063
51064// SetReturn sets the Return field's value.
51065func (s *DeleteNetworkInterfacePermissionOutput) SetReturn(v bool) *DeleteNetworkInterfacePermissionOutput {
51066	s.Return = &v
51067	return s
51068}
51069
51070type DeletePlacementGroupInput struct {
51071	_ struct{} `type:"structure"`
51072
51073	// Checks whether you have the required permissions for the action, without
51074	// actually making the request, and provides an error response. If you have
51075	// the required permissions, the error response is DryRunOperation. Otherwise,
51076	// it is UnauthorizedOperation.
51077	DryRun *bool `locationName:"dryRun" type:"boolean"`
51078
51079	// The name of the placement group.
51080	//
51081	// GroupName is a required field
51082	GroupName *string `locationName:"groupName" type:"string" required:"true"`
51083}
51084
51085// String returns the string representation
51086func (s DeletePlacementGroupInput) String() string {
51087	return awsutil.Prettify(s)
51088}
51089
51090// GoString returns the string representation
51091func (s DeletePlacementGroupInput) GoString() string {
51092	return s.String()
51093}
51094
51095// Validate inspects the fields of the type to determine if they are valid.
51096func (s *DeletePlacementGroupInput) Validate() error {
51097	invalidParams := request.ErrInvalidParams{Context: "DeletePlacementGroupInput"}
51098	if s.GroupName == nil {
51099		invalidParams.Add(request.NewErrParamRequired("GroupName"))
51100	}
51101
51102	if invalidParams.Len() > 0 {
51103		return invalidParams
51104	}
51105	return nil
51106}
51107
51108// SetDryRun sets the DryRun field's value.
51109func (s *DeletePlacementGroupInput) SetDryRun(v bool) *DeletePlacementGroupInput {
51110	s.DryRun = &v
51111	return s
51112}
51113
51114// SetGroupName sets the GroupName field's value.
51115func (s *DeletePlacementGroupInput) SetGroupName(v string) *DeletePlacementGroupInput {
51116	s.GroupName = &v
51117	return s
51118}
51119
51120type DeletePlacementGroupOutput struct {
51121	_ struct{} `type:"structure"`
51122}
51123
51124// String returns the string representation
51125func (s DeletePlacementGroupOutput) String() string {
51126	return awsutil.Prettify(s)
51127}
51128
51129// GoString returns the string representation
51130func (s DeletePlacementGroupOutput) GoString() string {
51131	return s.String()
51132}
51133
51134// Describes the error for a Reserved Instance whose queued purchase could not
51135// be deleted.
51136type DeleteQueuedReservedInstancesError struct {
51137	_ struct{} `type:"structure"`
51138
51139	// The error code.
51140	Code *string `locationName:"code" type:"string" enum:"DeleteQueuedReservedInstancesErrorCode"`
51141
51142	// The error message.
51143	Message *string `locationName:"message" type:"string"`
51144}
51145
51146// String returns the string representation
51147func (s DeleteQueuedReservedInstancesError) String() string {
51148	return awsutil.Prettify(s)
51149}
51150
51151// GoString returns the string representation
51152func (s DeleteQueuedReservedInstancesError) GoString() string {
51153	return s.String()
51154}
51155
51156// SetCode sets the Code field's value.
51157func (s *DeleteQueuedReservedInstancesError) SetCode(v string) *DeleteQueuedReservedInstancesError {
51158	s.Code = &v
51159	return s
51160}
51161
51162// SetMessage sets the Message field's value.
51163func (s *DeleteQueuedReservedInstancesError) SetMessage(v string) *DeleteQueuedReservedInstancesError {
51164	s.Message = &v
51165	return s
51166}
51167
51168type DeleteQueuedReservedInstancesInput struct {
51169	_ struct{} `type:"structure"`
51170
51171	// Checks whether you have the required permissions for the action, without
51172	// actually making the request, and provides an error response. If you have
51173	// the required permissions, the error response is DryRunOperation. Otherwise,
51174	// it is UnauthorizedOperation.
51175	DryRun *bool `type:"boolean"`
51176
51177	// The IDs of the Reserved Instances.
51178	//
51179	// ReservedInstancesIds is a required field
51180	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"item" min:"1" type:"list" required:"true"`
51181}
51182
51183// String returns the string representation
51184func (s DeleteQueuedReservedInstancesInput) String() string {
51185	return awsutil.Prettify(s)
51186}
51187
51188// GoString returns the string representation
51189func (s DeleteQueuedReservedInstancesInput) GoString() string {
51190	return s.String()
51191}
51192
51193// Validate inspects the fields of the type to determine if they are valid.
51194func (s *DeleteQueuedReservedInstancesInput) Validate() error {
51195	invalidParams := request.ErrInvalidParams{Context: "DeleteQueuedReservedInstancesInput"}
51196	if s.ReservedInstancesIds == nil {
51197		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
51198	}
51199	if s.ReservedInstancesIds != nil && len(s.ReservedInstancesIds) < 1 {
51200		invalidParams.Add(request.NewErrParamMinLen("ReservedInstancesIds", 1))
51201	}
51202
51203	if invalidParams.Len() > 0 {
51204		return invalidParams
51205	}
51206	return nil
51207}
51208
51209// SetDryRun sets the DryRun field's value.
51210func (s *DeleteQueuedReservedInstancesInput) SetDryRun(v bool) *DeleteQueuedReservedInstancesInput {
51211	s.DryRun = &v
51212	return s
51213}
51214
51215// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
51216func (s *DeleteQueuedReservedInstancesInput) SetReservedInstancesIds(v []*string) *DeleteQueuedReservedInstancesInput {
51217	s.ReservedInstancesIds = v
51218	return s
51219}
51220
51221type DeleteQueuedReservedInstancesOutput struct {
51222	_ struct{} `type:"structure"`
51223
51224	// Information about the queued purchases that could not be deleted.
51225	FailedQueuedPurchaseDeletions []*FailedQueuedPurchaseDeletion `locationName:"failedQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
51226
51227	// Information about the queued purchases that were successfully deleted.
51228	SuccessfulQueuedPurchaseDeletions []*SuccessfulQueuedPurchaseDeletion `locationName:"successfulQueuedPurchaseDeletionSet" locationNameList:"item" type:"list"`
51229}
51230
51231// String returns the string representation
51232func (s DeleteQueuedReservedInstancesOutput) String() string {
51233	return awsutil.Prettify(s)
51234}
51235
51236// GoString returns the string representation
51237func (s DeleteQueuedReservedInstancesOutput) GoString() string {
51238	return s.String()
51239}
51240
51241// SetFailedQueuedPurchaseDeletions sets the FailedQueuedPurchaseDeletions field's value.
51242func (s *DeleteQueuedReservedInstancesOutput) SetFailedQueuedPurchaseDeletions(v []*FailedQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
51243	s.FailedQueuedPurchaseDeletions = v
51244	return s
51245}
51246
51247// SetSuccessfulQueuedPurchaseDeletions sets the SuccessfulQueuedPurchaseDeletions field's value.
51248func (s *DeleteQueuedReservedInstancesOutput) SetSuccessfulQueuedPurchaseDeletions(v []*SuccessfulQueuedPurchaseDeletion) *DeleteQueuedReservedInstancesOutput {
51249	s.SuccessfulQueuedPurchaseDeletions = v
51250	return s
51251}
51252
51253type DeleteRouteInput struct {
51254	_ struct{} `type:"structure"`
51255
51256	// The IPv4 CIDR range for the route. The value you specify must match the CIDR
51257	// for the route exactly.
51258	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
51259
51260	// The IPv6 CIDR range for the route. The value you specify must match the CIDR
51261	// for the route exactly.
51262	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
51263
51264	// Checks whether you have the required permissions for the action, without
51265	// actually making the request, and provides an error response. If you have
51266	// the required permissions, the error response is DryRunOperation. Otherwise,
51267	// it is UnauthorizedOperation.
51268	DryRun *bool `locationName:"dryRun" type:"boolean"`
51269
51270	// The ID of the route table.
51271	//
51272	// RouteTableId is a required field
51273	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
51274}
51275
51276// String returns the string representation
51277func (s DeleteRouteInput) String() string {
51278	return awsutil.Prettify(s)
51279}
51280
51281// GoString returns the string representation
51282func (s DeleteRouteInput) GoString() string {
51283	return s.String()
51284}
51285
51286// Validate inspects the fields of the type to determine if they are valid.
51287func (s *DeleteRouteInput) Validate() error {
51288	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteInput"}
51289	if s.RouteTableId == nil {
51290		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
51291	}
51292
51293	if invalidParams.Len() > 0 {
51294		return invalidParams
51295	}
51296	return nil
51297}
51298
51299// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
51300func (s *DeleteRouteInput) SetDestinationCidrBlock(v string) *DeleteRouteInput {
51301	s.DestinationCidrBlock = &v
51302	return s
51303}
51304
51305// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
51306func (s *DeleteRouteInput) SetDestinationIpv6CidrBlock(v string) *DeleteRouteInput {
51307	s.DestinationIpv6CidrBlock = &v
51308	return s
51309}
51310
51311// SetDryRun sets the DryRun field's value.
51312func (s *DeleteRouteInput) SetDryRun(v bool) *DeleteRouteInput {
51313	s.DryRun = &v
51314	return s
51315}
51316
51317// SetRouteTableId sets the RouteTableId field's value.
51318func (s *DeleteRouteInput) SetRouteTableId(v string) *DeleteRouteInput {
51319	s.RouteTableId = &v
51320	return s
51321}
51322
51323type DeleteRouteOutput struct {
51324	_ struct{} `type:"structure"`
51325}
51326
51327// String returns the string representation
51328func (s DeleteRouteOutput) String() string {
51329	return awsutil.Prettify(s)
51330}
51331
51332// GoString returns the string representation
51333func (s DeleteRouteOutput) GoString() string {
51334	return s.String()
51335}
51336
51337type DeleteRouteTableInput struct {
51338	_ struct{} `type:"structure"`
51339
51340	// Checks whether you have the required permissions for the action, without
51341	// actually making the request, and provides an error response. If you have
51342	// the required permissions, the error response is DryRunOperation. Otherwise,
51343	// it is UnauthorizedOperation.
51344	DryRun *bool `locationName:"dryRun" type:"boolean"`
51345
51346	// The ID of the route table.
51347	//
51348	// RouteTableId is a required field
51349	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
51350}
51351
51352// String returns the string representation
51353func (s DeleteRouteTableInput) String() string {
51354	return awsutil.Prettify(s)
51355}
51356
51357// GoString returns the string representation
51358func (s DeleteRouteTableInput) GoString() string {
51359	return s.String()
51360}
51361
51362// Validate inspects the fields of the type to determine if they are valid.
51363func (s *DeleteRouteTableInput) Validate() error {
51364	invalidParams := request.ErrInvalidParams{Context: "DeleteRouteTableInput"}
51365	if s.RouteTableId == nil {
51366		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
51367	}
51368
51369	if invalidParams.Len() > 0 {
51370		return invalidParams
51371	}
51372	return nil
51373}
51374
51375// SetDryRun sets the DryRun field's value.
51376func (s *DeleteRouteTableInput) SetDryRun(v bool) *DeleteRouteTableInput {
51377	s.DryRun = &v
51378	return s
51379}
51380
51381// SetRouteTableId sets the RouteTableId field's value.
51382func (s *DeleteRouteTableInput) SetRouteTableId(v string) *DeleteRouteTableInput {
51383	s.RouteTableId = &v
51384	return s
51385}
51386
51387type DeleteRouteTableOutput struct {
51388	_ struct{} `type:"structure"`
51389}
51390
51391// String returns the string representation
51392func (s DeleteRouteTableOutput) String() string {
51393	return awsutil.Prettify(s)
51394}
51395
51396// GoString returns the string representation
51397func (s DeleteRouteTableOutput) GoString() string {
51398	return s.String()
51399}
51400
51401type DeleteSecurityGroupInput struct {
51402	_ struct{} `type:"structure"`
51403
51404	// Checks whether you have the required permissions for the action, without
51405	// actually making the request, and provides an error response. If you have
51406	// the required permissions, the error response is DryRunOperation. Otherwise,
51407	// it is UnauthorizedOperation.
51408	DryRun *bool `locationName:"dryRun" type:"boolean"`
51409
51410	// The ID of the security group. Required for a nondefault VPC.
51411	GroupId *string `type:"string"`
51412
51413	// [EC2-Classic, default VPC] The name of the security group. You can specify
51414	// either the security group name or the security group ID.
51415	GroupName *string `type:"string"`
51416}
51417
51418// String returns the string representation
51419func (s DeleteSecurityGroupInput) String() string {
51420	return awsutil.Prettify(s)
51421}
51422
51423// GoString returns the string representation
51424func (s DeleteSecurityGroupInput) GoString() string {
51425	return s.String()
51426}
51427
51428// SetDryRun sets the DryRun field's value.
51429func (s *DeleteSecurityGroupInput) SetDryRun(v bool) *DeleteSecurityGroupInput {
51430	s.DryRun = &v
51431	return s
51432}
51433
51434// SetGroupId sets the GroupId field's value.
51435func (s *DeleteSecurityGroupInput) SetGroupId(v string) *DeleteSecurityGroupInput {
51436	s.GroupId = &v
51437	return s
51438}
51439
51440// SetGroupName sets the GroupName field's value.
51441func (s *DeleteSecurityGroupInput) SetGroupName(v string) *DeleteSecurityGroupInput {
51442	s.GroupName = &v
51443	return s
51444}
51445
51446type DeleteSecurityGroupOutput struct {
51447	_ struct{} `type:"structure"`
51448}
51449
51450// String returns the string representation
51451func (s DeleteSecurityGroupOutput) String() string {
51452	return awsutil.Prettify(s)
51453}
51454
51455// GoString returns the string representation
51456func (s DeleteSecurityGroupOutput) GoString() string {
51457	return s.String()
51458}
51459
51460type DeleteSnapshotInput struct {
51461	_ struct{} `type:"structure"`
51462
51463	// Checks whether you have the required permissions for the action, without
51464	// actually making the request, and provides an error response. If you have
51465	// the required permissions, the error response is DryRunOperation. Otherwise,
51466	// it is UnauthorizedOperation.
51467	DryRun *bool `locationName:"dryRun" type:"boolean"`
51468
51469	// The ID of the EBS snapshot.
51470	//
51471	// SnapshotId is a required field
51472	SnapshotId *string `type:"string" required:"true"`
51473}
51474
51475// String returns the string representation
51476func (s DeleteSnapshotInput) String() string {
51477	return awsutil.Prettify(s)
51478}
51479
51480// GoString returns the string representation
51481func (s DeleteSnapshotInput) GoString() string {
51482	return s.String()
51483}
51484
51485// Validate inspects the fields of the type to determine if they are valid.
51486func (s *DeleteSnapshotInput) Validate() error {
51487	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"}
51488	if s.SnapshotId == nil {
51489		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
51490	}
51491
51492	if invalidParams.Len() > 0 {
51493		return invalidParams
51494	}
51495	return nil
51496}
51497
51498// SetDryRun sets the DryRun field's value.
51499func (s *DeleteSnapshotInput) SetDryRun(v bool) *DeleteSnapshotInput {
51500	s.DryRun = &v
51501	return s
51502}
51503
51504// SetSnapshotId sets the SnapshotId field's value.
51505func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput {
51506	s.SnapshotId = &v
51507	return s
51508}
51509
51510type DeleteSnapshotOutput struct {
51511	_ struct{} `type:"structure"`
51512}
51513
51514// String returns the string representation
51515func (s DeleteSnapshotOutput) String() string {
51516	return awsutil.Prettify(s)
51517}
51518
51519// GoString returns the string representation
51520func (s DeleteSnapshotOutput) GoString() string {
51521	return s.String()
51522}
51523
51524// Contains the parameters for DeleteSpotDatafeedSubscription.
51525type DeleteSpotDatafeedSubscriptionInput struct {
51526	_ struct{} `type:"structure"`
51527
51528	// Checks whether you have the required permissions for the action, without
51529	// actually making the request, and provides an error response. If you have
51530	// the required permissions, the error response is DryRunOperation. Otherwise,
51531	// it is UnauthorizedOperation.
51532	DryRun *bool `locationName:"dryRun" type:"boolean"`
51533}
51534
51535// String returns the string representation
51536func (s DeleteSpotDatafeedSubscriptionInput) String() string {
51537	return awsutil.Prettify(s)
51538}
51539
51540// GoString returns the string representation
51541func (s DeleteSpotDatafeedSubscriptionInput) GoString() string {
51542	return s.String()
51543}
51544
51545// SetDryRun sets the DryRun field's value.
51546func (s *DeleteSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DeleteSpotDatafeedSubscriptionInput {
51547	s.DryRun = &v
51548	return s
51549}
51550
51551type DeleteSpotDatafeedSubscriptionOutput struct {
51552	_ struct{} `type:"structure"`
51553}
51554
51555// String returns the string representation
51556func (s DeleteSpotDatafeedSubscriptionOutput) String() string {
51557	return awsutil.Prettify(s)
51558}
51559
51560// GoString returns the string representation
51561func (s DeleteSpotDatafeedSubscriptionOutput) GoString() string {
51562	return s.String()
51563}
51564
51565type DeleteSubnetInput struct {
51566	_ struct{} `type:"structure"`
51567
51568	// Checks whether you have the required permissions for the action, without
51569	// actually making the request, and provides an error response. If you have
51570	// the required permissions, the error response is DryRunOperation. Otherwise,
51571	// it is UnauthorizedOperation.
51572	DryRun *bool `locationName:"dryRun" type:"boolean"`
51573
51574	// The ID of the subnet.
51575	//
51576	// SubnetId is a required field
51577	SubnetId *string `type:"string" required:"true"`
51578}
51579
51580// String returns the string representation
51581func (s DeleteSubnetInput) String() string {
51582	return awsutil.Prettify(s)
51583}
51584
51585// GoString returns the string representation
51586func (s DeleteSubnetInput) GoString() string {
51587	return s.String()
51588}
51589
51590// Validate inspects the fields of the type to determine if they are valid.
51591func (s *DeleteSubnetInput) Validate() error {
51592	invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetInput"}
51593	if s.SubnetId == nil {
51594		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
51595	}
51596
51597	if invalidParams.Len() > 0 {
51598		return invalidParams
51599	}
51600	return nil
51601}
51602
51603// SetDryRun sets the DryRun field's value.
51604func (s *DeleteSubnetInput) SetDryRun(v bool) *DeleteSubnetInput {
51605	s.DryRun = &v
51606	return s
51607}
51608
51609// SetSubnetId sets the SubnetId field's value.
51610func (s *DeleteSubnetInput) SetSubnetId(v string) *DeleteSubnetInput {
51611	s.SubnetId = &v
51612	return s
51613}
51614
51615type DeleteSubnetOutput struct {
51616	_ struct{} `type:"structure"`
51617}
51618
51619// String returns the string representation
51620func (s DeleteSubnetOutput) String() string {
51621	return awsutil.Prettify(s)
51622}
51623
51624// GoString returns the string representation
51625func (s DeleteSubnetOutput) GoString() string {
51626	return s.String()
51627}
51628
51629type DeleteTagsInput struct {
51630	_ struct{} `type:"structure"`
51631
51632	// Checks whether you have the required permissions for the action, without
51633	// actually making the request, and provides an error response. If you have
51634	// the required permissions, the error response is DryRunOperation. Otherwise,
51635	// it is UnauthorizedOperation.
51636	DryRun *bool `locationName:"dryRun" type:"boolean"`
51637
51638	// The IDs of the resources, separated by spaces.
51639	//
51640	// Constraints: Up to 1000 resource IDs. We recommend breaking up this request
51641	// into smaller batches.
51642	//
51643	// Resources is a required field
51644	Resources []*string `locationName:"resourceId" type:"list" required:"true"`
51645
51646	// The tags to delete. Specify a tag key and an optional tag value to delete
51647	// specific tags. If you specify a tag key without a tag value, we delete any
51648	// tag with this key regardless of its value. If you specify a tag key with
51649	// an empty string as the tag value, we delete the tag only if its value is
51650	// an empty string.
51651	//
51652	// If you omit this parameter, we delete all user-defined tags for the specified
51653	// resources. We do not delete AWS-generated tags (tags that have the aws: prefix).
51654	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
51655}
51656
51657// String returns the string representation
51658func (s DeleteTagsInput) String() string {
51659	return awsutil.Prettify(s)
51660}
51661
51662// GoString returns the string representation
51663func (s DeleteTagsInput) GoString() string {
51664	return s.String()
51665}
51666
51667// Validate inspects the fields of the type to determine if they are valid.
51668func (s *DeleteTagsInput) Validate() error {
51669	invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"}
51670	if s.Resources == nil {
51671		invalidParams.Add(request.NewErrParamRequired("Resources"))
51672	}
51673
51674	if invalidParams.Len() > 0 {
51675		return invalidParams
51676	}
51677	return nil
51678}
51679
51680// SetDryRun sets the DryRun field's value.
51681func (s *DeleteTagsInput) SetDryRun(v bool) *DeleteTagsInput {
51682	s.DryRun = &v
51683	return s
51684}
51685
51686// SetResources sets the Resources field's value.
51687func (s *DeleteTagsInput) SetResources(v []*string) *DeleteTagsInput {
51688	s.Resources = v
51689	return s
51690}
51691
51692// SetTags sets the Tags field's value.
51693func (s *DeleteTagsInput) SetTags(v []*Tag) *DeleteTagsInput {
51694	s.Tags = v
51695	return s
51696}
51697
51698type DeleteTagsOutput struct {
51699	_ struct{} `type:"structure"`
51700}
51701
51702// String returns the string representation
51703func (s DeleteTagsOutput) String() string {
51704	return awsutil.Prettify(s)
51705}
51706
51707// GoString returns the string representation
51708func (s DeleteTagsOutput) GoString() string {
51709	return s.String()
51710}
51711
51712type DeleteTrafficMirrorFilterInput struct {
51713	_ struct{} `type:"structure"`
51714
51715	// Checks whether you have the required permissions for the action, without
51716	// actually making the request, and provides an error response. If you have
51717	// the required permissions, the error response is DryRunOperation. Otherwise,
51718	// it is UnauthorizedOperation.
51719	DryRun *bool `type:"boolean"`
51720
51721	// The ID of the Traffic Mirror filter.
51722	//
51723	// TrafficMirrorFilterId is a required field
51724	TrafficMirrorFilterId *string `type:"string" required:"true"`
51725}
51726
51727// String returns the string representation
51728func (s DeleteTrafficMirrorFilterInput) String() string {
51729	return awsutil.Prettify(s)
51730}
51731
51732// GoString returns the string representation
51733func (s DeleteTrafficMirrorFilterInput) GoString() string {
51734	return s.String()
51735}
51736
51737// Validate inspects the fields of the type to determine if they are valid.
51738func (s *DeleteTrafficMirrorFilterInput) Validate() error {
51739	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterInput"}
51740	if s.TrafficMirrorFilterId == nil {
51741		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
51742	}
51743
51744	if invalidParams.Len() > 0 {
51745		return invalidParams
51746	}
51747	return nil
51748}
51749
51750// SetDryRun sets the DryRun field's value.
51751func (s *DeleteTrafficMirrorFilterInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterInput {
51752	s.DryRun = &v
51753	return s
51754}
51755
51756// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
51757func (s *DeleteTrafficMirrorFilterInput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterInput {
51758	s.TrafficMirrorFilterId = &v
51759	return s
51760}
51761
51762type DeleteTrafficMirrorFilterOutput struct {
51763	_ struct{} `type:"structure"`
51764
51765	// The ID of the Traffic Mirror filter.
51766	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
51767}
51768
51769// String returns the string representation
51770func (s DeleteTrafficMirrorFilterOutput) String() string {
51771	return awsutil.Prettify(s)
51772}
51773
51774// GoString returns the string representation
51775func (s DeleteTrafficMirrorFilterOutput) GoString() string {
51776	return s.String()
51777}
51778
51779// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
51780func (s *DeleteTrafficMirrorFilterOutput) SetTrafficMirrorFilterId(v string) *DeleteTrafficMirrorFilterOutput {
51781	s.TrafficMirrorFilterId = &v
51782	return s
51783}
51784
51785type DeleteTrafficMirrorFilterRuleInput struct {
51786	_ struct{} `type:"structure"`
51787
51788	// Checks whether you have the required permissions for the action, without
51789	// actually making the request, and provides an error response. If you have
51790	// the required permissions, the error response is DryRunOperation. Otherwise,
51791	// it is UnauthorizedOperation.
51792	DryRun *bool `type:"boolean"`
51793
51794	// The ID of the Traffic Mirror rule.
51795	//
51796	// TrafficMirrorFilterRuleId is a required field
51797	TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
51798}
51799
51800// String returns the string representation
51801func (s DeleteTrafficMirrorFilterRuleInput) String() string {
51802	return awsutil.Prettify(s)
51803}
51804
51805// GoString returns the string representation
51806func (s DeleteTrafficMirrorFilterRuleInput) GoString() string {
51807	return s.String()
51808}
51809
51810// Validate inspects the fields of the type to determine if they are valid.
51811func (s *DeleteTrafficMirrorFilterRuleInput) Validate() error {
51812	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorFilterRuleInput"}
51813	if s.TrafficMirrorFilterRuleId == nil {
51814		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
51815	}
51816
51817	if invalidParams.Len() > 0 {
51818		return invalidParams
51819	}
51820	return nil
51821}
51822
51823// SetDryRun sets the DryRun field's value.
51824func (s *DeleteTrafficMirrorFilterRuleInput) SetDryRun(v bool) *DeleteTrafficMirrorFilterRuleInput {
51825	s.DryRun = &v
51826	return s
51827}
51828
51829// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
51830func (s *DeleteTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleInput {
51831	s.TrafficMirrorFilterRuleId = &v
51832	return s
51833}
51834
51835type DeleteTrafficMirrorFilterRuleOutput struct {
51836	_ struct{} `type:"structure"`
51837
51838	// The ID of the deleted Traffic Mirror rule.
51839	TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
51840}
51841
51842// String returns the string representation
51843func (s DeleteTrafficMirrorFilterRuleOutput) String() string {
51844	return awsutil.Prettify(s)
51845}
51846
51847// GoString returns the string representation
51848func (s DeleteTrafficMirrorFilterRuleOutput) GoString() string {
51849	return s.String()
51850}
51851
51852// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
51853func (s *DeleteTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRuleId(v string) *DeleteTrafficMirrorFilterRuleOutput {
51854	s.TrafficMirrorFilterRuleId = &v
51855	return s
51856}
51857
51858type DeleteTrafficMirrorSessionInput struct {
51859	_ struct{} `type:"structure"`
51860
51861	// Checks whether you have the required permissions for the action, without
51862	// actually making the request, and provides an error response. If you have
51863	// the required permissions, the error response is DryRunOperation. Otherwise,
51864	// it is UnauthorizedOperation.
51865	DryRun *bool `type:"boolean"`
51866
51867	// The ID of the Traffic Mirror session.
51868	//
51869	// TrafficMirrorSessionId is a required field
51870	TrafficMirrorSessionId *string `type:"string" required:"true"`
51871}
51872
51873// String returns the string representation
51874func (s DeleteTrafficMirrorSessionInput) String() string {
51875	return awsutil.Prettify(s)
51876}
51877
51878// GoString returns the string representation
51879func (s DeleteTrafficMirrorSessionInput) GoString() string {
51880	return s.String()
51881}
51882
51883// Validate inspects the fields of the type to determine if they are valid.
51884func (s *DeleteTrafficMirrorSessionInput) Validate() error {
51885	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorSessionInput"}
51886	if s.TrafficMirrorSessionId == nil {
51887		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
51888	}
51889
51890	if invalidParams.Len() > 0 {
51891		return invalidParams
51892	}
51893	return nil
51894}
51895
51896// SetDryRun sets the DryRun field's value.
51897func (s *DeleteTrafficMirrorSessionInput) SetDryRun(v bool) *DeleteTrafficMirrorSessionInput {
51898	s.DryRun = &v
51899	return s
51900}
51901
51902// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
51903func (s *DeleteTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionInput {
51904	s.TrafficMirrorSessionId = &v
51905	return s
51906}
51907
51908type DeleteTrafficMirrorSessionOutput struct {
51909	_ struct{} `type:"structure"`
51910
51911	// The ID of the deleted Traffic Mirror session.
51912	TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
51913}
51914
51915// String returns the string representation
51916func (s DeleteTrafficMirrorSessionOutput) String() string {
51917	return awsutil.Prettify(s)
51918}
51919
51920// GoString returns the string representation
51921func (s DeleteTrafficMirrorSessionOutput) GoString() string {
51922	return s.String()
51923}
51924
51925// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
51926func (s *DeleteTrafficMirrorSessionOutput) SetTrafficMirrorSessionId(v string) *DeleteTrafficMirrorSessionOutput {
51927	s.TrafficMirrorSessionId = &v
51928	return s
51929}
51930
51931type DeleteTrafficMirrorTargetInput struct {
51932	_ struct{} `type:"structure"`
51933
51934	// Checks whether you have the required permissions for the action, without
51935	// actually making the request, and provides an error response. If you have
51936	// the required permissions, the error response is DryRunOperation. Otherwise,
51937	// it is UnauthorizedOperation.
51938	DryRun *bool `type:"boolean"`
51939
51940	// The ID of the Traffic Mirror target.
51941	//
51942	// TrafficMirrorTargetId is a required field
51943	TrafficMirrorTargetId *string `type:"string" required:"true"`
51944}
51945
51946// String returns the string representation
51947func (s DeleteTrafficMirrorTargetInput) String() string {
51948	return awsutil.Prettify(s)
51949}
51950
51951// GoString returns the string representation
51952func (s DeleteTrafficMirrorTargetInput) GoString() string {
51953	return s.String()
51954}
51955
51956// Validate inspects the fields of the type to determine if they are valid.
51957func (s *DeleteTrafficMirrorTargetInput) Validate() error {
51958	invalidParams := request.ErrInvalidParams{Context: "DeleteTrafficMirrorTargetInput"}
51959	if s.TrafficMirrorTargetId == nil {
51960		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorTargetId"))
51961	}
51962
51963	if invalidParams.Len() > 0 {
51964		return invalidParams
51965	}
51966	return nil
51967}
51968
51969// SetDryRun sets the DryRun field's value.
51970func (s *DeleteTrafficMirrorTargetInput) SetDryRun(v bool) *DeleteTrafficMirrorTargetInput {
51971	s.DryRun = &v
51972	return s
51973}
51974
51975// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
51976func (s *DeleteTrafficMirrorTargetInput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetInput {
51977	s.TrafficMirrorTargetId = &v
51978	return s
51979}
51980
51981type DeleteTrafficMirrorTargetOutput struct {
51982	_ struct{} `type:"structure"`
51983
51984	// The ID of the deleted Traffic Mirror target.
51985	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
51986}
51987
51988// String returns the string representation
51989func (s DeleteTrafficMirrorTargetOutput) String() string {
51990	return awsutil.Prettify(s)
51991}
51992
51993// GoString returns the string representation
51994func (s DeleteTrafficMirrorTargetOutput) GoString() string {
51995	return s.String()
51996}
51997
51998// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
51999func (s *DeleteTrafficMirrorTargetOutput) SetTrafficMirrorTargetId(v string) *DeleteTrafficMirrorTargetOutput {
52000	s.TrafficMirrorTargetId = &v
52001	return s
52002}
52003
52004type DeleteTransitGatewayInput struct {
52005	_ struct{} `type:"structure"`
52006
52007	// Checks whether you have the required permissions for the action, without
52008	// actually making the request, and provides an error response. If you have
52009	// the required permissions, the error response is DryRunOperation. Otherwise,
52010	// it is UnauthorizedOperation.
52011	DryRun *bool `type:"boolean"`
52012
52013	// The ID of the transit gateway.
52014	//
52015	// TransitGatewayId is a required field
52016	TransitGatewayId *string `type:"string" required:"true"`
52017}
52018
52019// String returns the string representation
52020func (s DeleteTransitGatewayInput) String() string {
52021	return awsutil.Prettify(s)
52022}
52023
52024// GoString returns the string representation
52025func (s DeleteTransitGatewayInput) GoString() string {
52026	return s.String()
52027}
52028
52029// Validate inspects the fields of the type to determine if they are valid.
52030func (s *DeleteTransitGatewayInput) Validate() error {
52031	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayInput"}
52032	if s.TransitGatewayId == nil {
52033		invalidParams.Add(request.NewErrParamRequired("TransitGatewayId"))
52034	}
52035
52036	if invalidParams.Len() > 0 {
52037		return invalidParams
52038	}
52039	return nil
52040}
52041
52042// SetDryRun sets the DryRun field's value.
52043func (s *DeleteTransitGatewayInput) SetDryRun(v bool) *DeleteTransitGatewayInput {
52044	s.DryRun = &v
52045	return s
52046}
52047
52048// SetTransitGatewayId sets the TransitGatewayId field's value.
52049func (s *DeleteTransitGatewayInput) SetTransitGatewayId(v string) *DeleteTransitGatewayInput {
52050	s.TransitGatewayId = &v
52051	return s
52052}
52053
52054type DeleteTransitGatewayMulticastDomainInput struct {
52055	_ struct{} `type:"structure"`
52056
52057	// Checks whether you have the required permissions for the action, without
52058	// actually making the request, and provides an error response. If you have
52059	// the required permissions, the error response is DryRunOperation. Otherwise,
52060	// it is UnauthorizedOperation.
52061	DryRun *bool `type:"boolean"`
52062
52063	// The ID of the transit gateway multicast domain.
52064	//
52065	// TransitGatewayMulticastDomainId is a required field
52066	TransitGatewayMulticastDomainId *string `type:"string" required:"true"`
52067}
52068
52069// String returns the string representation
52070func (s DeleteTransitGatewayMulticastDomainInput) String() string {
52071	return awsutil.Prettify(s)
52072}
52073
52074// GoString returns the string representation
52075func (s DeleteTransitGatewayMulticastDomainInput) GoString() string {
52076	return s.String()
52077}
52078
52079// Validate inspects the fields of the type to determine if they are valid.
52080func (s *DeleteTransitGatewayMulticastDomainInput) Validate() error {
52081	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayMulticastDomainInput"}
52082	if s.TransitGatewayMulticastDomainId == nil {
52083		invalidParams.Add(request.NewErrParamRequired("TransitGatewayMulticastDomainId"))
52084	}
52085
52086	if invalidParams.Len() > 0 {
52087		return invalidParams
52088	}
52089	return nil
52090}
52091
52092// SetDryRun sets the DryRun field's value.
52093func (s *DeleteTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DeleteTransitGatewayMulticastDomainInput {
52094	s.DryRun = &v
52095	return s
52096}
52097
52098// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
52099func (s *DeleteTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DeleteTransitGatewayMulticastDomainInput {
52100	s.TransitGatewayMulticastDomainId = &v
52101	return s
52102}
52103
52104type DeleteTransitGatewayMulticastDomainOutput struct {
52105	_ struct{} `type:"structure"`
52106
52107	// Information about the deleted transit gateway multicast domain.
52108	TransitGatewayMulticastDomain *TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomain" type:"structure"`
52109}
52110
52111// String returns the string representation
52112func (s DeleteTransitGatewayMulticastDomainOutput) String() string {
52113	return awsutil.Prettify(s)
52114}
52115
52116// GoString returns the string representation
52117func (s DeleteTransitGatewayMulticastDomainOutput) GoString() string {
52118	return s.String()
52119}
52120
52121// SetTransitGatewayMulticastDomain sets the TransitGatewayMulticastDomain field's value.
52122func (s *DeleteTransitGatewayMulticastDomainOutput) SetTransitGatewayMulticastDomain(v *TransitGatewayMulticastDomain) *DeleteTransitGatewayMulticastDomainOutput {
52123	s.TransitGatewayMulticastDomain = v
52124	return s
52125}
52126
52127type DeleteTransitGatewayOutput struct {
52128	_ struct{} `type:"structure"`
52129
52130	// Information about the deleted transit gateway.
52131	TransitGateway *TransitGateway `locationName:"transitGateway" type:"structure"`
52132}
52133
52134// String returns the string representation
52135func (s DeleteTransitGatewayOutput) String() string {
52136	return awsutil.Prettify(s)
52137}
52138
52139// GoString returns the string representation
52140func (s DeleteTransitGatewayOutput) GoString() string {
52141	return s.String()
52142}
52143
52144// SetTransitGateway sets the TransitGateway field's value.
52145func (s *DeleteTransitGatewayOutput) SetTransitGateway(v *TransitGateway) *DeleteTransitGatewayOutput {
52146	s.TransitGateway = v
52147	return s
52148}
52149
52150type DeleteTransitGatewayPeeringAttachmentInput struct {
52151	_ struct{} `type:"structure"`
52152
52153	// Checks whether you have the required permissions for the action, without
52154	// actually making the request, and provides an error response. If you have
52155	// the required permissions, the error response is DryRunOperation. Otherwise,
52156	// it is UnauthorizedOperation.
52157	DryRun *bool `type:"boolean"`
52158
52159	// The ID of the transit gateway peering attachment.
52160	//
52161	// TransitGatewayAttachmentId is a required field
52162	TransitGatewayAttachmentId *string `type:"string" required:"true"`
52163}
52164
52165// String returns the string representation
52166func (s DeleteTransitGatewayPeeringAttachmentInput) String() string {
52167	return awsutil.Prettify(s)
52168}
52169
52170// GoString returns the string representation
52171func (s DeleteTransitGatewayPeeringAttachmentInput) GoString() string {
52172	return s.String()
52173}
52174
52175// Validate inspects the fields of the type to determine if they are valid.
52176func (s *DeleteTransitGatewayPeeringAttachmentInput) Validate() error {
52177	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayPeeringAttachmentInput"}
52178	if s.TransitGatewayAttachmentId == nil {
52179		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
52180	}
52181
52182	if invalidParams.Len() > 0 {
52183		return invalidParams
52184	}
52185	return nil
52186}
52187
52188// SetDryRun sets the DryRun field's value.
52189func (s *DeleteTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayPeeringAttachmentInput {
52190	s.DryRun = &v
52191	return s
52192}
52193
52194// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
52195func (s *DeleteTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayPeeringAttachmentInput {
52196	s.TransitGatewayAttachmentId = &v
52197	return s
52198}
52199
52200type DeleteTransitGatewayPeeringAttachmentOutput struct {
52201	_ struct{} `type:"structure"`
52202
52203	// The transit gateway peering attachment.
52204	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
52205}
52206
52207// String returns the string representation
52208func (s DeleteTransitGatewayPeeringAttachmentOutput) String() string {
52209	return awsutil.Prettify(s)
52210}
52211
52212// GoString returns the string representation
52213func (s DeleteTransitGatewayPeeringAttachmentOutput) GoString() string {
52214	return s.String()
52215}
52216
52217// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
52218func (s *DeleteTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *DeleteTransitGatewayPeeringAttachmentOutput {
52219	s.TransitGatewayPeeringAttachment = v
52220	return s
52221}
52222
52223type DeleteTransitGatewayRouteInput struct {
52224	_ struct{} `type:"structure"`
52225
52226	// The CIDR range for the route. This must match the CIDR for the route exactly.
52227	//
52228	// DestinationCidrBlock is a required field
52229	DestinationCidrBlock *string `type:"string" required:"true"`
52230
52231	// Checks whether you have the required permissions for the action, without
52232	// actually making the request, and provides an error response. If you have
52233	// the required permissions, the error response is DryRunOperation. Otherwise,
52234	// it is UnauthorizedOperation.
52235	DryRun *bool `type:"boolean"`
52236
52237	// The ID of the transit gateway route table.
52238	//
52239	// TransitGatewayRouteTableId is a required field
52240	TransitGatewayRouteTableId *string `type:"string" required:"true"`
52241}
52242
52243// String returns the string representation
52244func (s DeleteTransitGatewayRouteInput) String() string {
52245	return awsutil.Prettify(s)
52246}
52247
52248// GoString returns the string representation
52249func (s DeleteTransitGatewayRouteInput) GoString() string {
52250	return s.String()
52251}
52252
52253// Validate inspects the fields of the type to determine if they are valid.
52254func (s *DeleteTransitGatewayRouteInput) Validate() error {
52255	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteInput"}
52256	if s.DestinationCidrBlock == nil {
52257		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
52258	}
52259	if s.TransitGatewayRouteTableId == nil {
52260		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
52261	}
52262
52263	if invalidParams.Len() > 0 {
52264		return invalidParams
52265	}
52266	return nil
52267}
52268
52269// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
52270func (s *DeleteTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *DeleteTransitGatewayRouteInput {
52271	s.DestinationCidrBlock = &v
52272	return s
52273}
52274
52275// SetDryRun sets the DryRun field's value.
52276func (s *DeleteTransitGatewayRouteInput) SetDryRun(v bool) *DeleteTransitGatewayRouteInput {
52277	s.DryRun = &v
52278	return s
52279}
52280
52281// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
52282func (s *DeleteTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteInput {
52283	s.TransitGatewayRouteTableId = &v
52284	return s
52285}
52286
52287type DeleteTransitGatewayRouteOutput struct {
52288	_ struct{} `type:"structure"`
52289
52290	// Information about the route.
52291	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
52292}
52293
52294// String returns the string representation
52295func (s DeleteTransitGatewayRouteOutput) String() string {
52296	return awsutil.Prettify(s)
52297}
52298
52299// GoString returns the string representation
52300func (s DeleteTransitGatewayRouteOutput) GoString() string {
52301	return s.String()
52302}
52303
52304// SetRoute sets the Route field's value.
52305func (s *DeleteTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *DeleteTransitGatewayRouteOutput {
52306	s.Route = v
52307	return s
52308}
52309
52310type DeleteTransitGatewayRouteTableInput struct {
52311	_ struct{} `type:"structure"`
52312
52313	// Checks whether you have the required permissions for the action, without
52314	// actually making the request, and provides an error response. If you have
52315	// the required permissions, the error response is DryRunOperation. Otherwise,
52316	// it is UnauthorizedOperation.
52317	DryRun *bool `type:"boolean"`
52318
52319	// The ID of the transit gateway route table.
52320	//
52321	// TransitGatewayRouteTableId is a required field
52322	TransitGatewayRouteTableId *string `type:"string" required:"true"`
52323}
52324
52325// String returns the string representation
52326func (s DeleteTransitGatewayRouteTableInput) String() string {
52327	return awsutil.Prettify(s)
52328}
52329
52330// GoString returns the string representation
52331func (s DeleteTransitGatewayRouteTableInput) GoString() string {
52332	return s.String()
52333}
52334
52335// Validate inspects the fields of the type to determine if they are valid.
52336func (s *DeleteTransitGatewayRouteTableInput) Validate() error {
52337	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayRouteTableInput"}
52338	if s.TransitGatewayRouteTableId == nil {
52339		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
52340	}
52341
52342	if invalidParams.Len() > 0 {
52343		return invalidParams
52344	}
52345	return nil
52346}
52347
52348// SetDryRun sets the DryRun field's value.
52349func (s *DeleteTransitGatewayRouteTableInput) SetDryRun(v bool) *DeleteTransitGatewayRouteTableInput {
52350	s.DryRun = &v
52351	return s
52352}
52353
52354// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
52355func (s *DeleteTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DeleteTransitGatewayRouteTableInput {
52356	s.TransitGatewayRouteTableId = &v
52357	return s
52358}
52359
52360type DeleteTransitGatewayRouteTableOutput struct {
52361	_ struct{} `type:"structure"`
52362
52363	// Information about the deleted transit gateway route table.
52364	TransitGatewayRouteTable *TransitGatewayRouteTable `locationName:"transitGatewayRouteTable" type:"structure"`
52365}
52366
52367// String returns the string representation
52368func (s DeleteTransitGatewayRouteTableOutput) String() string {
52369	return awsutil.Prettify(s)
52370}
52371
52372// GoString returns the string representation
52373func (s DeleteTransitGatewayRouteTableOutput) GoString() string {
52374	return s.String()
52375}
52376
52377// SetTransitGatewayRouteTable sets the TransitGatewayRouteTable field's value.
52378func (s *DeleteTransitGatewayRouteTableOutput) SetTransitGatewayRouteTable(v *TransitGatewayRouteTable) *DeleteTransitGatewayRouteTableOutput {
52379	s.TransitGatewayRouteTable = v
52380	return s
52381}
52382
52383type DeleteTransitGatewayVpcAttachmentInput struct {
52384	_ struct{} `type:"structure"`
52385
52386	// Checks whether you have the required permissions for the action, without
52387	// actually making the request, and provides an error response. If you have
52388	// the required permissions, the error response is DryRunOperation. Otherwise,
52389	// it is UnauthorizedOperation.
52390	DryRun *bool `type:"boolean"`
52391
52392	// The ID of the attachment.
52393	//
52394	// TransitGatewayAttachmentId is a required field
52395	TransitGatewayAttachmentId *string `type:"string" required:"true"`
52396}
52397
52398// String returns the string representation
52399func (s DeleteTransitGatewayVpcAttachmentInput) String() string {
52400	return awsutil.Prettify(s)
52401}
52402
52403// GoString returns the string representation
52404func (s DeleteTransitGatewayVpcAttachmentInput) GoString() string {
52405	return s.String()
52406}
52407
52408// Validate inspects the fields of the type to determine if they are valid.
52409func (s *DeleteTransitGatewayVpcAttachmentInput) Validate() error {
52410	invalidParams := request.ErrInvalidParams{Context: "DeleteTransitGatewayVpcAttachmentInput"}
52411	if s.TransitGatewayAttachmentId == nil {
52412		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
52413	}
52414
52415	if invalidParams.Len() > 0 {
52416		return invalidParams
52417	}
52418	return nil
52419}
52420
52421// SetDryRun sets the DryRun field's value.
52422func (s *DeleteTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *DeleteTransitGatewayVpcAttachmentInput {
52423	s.DryRun = &v
52424	return s
52425}
52426
52427// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
52428func (s *DeleteTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *DeleteTransitGatewayVpcAttachmentInput {
52429	s.TransitGatewayAttachmentId = &v
52430	return s
52431}
52432
52433type DeleteTransitGatewayVpcAttachmentOutput struct {
52434	_ struct{} `type:"structure"`
52435
52436	// Information about the deleted VPC attachment.
52437	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
52438}
52439
52440// String returns the string representation
52441func (s DeleteTransitGatewayVpcAttachmentOutput) String() string {
52442	return awsutil.Prettify(s)
52443}
52444
52445// GoString returns the string representation
52446func (s DeleteTransitGatewayVpcAttachmentOutput) GoString() string {
52447	return s.String()
52448}
52449
52450// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
52451func (s *DeleteTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *DeleteTransitGatewayVpcAttachmentOutput {
52452	s.TransitGatewayVpcAttachment = v
52453	return s
52454}
52455
52456type DeleteVolumeInput struct {
52457	_ struct{} `type:"structure"`
52458
52459	// Checks whether you have the required permissions for the action, without
52460	// actually making the request, and provides an error response. If you have
52461	// the required permissions, the error response is DryRunOperation. Otherwise,
52462	// it is UnauthorizedOperation.
52463	DryRun *bool `locationName:"dryRun" type:"boolean"`
52464
52465	// The ID of the volume.
52466	//
52467	// VolumeId is a required field
52468	VolumeId *string `type:"string" required:"true"`
52469}
52470
52471// String returns the string representation
52472func (s DeleteVolumeInput) String() string {
52473	return awsutil.Prettify(s)
52474}
52475
52476// GoString returns the string representation
52477func (s DeleteVolumeInput) GoString() string {
52478	return s.String()
52479}
52480
52481// Validate inspects the fields of the type to determine if they are valid.
52482func (s *DeleteVolumeInput) Validate() error {
52483	invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
52484	if s.VolumeId == nil {
52485		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
52486	}
52487
52488	if invalidParams.Len() > 0 {
52489		return invalidParams
52490	}
52491	return nil
52492}
52493
52494// SetDryRun sets the DryRun field's value.
52495func (s *DeleteVolumeInput) SetDryRun(v bool) *DeleteVolumeInput {
52496	s.DryRun = &v
52497	return s
52498}
52499
52500// SetVolumeId sets the VolumeId field's value.
52501func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput {
52502	s.VolumeId = &v
52503	return s
52504}
52505
52506type DeleteVolumeOutput struct {
52507	_ struct{} `type:"structure"`
52508}
52509
52510// String returns the string representation
52511func (s DeleteVolumeOutput) String() string {
52512	return awsutil.Prettify(s)
52513}
52514
52515// GoString returns the string representation
52516func (s DeleteVolumeOutput) GoString() string {
52517	return s.String()
52518}
52519
52520type DeleteVpcEndpointConnectionNotificationsInput struct {
52521	_ struct{} `type:"structure"`
52522
52523	// One or more notification IDs.
52524	//
52525	// ConnectionNotificationIds is a required field
52526	ConnectionNotificationIds []*string `locationName:"ConnectionNotificationId" locationNameList:"item" type:"list" required:"true"`
52527
52528	// Checks whether you have the required permissions for the action, without
52529	// actually making the request, and provides an error response. If you have
52530	// the required permissions, the error response is DryRunOperation. Otherwise,
52531	// it is UnauthorizedOperation.
52532	DryRun *bool `type:"boolean"`
52533}
52534
52535// String returns the string representation
52536func (s DeleteVpcEndpointConnectionNotificationsInput) String() string {
52537	return awsutil.Prettify(s)
52538}
52539
52540// GoString returns the string representation
52541func (s DeleteVpcEndpointConnectionNotificationsInput) GoString() string {
52542	return s.String()
52543}
52544
52545// Validate inspects the fields of the type to determine if they are valid.
52546func (s *DeleteVpcEndpointConnectionNotificationsInput) Validate() error {
52547	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointConnectionNotificationsInput"}
52548	if s.ConnectionNotificationIds == nil {
52549		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationIds"))
52550	}
52551
52552	if invalidParams.Len() > 0 {
52553		return invalidParams
52554	}
52555	return nil
52556}
52557
52558// SetConnectionNotificationIds sets the ConnectionNotificationIds field's value.
52559func (s *DeleteVpcEndpointConnectionNotificationsInput) SetConnectionNotificationIds(v []*string) *DeleteVpcEndpointConnectionNotificationsInput {
52560	s.ConnectionNotificationIds = v
52561	return s
52562}
52563
52564// SetDryRun sets the DryRun field's value.
52565func (s *DeleteVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DeleteVpcEndpointConnectionNotificationsInput {
52566	s.DryRun = &v
52567	return s
52568}
52569
52570type DeleteVpcEndpointConnectionNotificationsOutput struct {
52571	_ struct{} `type:"structure"`
52572
52573	// Information about the notifications that could not be deleted successfully.
52574	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
52575}
52576
52577// String returns the string representation
52578func (s DeleteVpcEndpointConnectionNotificationsOutput) String() string {
52579	return awsutil.Prettify(s)
52580}
52581
52582// GoString returns the string representation
52583func (s DeleteVpcEndpointConnectionNotificationsOutput) GoString() string {
52584	return s.String()
52585}
52586
52587// SetUnsuccessful sets the Unsuccessful field's value.
52588func (s *DeleteVpcEndpointConnectionNotificationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointConnectionNotificationsOutput {
52589	s.Unsuccessful = v
52590	return s
52591}
52592
52593type DeleteVpcEndpointServiceConfigurationsInput struct {
52594	_ struct{} `type:"structure"`
52595
52596	// Checks whether you have the required permissions for the action, without
52597	// actually making the request, and provides an error response. If you have
52598	// the required permissions, the error response is DryRunOperation. Otherwise,
52599	// it is UnauthorizedOperation.
52600	DryRun *bool `type:"boolean"`
52601
52602	// The IDs of one or more services.
52603	//
52604	// ServiceIds is a required field
52605	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list" required:"true"`
52606}
52607
52608// String returns the string representation
52609func (s DeleteVpcEndpointServiceConfigurationsInput) String() string {
52610	return awsutil.Prettify(s)
52611}
52612
52613// GoString returns the string representation
52614func (s DeleteVpcEndpointServiceConfigurationsInput) GoString() string {
52615	return s.String()
52616}
52617
52618// Validate inspects the fields of the type to determine if they are valid.
52619func (s *DeleteVpcEndpointServiceConfigurationsInput) Validate() error {
52620	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointServiceConfigurationsInput"}
52621	if s.ServiceIds == nil {
52622		invalidParams.Add(request.NewErrParamRequired("ServiceIds"))
52623	}
52624
52625	if invalidParams.Len() > 0 {
52626		return invalidParams
52627	}
52628	return nil
52629}
52630
52631// SetDryRun sets the DryRun field's value.
52632func (s *DeleteVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DeleteVpcEndpointServiceConfigurationsInput {
52633	s.DryRun = &v
52634	return s
52635}
52636
52637// SetServiceIds sets the ServiceIds field's value.
52638func (s *DeleteVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DeleteVpcEndpointServiceConfigurationsInput {
52639	s.ServiceIds = v
52640	return s
52641}
52642
52643type DeleteVpcEndpointServiceConfigurationsOutput struct {
52644	_ struct{} `type:"structure"`
52645
52646	// Information about the service configurations that were not deleted, if applicable.
52647	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
52648}
52649
52650// String returns the string representation
52651func (s DeleteVpcEndpointServiceConfigurationsOutput) String() string {
52652	return awsutil.Prettify(s)
52653}
52654
52655// GoString returns the string representation
52656func (s DeleteVpcEndpointServiceConfigurationsOutput) GoString() string {
52657	return s.String()
52658}
52659
52660// SetUnsuccessful sets the Unsuccessful field's value.
52661func (s *DeleteVpcEndpointServiceConfigurationsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointServiceConfigurationsOutput {
52662	s.Unsuccessful = v
52663	return s
52664}
52665
52666// Contains the parameters for DeleteVpcEndpoints.
52667type DeleteVpcEndpointsInput struct {
52668	_ struct{} `type:"structure"`
52669
52670	// Checks whether you have the required permissions for the action, without
52671	// actually making the request, and provides an error response. If you have
52672	// the required permissions, the error response is DryRunOperation. Otherwise,
52673	// it is UnauthorizedOperation.
52674	DryRun *bool `type:"boolean"`
52675
52676	// One or more VPC endpoint IDs.
52677	//
52678	// VpcEndpointIds is a required field
52679	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
52680}
52681
52682// String returns the string representation
52683func (s DeleteVpcEndpointsInput) String() string {
52684	return awsutil.Prettify(s)
52685}
52686
52687// GoString returns the string representation
52688func (s DeleteVpcEndpointsInput) GoString() string {
52689	return s.String()
52690}
52691
52692// Validate inspects the fields of the type to determine if they are valid.
52693func (s *DeleteVpcEndpointsInput) Validate() error {
52694	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcEndpointsInput"}
52695	if s.VpcEndpointIds == nil {
52696		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
52697	}
52698
52699	if invalidParams.Len() > 0 {
52700		return invalidParams
52701	}
52702	return nil
52703}
52704
52705// SetDryRun sets the DryRun field's value.
52706func (s *DeleteVpcEndpointsInput) SetDryRun(v bool) *DeleteVpcEndpointsInput {
52707	s.DryRun = &v
52708	return s
52709}
52710
52711// SetVpcEndpointIds sets the VpcEndpointIds field's value.
52712func (s *DeleteVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DeleteVpcEndpointsInput {
52713	s.VpcEndpointIds = v
52714	return s
52715}
52716
52717// Contains the output of DeleteVpcEndpoints.
52718type DeleteVpcEndpointsOutput struct {
52719	_ struct{} `type:"structure"`
52720
52721	// Information about the VPC endpoints that were not successfully deleted.
52722	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
52723}
52724
52725// String returns the string representation
52726func (s DeleteVpcEndpointsOutput) String() string {
52727	return awsutil.Prettify(s)
52728}
52729
52730// GoString returns the string representation
52731func (s DeleteVpcEndpointsOutput) GoString() string {
52732	return s.String()
52733}
52734
52735// SetUnsuccessful sets the Unsuccessful field's value.
52736func (s *DeleteVpcEndpointsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *DeleteVpcEndpointsOutput {
52737	s.Unsuccessful = v
52738	return s
52739}
52740
52741type DeleteVpcInput struct {
52742	_ struct{} `type:"structure"`
52743
52744	// Checks whether you have the required permissions for the action, without
52745	// actually making the request, and provides an error response. If you have
52746	// the required permissions, the error response is DryRunOperation. Otherwise,
52747	// it is UnauthorizedOperation.
52748	DryRun *bool `locationName:"dryRun" type:"boolean"`
52749
52750	// The ID of the VPC.
52751	//
52752	// VpcId is a required field
52753	VpcId *string `type:"string" required:"true"`
52754}
52755
52756// String returns the string representation
52757func (s DeleteVpcInput) String() string {
52758	return awsutil.Prettify(s)
52759}
52760
52761// GoString returns the string representation
52762func (s DeleteVpcInput) GoString() string {
52763	return s.String()
52764}
52765
52766// Validate inspects the fields of the type to determine if they are valid.
52767func (s *DeleteVpcInput) Validate() error {
52768	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcInput"}
52769	if s.VpcId == nil {
52770		invalidParams.Add(request.NewErrParamRequired("VpcId"))
52771	}
52772
52773	if invalidParams.Len() > 0 {
52774		return invalidParams
52775	}
52776	return nil
52777}
52778
52779// SetDryRun sets the DryRun field's value.
52780func (s *DeleteVpcInput) SetDryRun(v bool) *DeleteVpcInput {
52781	s.DryRun = &v
52782	return s
52783}
52784
52785// SetVpcId sets the VpcId field's value.
52786func (s *DeleteVpcInput) SetVpcId(v string) *DeleteVpcInput {
52787	s.VpcId = &v
52788	return s
52789}
52790
52791type DeleteVpcOutput struct {
52792	_ struct{} `type:"structure"`
52793}
52794
52795// String returns the string representation
52796func (s DeleteVpcOutput) String() string {
52797	return awsutil.Prettify(s)
52798}
52799
52800// GoString returns the string representation
52801func (s DeleteVpcOutput) GoString() string {
52802	return s.String()
52803}
52804
52805type DeleteVpcPeeringConnectionInput struct {
52806	_ struct{} `type:"structure"`
52807
52808	// Checks whether you have the required permissions for the action, without
52809	// actually making the request, and provides an error response. If you have
52810	// the required permissions, the error response is DryRunOperation. Otherwise,
52811	// it is UnauthorizedOperation.
52812	DryRun *bool `locationName:"dryRun" type:"boolean"`
52813
52814	// The ID of the VPC peering connection.
52815	//
52816	// VpcPeeringConnectionId is a required field
52817	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
52818}
52819
52820// String returns the string representation
52821func (s DeleteVpcPeeringConnectionInput) String() string {
52822	return awsutil.Prettify(s)
52823}
52824
52825// GoString returns the string representation
52826func (s DeleteVpcPeeringConnectionInput) GoString() string {
52827	return s.String()
52828}
52829
52830// Validate inspects the fields of the type to determine if they are valid.
52831func (s *DeleteVpcPeeringConnectionInput) Validate() error {
52832	invalidParams := request.ErrInvalidParams{Context: "DeleteVpcPeeringConnectionInput"}
52833	if s.VpcPeeringConnectionId == nil {
52834		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
52835	}
52836
52837	if invalidParams.Len() > 0 {
52838		return invalidParams
52839	}
52840	return nil
52841}
52842
52843// SetDryRun sets the DryRun field's value.
52844func (s *DeleteVpcPeeringConnectionInput) SetDryRun(v bool) *DeleteVpcPeeringConnectionInput {
52845	s.DryRun = &v
52846	return s
52847}
52848
52849// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
52850func (s *DeleteVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *DeleteVpcPeeringConnectionInput {
52851	s.VpcPeeringConnectionId = &v
52852	return s
52853}
52854
52855type DeleteVpcPeeringConnectionOutput struct {
52856	_ struct{} `type:"structure"`
52857
52858	// Returns true if the request succeeds; otherwise, it returns an error.
52859	Return *bool `locationName:"return" type:"boolean"`
52860}
52861
52862// String returns the string representation
52863func (s DeleteVpcPeeringConnectionOutput) String() string {
52864	return awsutil.Prettify(s)
52865}
52866
52867// GoString returns the string representation
52868func (s DeleteVpcPeeringConnectionOutput) GoString() string {
52869	return s.String()
52870}
52871
52872// SetReturn sets the Return field's value.
52873func (s *DeleteVpcPeeringConnectionOutput) SetReturn(v bool) *DeleteVpcPeeringConnectionOutput {
52874	s.Return = &v
52875	return s
52876}
52877
52878// Contains the parameters for DeleteVpnConnection.
52879type DeleteVpnConnectionInput struct {
52880	_ struct{} `type:"structure"`
52881
52882	// Checks whether you have the required permissions for the action, without
52883	// actually making the request, and provides an error response. If you have
52884	// the required permissions, the error response is DryRunOperation. Otherwise,
52885	// it is UnauthorizedOperation.
52886	DryRun *bool `locationName:"dryRun" type:"boolean"`
52887
52888	// The ID of the VPN connection.
52889	//
52890	// VpnConnectionId is a required field
52891	VpnConnectionId *string `type:"string" required:"true"`
52892}
52893
52894// String returns the string representation
52895func (s DeleteVpnConnectionInput) String() string {
52896	return awsutil.Prettify(s)
52897}
52898
52899// GoString returns the string representation
52900func (s DeleteVpnConnectionInput) GoString() string {
52901	return s.String()
52902}
52903
52904// Validate inspects the fields of the type to determine if they are valid.
52905func (s *DeleteVpnConnectionInput) Validate() error {
52906	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionInput"}
52907	if s.VpnConnectionId == nil {
52908		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
52909	}
52910
52911	if invalidParams.Len() > 0 {
52912		return invalidParams
52913	}
52914	return nil
52915}
52916
52917// SetDryRun sets the DryRun field's value.
52918func (s *DeleteVpnConnectionInput) SetDryRun(v bool) *DeleteVpnConnectionInput {
52919	s.DryRun = &v
52920	return s
52921}
52922
52923// SetVpnConnectionId sets the VpnConnectionId field's value.
52924func (s *DeleteVpnConnectionInput) SetVpnConnectionId(v string) *DeleteVpnConnectionInput {
52925	s.VpnConnectionId = &v
52926	return s
52927}
52928
52929type DeleteVpnConnectionOutput struct {
52930	_ struct{} `type:"structure"`
52931}
52932
52933// String returns the string representation
52934func (s DeleteVpnConnectionOutput) String() string {
52935	return awsutil.Prettify(s)
52936}
52937
52938// GoString returns the string representation
52939func (s DeleteVpnConnectionOutput) GoString() string {
52940	return s.String()
52941}
52942
52943// Contains the parameters for DeleteVpnConnectionRoute.
52944type DeleteVpnConnectionRouteInput struct {
52945	_ struct{} `type:"structure"`
52946
52947	// The CIDR block associated with the local subnet of the customer network.
52948	//
52949	// DestinationCidrBlock is a required field
52950	DestinationCidrBlock *string `type:"string" required:"true"`
52951
52952	// The ID of the VPN connection.
52953	//
52954	// VpnConnectionId is a required field
52955	VpnConnectionId *string `type:"string" required:"true"`
52956}
52957
52958// String returns the string representation
52959func (s DeleteVpnConnectionRouteInput) String() string {
52960	return awsutil.Prettify(s)
52961}
52962
52963// GoString returns the string representation
52964func (s DeleteVpnConnectionRouteInput) GoString() string {
52965	return s.String()
52966}
52967
52968// Validate inspects the fields of the type to determine if they are valid.
52969func (s *DeleteVpnConnectionRouteInput) Validate() error {
52970	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnConnectionRouteInput"}
52971	if s.DestinationCidrBlock == nil {
52972		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
52973	}
52974	if s.VpnConnectionId == nil {
52975		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
52976	}
52977
52978	if invalidParams.Len() > 0 {
52979		return invalidParams
52980	}
52981	return nil
52982}
52983
52984// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
52985func (s *DeleteVpnConnectionRouteInput) SetDestinationCidrBlock(v string) *DeleteVpnConnectionRouteInput {
52986	s.DestinationCidrBlock = &v
52987	return s
52988}
52989
52990// SetVpnConnectionId sets the VpnConnectionId field's value.
52991func (s *DeleteVpnConnectionRouteInput) SetVpnConnectionId(v string) *DeleteVpnConnectionRouteInput {
52992	s.VpnConnectionId = &v
52993	return s
52994}
52995
52996type DeleteVpnConnectionRouteOutput struct {
52997	_ struct{} `type:"structure"`
52998}
52999
53000// String returns the string representation
53001func (s DeleteVpnConnectionRouteOutput) String() string {
53002	return awsutil.Prettify(s)
53003}
53004
53005// GoString returns the string representation
53006func (s DeleteVpnConnectionRouteOutput) GoString() string {
53007	return s.String()
53008}
53009
53010// Contains the parameters for DeleteVpnGateway.
53011type DeleteVpnGatewayInput struct {
53012	_ struct{} `type:"structure"`
53013
53014	// Checks whether you have the required permissions for the action, without
53015	// actually making the request, and provides an error response. If you have
53016	// the required permissions, the error response is DryRunOperation. Otherwise,
53017	// it is UnauthorizedOperation.
53018	DryRun *bool `locationName:"dryRun" type:"boolean"`
53019
53020	// The ID of the virtual private gateway.
53021	//
53022	// VpnGatewayId is a required field
53023	VpnGatewayId *string `type:"string" required:"true"`
53024}
53025
53026// String returns the string representation
53027func (s DeleteVpnGatewayInput) String() string {
53028	return awsutil.Prettify(s)
53029}
53030
53031// GoString returns the string representation
53032func (s DeleteVpnGatewayInput) GoString() string {
53033	return s.String()
53034}
53035
53036// Validate inspects the fields of the type to determine if they are valid.
53037func (s *DeleteVpnGatewayInput) Validate() error {
53038	invalidParams := request.ErrInvalidParams{Context: "DeleteVpnGatewayInput"}
53039	if s.VpnGatewayId == nil {
53040		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
53041	}
53042
53043	if invalidParams.Len() > 0 {
53044		return invalidParams
53045	}
53046	return nil
53047}
53048
53049// SetDryRun sets the DryRun field's value.
53050func (s *DeleteVpnGatewayInput) SetDryRun(v bool) *DeleteVpnGatewayInput {
53051	s.DryRun = &v
53052	return s
53053}
53054
53055// SetVpnGatewayId sets the VpnGatewayId field's value.
53056func (s *DeleteVpnGatewayInput) SetVpnGatewayId(v string) *DeleteVpnGatewayInput {
53057	s.VpnGatewayId = &v
53058	return s
53059}
53060
53061type DeleteVpnGatewayOutput struct {
53062	_ struct{} `type:"structure"`
53063}
53064
53065// String returns the string representation
53066func (s DeleteVpnGatewayOutput) String() string {
53067	return awsutil.Prettify(s)
53068}
53069
53070// GoString returns the string representation
53071func (s DeleteVpnGatewayOutput) GoString() string {
53072	return s.String()
53073}
53074
53075type DeprovisionByoipCidrInput struct {
53076	_ struct{} `type:"structure"`
53077
53078	// The public IPv4 address range, in CIDR notation. The prefix must be the same
53079	// prefix that you specified when you provisioned the address range.
53080	//
53081	// Cidr is a required field
53082	Cidr *string `type:"string" required:"true"`
53083
53084	// Checks whether you have the required permissions for the action, without
53085	// actually making the request, and provides an error response. If you have
53086	// the required permissions, the error response is DryRunOperation. Otherwise,
53087	// it is UnauthorizedOperation.
53088	DryRun *bool `type:"boolean"`
53089}
53090
53091// String returns the string representation
53092func (s DeprovisionByoipCidrInput) String() string {
53093	return awsutil.Prettify(s)
53094}
53095
53096// GoString returns the string representation
53097func (s DeprovisionByoipCidrInput) GoString() string {
53098	return s.String()
53099}
53100
53101// Validate inspects the fields of the type to determine if they are valid.
53102func (s *DeprovisionByoipCidrInput) Validate() error {
53103	invalidParams := request.ErrInvalidParams{Context: "DeprovisionByoipCidrInput"}
53104	if s.Cidr == nil {
53105		invalidParams.Add(request.NewErrParamRequired("Cidr"))
53106	}
53107
53108	if invalidParams.Len() > 0 {
53109		return invalidParams
53110	}
53111	return nil
53112}
53113
53114// SetCidr sets the Cidr field's value.
53115func (s *DeprovisionByoipCidrInput) SetCidr(v string) *DeprovisionByoipCidrInput {
53116	s.Cidr = &v
53117	return s
53118}
53119
53120// SetDryRun sets the DryRun field's value.
53121func (s *DeprovisionByoipCidrInput) SetDryRun(v bool) *DeprovisionByoipCidrInput {
53122	s.DryRun = &v
53123	return s
53124}
53125
53126type DeprovisionByoipCidrOutput struct {
53127	_ struct{} `type:"structure"`
53128
53129	// Information about the address range.
53130	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
53131}
53132
53133// String returns the string representation
53134func (s DeprovisionByoipCidrOutput) String() string {
53135	return awsutil.Prettify(s)
53136}
53137
53138// GoString returns the string representation
53139func (s DeprovisionByoipCidrOutput) GoString() string {
53140	return s.String()
53141}
53142
53143// SetByoipCidr sets the ByoipCidr field's value.
53144func (s *DeprovisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *DeprovisionByoipCidrOutput {
53145	s.ByoipCidr = v
53146	return s
53147}
53148
53149// Contains the parameters for DeregisterImage.
53150type DeregisterImageInput struct {
53151	_ struct{} `type:"structure"`
53152
53153	// Checks whether you have the required permissions for the action, without
53154	// actually making the request, and provides an error response. If you have
53155	// the required permissions, the error response is DryRunOperation. Otherwise,
53156	// it is UnauthorizedOperation.
53157	DryRun *bool `locationName:"dryRun" type:"boolean"`
53158
53159	// The ID of the AMI.
53160	//
53161	// ImageId is a required field
53162	ImageId *string `type:"string" required:"true"`
53163}
53164
53165// String returns the string representation
53166func (s DeregisterImageInput) String() string {
53167	return awsutil.Prettify(s)
53168}
53169
53170// GoString returns the string representation
53171func (s DeregisterImageInput) GoString() string {
53172	return s.String()
53173}
53174
53175// Validate inspects the fields of the type to determine if they are valid.
53176func (s *DeregisterImageInput) Validate() error {
53177	invalidParams := request.ErrInvalidParams{Context: "DeregisterImageInput"}
53178	if s.ImageId == nil {
53179		invalidParams.Add(request.NewErrParamRequired("ImageId"))
53180	}
53181
53182	if invalidParams.Len() > 0 {
53183		return invalidParams
53184	}
53185	return nil
53186}
53187
53188// SetDryRun sets the DryRun field's value.
53189func (s *DeregisterImageInput) SetDryRun(v bool) *DeregisterImageInput {
53190	s.DryRun = &v
53191	return s
53192}
53193
53194// SetImageId sets the ImageId field's value.
53195func (s *DeregisterImageInput) SetImageId(v string) *DeregisterImageInput {
53196	s.ImageId = &v
53197	return s
53198}
53199
53200type DeregisterImageOutput struct {
53201	_ struct{} `type:"structure"`
53202}
53203
53204// String returns the string representation
53205func (s DeregisterImageOutput) String() string {
53206	return awsutil.Prettify(s)
53207}
53208
53209// GoString returns the string representation
53210func (s DeregisterImageOutput) GoString() string {
53211	return s.String()
53212}
53213
53214type DeregisterTransitGatewayMulticastGroupMembersInput struct {
53215	_ struct{} `type:"structure"`
53216
53217	// Checks whether you have the required permissions for the action, without
53218	// actually making the request, and provides an error response. If you have
53219	// the required permissions, the error response is DryRunOperation. Otherwise,
53220	// it is UnauthorizedOperation.
53221	DryRun *bool `type:"boolean"`
53222
53223	// The IP address assigned to the transit gateway multicast group.
53224	GroupIpAddress *string `type:"string"`
53225
53226	// The IDs of the group members' network interfaces.
53227	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
53228
53229	// The ID of the transit gateway multicast domain.
53230	TransitGatewayMulticastDomainId *string `type:"string"`
53231}
53232
53233// String returns the string representation
53234func (s DeregisterTransitGatewayMulticastGroupMembersInput) String() string {
53235	return awsutil.Prettify(s)
53236}
53237
53238// GoString returns the string representation
53239func (s DeregisterTransitGatewayMulticastGroupMembersInput) GoString() string {
53240	return s.String()
53241}
53242
53243// SetDryRun sets the DryRun field's value.
53244func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupMembersInput {
53245	s.DryRun = &v
53246	return s
53247}
53248
53249// SetGroupIpAddress sets the GroupIpAddress field's value.
53250func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
53251	s.GroupIpAddress = &v
53252	return s
53253}
53254
53255// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
53256func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupMembersInput {
53257	s.NetworkInterfaceIds = v
53258	return s
53259}
53260
53261// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
53262func (s *DeregisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupMembersInput {
53263	s.TransitGatewayMulticastDomainId = &v
53264	return s
53265}
53266
53267type DeregisterTransitGatewayMulticastGroupMembersOutput struct {
53268	_ struct{} `type:"structure"`
53269
53270	// Information about the deregistered members.
53271	DeregisteredMulticastGroupMembers *TransitGatewayMulticastDeregisteredGroupMembers `locationName:"deregisteredMulticastGroupMembers" type:"structure"`
53272}
53273
53274// String returns the string representation
53275func (s DeregisterTransitGatewayMulticastGroupMembersOutput) String() string {
53276	return awsutil.Prettify(s)
53277}
53278
53279// GoString returns the string representation
53280func (s DeregisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
53281	return s.String()
53282}
53283
53284// SetDeregisteredMulticastGroupMembers sets the DeregisteredMulticastGroupMembers field's value.
53285func (s *DeregisterTransitGatewayMulticastGroupMembersOutput) SetDeregisteredMulticastGroupMembers(v *TransitGatewayMulticastDeregisteredGroupMembers) *DeregisterTransitGatewayMulticastGroupMembersOutput {
53286	s.DeregisteredMulticastGroupMembers = v
53287	return s
53288}
53289
53290type DeregisterTransitGatewayMulticastGroupSourcesInput struct {
53291	_ struct{} `type:"structure"`
53292
53293	// Checks whether you have the required permissions for the action, without
53294	// actually making the request, and provides an error response. If you have
53295	// the required permissions, the error response is DryRunOperation. Otherwise,
53296	// it is UnauthorizedOperation.
53297	DryRun *bool `type:"boolean"`
53298
53299	// The IP address assigned to the transit gateway multicast group.
53300	GroupIpAddress *string `type:"string"`
53301
53302	// The IDs of the group sources' network interfaces.
53303	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
53304
53305	// The ID of the transit gateway multicast domain.
53306	TransitGatewayMulticastDomainId *string `type:"string"`
53307}
53308
53309// String returns the string representation
53310func (s DeregisterTransitGatewayMulticastGroupSourcesInput) String() string {
53311	return awsutil.Prettify(s)
53312}
53313
53314// GoString returns the string representation
53315func (s DeregisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
53316	return s.String()
53317}
53318
53319// SetDryRun sets the DryRun field's value.
53320func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *DeregisterTransitGatewayMulticastGroupSourcesInput {
53321	s.DryRun = &v
53322	return s
53323}
53324
53325// SetGroupIpAddress sets the GroupIpAddress field's value.
53326func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
53327	s.GroupIpAddress = &v
53328	return s
53329}
53330
53331// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
53332func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
53333	s.NetworkInterfaceIds = v
53334	return s
53335}
53336
53337// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
53338func (s *DeregisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *DeregisterTransitGatewayMulticastGroupSourcesInput {
53339	s.TransitGatewayMulticastDomainId = &v
53340	return s
53341}
53342
53343type DeregisterTransitGatewayMulticastGroupSourcesOutput struct {
53344	_ struct{} `type:"structure"`
53345
53346	// Information about the deregistered group sources.
53347	DeregisteredMulticastGroupSources *TransitGatewayMulticastDeregisteredGroupSources `locationName:"deregisteredMulticastGroupSources" type:"structure"`
53348}
53349
53350// String returns the string representation
53351func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) String() string {
53352	return awsutil.Prettify(s)
53353}
53354
53355// GoString returns the string representation
53356func (s DeregisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
53357	return s.String()
53358}
53359
53360// SetDeregisteredMulticastGroupSources sets the DeregisteredMulticastGroupSources field's value.
53361func (s *DeregisterTransitGatewayMulticastGroupSourcesOutput) SetDeregisteredMulticastGroupSources(v *TransitGatewayMulticastDeregisteredGroupSources) *DeregisterTransitGatewayMulticastGroupSourcesOutput {
53362	s.DeregisteredMulticastGroupSources = v
53363	return s
53364}
53365
53366type DescribeAccountAttributesInput struct {
53367	_ struct{} `type:"structure"`
53368
53369	// The account attribute names.
53370	AttributeNames []*string `locationName:"attributeName" locationNameList:"attributeName" type:"list"`
53371
53372	// Checks whether you have the required permissions for the action, without
53373	// actually making the request, and provides an error response. If you have
53374	// the required permissions, the error response is DryRunOperation. Otherwise,
53375	// it is UnauthorizedOperation.
53376	DryRun *bool `locationName:"dryRun" type:"boolean"`
53377}
53378
53379// String returns the string representation
53380func (s DescribeAccountAttributesInput) String() string {
53381	return awsutil.Prettify(s)
53382}
53383
53384// GoString returns the string representation
53385func (s DescribeAccountAttributesInput) GoString() string {
53386	return s.String()
53387}
53388
53389// SetAttributeNames sets the AttributeNames field's value.
53390func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput {
53391	s.AttributeNames = v
53392	return s
53393}
53394
53395// SetDryRun sets the DryRun field's value.
53396func (s *DescribeAccountAttributesInput) SetDryRun(v bool) *DescribeAccountAttributesInput {
53397	s.DryRun = &v
53398	return s
53399}
53400
53401type DescribeAccountAttributesOutput struct {
53402	_ struct{} `type:"structure"`
53403
53404	// Information about the account attributes.
53405	AccountAttributes []*AccountAttribute `locationName:"accountAttributeSet" locationNameList:"item" type:"list"`
53406}
53407
53408// String returns the string representation
53409func (s DescribeAccountAttributesOutput) String() string {
53410	return awsutil.Prettify(s)
53411}
53412
53413// GoString returns the string representation
53414func (s DescribeAccountAttributesOutput) GoString() string {
53415	return s.String()
53416}
53417
53418// SetAccountAttributes sets the AccountAttributes field's value.
53419func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput {
53420	s.AccountAttributes = v
53421	return s
53422}
53423
53424type DescribeAddressesInput struct {
53425	_ struct{} `type:"structure"`
53426
53427	// [EC2-VPC] Information about the allocation IDs.
53428	AllocationIds []*string `locationName:"AllocationId" locationNameList:"AllocationId" type:"list"`
53429
53430	// Checks whether you have the required permissions for the action, without
53431	// actually making the request, and provides an error response. If you have
53432	// the required permissions, the error response is DryRunOperation. Otherwise,
53433	// it is UnauthorizedOperation.
53434	DryRun *bool `locationName:"dryRun" type:"boolean"`
53435
53436	// One or more filters. Filter names and values are case-sensitive.
53437	//
53438	//    * allocation-id - [EC2-VPC] The allocation ID for the address.
53439	//
53440	//    * association-id - [EC2-VPC] The association ID for the address.
53441	//
53442	//    * domain - Indicates whether the address is for use in EC2-Classic (standard)
53443	//    or in a VPC (vpc).
53444	//
53445	//    * instance-id - The ID of the instance the address is associated with,
53446	//    if any.
53447	//
53448	//    * network-border-group - The location from where the IP address is advertised.
53449	//
53450	//    * network-interface-id - [EC2-VPC] The ID of the network interface that
53451	//    the address is associated with, if any.
53452	//
53453	//    * network-interface-owner-id - The AWS account ID of the owner.
53454	//
53455	//    * private-ip-address - [EC2-VPC] The private IP address associated with
53456	//    the Elastic IP address.
53457	//
53458	//    * public-ip - The Elastic IP address.
53459	//
53460	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
53461	//    Use the tag key in the filter name and the tag value as the filter value.
53462	//    For example, to find all resources that have a tag with the key Owner
53463	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
53464	//    the filter value.
53465	//
53466	//    * tag-key - The key of a tag assigned to the resource. Use this filter
53467	//    to find all resources assigned a tag with a specific key, regardless of
53468	//    the tag value.
53469	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
53470
53471	// One or more Elastic IP addresses.
53472	//
53473	// Default: Describes all your Elastic IP addresses.
53474	PublicIps []*string `locationName:"PublicIp" locationNameList:"PublicIp" type:"list"`
53475}
53476
53477// String returns the string representation
53478func (s DescribeAddressesInput) String() string {
53479	return awsutil.Prettify(s)
53480}
53481
53482// GoString returns the string representation
53483func (s DescribeAddressesInput) GoString() string {
53484	return s.String()
53485}
53486
53487// SetAllocationIds sets the AllocationIds field's value.
53488func (s *DescribeAddressesInput) SetAllocationIds(v []*string) *DescribeAddressesInput {
53489	s.AllocationIds = v
53490	return s
53491}
53492
53493// SetDryRun sets the DryRun field's value.
53494func (s *DescribeAddressesInput) SetDryRun(v bool) *DescribeAddressesInput {
53495	s.DryRun = &v
53496	return s
53497}
53498
53499// SetFilters sets the Filters field's value.
53500func (s *DescribeAddressesInput) SetFilters(v []*Filter) *DescribeAddressesInput {
53501	s.Filters = v
53502	return s
53503}
53504
53505// SetPublicIps sets the PublicIps field's value.
53506func (s *DescribeAddressesInput) SetPublicIps(v []*string) *DescribeAddressesInput {
53507	s.PublicIps = v
53508	return s
53509}
53510
53511type DescribeAddressesOutput struct {
53512	_ struct{} `type:"structure"`
53513
53514	// Information about the Elastic IP addresses.
53515	Addresses []*Address `locationName:"addressesSet" locationNameList:"item" type:"list"`
53516}
53517
53518// String returns the string representation
53519func (s DescribeAddressesOutput) String() string {
53520	return awsutil.Prettify(s)
53521}
53522
53523// GoString returns the string representation
53524func (s DescribeAddressesOutput) GoString() string {
53525	return s.String()
53526}
53527
53528// SetAddresses sets the Addresses field's value.
53529func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
53530	s.Addresses = v
53531	return s
53532}
53533
53534type DescribeAggregateIdFormatInput struct {
53535	_ struct{} `type:"structure"`
53536
53537	// Checks whether you have the required permissions for the action, without
53538	// actually making the request, and provides an error response. If you have
53539	// the required permissions, the error response is DryRunOperation. Otherwise,
53540	// it is UnauthorizedOperation.
53541	DryRun *bool `type:"boolean"`
53542}
53543
53544// String returns the string representation
53545func (s DescribeAggregateIdFormatInput) String() string {
53546	return awsutil.Prettify(s)
53547}
53548
53549// GoString returns the string representation
53550func (s DescribeAggregateIdFormatInput) GoString() string {
53551	return s.String()
53552}
53553
53554// SetDryRun sets the DryRun field's value.
53555func (s *DescribeAggregateIdFormatInput) SetDryRun(v bool) *DescribeAggregateIdFormatInput {
53556	s.DryRun = &v
53557	return s
53558}
53559
53560type DescribeAggregateIdFormatOutput struct {
53561	_ struct{} `type:"structure"`
53562
53563	// Information about each resource's ID format.
53564	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
53565
53566	// Indicates whether all resource types in the Region are configured to use
53567	// longer IDs. This value is only true if all users are configured to use longer
53568	// IDs for all resources types in the Region.
53569	UseLongIdsAggregated *bool `locationName:"useLongIdsAggregated" type:"boolean"`
53570}
53571
53572// String returns the string representation
53573func (s DescribeAggregateIdFormatOutput) String() string {
53574	return awsutil.Prettify(s)
53575}
53576
53577// GoString returns the string representation
53578func (s DescribeAggregateIdFormatOutput) GoString() string {
53579	return s.String()
53580}
53581
53582// SetStatuses sets the Statuses field's value.
53583func (s *DescribeAggregateIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeAggregateIdFormatOutput {
53584	s.Statuses = v
53585	return s
53586}
53587
53588// SetUseLongIdsAggregated sets the UseLongIdsAggregated field's value.
53589func (s *DescribeAggregateIdFormatOutput) SetUseLongIdsAggregated(v bool) *DescribeAggregateIdFormatOutput {
53590	s.UseLongIdsAggregated = &v
53591	return s
53592}
53593
53594type DescribeAvailabilityZonesInput struct {
53595	_ struct{} `type:"structure"`
53596
53597	// Include all Availability Zones and Local Zones regardless of your opt in
53598	// status.
53599	//
53600	// If you do not use this parameter, the results include only the zones for
53601	// the Regions where you have chosen the option to opt in.
53602	AllAvailabilityZones *bool `type:"boolean"`
53603
53604	// Checks whether you have the required permissions for the action, without
53605	// actually making the request, and provides an error response. If you have
53606	// the required permissions, the error response is DryRunOperation. Otherwise,
53607	// it is UnauthorizedOperation.
53608	DryRun *bool `locationName:"dryRun" type:"boolean"`
53609
53610	// The filters.
53611	//
53612	//    * group-name - For Availability Zones, use the Region name. For Local
53613	//    Zones, use the name of the group associated with the Local Zone (for example,
53614	//    us-west-2-lax-1).
53615	//
53616	//    * message - The Availability Zone or Local Zone message.
53617	//
53618	//    * opt-in-status - The opt in status (opted-in, and not-opted-in | opt-in-not-required).
53619	//
53620	//    * region-name - The name of the Region for the Availability Zone or Local
53621	//    Zone (for example, us-east-1).
53622	//
53623	//    * state - The state of the Availability Zone or Local Zone (available
53624	//    | information | impaired | unavailable).
53625	//
53626	//    * zone-id - The ID of the Availability Zone (for example, use1-az1) or
53627	//    the Local Zone (for example, use usw2-lax1-az1).
53628	//
53629	//    * zone-name - The name of the Availability Zone (for example, us-east-1a)
53630	//    or the Local Zone (for example, use us-west-2-lax-1a).
53631	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
53632
53633	// The IDs of the Availability Zones and Local Zones.
53634	ZoneIds []*string `locationName:"ZoneId" locationNameList:"ZoneId" type:"list"`
53635
53636	// The names of the Availability Zones and Local Zones.
53637	ZoneNames []*string `locationName:"ZoneName" locationNameList:"ZoneName" type:"list"`
53638}
53639
53640// String returns the string representation
53641func (s DescribeAvailabilityZonesInput) String() string {
53642	return awsutil.Prettify(s)
53643}
53644
53645// GoString returns the string representation
53646func (s DescribeAvailabilityZonesInput) GoString() string {
53647	return s.String()
53648}
53649
53650// SetAllAvailabilityZones sets the AllAvailabilityZones field's value.
53651func (s *DescribeAvailabilityZonesInput) SetAllAvailabilityZones(v bool) *DescribeAvailabilityZonesInput {
53652	s.AllAvailabilityZones = &v
53653	return s
53654}
53655
53656// SetDryRun sets the DryRun field's value.
53657func (s *DescribeAvailabilityZonesInput) SetDryRun(v bool) *DescribeAvailabilityZonesInput {
53658	s.DryRun = &v
53659	return s
53660}
53661
53662// SetFilters sets the Filters field's value.
53663func (s *DescribeAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeAvailabilityZonesInput {
53664	s.Filters = v
53665	return s
53666}
53667
53668// SetZoneIds sets the ZoneIds field's value.
53669func (s *DescribeAvailabilityZonesInput) SetZoneIds(v []*string) *DescribeAvailabilityZonesInput {
53670	s.ZoneIds = v
53671	return s
53672}
53673
53674// SetZoneNames sets the ZoneNames field's value.
53675func (s *DescribeAvailabilityZonesInput) SetZoneNames(v []*string) *DescribeAvailabilityZonesInput {
53676	s.ZoneNames = v
53677	return s
53678}
53679
53680type DescribeAvailabilityZonesOutput struct {
53681	_ struct{} `type:"structure"`
53682
53683	// Information about the Availability Zones and Local Zones.
53684	AvailabilityZones []*AvailabilityZone `locationName:"availabilityZoneInfo" locationNameList:"item" type:"list"`
53685}
53686
53687// String returns the string representation
53688func (s DescribeAvailabilityZonesOutput) String() string {
53689	return awsutil.Prettify(s)
53690}
53691
53692// GoString returns the string representation
53693func (s DescribeAvailabilityZonesOutput) GoString() string {
53694	return s.String()
53695}
53696
53697// SetAvailabilityZones sets the AvailabilityZones field's value.
53698func (s *DescribeAvailabilityZonesOutput) SetAvailabilityZones(v []*AvailabilityZone) *DescribeAvailabilityZonesOutput {
53699	s.AvailabilityZones = v
53700	return s
53701}
53702
53703type DescribeBundleTasksInput struct {
53704	_ struct{} `type:"structure"`
53705
53706	// The bundle task IDs.
53707	//
53708	// Default: Describes all your bundle tasks.
53709	BundleIds []*string `locationName:"BundleId" locationNameList:"BundleId" type:"list"`
53710
53711	// Checks whether you have the required permissions for the action, without
53712	// actually making the request, and provides an error response. If you have
53713	// the required permissions, the error response is DryRunOperation. Otherwise,
53714	// it is UnauthorizedOperation.
53715	DryRun *bool `locationName:"dryRun" type:"boolean"`
53716
53717	// The filters.
53718	//
53719	//    * bundle-id - The ID of the bundle task.
53720	//
53721	//    * error-code - If the task failed, the error code returned.
53722	//
53723	//    * error-message - If the task failed, the error message returned.
53724	//
53725	//    * instance-id - The ID of the instance.
53726	//
53727	//    * progress - The level of task completion, as a percentage (for example,
53728	//    20%).
53729	//
53730	//    * s3-bucket - The Amazon S3 bucket to store the AMI.
53731	//
53732	//    * s3-prefix - The beginning of the AMI name.
53733	//
53734	//    * start-time - The time the task started (for example, 2013-09-15T17:15:20.000Z).
53735	//
53736	//    * state - The state of the task (pending | waiting-for-shutdown | bundling
53737	//    | storing | cancelling | complete | failed).
53738	//
53739	//    * update-time - The time of the most recent update for the task.
53740	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
53741}
53742
53743// String returns the string representation
53744func (s DescribeBundleTasksInput) String() string {
53745	return awsutil.Prettify(s)
53746}
53747
53748// GoString returns the string representation
53749func (s DescribeBundleTasksInput) GoString() string {
53750	return s.String()
53751}
53752
53753// SetBundleIds sets the BundleIds field's value.
53754func (s *DescribeBundleTasksInput) SetBundleIds(v []*string) *DescribeBundleTasksInput {
53755	s.BundleIds = v
53756	return s
53757}
53758
53759// SetDryRun sets the DryRun field's value.
53760func (s *DescribeBundleTasksInput) SetDryRun(v bool) *DescribeBundleTasksInput {
53761	s.DryRun = &v
53762	return s
53763}
53764
53765// SetFilters sets the Filters field's value.
53766func (s *DescribeBundleTasksInput) SetFilters(v []*Filter) *DescribeBundleTasksInput {
53767	s.Filters = v
53768	return s
53769}
53770
53771type DescribeBundleTasksOutput struct {
53772	_ struct{} `type:"structure"`
53773
53774	// Information about the bundle tasks.
53775	BundleTasks []*BundleTask `locationName:"bundleInstanceTasksSet" locationNameList:"item" type:"list"`
53776}
53777
53778// String returns the string representation
53779func (s DescribeBundleTasksOutput) String() string {
53780	return awsutil.Prettify(s)
53781}
53782
53783// GoString returns the string representation
53784func (s DescribeBundleTasksOutput) GoString() string {
53785	return s.String()
53786}
53787
53788// SetBundleTasks sets the BundleTasks field's value.
53789func (s *DescribeBundleTasksOutput) SetBundleTasks(v []*BundleTask) *DescribeBundleTasksOutput {
53790	s.BundleTasks = v
53791	return s
53792}
53793
53794type DescribeByoipCidrsInput struct {
53795	_ struct{} `type:"structure"`
53796
53797	// Checks whether you have the required permissions for the action, without
53798	// actually making the request, and provides an error response. If you have
53799	// the required permissions, the error response is DryRunOperation. Otherwise,
53800	// it is UnauthorizedOperation.
53801	DryRun *bool `type:"boolean"`
53802
53803	// The maximum number of results to return with a single call. To retrieve the
53804	// remaining results, make another call with the returned nextToken value.
53805	//
53806	// MaxResults is a required field
53807	MaxResults *int64 `min:"1" type:"integer" required:"true"`
53808
53809	// The token for the next page of results.
53810	NextToken *string `type:"string"`
53811}
53812
53813// String returns the string representation
53814func (s DescribeByoipCidrsInput) String() string {
53815	return awsutil.Prettify(s)
53816}
53817
53818// GoString returns the string representation
53819func (s DescribeByoipCidrsInput) GoString() string {
53820	return s.String()
53821}
53822
53823// Validate inspects the fields of the type to determine if they are valid.
53824func (s *DescribeByoipCidrsInput) Validate() error {
53825	invalidParams := request.ErrInvalidParams{Context: "DescribeByoipCidrsInput"}
53826	if s.MaxResults == nil {
53827		invalidParams.Add(request.NewErrParamRequired("MaxResults"))
53828	}
53829	if s.MaxResults != nil && *s.MaxResults < 1 {
53830		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
53831	}
53832
53833	if invalidParams.Len() > 0 {
53834		return invalidParams
53835	}
53836	return nil
53837}
53838
53839// SetDryRun sets the DryRun field's value.
53840func (s *DescribeByoipCidrsInput) SetDryRun(v bool) *DescribeByoipCidrsInput {
53841	s.DryRun = &v
53842	return s
53843}
53844
53845// SetMaxResults sets the MaxResults field's value.
53846func (s *DescribeByoipCidrsInput) SetMaxResults(v int64) *DescribeByoipCidrsInput {
53847	s.MaxResults = &v
53848	return s
53849}
53850
53851// SetNextToken sets the NextToken field's value.
53852func (s *DescribeByoipCidrsInput) SetNextToken(v string) *DescribeByoipCidrsInput {
53853	s.NextToken = &v
53854	return s
53855}
53856
53857type DescribeByoipCidrsOutput struct {
53858	_ struct{} `type:"structure"`
53859
53860	// Information about your address ranges.
53861	ByoipCidrs []*ByoipCidr `locationName:"byoipCidrSet" locationNameList:"item" type:"list"`
53862
53863	// The token to use to retrieve the next page of results. This value is null
53864	// when there are no more results to return.
53865	NextToken *string `locationName:"nextToken" type:"string"`
53866}
53867
53868// String returns the string representation
53869func (s DescribeByoipCidrsOutput) String() string {
53870	return awsutil.Prettify(s)
53871}
53872
53873// GoString returns the string representation
53874func (s DescribeByoipCidrsOutput) GoString() string {
53875	return s.String()
53876}
53877
53878// SetByoipCidrs sets the ByoipCidrs field's value.
53879func (s *DescribeByoipCidrsOutput) SetByoipCidrs(v []*ByoipCidr) *DescribeByoipCidrsOutput {
53880	s.ByoipCidrs = v
53881	return s
53882}
53883
53884// SetNextToken sets the NextToken field's value.
53885func (s *DescribeByoipCidrsOutput) SetNextToken(v string) *DescribeByoipCidrsOutput {
53886	s.NextToken = &v
53887	return s
53888}
53889
53890type DescribeCapacityReservationsInput struct {
53891	_ struct{} `type:"structure"`
53892
53893	// The ID of the Capacity Reservation.
53894	CapacityReservationIds []*string `locationName:"CapacityReservationId" locationNameList:"item" type:"list"`
53895
53896	// Checks whether you have the required permissions for the action, without
53897	// actually making the request, and provides an error response. If you have
53898	// the required permissions, the error response is DryRunOperation. Otherwise,
53899	// it is UnauthorizedOperation.
53900	DryRun *bool `type:"boolean"`
53901
53902	// One or more filters.
53903	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
53904
53905	// The maximum number of results to return for the request in a single page.
53906	// The remaining results can be seen by sending another request with the returned
53907	// nextToken value.
53908	MaxResults *int64 `min:"1" type:"integer"`
53909
53910	// The token to retrieve the next page of results.
53911	NextToken *string `type:"string"`
53912}
53913
53914// String returns the string representation
53915func (s DescribeCapacityReservationsInput) String() string {
53916	return awsutil.Prettify(s)
53917}
53918
53919// GoString returns the string representation
53920func (s DescribeCapacityReservationsInput) GoString() string {
53921	return s.String()
53922}
53923
53924// Validate inspects the fields of the type to determine if they are valid.
53925func (s *DescribeCapacityReservationsInput) Validate() error {
53926	invalidParams := request.ErrInvalidParams{Context: "DescribeCapacityReservationsInput"}
53927	if s.MaxResults != nil && *s.MaxResults < 1 {
53928		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
53929	}
53930
53931	if invalidParams.Len() > 0 {
53932		return invalidParams
53933	}
53934	return nil
53935}
53936
53937// SetCapacityReservationIds sets the CapacityReservationIds field's value.
53938func (s *DescribeCapacityReservationsInput) SetCapacityReservationIds(v []*string) *DescribeCapacityReservationsInput {
53939	s.CapacityReservationIds = v
53940	return s
53941}
53942
53943// SetDryRun sets the DryRun field's value.
53944func (s *DescribeCapacityReservationsInput) SetDryRun(v bool) *DescribeCapacityReservationsInput {
53945	s.DryRun = &v
53946	return s
53947}
53948
53949// SetFilters sets the Filters field's value.
53950func (s *DescribeCapacityReservationsInput) SetFilters(v []*Filter) *DescribeCapacityReservationsInput {
53951	s.Filters = v
53952	return s
53953}
53954
53955// SetMaxResults sets the MaxResults field's value.
53956func (s *DescribeCapacityReservationsInput) SetMaxResults(v int64) *DescribeCapacityReservationsInput {
53957	s.MaxResults = &v
53958	return s
53959}
53960
53961// SetNextToken sets the NextToken field's value.
53962func (s *DescribeCapacityReservationsInput) SetNextToken(v string) *DescribeCapacityReservationsInput {
53963	s.NextToken = &v
53964	return s
53965}
53966
53967type DescribeCapacityReservationsOutput struct {
53968	_ struct{} `type:"structure"`
53969
53970	// Information about the Capacity Reservations.
53971	CapacityReservations []*CapacityReservation `locationName:"capacityReservationSet" locationNameList:"item" type:"list"`
53972
53973	// The token to use to retrieve the next page of results. This value is null
53974	// when there are no more results to return.
53975	NextToken *string `locationName:"nextToken" type:"string"`
53976}
53977
53978// String returns the string representation
53979func (s DescribeCapacityReservationsOutput) String() string {
53980	return awsutil.Prettify(s)
53981}
53982
53983// GoString returns the string representation
53984func (s DescribeCapacityReservationsOutput) GoString() string {
53985	return s.String()
53986}
53987
53988// SetCapacityReservations sets the CapacityReservations field's value.
53989func (s *DescribeCapacityReservationsOutput) SetCapacityReservations(v []*CapacityReservation) *DescribeCapacityReservationsOutput {
53990	s.CapacityReservations = v
53991	return s
53992}
53993
53994// SetNextToken sets the NextToken field's value.
53995func (s *DescribeCapacityReservationsOutput) SetNextToken(v string) *DescribeCapacityReservationsOutput {
53996	s.NextToken = &v
53997	return s
53998}
53999
54000type DescribeClassicLinkInstancesInput struct {
54001	_ struct{} `type:"structure"`
54002
54003	// Checks whether you have the required permissions for the action, without
54004	// actually making the request, and provides an error response. If you have
54005	// the required permissions, the error response is DryRunOperation. Otherwise,
54006	// it is UnauthorizedOperation.
54007	DryRun *bool `locationName:"dryRun" type:"boolean"`
54008
54009	// One or more filters.
54010	//
54011	//    * group-id - The ID of a VPC security group that's associated with the
54012	//    instance.
54013	//
54014	//    * instance-id - The ID of the instance.
54015	//
54016	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
54017	//    Use the tag key in the filter name and the tag value as the filter value.
54018	//    For example, to find all resources that have a tag with the key Owner
54019	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
54020	//    the filter value.
54021	//
54022	//    * tag-key - The key of a tag assigned to the resource. Use this filter
54023	//    to find all resources assigned a tag with a specific key, regardless of
54024	//    the tag value.
54025	//
54026	//    * vpc-id - The ID of the VPC to which the instance is linked. vpc-id -
54027	//    The ID of the VPC that the instance is linked to.
54028	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54029
54030	// One or more instance IDs. Must be instances linked to a VPC through ClassicLink.
54031	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
54032
54033	// The maximum number of results to return with a single call. To retrieve the
54034	// remaining results, make another call with the returned nextToken value.
54035	//
54036	// Constraint: If the value is greater than 1000, we return only 1000 items.
54037	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
54038
54039	// The token for the next page of results.
54040	NextToken *string `locationName:"nextToken" type:"string"`
54041}
54042
54043// String returns the string representation
54044func (s DescribeClassicLinkInstancesInput) String() string {
54045	return awsutil.Prettify(s)
54046}
54047
54048// GoString returns the string representation
54049func (s DescribeClassicLinkInstancesInput) GoString() string {
54050	return s.String()
54051}
54052
54053// Validate inspects the fields of the type to determine if they are valid.
54054func (s *DescribeClassicLinkInstancesInput) Validate() error {
54055	invalidParams := request.ErrInvalidParams{Context: "DescribeClassicLinkInstancesInput"}
54056	if s.MaxResults != nil && *s.MaxResults < 5 {
54057		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54058	}
54059
54060	if invalidParams.Len() > 0 {
54061		return invalidParams
54062	}
54063	return nil
54064}
54065
54066// SetDryRun sets the DryRun field's value.
54067func (s *DescribeClassicLinkInstancesInput) SetDryRun(v bool) *DescribeClassicLinkInstancesInput {
54068	s.DryRun = &v
54069	return s
54070}
54071
54072// SetFilters sets the Filters field's value.
54073func (s *DescribeClassicLinkInstancesInput) SetFilters(v []*Filter) *DescribeClassicLinkInstancesInput {
54074	s.Filters = v
54075	return s
54076}
54077
54078// SetInstanceIds sets the InstanceIds field's value.
54079func (s *DescribeClassicLinkInstancesInput) SetInstanceIds(v []*string) *DescribeClassicLinkInstancesInput {
54080	s.InstanceIds = v
54081	return s
54082}
54083
54084// SetMaxResults sets the MaxResults field's value.
54085func (s *DescribeClassicLinkInstancesInput) SetMaxResults(v int64) *DescribeClassicLinkInstancesInput {
54086	s.MaxResults = &v
54087	return s
54088}
54089
54090// SetNextToken sets the NextToken field's value.
54091func (s *DescribeClassicLinkInstancesInput) SetNextToken(v string) *DescribeClassicLinkInstancesInput {
54092	s.NextToken = &v
54093	return s
54094}
54095
54096type DescribeClassicLinkInstancesOutput struct {
54097	_ struct{} `type:"structure"`
54098
54099	// Information about one or more linked EC2-Classic instances.
54100	Instances []*ClassicLinkInstance `locationName:"instancesSet" locationNameList:"item" type:"list"`
54101
54102	// The token to use to retrieve the next page of results. This value is null
54103	// when there are no more results to return.
54104	NextToken *string `locationName:"nextToken" type:"string"`
54105}
54106
54107// String returns the string representation
54108func (s DescribeClassicLinkInstancesOutput) String() string {
54109	return awsutil.Prettify(s)
54110}
54111
54112// GoString returns the string representation
54113func (s DescribeClassicLinkInstancesOutput) GoString() string {
54114	return s.String()
54115}
54116
54117// SetInstances sets the Instances field's value.
54118func (s *DescribeClassicLinkInstancesOutput) SetInstances(v []*ClassicLinkInstance) *DescribeClassicLinkInstancesOutput {
54119	s.Instances = v
54120	return s
54121}
54122
54123// SetNextToken sets the NextToken field's value.
54124func (s *DescribeClassicLinkInstancesOutput) SetNextToken(v string) *DescribeClassicLinkInstancesOutput {
54125	s.NextToken = &v
54126	return s
54127}
54128
54129type DescribeClientVpnAuthorizationRulesInput struct {
54130	_ struct{} `type:"structure"`
54131
54132	// The ID of the Client VPN endpoint.
54133	//
54134	// ClientVpnEndpointId is a required field
54135	ClientVpnEndpointId *string `type:"string" required:"true"`
54136
54137	// Checks whether you have the required permissions for the action, without
54138	// actually making the request, and provides an error response. If you have
54139	// the required permissions, the error response is DryRunOperation. Otherwise,
54140	// it is UnauthorizedOperation.
54141	DryRun *bool `type:"boolean"`
54142
54143	// One or more filters. Filter names and values are case-sensitive.
54144	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54145
54146	// The maximum number of results to return for the request in a single page.
54147	// The remaining results can be seen by sending another request with the nextToken
54148	// value.
54149	MaxResults *int64 `min:"5" type:"integer"`
54150
54151	// The token to retrieve the next page of results.
54152	NextToken *string `type:"string"`
54153}
54154
54155// String returns the string representation
54156func (s DescribeClientVpnAuthorizationRulesInput) String() string {
54157	return awsutil.Prettify(s)
54158}
54159
54160// GoString returns the string representation
54161func (s DescribeClientVpnAuthorizationRulesInput) GoString() string {
54162	return s.String()
54163}
54164
54165// Validate inspects the fields of the type to determine if they are valid.
54166func (s *DescribeClientVpnAuthorizationRulesInput) Validate() error {
54167	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnAuthorizationRulesInput"}
54168	if s.ClientVpnEndpointId == nil {
54169		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
54170	}
54171	if s.MaxResults != nil && *s.MaxResults < 5 {
54172		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54173	}
54174
54175	if invalidParams.Len() > 0 {
54176		return invalidParams
54177	}
54178	return nil
54179}
54180
54181// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
54182func (s *DescribeClientVpnAuthorizationRulesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnAuthorizationRulesInput {
54183	s.ClientVpnEndpointId = &v
54184	return s
54185}
54186
54187// SetDryRun sets the DryRun field's value.
54188func (s *DescribeClientVpnAuthorizationRulesInput) SetDryRun(v bool) *DescribeClientVpnAuthorizationRulesInput {
54189	s.DryRun = &v
54190	return s
54191}
54192
54193// SetFilters sets the Filters field's value.
54194func (s *DescribeClientVpnAuthorizationRulesInput) SetFilters(v []*Filter) *DescribeClientVpnAuthorizationRulesInput {
54195	s.Filters = v
54196	return s
54197}
54198
54199// SetMaxResults sets the MaxResults field's value.
54200func (s *DescribeClientVpnAuthorizationRulesInput) SetMaxResults(v int64) *DescribeClientVpnAuthorizationRulesInput {
54201	s.MaxResults = &v
54202	return s
54203}
54204
54205// SetNextToken sets the NextToken field's value.
54206func (s *DescribeClientVpnAuthorizationRulesInput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesInput {
54207	s.NextToken = &v
54208	return s
54209}
54210
54211type DescribeClientVpnAuthorizationRulesOutput struct {
54212	_ struct{} `type:"structure"`
54213
54214	// Information about the authorization rules.
54215	AuthorizationRules []*AuthorizationRule `locationName:"authorizationRule" locationNameList:"item" type:"list"`
54216
54217	// The token to use to retrieve the next page of results. This value is null
54218	// when there are no more results to return.
54219	NextToken *string `locationName:"nextToken" type:"string"`
54220}
54221
54222// String returns the string representation
54223func (s DescribeClientVpnAuthorizationRulesOutput) String() string {
54224	return awsutil.Prettify(s)
54225}
54226
54227// GoString returns the string representation
54228func (s DescribeClientVpnAuthorizationRulesOutput) GoString() string {
54229	return s.String()
54230}
54231
54232// SetAuthorizationRules sets the AuthorizationRules field's value.
54233func (s *DescribeClientVpnAuthorizationRulesOutput) SetAuthorizationRules(v []*AuthorizationRule) *DescribeClientVpnAuthorizationRulesOutput {
54234	s.AuthorizationRules = v
54235	return s
54236}
54237
54238// SetNextToken sets the NextToken field's value.
54239func (s *DescribeClientVpnAuthorizationRulesOutput) SetNextToken(v string) *DescribeClientVpnAuthorizationRulesOutput {
54240	s.NextToken = &v
54241	return s
54242}
54243
54244type DescribeClientVpnConnectionsInput struct {
54245	_ struct{} `type:"structure"`
54246
54247	// The ID of the Client VPN endpoint.
54248	//
54249	// ClientVpnEndpointId is a required field
54250	ClientVpnEndpointId *string `type:"string" required:"true"`
54251
54252	// Checks whether you have the required permissions for the action, without
54253	// actually making the request, and provides an error response. If you have
54254	// the required permissions, the error response is DryRunOperation. Otherwise,
54255	// it is UnauthorizedOperation.
54256	DryRun *bool `type:"boolean"`
54257
54258	// One or more filters. Filter names and values are case-sensitive.
54259	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54260
54261	// The maximum number of results to return for the request in a single page.
54262	// The remaining results can be seen by sending another request with the nextToken
54263	// value.
54264	MaxResults *int64 `min:"5" type:"integer"`
54265
54266	// The token to retrieve the next page of results.
54267	NextToken *string `type:"string"`
54268}
54269
54270// String returns the string representation
54271func (s DescribeClientVpnConnectionsInput) String() string {
54272	return awsutil.Prettify(s)
54273}
54274
54275// GoString returns the string representation
54276func (s DescribeClientVpnConnectionsInput) GoString() string {
54277	return s.String()
54278}
54279
54280// Validate inspects the fields of the type to determine if they are valid.
54281func (s *DescribeClientVpnConnectionsInput) Validate() error {
54282	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnConnectionsInput"}
54283	if s.ClientVpnEndpointId == nil {
54284		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
54285	}
54286	if s.MaxResults != nil && *s.MaxResults < 5 {
54287		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54288	}
54289
54290	if invalidParams.Len() > 0 {
54291		return invalidParams
54292	}
54293	return nil
54294}
54295
54296// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
54297func (s *DescribeClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *DescribeClientVpnConnectionsInput {
54298	s.ClientVpnEndpointId = &v
54299	return s
54300}
54301
54302// SetDryRun sets the DryRun field's value.
54303func (s *DescribeClientVpnConnectionsInput) SetDryRun(v bool) *DescribeClientVpnConnectionsInput {
54304	s.DryRun = &v
54305	return s
54306}
54307
54308// SetFilters sets the Filters field's value.
54309func (s *DescribeClientVpnConnectionsInput) SetFilters(v []*Filter) *DescribeClientVpnConnectionsInput {
54310	s.Filters = v
54311	return s
54312}
54313
54314// SetMaxResults sets the MaxResults field's value.
54315func (s *DescribeClientVpnConnectionsInput) SetMaxResults(v int64) *DescribeClientVpnConnectionsInput {
54316	s.MaxResults = &v
54317	return s
54318}
54319
54320// SetNextToken sets the NextToken field's value.
54321func (s *DescribeClientVpnConnectionsInput) SetNextToken(v string) *DescribeClientVpnConnectionsInput {
54322	s.NextToken = &v
54323	return s
54324}
54325
54326type DescribeClientVpnConnectionsOutput struct {
54327	_ struct{} `type:"structure"`
54328
54329	// Information about the active and terminated client connections.
54330	Connections []*ClientVpnConnection `locationName:"connections" locationNameList:"item" type:"list"`
54331
54332	// The token to use to retrieve the next page of results. This value is null
54333	// when there are no more results to return.
54334	NextToken *string `locationName:"nextToken" type:"string"`
54335}
54336
54337// String returns the string representation
54338func (s DescribeClientVpnConnectionsOutput) String() string {
54339	return awsutil.Prettify(s)
54340}
54341
54342// GoString returns the string representation
54343func (s DescribeClientVpnConnectionsOutput) GoString() string {
54344	return s.String()
54345}
54346
54347// SetConnections sets the Connections field's value.
54348func (s *DescribeClientVpnConnectionsOutput) SetConnections(v []*ClientVpnConnection) *DescribeClientVpnConnectionsOutput {
54349	s.Connections = v
54350	return s
54351}
54352
54353// SetNextToken sets the NextToken field's value.
54354func (s *DescribeClientVpnConnectionsOutput) SetNextToken(v string) *DescribeClientVpnConnectionsOutput {
54355	s.NextToken = &v
54356	return s
54357}
54358
54359type DescribeClientVpnEndpointsInput struct {
54360	_ struct{} `type:"structure"`
54361
54362	// The ID of the Client VPN endpoint.
54363	ClientVpnEndpointIds []*string `locationName:"ClientVpnEndpointId" locationNameList:"item" type:"list"`
54364
54365	// Checks whether you have the required permissions for the action, without
54366	// actually making the request, and provides an error response. If you have
54367	// the required permissions, the error response is DryRunOperation. Otherwise,
54368	// it is UnauthorizedOperation.
54369	DryRun *bool `type:"boolean"`
54370
54371	// One or more filters. Filter names and values are case-sensitive.
54372	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54373
54374	// The maximum number of results to return for the request in a single page.
54375	// The remaining results can be seen by sending another request with the nextToken
54376	// value.
54377	MaxResults *int64 `min:"5" type:"integer"`
54378
54379	// The token to retrieve the next page of results.
54380	NextToken *string `type:"string"`
54381}
54382
54383// String returns the string representation
54384func (s DescribeClientVpnEndpointsInput) String() string {
54385	return awsutil.Prettify(s)
54386}
54387
54388// GoString returns the string representation
54389func (s DescribeClientVpnEndpointsInput) GoString() string {
54390	return s.String()
54391}
54392
54393// Validate inspects the fields of the type to determine if they are valid.
54394func (s *DescribeClientVpnEndpointsInput) Validate() error {
54395	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnEndpointsInput"}
54396	if s.MaxResults != nil && *s.MaxResults < 5 {
54397		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54398	}
54399
54400	if invalidParams.Len() > 0 {
54401		return invalidParams
54402	}
54403	return nil
54404}
54405
54406// SetClientVpnEndpointIds sets the ClientVpnEndpointIds field's value.
54407func (s *DescribeClientVpnEndpointsInput) SetClientVpnEndpointIds(v []*string) *DescribeClientVpnEndpointsInput {
54408	s.ClientVpnEndpointIds = v
54409	return s
54410}
54411
54412// SetDryRun sets the DryRun field's value.
54413func (s *DescribeClientVpnEndpointsInput) SetDryRun(v bool) *DescribeClientVpnEndpointsInput {
54414	s.DryRun = &v
54415	return s
54416}
54417
54418// SetFilters sets the Filters field's value.
54419func (s *DescribeClientVpnEndpointsInput) SetFilters(v []*Filter) *DescribeClientVpnEndpointsInput {
54420	s.Filters = v
54421	return s
54422}
54423
54424// SetMaxResults sets the MaxResults field's value.
54425func (s *DescribeClientVpnEndpointsInput) SetMaxResults(v int64) *DescribeClientVpnEndpointsInput {
54426	s.MaxResults = &v
54427	return s
54428}
54429
54430// SetNextToken sets the NextToken field's value.
54431func (s *DescribeClientVpnEndpointsInput) SetNextToken(v string) *DescribeClientVpnEndpointsInput {
54432	s.NextToken = &v
54433	return s
54434}
54435
54436type DescribeClientVpnEndpointsOutput struct {
54437	_ struct{} `type:"structure"`
54438
54439	// Information about the Client VPN endpoints.
54440	ClientVpnEndpoints []*ClientVpnEndpoint `locationName:"clientVpnEndpoint" locationNameList:"item" type:"list"`
54441
54442	// The token to use to retrieve the next page of results. This value is null
54443	// when there are no more results to return.
54444	NextToken *string `locationName:"nextToken" type:"string"`
54445}
54446
54447// String returns the string representation
54448func (s DescribeClientVpnEndpointsOutput) String() string {
54449	return awsutil.Prettify(s)
54450}
54451
54452// GoString returns the string representation
54453func (s DescribeClientVpnEndpointsOutput) GoString() string {
54454	return s.String()
54455}
54456
54457// SetClientVpnEndpoints sets the ClientVpnEndpoints field's value.
54458func (s *DescribeClientVpnEndpointsOutput) SetClientVpnEndpoints(v []*ClientVpnEndpoint) *DescribeClientVpnEndpointsOutput {
54459	s.ClientVpnEndpoints = v
54460	return s
54461}
54462
54463// SetNextToken sets the NextToken field's value.
54464func (s *DescribeClientVpnEndpointsOutput) SetNextToken(v string) *DescribeClientVpnEndpointsOutput {
54465	s.NextToken = &v
54466	return s
54467}
54468
54469type DescribeClientVpnRoutesInput struct {
54470	_ struct{} `type:"structure"`
54471
54472	// The ID of the Client VPN endpoint.
54473	//
54474	// ClientVpnEndpointId is a required field
54475	ClientVpnEndpointId *string `type:"string" required:"true"`
54476
54477	// Checks whether you have the required permissions for the action, without
54478	// actually making the request, and provides an error response. If you have
54479	// the required permissions, the error response is DryRunOperation. Otherwise,
54480	// it is UnauthorizedOperation.
54481	DryRun *bool `type:"boolean"`
54482
54483	// One or more filters. Filter names and values are case-sensitive.
54484	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54485
54486	// The maximum number of results to return for the request in a single page.
54487	// The remaining results can be seen by sending another request with the nextToken
54488	// value.
54489	MaxResults *int64 `min:"5" type:"integer"`
54490
54491	// The token to retrieve the next page of results.
54492	NextToken *string `type:"string"`
54493}
54494
54495// String returns the string representation
54496func (s DescribeClientVpnRoutesInput) String() string {
54497	return awsutil.Prettify(s)
54498}
54499
54500// GoString returns the string representation
54501func (s DescribeClientVpnRoutesInput) GoString() string {
54502	return s.String()
54503}
54504
54505// Validate inspects the fields of the type to determine if they are valid.
54506func (s *DescribeClientVpnRoutesInput) Validate() error {
54507	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnRoutesInput"}
54508	if s.ClientVpnEndpointId == nil {
54509		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
54510	}
54511	if s.MaxResults != nil && *s.MaxResults < 5 {
54512		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54513	}
54514
54515	if invalidParams.Len() > 0 {
54516		return invalidParams
54517	}
54518	return nil
54519}
54520
54521// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
54522func (s *DescribeClientVpnRoutesInput) SetClientVpnEndpointId(v string) *DescribeClientVpnRoutesInput {
54523	s.ClientVpnEndpointId = &v
54524	return s
54525}
54526
54527// SetDryRun sets the DryRun field's value.
54528func (s *DescribeClientVpnRoutesInput) SetDryRun(v bool) *DescribeClientVpnRoutesInput {
54529	s.DryRun = &v
54530	return s
54531}
54532
54533// SetFilters sets the Filters field's value.
54534func (s *DescribeClientVpnRoutesInput) SetFilters(v []*Filter) *DescribeClientVpnRoutesInput {
54535	s.Filters = v
54536	return s
54537}
54538
54539// SetMaxResults sets the MaxResults field's value.
54540func (s *DescribeClientVpnRoutesInput) SetMaxResults(v int64) *DescribeClientVpnRoutesInput {
54541	s.MaxResults = &v
54542	return s
54543}
54544
54545// SetNextToken sets the NextToken field's value.
54546func (s *DescribeClientVpnRoutesInput) SetNextToken(v string) *DescribeClientVpnRoutesInput {
54547	s.NextToken = &v
54548	return s
54549}
54550
54551type DescribeClientVpnRoutesOutput struct {
54552	_ struct{} `type:"structure"`
54553
54554	// The token to use to retrieve the next page of results. This value is null
54555	// when there are no more results to return.
54556	NextToken *string `locationName:"nextToken" type:"string"`
54557
54558	// Information about the Client VPN endpoint routes.
54559	Routes []*ClientVpnRoute `locationName:"routes" locationNameList:"item" type:"list"`
54560}
54561
54562// String returns the string representation
54563func (s DescribeClientVpnRoutesOutput) String() string {
54564	return awsutil.Prettify(s)
54565}
54566
54567// GoString returns the string representation
54568func (s DescribeClientVpnRoutesOutput) GoString() string {
54569	return s.String()
54570}
54571
54572// SetNextToken sets the NextToken field's value.
54573func (s *DescribeClientVpnRoutesOutput) SetNextToken(v string) *DescribeClientVpnRoutesOutput {
54574	s.NextToken = &v
54575	return s
54576}
54577
54578// SetRoutes sets the Routes field's value.
54579func (s *DescribeClientVpnRoutesOutput) SetRoutes(v []*ClientVpnRoute) *DescribeClientVpnRoutesOutput {
54580	s.Routes = v
54581	return s
54582}
54583
54584type DescribeClientVpnTargetNetworksInput struct {
54585	_ struct{} `type:"structure"`
54586
54587	// The IDs of the target network associations.
54588	AssociationIds []*string `locationNameList:"item" type:"list"`
54589
54590	// The ID of the Client VPN endpoint.
54591	//
54592	// ClientVpnEndpointId is a required field
54593	ClientVpnEndpointId *string `type:"string" required:"true"`
54594
54595	// Checks whether you have the required permissions for the action, without
54596	// actually making the request, and provides an error response. If you have
54597	// the required permissions, the error response is DryRunOperation. Otherwise,
54598	// it is UnauthorizedOperation.
54599	DryRun *bool `type:"boolean"`
54600
54601	// One or more filters. Filter names and values are case-sensitive.
54602	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54603
54604	// The maximum number of results to return for the request in a single page.
54605	// The remaining results can be seen by sending another request with the nextToken
54606	// value.
54607	MaxResults *int64 `min:"5" type:"integer"`
54608
54609	// The token to retrieve the next page of results.
54610	NextToken *string `type:"string"`
54611}
54612
54613// String returns the string representation
54614func (s DescribeClientVpnTargetNetworksInput) String() string {
54615	return awsutil.Prettify(s)
54616}
54617
54618// GoString returns the string representation
54619func (s DescribeClientVpnTargetNetworksInput) GoString() string {
54620	return s.String()
54621}
54622
54623// Validate inspects the fields of the type to determine if they are valid.
54624func (s *DescribeClientVpnTargetNetworksInput) Validate() error {
54625	invalidParams := request.ErrInvalidParams{Context: "DescribeClientVpnTargetNetworksInput"}
54626	if s.ClientVpnEndpointId == nil {
54627		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
54628	}
54629	if s.MaxResults != nil && *s.MaxResults < 5 {
54630		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54631	}
54632
54633	if invalidParams.Len() > 0 {
54634		return invalidParams
54635	}
54636	return nil
54637}
54638
54639// SetAssociationIds sets the AssociationIds field's value.
54640func (s *DescribeClientVpnTargetNetworksInput) SetAssociationIds(v []*string) *DescribeClientVpnTargetNetworksInput {
54641	s.AssociationIds = v
54642	return s
54643}
54644
54645// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
54646func (s *DescribeClientVpnTargetNetworksInput) SetClientVpnEndpointId(v string) *DescribeClientVpnTargetNetworksInput {
54647	s.ClientVpnEndpointId = &v
54648	return s
54649}
54650
54651// SetDryRun sets the DryRun field's value.
54652func (s *DescribeClientVpnTargetNetworksInput) SetDryRun(v bool) *DescribeClientVpnTargetNetworksInput {
54653	s.DryRun = &v
54654	return s
54655}
54656
54657// SetFilters sets the Filters field's value.
54658func (s *DescribeClientVpnTargetNetworksInput) SetFilters(v []*Filter) *DescribeClientVpnTargetNetworksInput {
54659	s.Filters = v
54660	return s
54661}
54662
54663// SetMaxResults sets the MaxResults field's value.
54664func (s *DescribeClientVpnTargetNetworksInput) SetMaxResults(v int64) *DescribeClientVpnTargetNetworksInput {
54665	s.MaxResults = &v
54666	return s
54667}
54668
54669// SetNextToken sets the NextToken field's value.
54670func (s *DescribeClientVpnTargetNetworksInput) SetNextToken(v string) *DescribeClientVpnTargetNetworksInput {
54671	s.NextToken = &v
54672	return s
54673}
54674
54675type DescribeClientVpnTargetNetworksOutput struct {
54676	_ struct{} `type:"structure"`
54677
54678	// Information about the associated target networks.
54679	ClientVpnTargetNetworks []*TargetNetwork `locationName:"clientVpnTargetNetworks" locationNameList:"item" type:"list"`
54680
54681	// The token to use to retrieve the next page of results. This value is null
54682	// when there are no more results to return.
54683	NextToken *string `locationName:"nextToken" type:"string"`
54684}
54685
54686// String returns the string representation
54687func (s DescribeClientVpnTargetNetworksOutput) String() string {
54688	return awsutil.Prettify(s)
54689}
54690
54691// GoString returns the string representation
54692func (s DescribeClientVpnTargetNetworksOutput) GoString() string {
54693	return s.String()
54694}
54695
54696// SetClientVpnTargetNetworks sets the ClientVpnTargetNetworks field's value.
54697func (s *DescribeClientVpnTargetNetworksOutput) SetClientVpnTargetNetworks(v []*TargetNetwork) *DescribeClientVpnTargetNetworksOutput {
54698	s.ClientVpnTargetNetworks = v
54699	return s
54700}
54701
54702// SetNextToken sets the NextToken field's value.
54703func (s *DescribeClientVpnTargetNetworksOutput) SetNextToken(v string) *DescribeClientVpnTargetNetworksOutput {
54704	s.NextToken = &v
54705	return s
54706}
54707
54708type DescribeCoipPoolsInput struct {
54709	_ struct{} `type:"structure"`
54710
54711	// Checks whether you have the required permissions for the action, without
54712	// actually making the request, and provides an error response. If you have
54713	// the required permissions, the error response is DryRunOperation. Otherwise,
54714	// it is UnauthorizedOperation.
54715	DryRun *bool `type:"boolean"`
54716
54717	// The filters. The following are the possible values:
54718	//
54719	//    * coip-pool.pool-id
54720	//
54721	//    * coip-pool.local-gateway-route-table-id
54722	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54723
54724	// The maximum number of results to return with a single call. To retrieve the
54725	// remaining results, make another call with the returned nextToken value.
54726	MaxResults *int64 `min:"5" type:"integer"`
54727
54728	// The token for the next page of results.
54729	NextToken *string `type:"string"`
54730
54731	// The IDs of the address pools.
54732	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
54733}
54734
54735// String returns the string representation
54736func (s DescribeCoipPoolsInput) String() string {
54737	return awsutil.Prettify(s)
54738}
54739
54740// GoString returns the string representation
54741func (s DescribeCoipPoolsInput) GoString() string {
54742	return s.String()
54743}
54744
54745// Validate inspects the fields of the type to determine if they are valid.
54746func (s *DescribeCoipPoolsInput) Validate() error {
54747	invalidParams := request.ErrInvalidParams{Context: "DescribeCoipPoolsInput"}
54748	if s.MaxResults != nil && *s.MaxResults < 5 {
54749		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
54750	}
54751
54752	if invalidParams.Len() > 0 {
54753		return invalidParams
54754	}
54755	return nil
54756}
54757
54758// SetDryRun sets the DryRun field's value.
54759func (s *DescribeCoipPoolsInput) SetDryRun(v bool) *DescribeCoipPoolsInput {
54760	s.DryRun = &v
54761	return s
54762}
54763
54764// SetFilters sets the Filters field's value.
54765func (s *DescribeCoipPoolsInput) SetFilters(v []*Filter) *DescribeCoipPoolsInput {
54766	s.Filters = v
54767	return s
54768}
54769
54770// SetMaxResults sets the MaxResults field's value.
54771func (s *DescribeCoipPoolsInput) SetMaxResults(v int64) *DescribeCoipPoolsInput {
54772	s.MaxResults = &v
54773	return s
54774}
54775
54776// SetNextToken sets the NextToken field's value.
54777func (s *DescribeCoipPoolsInput) SetNextToken(v string) *DescribeCoipPoolsInput {
54778	s.NextToken = &v
54779	return s
54780}
54781
54782// SetPoolIds sets the PoolIds field's value.
54783func (s *DescribeCoipPoolsInput) SetPoolIds(v []*string) *DescribeCoipPoolsInput {
54784	s.PoolIds = v
54785	return s
54786}
54787
54788type DescribeCoipPoolsOutput struct {
54789	_ struct{} `type:"structure"`
54790
54791	// Information about the address pools.
54792	CoipPools []*CoipPool `locationName:"coipPoolSet" locationNameList:"item" type:"list"`
54793
54794	// The token to use to retrieve the next page of results. This value is null
54795	// when there are no more results to return.
54796	NextToken *string `locationName:"nextToken" type:"string"`
54797}
54798
54799// String returns the string representation
54800func (s DescribeCoipPoolsOutput) String() string {
54801	return awsutil.Prettify(s)
54802}
54803
54804// GoString returns the string representation
54805func (s DescribeCoipPoolsOutput) GoString() string {
54806	return s.String()
54807}
54808
54809// SetCoipPools sets the CoipPools field's value.
54810func (s *DescribeCoipPoolsOutput) SetCoipPools(v []*CoipPool) *DescribeCoipPoolsOutput {
54811	s.CoipPools = v
54812	return s
54813}
54814
54815// SetNextToken sets the NextToken field's value.
54816func (s *DescribeCoipPoolsOutput) SetNextToken(v string) *DescribeCoipPoolsOutput {
54817	s.NextToken = &v
54818	return s
54819}
54820
54821type DescribeConversionTasksInput struct {
54822	_ struct{} `type:"structure"`
54823
54824	// The conversion task IDs.
54825	ConversionTaskIds []*string `locationName:"conversionTaskId" locationNameList:"item" type:"list"`
54826
54827	// Checks whether you have the required permissions for the action, without
54828	// actually making the request, and provides an error response. If you have
54829	// the required permissions, the error response is DryRunOperation. Otherwise,
54830	// it is UnauthorizedOperation.
54831	DryRun *bool `locationName:"dryRun" type:"boolean"`
54832}
54833
54834// String returns the string representation
54835func (s DescribeConversionTasksInput) String() string {
54836	return awsutil.Prettify(s)
54837}
54838
54839// GoString returns the string representation
54840func (s DescribeConversionTasksInput) GoString() string {
54841	return s.String()
54842}
54843
54844// SetConversionTaskIds sets the ConversionTaskIds field's value.
54845func (s *DescribeConversionTasksInput) SetConversionTaskIds(v []*string) *DescribeConversionTasksInput {
54846	s.ConversionTaskIds = v
54847	return s
54848}
54849
54850// SetDryRun sets the DryRun field's value.
54851func (s *DescribeConversionTasksInput) SetDryRun(v bool) *DescribeConversionTasksInput {
54852	s.DryRun = &v
54853	return s
54854}
54855
54856type DescribeConversionTasksOutput struct {
54857	_ struct{} `type:"structure"`
54858
54859	// Information about the conversion tasks.
54860	ConversionTasks []*ConversionTask `locationName:"conversionTasks" locationNameList:"item" type:"list"`
54861}
54862
54863// String returns the string representation
54864func (s DescribeConversionTasksOutput) String() string {
54865	return awsutil.Prettify(s)
54866}
54867
54868// GoString returns the string representation
54869func (s DescribeConversionTasksOutput) GoString() string {
54870	return s.String()
54871}
54872
54873// SetConversionTasks sets the ConversionTasks field's value.
54874func (s *DescribeConversionTasksOutput) SetConversionTasks(v []*ConversionTask) *DescribeConversionTasksOutput {
54875	s.ConversionTasks = v
54876	return s
54877}
54878
54879// Contains the parameters for DescribeCustomerGateways.
54880type DescribeCustomerGatewaysInput struct {
54881	_ struct{} `type:"structure"`
54882
54883	// One or more customer gateway IDs.
54884	//
54885	// Default: Describes all your customer gateways.
54886	CustomerGatewayIds []*string `locationName:"CustomerGatewayId" locationNameList:"CustomerGatewayId" type:"list"`
54887
54888	// Checks whether you have the required permissions for the action, without
54889	// actually making the request, and provides an error response. If you have
54890	// the required permissions, the error response is DryRunOperation. Otherwise,
54891	// it is UnauthorizedOperation.
54892	DryRun *bool `locationName:"dryRun" type:"boolean"`
54893
54894	// One or more filters.
54895	//
54896	//    * bgp-asn - The customer gateway's Border Gateway Protocol (BGP) Autonomous
54897	//    System Number (ASN).
54898	//
54899	//    * customer-gateway-id - The ID of the customer gateway.
54900	//
54901	//    * ip-address - The IP address of the customer gateway's Internet-routable
54902	//    external interface.
54903	//
54904	//    * state - The state of the customer gateway (pending | available | deleting
54905	//    | deleted).
54906	//
54907	//    * type - The type of customer gateway. Currently, the only supported type
54908	//    is ipsec.1.
54909	//
54910	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
54911	//    Use the tag key in the filter name and the tag value as the filter value.
54912	//    For example, to find all resources that have a tag with the key Owner
54913	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
54914	//    the filter value.
54915	//
54916	//    * tag-key - The key of a tag assigned to the resource. Use this filter
54917	//    to find all resources assigned a tag with a specific key, regardless of
54918	//    the tag value.
54919	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
54920}
54921
54922// String returns the string representation
54923func (s DescribeCustomerGatewaysInput) String() string {
54924	return awsutil.Prettify(s)
54925}
54926
54927// GoString returns the string representation
54928func (s DescribeCustomerGatewaysInput) GoString() string {
54929	return s.String()
54930}
54931
54932// SetCustomerGatewayIds sets the CustomerGatewayIds field's value.
54933func (s *DescribeCustomerGatewaysInput) SetCustomerGatewayIds(v []*string) *DescribeCustomerGatewaysInput {
54934	s.CustomerGatewayIds = v
54935	return s
54936}
54937
54938// SetDryRun sets the DryRun field's value.
54939func (s *DescribeCustomerGatewaysInput) SetDryRun(v bool) *DescribeCustomerGatewaysInput {
54940	s.DryRun = &v
54941	return s
54942}
54943
54944// SetFilters sets the Filters field's value.
54945func (s *DescribeCustomerGatewaysInput) SetFilters(v []*Filter) *DescribeCustomerGatewaysInput {
54946	s.Filters = v
54947	return s
54948}
54949
54950// Contains the output of DescribeCustomerGateways.
54951type DescribeCustomerGatewaysOutput struct {
54952	_ struct{} `type:"structure"`
54953
54954	// Information about one or more customer gateways.
54955	CustomerGateways []*CustomerGateway `locationName:"customerGatewaySet" locationNameList:"item" type:"list"`
54956}
54957
54958// String returns the string representation
54959func (s DescribeCustomerGatewaysOutput) String() string {
54960	return awsutil.Prettify(s)
54961}
54962
54963// GoString returns the string representation
54964func (s DescribeCustomerGatewaysOutput) GoString() string {
54965	return s.String()
54966}
54967
54968// SetCustomerGateways sets the CustomerGateways field's value.
54969func (s *DescribeCustomerGatewaysOutput) SetCustomerGateways(v []*CustomerGateway) *DescribeCustomerGatewaysOutput {
54970	s.CustomerGateways = v
54971	return s
54972}
54973
54974type DescribeDhcpOptionsInput struct {
54975	_ struct{} `type:"structure"`
54976
54977	// The IDs of one or more DHCP options sets.
54978	//
54979	// Default: Describes all your DHCP options sets.
54980	DhcpOptionsIds []*string `locationName:"DhcpOptionsId" locationNameList:"DhcpOptionsId" type:"list"`
54981
54982	// Checks whether you have the required permissions for the action, without
54983	// actually making the request, and provides an error response. If you have
54984	// the required permissions, the error response is DryRunOperation. Otherwise,
54985	// it is UnauthorizedOperation.
54986	DryRun *bool `locationName:"dryRun" type:"boolean"`
54987
54988	// One or more filters.
54989	//
54990	//    * dhcp-options-id - The ID of a DHCP options set.
54991	//
54992	//    * key - The key for one of the options (for example, domain-name).
54993	//
54994	//    * value - The value for one of the options.
54995	//
54996	//    * owner-id - The ID of the AWS account that owns the DHCP options set.
54997	//
54998	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
54999	//    Use the tag key in the filter name and the tag value as the filter value.
55000	//    For example, to find all resources that have a tag with the key Owner
55001	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
55002	//    the filter value.
55003	//
55004	//    * tag-key - The key of a tag assigned to the resource. Use this filter
55005	//    to find all resources assigned a tag with a specific key, regardless of
55006	//    the tag value.
55007	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55008
55009	// The maximum number of results to return with a single call. To retrieve the
55010	// remaining results, make another call with the returned nextToken value.
55011	MaxResults *int64 `min:"5" type:"integer"`
55012
55013	// The token for the next page of results.
55014	NextToken *string `type:"string"`
55015}
55016
55017// String returns the string representation
55018func (s DescribeDhcpOptionsInput) String() string {
55019	return awsutil.Prettify(s)
55020}
55021
55022// GoString returns the string representation
55023func (s DescribeDhcpOptionsInput) GoString() string {
55024	return s.String()
55025}
55026
55027// Validate inspects the fields of the type to determine if they are valid.
55028func (s *DescribeDhcpOptionsInput) Validate() error {
55029	invalidParams := request.ErrInvalidParams{Context: "DescribeDhcpOptionsInput"}
55030	if s.MaxResults != nil && *s.MaxResults < 5 {
55031		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55032	}
55033
55034	if invalidParams.Len() > 0 {
55035		return invalidParams
55036	}
55037	return nil
55038}
55039
55040// SetDhcpOptionsIds sets the DhcpOptionsIds field's value.
55041func (s *DescribeDhcpOptionsInput) SetDhcpOptionsIds(v []*string) *DescribeDhcpOptionsInput {
55042	s.DhcpOptionsIds = v
55043	return s
55044}
55045
55046// SetDryRun sets the DryRun field's value.
55047func (s *DescribeDhcpOptionsInput) SetDryRun(v bool) *DescribeDhcpOptionsInput {
55048	s.DryRun = &v
55049	return s
55050}
55051
55052// SetFilters sets the Filters field's value.
55053func (s *DescribeDhcpOptionsInput) SetFilters(v []*Filter) *DescribeDhcpOptionsInput {
55054	s.Filters = v
55055	return s
55056}
55057
55058// SetMaxResults sets the MaxResults field's value.
55059func (s *DescribeDhcpOptionsInput) SetMaxResults(v int64) *DescribeDhcpOptionsInput {
55060	s.MaxResults = &v
55061	return s
55062}
55063
55064// SetNextToken sets the NextToken field's value.
55065func (s *DescribeDhcpOptionsInput) SetNextToken(v string) *DescribeDhcpOptionsInput {
55066	s.NextToken = &v
55067	return s
55068}
55069
55070type DescribeDhcpOptionsOutput struct {
55071	_ struct{} `type:"structure"`
55072
55073	// Information about one or more DHCP options sets.
55074	DhcpOptions []*DhcpOptions `locationName:"dhcpOptionsSet" locationNameList:"item" type:"list"`
55075
55076	// The token to use to retrieve the next page of results. This value is null
55077	// when there are no more results to return.
55078	NextToken *string `locationName:"nextToken" type:"string"`
55079}
55080
55081// String returns the string representation
55082func (s DescribeDhcpOptionsOutput) String() string {
55083	return awsutil.Prettify(s)
55084}
55085
55086// GoString returns the string representation
55087func (s DescribeDhcpOptionsOutput) GoString() string {
55088	return s.String()
55089}
55090
55091// SetDhcpOptions sets the DhcpOptions field's value.
55092func (s *DescribeDhcpOptionsOutput) SetDhcpOptions(v []*DhcpOptions) *DescribeDhcpOptionsOutput {
55093	s.DhcpOptions = v
55094	return s
55095}
55096
55097// SetNextToken sets the NextToken field's value.
55098func (s *DescribeDhcpOptionsOutput) SetNextToken(v string) *DescribeDhcpOptionsOutput {
55099	s.NextToken = &v
55100	return s
55101}
55102
55103type DescribeEgressOnlyInternetGatewaysInput struct {
55104	_ struct{} `type:"structure"`
55105
55106	// Checks whether you have the required permissions for the action, without
55107	// actually making the request, and provides an error response. If you have
55108	// the required permissions, the error response is DryRunOperation. Otherwise,
55109	// it is UnauthorizedOperation.
55110	DryRun *bool `type:"boolean"`
55111
55112	// One or more egress-only internet gateway IDs.
55113	EgressOnlyInternetGatewayIds []*string `locationName:"EgressOnlyInternetGatewayId" locationNameList:"item" type:"list"`
55114
55115	// The maximum number of results to return with a single call. To retrieve the
55116	// remaining results, make another call with the returned nextToken value.
55117	MaxResults *int64 `min:"5" type:"integer"`
55118
55119	// The token for the next page of results.
55120	NextToken *string `type:"string"`
55121}
55122
55123// String returns the string representation
55124func (s DescribeEgressOnlyInternetGatewaysInput) String() string {
55125	return awsutil.Prettify(s)
55126}
55127
55128// GoString returns the string representation
55129func (s DescribeEgressOnlyInternetGatewaysInput) GoString() string {
55130	return s.String()
55131}
55132
55133// Validate inspects the fields of the type to determine if they are valid.
55134func (s *DescribeEgressOnlyInternetGatewaysInput) Validate() error {
55135	invalidParams := request.ErrInvalidParams{Context: "DescribeEgressOnlyInternetGatewaysInput"}
55136	if s.MaxResults != nil && *s.MaxResults < 5 {
55137		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
55138	}
55139
55140	if invalidParams.Len() > 0 {
55141		return invalidParams
55142	}
55143	return nil
55144}
55145
55146// SetDryRun sets the DryRun field's value.
55147func (s *DescribeEgressOnlyInternetGatewaysInput) SetDryRun(v bool) *DescribeEgressOnlyInternetGatewaysInput {
55148	s.DryRun = &v
55149	return s
55150}
55151
55152// SetEgressOnlyInternetGatewayIds sets the EgressOnlyInternetGatewayIds field's value.
55153func (s *DescribeEgressOnlyInternetGatewaysInput) SetEgressOnlyInternetGatewayIds(v []*string) *DescribeEgressOnlyInternetGatewaysInput {
55154	s.EgressOnlyInternetGatewayIds = v
55155	return s
55156}
55157
55158// SetMaxResults sets the MaxResults field's value.
55159func (s *DescribeEgressOnlyInternetGatewaysInput) SetMaxResults(v int64) *DescribeEgressOnlyInternetGatewaysInput {
55160	s.MaxResults = &v
55161	return s
55162}
55163
55164// SetNextToken sets the NextToken field's value.
55165func (s *DescribeEgressOnlyInternetGatewaysInput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysInput {
55166	s.NextToken = &v
55167	return s
55168}
55169
55170type DescribeEgressOnlyInternetGatewaysOutput struct {
55171	_ struct{} `type:"structure"`
55172
55173	// Information about the egress-only internet gateways.
55174	EgressOnlyInternetGateways []*EgressOnlyInternetGateway `locationName:"egressOnlyInternetGatewaySet" locationNameList:"item" type:"list"`
55175
55176	// The token to use to retrieve the next page of results. This value is null
55177	// when there are no more results to return.
55178	NextToken *string `locationName:"nextToken" type:"string"`
55179}
55180
55181// String returns the string representation
55182func (s DescribeEgressOnlyInternetGatewaysOutput) String() string {
55183	return awsutil.Prettify(s)
55184}
55185
55186// GoString returns the string representation
55187func (s DescribeEgressOnlyInternetGatewaysOutput) GoString() string {
55188	return s.String()
55189}
55190
55191// SetEgressOnlyInternetGateways sets the EgressOnlyInternetGateways field's value.
55192func (s *DescribeEgressOnlyInternetGatewaysOutput) SetEgressOnlyInternetGateways(v []*EgressOnlyInternetGateway) *DescribeEgressOnlyInternetGatewaysOutput {
55193	s.EgressOnlyInternetGateways = v
55194	return s
55195}
55196
55197// SetNextToken sets the NextToken field's value.
55198func (s *DescribeEgressOnlyInternetGatewaysOutput) SetNextToken(v string) *DescribeEgressOnlyInternetGatewaysOutput {
55199	s.NextToken = &v
55200	return s
55201}
55202
55203type DescribeElasticGpusInput struct {
55204	_ struct{} `type:"structure"`
55205
55206	// Checks whether you have the required permissions for the action, without
55207	// actually making the request, and provides an error response. If you have
55208	// the required permissions, the error response is DryRunOperation. Otherwise,
55209	// it is UnauthorizedOperation.
55210	DryRun *bool `type:"boolean"`
55211
55212	// The Elastic Graphics accelerator IDs.
55213	ElasticGpuIds []*string `locationName:"ElasticGpuId" locationNameList:"item" type:"list"`
55214
55215	// The filters.
55216	//
55217	//    * availability-zone - The Availability Zone in which the Elastic Graphics
55218	//    accelerator resides.
55219	//
55220	//    * elastic-gpu-health - The status of the Elastic Graphics accelerator
55221	//    (OK | IMPAIRED).
55222	//
55223	//    * elastic-gpu-state - The state of the Elastic Graphics accelerator (ATTACHED).
55224	//
55225	//    * elastic-gpu-type - The type of Elastic Graphics accelerator; for example,
55226	//    eg1.medium.
55227	//
55228	//    * instance-id - The ID of the instance to which the Elastic Graphics accelerator
55229	//    is associated.
55230	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55231
55232	// The maximum number of results to return in a single call. To retrieve the
55233	// remaining results, make another call with the returned NextToken value. This
55234	// value can be between 5 and 1000.
55235	MaxResults *int64 `min:"10" type:"integer"`
55236
55237	// The token to request the next page of results.
55238	NextToken *string `type:"string"`
55239}
55240
55241// String returns the string representation
55242func (s DescribeElasticGpusInput) String() string {
55243	return awsutil.Prettify(s)
55244}
55245
55246// GoString returns the string representation
55247func (s DescribeElasticGpusInput) GoString() string {
55248	return s.String()
55249}
55250
55251// Validate inspects the fields of the type to determine if they are valid.
55252func (s *DescribeElasticGpusInput) Validate() error {
55253	invalidParams := request.ErrInvalidParams{Context: "DescribeElasticGpusInput"}
55254	if s.MaxResults != nil && *s.MaxResults < 10 {
55255		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 10))
55256	}
55257
55258	if invalidParams.Len() > 0 {
55259		return invalidParams
55260	}
55261	return nil
55262}
55263
55264// SetDryRun sets the DryRun field's value.
55265func (s *DescribeElasticGpusInput) SetDryRun(v bool) *DescribeElasticGpusInput {
55266	s.DryRun = &v
55267	return s
55268}
55269
55270// SetElasticGpuIds sets the ElasticGpuIds field's value.
55271func (s *DescribeElasticGpusInput) SetElasticGpuIds(v []*string) *DescribeElasticGpusInput {
55272	s.ElasticGpuIds = v
55273	return s
55274}
55275
55276// SetFilters sets the Filters field's value.
55277func (s *DescribeElasticGpusInput) SetFilters(v []*Filter) *DescribeElasticGpusInput {
55278	s.Filters = v
55279	return s
55280}
55281
55282// SetMaxResults sets the MaxResults field's value.
55283func (s *DescribeElasticGpusInput) SetMaxResults(v int64) *DescribeElasticGpusInput {
55284	s.MaxResults = &v
55285	return s
55286}
55287
55288// SetNextToken sets the NextToken field's value.
55289func (s *DescribeElasticGpusInput) SetNextToken(v string) *DescribeElasticGpusInput {
55290	s.NextToken = &v
55291	return s
55292}
55293
55294type DescribeElasticGpusOutput struct {
55295	_ struct{} `type:"structure"`
55296
55297	// Information about the Elastic Graphics accelerators.
55298	ElasticGpuSet []*ElasticGpus `locationName:"elasticGpuSet" locationNameList:"item" type:"list"`
55299
55300	// The total number of items to return. If the total number of items available
55301	// is more than the value specified in max-items then a Next-Token will be provided
55302	// in the output that you can use to resume pagination.
55303	MaxResults *int64 `locationName:"maxResults" type:"integer"`
55304
55305	// The token to use to retrieve the next page of results. This value is null
55306	// when there are no more results to return.
55307	NextToken *string `locationName:"nextToken" type:"string"`
55308}
55309
55310// String returns the string representation
55311func (s DescribeElasticGpusOutput) String() string {
55312	return awsutil.Prettify(s)
55313}
55314
55315// GoString returns the string representation
55316func (s DescribeElasticGpusOutput) GoString() string {
55317	return s.String()
55318}
55319
55320// SetElasticGpuSet sets the ElasticGpuSet field's value.
55321func (s *DescribeElasticGpusOutput) SetElasticGpuSet(v []*ElasticGpus) *DescribeElasticGpusOutput {
55322	s.ElasticGpuSet = v
55323	return s
55324}
55325
55326// SetMaxResults sets the MaxResults field's value.
55327func (s *DescribeElasticGpusOutput) SetMaxResults(v int64) *DescribeElasticGpusOutput {
55328	s.MaxResults = &v
55329	return s
55330}
55331
55332// SetNextToken sets the NextToken field's value.
55333func (s *DescribeElasticGpusOutput) SetNextToken(v string) *DescribeElasticGpusOutput {
55334	s.NextToken = &v
55335	return s
55336}
55337
55338type DescribeExportImageTasksInput struct {
55339	_ struct{} `type:"structure"`
55340
55341	// Checks whether you have the required permissions for the action, without
55342	// actually making the request, and provides an error response. If you have
55343	// the required permissions, the error response is DryRunOperation. Otherwise,
55344	// it is UnauthorizedOperation.
55345	DryRun *bool `type:"boolean"`
55346
55347	// The IDs of the export image tasks.
55348	ExportImageTaskIds []*string `locationName:"ExportImageTaskId" locationNameList:"ExportImageTaskId" type:"list"`
55349
55350	// Filter tasks using the task-state filter and one of the following values:
55351	// active, completed, deleting, or deleted.
55352	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55353
55354	// The maximum number of results to return in a single call.
55355	MaxResults *int64 `min:"1" type:"integer"`
55356
55357	// A token that indicates the next page of results.
55358	NextToken *string `type:"string"`
55359}
55360
55361// String returns the string representation
55362func (s DescribeExportImageTasksInput) String() string {
55363	return awsutil.Prettify(s)
55364}
55365
55366// GoString returns the string representation
55367func (s DescribeExportImageTasksInput) GoString() string {
55368	return s.String()
55369}
55370
55371// Validate inspects the fields of the type to determine if they are valid.
55372func (s *DescribeExportImageTasksInput) Validate() error {
55373	invalidParams := request.ErrInvalidParams{Context: "DescribeExportImageTasksInput"}
55374	if s.MaxResults != nil && *s.MaxResults < 1 {
55375		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
55376	}
55377
55378	if invalidParams.Len() > 0 {
55379		return invalidParams
55380	}
55381	return nil
55382}
55383
55384// SetDryRun sets the DryRun field's value.
55385func (s *DescribeExportImageTasksInput) SetDryRun(v bool) *DescribeExportImageTasksInput {
55386	s.DryRun = &v
55387	return s
55388}
55389
55390// SetExportImageTaskIds sets the ExportImageTaskIds field's value.
55391func (s *DescribeExportImageTasksInput) SetExportImageTaskIds(v []*string) *DescribeExportImageTasksInput {
55392	s.ExportImageTaskIds = v
55393	return s
55394}
55395
55396// SetFilters sets the Filters field's value.
55397func (s *DescribeExportImageTasksInput) SetFilters(v []*Filter) *DescribeExportImageTasksInput {
55398	s.Filters = v
55399	return s
55400}
55401
55402// SetMaxResults sets the MaxResults field's value.
55403func (s *DescribeExportImageTasksInput) SetMaxResults(v int64) *DescribeExportImageTasksInput {
55404	s.MaxResults = &v
55405	return s
55406}
55407
55408// SetNextToken sets the NextToken field's value.
55409func (s *DescribeExportImageTasksInput) SetNextToken(v string) *DescribeExportImageTasksInput {
55410	s.NextToken = &v
55411	return s
55412}
55413
55414type DescribeExportImageTasksOutput struct {
55415	_ struct{} `type:"structure"`
55416
55417	// Information about the export image tasks.
55418	ExportImageTasks []*ExportImageTask `locationName:"exportImageTaskSet" locationNameList:"item" type:"list"`
55419
55420	// The token to use to get the next page of results. This value is null when
55421	// there are no more results to return.
55422	NextToken *string `locationName:"nextToken" type:"string"`
55423}
55424
55425// String returns the string representation
55426func (s DescribeExportImageTasksOutput) String() string {
55427	return awsutil.Prettify(s)
55428}
55429
55430// GoString returns the string representation
55431func (s DescribeExportImageTasksOutput) GoString() string {
55432	return s.String()
55433}
55434
55435// SetExportImageTasks sets the ExportImageTasks field's value.
55436func (s *DescribeExportImageTasksOutput) SetExportImageTasks(v []*ExportImageTask) *DescribeExportImageTasksOutput {
55437	s.ExportImageTasks = v
55438	return s
55439}
55440
55441// SetNextToken sets the NextToken field's value.
55442func (s *DescribeExportImageTasksOutput) SetNextToken(v string) *DescribeExportImageTasksOutput {
55443	s.NextToken = &v
55444	return s
55445}
55446
55447type DescribeExportTasksInput struct {
55448	_ struct{} `type:"structure"`
55449
55450	// The export task IDs.
55451	ExportTaskIds []*string `locationName:"exportTaskId" locationNameList:"ExportTaskId" type:"list"`
55452
55453	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55454}
55455
55456// String returns the string representation
55457func (s DescribeExportTasksInput) String() string {
55458	return awsutil.Prettify(s)
55459}
55460
55461// GoString returns the string representation
55462func (s DescribeExportTasksInput) GoString() string {
55463	return s.String()
55464}
55465
55466// SetExportTaskIds sets the ExportTaskIds field's value.
55467func (s *DescribeExportTasksInput) SetExportTaskIds(v []*string) *DescribeExportTasksInput {
55468	s.ExportTaskIds = v
55469	return s
55470}
55471
55472// SetFilters sets the Filters field's value.
55473func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
55474	s.Filters = v
55475	return s
55476}
55477
55478type DescribeExportTasksOutput struct {
55479	_ struct{} `type:"structure"`
55480
55481	// Information about the export tasks.
55482	ExportTasks []*ExportTask `locationName:"exportTaskSet" locationNameList:"item" type:"list"`
55483}
55484
55485// String returns the string representation
55486func (s DescribeExportTasksOutput) String() string {
55487	return awsutil.Prettify(s)
55488}
55489
55490// GoString returns the string representation
55491func (s DescribeExportTasksOutput) GoString() string {
55492	return s.String()
55493}
55494
55495// SetExportTasks sets the ExportTasks field's value.
55496func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
55497	s.ExportTasks = v
55498	return s
55499}
55500
55501// Describes fast snapshot restores for a snapshot.
55502type DescribeFastSnapshotRestoreSuccessItem struct {
55503	_ struct{} `type:"structure"`
55504
55505	// The Availability Zone.
55506	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
55507
55508	// The time at which fast snapshot restores entered the disabled state.
55509	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
55510
55511	// The time at which fast snapshot restores entered the disabling state.
55512	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
55513
55514	// The time at which fast snapshot restores entered the enabled state.
55515	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
55516
55517	// The time at which fast snapshot restores entered the enabling state.
55518	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
55519
55520	// The time at which fast snapshot restores entered the optimizing state.
55521	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
55522
55523	// The alias of the snapshot owner.
55524	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
55525
55526	// The ID of the AWS account that owns the snapshot.
55527	OwnerId *string `locationName:"ownerId" type:"string"`
55528
55529	// The ID of the snapshot.
55530	SnapshotId *string `locationName:"snapshotId" type:"string"`
55531
55532	// The state of fast snapshot restores.
55533	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
55534
55535	// The reason for the state transition. The possible values are as follows:
55536	//
55537	//    * Client.UserInitiated - The state successfully transitioned to enabling
55538	//    or disabling.
55539	//
55540	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
55541	//    transitioned to optimizing, enabled, or disabled.
55542	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
55543}
55544
55545// String returns the string representation
55546func (s DescribeFastSnapshotRestoreSuccessItem) String() string {
55547	return awsutil.Prettify(s)
55548}
55549
55550// GoString returns the string representation
55551func (s DescribeFastSnapshotRestoreSuccessItem) GoString() string {
55552	return s.String()
55553}
55554
55555// SetAvailabilityZone sets the AvailabilityZone field's value.
55556func (s *DescribeFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DescribeFastSnapshotRestoreSuccessItem {
55557	s.AvailabilityZone = &v
55558	return s
55559}
55560
55561// SetDisabledTime sets the DisabledTime field's value.
55562func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
55563	s.DisabledTime = &v
55564	return s
55565}
55566
55567// SetDisablingTime sets the DisablingTime field's value.
55568func (s *DescribeFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
55569	s.DisablingTime = &v
55570	return s
55571}
55572
55573// SetEnabledTime sets the EnabledTime field's value.
55574func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
55575	s.EnabledTime = &v
55576	return s
55577}
55578
55579// SetEnablingTime sets the EnablingTime field's value.
55580func (s *DescribeFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
55581	s.EnablingTime = &v
55582	return s
55583}
55584
55585// SetOptimizingTime sets the OptimizingTime field's value.
55586func (s *DescribeFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DescribeFastSnapshotRestoreSuccessItem {
55587	s.OptimizingTime = &v
55588	return s
55589}
55590
55591// SetOwnerAlias sets the OwnerAlias field's value.
55592func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DescribeFastSnapshotRestoreSuccessItem {
55593	s.OwnerAlias = &v
55594	return s
55595}
55596
55597// SetOwnerId sets the OwnerId field's value.
55598func (s *DescribeFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DescribeFastSnapshotRestoreSuccessItem {
55599	s.OwnerId = &v
55600	return s
55601}
55602
55603// SetSnapshotId sets the SnapshotId field's value.
55604func (s *DescribeFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DescribeFastSnapshotRestoreSuccessItem {
55605	s.SnapshotId = &v
55606	return s
55607}
55608
55609// SetState sets the State field's value.
55610func (s *DescribeFastSnapshotRestoreSuccessItem) SetState(v string) *DescribeFastSnapshotRestoreSuccessItem {
55611	s.State = &v
55612	return s
55613}
55614
55615// SetStateTransitionReason sets the StateTransitionReason field's value.
55616func (s *DescribeFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DescribeFastSnapshotRestoreSuccessItem {
55617	s.StateTransitionReason = &v
55618	return s
55619}
55620
55621type DescribeFastSnapshotRestoresInput struct {
55622	_ struct{} `type:"structure"`
55623
55624	// Checks whether you have the required permissions for the action, without
55625	// actually making the request, and provides an error response. If you have
55626	// the required permissions, the error response is DryRunOperation. Otherwise,
55627	// it is UnauthorizedOperation.
55628	DryRun *bool `type:"boolean"`
55629
55630	// The filters. The possible values are:
55631	//
55632	//    * availability-zone: The Availability Zone of the snapshot.
55633	//
55634	//    * owner-id: The ID of the AWS account that owns the snapshot.
55635	//
55636	//    * snapshot-id: The ID of the snapshot.
55637	//
55638	//    * state: The state of fast snapshot restores for the snapshot (enabling
55639	//    | optimizing | enabled | disabling | disabled).
55640	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55641
55642	// The maximum number of results to return with a single call. To retrieve the
55643	// remaining results, make another call with the returned nextToken value.
55644	MaxResults *int64 `type:"integer"`
55645
55646	// The token for the next page of results.
55647	NextToken *string `type:"string"`
55648}
55649
55650// String returns the string representation
55651func (s DescribeFastSnapshotRestoresInput) String() string {
55652	return awsutil.Prettify(s)
55653}
55654
55655// GoString returns the string representation
55656func (s DescribeFastSnapshotRestoresInput) GoString() string {
55657	return s.String()
55658}
55659
55660// SetDryRun sets the DryRun field's value.
55661func (s *DescribeFastSnapshotRestoresInput) SetDryRun(v bool) *DescribeFastSnapshotRestoresInput {
55662	s.DryRun = &v
55663	return s
55664}
55665
55666// SetFilters sets the Filters field's value.
55667func (s *DescribeFastSnapshotRestoresInput) SetFilters(v []*Filter) *DescribeFastSnapshotRestoresInput {
55668	s.Filters = v
55669	return s
55670}
55671
55672// SetMaxResults sets the MaxResults field's value.
55673func (s *DescribeFastSnapshotRestoresInput) SetMaxResults(v int64) *DescribeFastSnapshotRestoresInput {
55674	s.MaxResults = &v
55675	return s
55676}
55677
55678// SetNextToken sets the NextToken field's value.
55679func (s *DescribeFastSnapshotRestoresInput) SetNextToken(v string) *DescribeFastSnapshotRestoresInput {
55680	s.NextToken = &v
55681	return s
55682}
55683
55684type DescribeFastSnapshotRestoresOutput struct {
55685	_ struct{} `type:"structure"`
55686
55687	// Information about the state of fast snapshot restores.
55688	FastSnapshotRestores []*DescribeFastSnapshotRestoreSuccessItem `locationName:"fastSnapshotRestoreSet" locationNameList:"item" type:"list"`
55689
55690	// The token to use to retrieve the next page of results. This value is null
55691	// when there are no more results to return.
55692	NextToken *string `locationName:"nextToken" type:"string"`
55693}
55694
55695// String returns the string representation
55696func (s DescribeFastSnapshotRestoresOutput) String() string {
55697	return awsutil.Prettify(s)
55698}
55699
55700// GoString returns the string representation
55701func (s DescribeFastSnapshotRestoresOutput) GoString() string {
55702	return s.String()
55703}
55704
55705// SetFastSnapshotRestores sets the FastSnapshotRestores field's value.
55706func (s *DescribeFastSnapshotRestoresOutput) SetFastSnapshotRestores(v []*DescribeFastSnapshotRestoreSuccessItem) *DescribeFastSnapshotRestoresOutput {
55707	s.FastSnapshotRestores = v
55708	return s
55709}
55710
55711// SetNextToken sets the NextToken field's value.
55712func (s *DescribeFastSnapshotRestoresOutput) SetNextToken(v string) *DescribeFastSnapshotRestoresOutput {
55713	s.NextToken = &v
55714	return s
55715}
55716
55717// Describes the instances that could not be launched by the fleet.
55718type DescribeFleetError struct {
55719	_ struct{} `type:"structure"`
55720
55721	// The error code that indicates why the instance could not be launched. For
55722	// more information about error codes, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
55723	ErrorCode *string `locationName:"errorCode" type:"string"`
55724
55725	// The error message that describes why the instance could not be launched.
55726	// For more information about error messages, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html).
55727	ErrorMessage *string `locationName:"errorMessage" type:"string"`
55728
55729	// The launch templates and overrides that were used for launching the instances.
55730	// The values that you specify in the Overrides replace the values in the launch
55731	// template.
55732	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
55733
55734	// Indicates if the instance that could not be launched was a Spot Instance
55735	// or On-Demand Instance.
55736	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
55737}
55738
55739// String returns the string representation
55740func (s DescribeFleetError) String() string {
55741	return awsutil.Prettify(s)
55742}
55743
55744// GoString returns the string representation
55745func (s DescribeFleetError) GoString() string {
55746	return s.String()
55747}
55748
55749// SetErrorCode sets the ErrorCode field's value.
55750func (s *DescribeFleetError) SetErrorCode(v string) *DescribeFleetError {
55751	s.ErrorCode = &v
55752	return s
55753}
55754
55755// SetErrorMessage sets the ErrorMessage field's value.
55756func (s *DescribeFleetError) SetErrorMessage(v string) *DescribeFleetError {
55757	s.ErrorMessage = &v
55758	return s
55759}
55760
55761// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
55762func (s *DescribeFleetError) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetError {
55763	s.LaunchTemplateAndOverrides = v
55764	return s
55765}
55766
55767// SetLifecycle sets the Lifecycle field's value.
55768func (s *DescribeFleetError) SetLifecycle(v string) *DescribeFleetError {
55769	s.Lifecycle = &v
55770	return s
55771}
55772
55773type DescribeFleetHistoryInput struct {
55774	_ struct{} `type:"structure"`
55775
55776	// Checks whether you have the required permissions for the action, without
55777	// actually making the request, and provides an error response. If you have
55778	// the required permissions, the error response is DryRunOperation. Otherwise,
55779	// it is UnauthorizedOperation.
55780	DryRun *bool `type:"boolean"`
55781
55782	// The type of events to describe. By default, all events are described.
55783	EventType *string `type:"string" enum:"FleetEventType"`
55784
55785	// The ID of the EC2 Fleet.
55786	//
55787	// FleetId is a required field
55788	FleetId *string `type:"string" required:"true"`
55789
55790	// The maximum number of results to return in a single call. Specify a value
55791	// between 1 and 1000. The default value is 1000. To retrieve the remaining
55792	// results, make another call with the returned NextToken value.
55793	MaxResults *int64 `type:"integer"`
55794
55795	// The token for the next set of results.
55796	NextToken *string `type:"string"`
55797
55798	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
55799	//
55800	// StartTime is a required field
55801	StartTime *time.Time `type:"timestamp" required:"true"`
55802}
55803
55804// String returns the string representation
55805func (s DescribeFleetHistoryInput) String() string {
55806	return awsutil.Prettify(s)
55807}
55808
55809// GoString returns the string representation
55810func (s DescribeFleetHistoryInput) GoString() string {
55811	return s.String()
55812}
55813
55814// Validate inspects the fields of the type to determine if they are valid.
55815func (s *DescribeFleetHistoryInput) Validate() error {
55816	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetHistoryInput"}
55817	if s.FleetId == nil {
55818		invalidParams.Add(request.NewErrParamRequired("FleetId"))
55819	}
55820	if s.StartTime == nil {
55821		invalidParams.Add(request.NewErrParamRequired("StartTime"))
55822	}
55823
55824	if invalidParams.Len() > 0 {
55825		return invalidParams
55826	}
55827	return nil
55828}
55829
55830// SetDryRun sets the DryRun field's value.
55831func (s *DescribeFleetHistoryInput) SetDryRun(v bool) *DescribeFleetHistoryInput {
55832	s.DryRun = &v
55833	return s
55834}
55835
55836// SetEventType sets the EventType field's value.
55837func (s *DescribeFleetHistoryInput) SetEventType(v string) *DescribeFleetHistoryInput {
55838	s.EventType = &v
55839	return s
55840}
55841
55842// SetFleetId sets the FleetId field's value.
55843func (s *DescribeFleetHistoryInput) SetFleetId(v string) *DescribeFleetHistoryInput {
55844	s.FleetId = &v
55845	return s
55846}
55847
55848// SetMaxResults sets the MaxResults field's value.
55849func (s *DescribeFleetHistoryInput) SetMaxResults(v int64) *DescribeFleetHistoryInput {
55850	s.MaxResults = &v
55851	return s
55852}
55853
55854// SetNextToken sets the NextToken field's value.
55855func (s *DescribeFleetHistoryInput) SetNextToken(v string) *DescribeFleetHistoryInput {
55856	s.NextToken = &v
55857	return s
55858}
55859
55860// SetStartTime sets the StartTime field's value.
55861func (s *DescribeFleetHistoryInput) SetStartTime(v time.Time) *DescribeFleetHistoryInput {
55862	s.StartTime = &v
55863	return s
55864}
55865
55866type DescribeFleetHistoryOutput struct {
55867	_ struct{} `type:"structure"`
55868
55869	// The ID of the EC Fleet.
55870	FleetId *string `locationName:"fleetId" type:"string"`
55871
55872	// Information about the events in the history of the EC2 Fleet.
55873	HistoryRecords []*HistoryRecordEntry `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
55874
55875	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
55876	// All records up to this time were retrieved.
55877	//
55878	// If nextToken indicates that there are more results, this value is not present.
55879	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
55880
55881	// The token for the next set of results.
55882	NextToken *string `locationName:"nextToken" type:"string"`
55883
55884	// The start date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
55885	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
55886}
55887
55888// String returns the string representation
55889func (s DescribeFleetHistoryOutput) String() string {
55890	return awsutil.Prettify(s)
55891}
55892
55893// GoString returns the string representation
55894func (s DescribeFleetHistoryOutput) GoString() string {
55895	return s.String()
55896}
55897
55898// SetFleetId sets the FleetId field's value.
55899func (s *DescribeFleetHistoryOutput) SetFleetId(v string) *DescribeFleetHistoryOutput {
55900	s.FleetId = &v
55901	return s
55902}
55903
55904// SetHistoryRecords sets the HistoryRecords field's value.
55905func (s *DescribeFleetHistoryOutput) SetHistoryRecords(v []*HistoryRecordEntry) *DescribeFleetHistoryOutput {
55906	s.HistoryRecords = v
55907	return s
55908}
55909
55910// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
55911func (s *DescribeFleetHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeFleetHistoryOutput {
55912	s.LastEvaluatedTime = &v
55913	return s
55914}
55915
55916// SetNextToken sets the NextToken field's value.
55917func (s *DescribeFleetHistoryOutput) SetNextToken(v string) *DescribeFleetHistoryOutput {
55918	s.NextToken = &v
55919	return s
55920}
55921
55922// SetStartTime sets the StartTime field's value.
55923func (s *DescribeFleetHistoryOutput) SetStartTime(v time.Time) *DescribeFleetHistoryOutput {
55924	s.StartTime = &v
55925	return s
55926}
55927
55928type DescribeFleetInstancesInput struct {
55929	_ struct{} `type:"structure"`
55930
55931	// Checks whether you have the required permissions for the action, without
55932	// actually making the request, and provides an error response. If you have
55933	// the required permissions, the error response is DryRunOperation. Otherwise,
55934	// it is UnauthorizedOperation.
55935	DryRun *bool `type:"boolean"`
55936
55937	// The filters.
55938	//
55939	//    * instance-type - The instance type.
55940	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
55941
55942	// The ID of the EC2 Fleet.
55943	//
55944	// FleetId is a required field
55945	FleetId *string `type:"string" required:"true"`
55946
55947	// The maximum number of results to return in a single call. Specify a value
55948	// between 1 and 1000. The default value is 1000. To retrieve the remaining
55949	// results, make another call with the returned NextToken value.
55950	MaxResults *int64 `type:"integer"`
55951
55952	// The token for the next set of results.
55953	NextToken *string `type:"string"`
55954}
55955
55956// String returns the string representation
55957func (s DescribeFleetInstancesInput) String() string {
55958	return awsutil.Prettify(s)
55959}
55960
55961// GoString returns the string representation
55962func (s DescribeFleetInstancesInput) GoString() string {
55963	return s.String()
55964}
55965
55966// Validate inspects the fields of the type to determine if they are valid.
55967func (s *DescribeFleetInstancesInput) Validate() error {
55968	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInstancesInput"}
55969	if s.FleetId == nil {
55970		invalidParams.Add(request.NewErrParamRequired("FleetId"))
55971	}
55972
55973	if invalidParams.Len() > 0 {
55974		return invalidParams
55975	}
55976	return nil
55977}
55978
55979// SetDryRun sets the DryRun field's value.
55980func (s *DescribeFleetInstancesInput) SetDryRun(v bool) *DescribeFleetInstancesInput {
55981	s.DryRun = &v
55982	return s
55983}
55984
55985// SetFilters sets the Filters field's value.
55986func (s *DescribeFleetInstancesInput) SetFilters(v []*Filter) *DescribeFleetInstancesInput {
55987	s.Filters = v
55988	return s
55989}
55990
55991// SetFleetId sets the FleetId field's value.
55992func (s *DescribeFleetInstancesInput) SetFleetId(v string) *DescribeFleetInstancesInput {
55993	s.FleetId = &v
55994	return s
55995}
55996
55997// SetMaxResults sets the MaxResults field's value.
55998func (s *DescribeFleetInstancesInput) SetMaxResults(v int64) *DescribeFleetInstancesInput {
55999	s.MaxResults = &v
56000	return s
56001}
56002
56003// SetNextToken sets the NextToken field's value.
56004func (s *DescribeFleetInstancesInput) SetNextToken(v string) *DescribeFleetInstancesInput {
56005	s.NextToken = &v
56006	return s
56007}
56008
56009type DescribeFleetInstancesOutput struct {
56010	_ struct{} `type:"structure"`
56011
56012	// The running instances. This list is refreshed periodically and might be out
56013	// of date.
56014	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
56015
56016	// The ID of the EC2 Fleet.
56017	FleetId *string `locationName:"fleetId" type:"string"`
56018
56019	// The token for the next set of results.
56020	NextToken *string `locationName:"nextToken" type:"string"`
56021}
56022
56023// String returns the string representation
56024func (s DescribeFleetInstancesOutput) String() string {
56025	return awsutil.Prettify(s)
56026}
56027
56028// GoString returns the string representation
56029func (s DescribeFleetInstancesOutput) GoString() string {
56030	return s.String()
56031}
56032
56033// SetActiveInstances sets the ActiveInstances field's value.
56034func (s *DescribeFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeFleetInstancesOutput {
56035	s.ActiveInstances = v
56036	return s
56037}
56038
56039// SetFleetId sets the FleetId field's value.
56040func (s *DescribeFleetInstancesOutput) SetFleetId(v string) *DescribeFleetInstancesOutput {
56041	s.FleetId = &v
56042	return s
56043}
56044
56045// SetNextToken sets the NextToken field's value.
56046func (s *DescribeFleetInstancesOutput) SetNextToken(v string) *DescribeFleetInstancesOutput {
56047	s.NextToken = &v
56048	return s
56049}
56050
56051type DescribeFleetsInput struct {
56052	_ struct{} `type:"structure"`
56053
56054	// Checks whether you have the required permissions for the action, without
56055	// actually making the request, and provides an error response. If you have
56056	// the required permissions, the error response is DryRunOperation. Otherwise,
56057	// it is UnauthorizedOperation.
56058	DryRun *bool `type:"boolean"`
56059
56060	// The filters.
56061	//
56062	//    * activity-status - The progress of the EC2 Fleet ( error | pending-fulfillment
56063	//    | pending-termination | fulfilled).
56064	//
56065	//    * excess-capacity-termination-policy - Indicates whether to terminate
56066	//    running instances if the target capacity is decreased below the current
56067	//    EC2 Fleet size (true | false).
56068	//
56069	//    * fleet-state - The state of the EC2 Fleet (submitted | active | deleted
56070	//    | failed | deleted-running | deleted-terminating | modifying).
56071	//
56072	//    * replace-unhealthy-instances - Indicates whether EC2 Fleet should replace
56073	//    unhealthy instances (true | false).
56074	//
56075	//    * type - The type of request (instant | request | maintain).
56076	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56077
56078	// The ID of the EC2 Fleets.
56079	FleetIds []*string `locationName:"FleetId" type:"list"`
56080
56081	// The maximum number of results to return in a single call. Specify a value
56082	// between 1 and 1000. The default value is 1000. To retrieve the remaining
56083	// results, make another call with the returned NextToken value.
56084	MaxResults *int64 `type:"integer"`
56085
56086	// The token for the next set of results.
56087	NextToken *string `type:"string"`
56088}
56089
56090// String returns the string representation
56091func (s DescribeFleetsInput) String() string {
56092	return awsutil.Prettify(s)
56093}
56094
56095// GoString returns the string representation
56096func (s DescribeFleetsInput) GoString() string {
56097	return s.String()
56098}
56099
56100// SetDryRun sets the DryRun field's value.
56101func (s *DescribeFleetsInput) SetDryRun(v bool) *DescribeFleetsInput {
56102	s.DryRun = &v
56103	return s
56104}
56105
56106// SetFilters sets the Filters field's value.
56107func (s *DescribeFleetsInput) SetFilters(v []*Filter) *DescribeFleetsInput {
56108	s.Filters = v
56109	return s
56110}
56111
56112// SetFleetIds sets the FleetIds field's value.
56113func (s *DescribeFleetsInput) SetFleetIds(v []*string) *DescribeFleetsInput {
56114	s.FleetIds = v
56115	return s
56116}
56117
56118// SetMaxResults sets the MaxResults field's value.
56119func (s *DescribeFleetsInput) SetMaxResults(v int64) *DescribeFleetsInput {
56120	s.MaxResults = &v
56121	return s
56122}
56123
56124// SetNextToken sets the NextToken field's value.
56125func (s *DescribeFleetsInput) SetNextToken(v string) *DescribeFleetsInput {
56126	s.NextToken = &v
56127	return s
56128}
56129
56130// Describes the instances that were launched by the fleet.
56131type DescribeFleetsInstances struct {
56132	_ struct{} `type:"structure"`
56133
56134	// The IDs of the instances.
56135	InstanceIds []*string `locationName:"instanceIds" locationNameList:"item" type:"list"`
56136
56137	// The instance type.
56138	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
56139
56140	// The launch templates and overrides that were used for launching the instances.
56141	// The values that you specify in the Overrides replace the values in the launch
56142	// template.
56143	LaunchTemplateAndOverrides *LaunchTemplateAndOverridesResponse `locationName:"launchTemplateAndOverrides" type:"structure"`
56144
56145	// Indicates if the instance that was launched is a Spot Instance or On-Demand
56146	// Instance.
56147	Lifecycle *string `locationName:"lifecycle" type:"string" enum:"InstanceLifecycle"`
56148
56149	// The value is Windows for Windows instances. Otherwise, the value is blank.
56150	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
56151}
56152
56153// String returns the string representation
56154func (s DescribeFleetsInstances) String() string {
56155	return awsutil.Prettify(s)
56156}
56157
56158// GoString returns the string representation
56159func (s DescribeFleetsInstances) GoString() string {
56160	return s.String()
56161}
56162
56163// SetInstanceIds sets the InstanceIds field's value.
56164func (s *DescribeFleetsInstances) SetInstanceIds(v []*string) *DescribeFleetsInstances {
56165	s.InstanceIds = v
56166	return s
56167}
56168
56169// SetInstanceType sets the InstanceType field's value.
56170func (s *DescribeFleetsInstances) SetInstanceType(v string) *DescribeFleetsInstances {
56171	s.InstanceType = &v
56172	return s
56173}
56174
56175// SetLaunchTemplateAndOverrides sets the LaunchTemplateAndOverrides field's value.
56176func (s *DescribeFleetsInstances) SetLaunchTemplateAndOverrides(v *LaunchTemplateAndOverridesResponse) *DescribeFleetsInstances {
56177	s.LaunchTemplateAndOverrides = v
56178	return s
56179}
56180
56181// SetLifecycle sets the Lifecycle field's value.
56182func (s *DescribeFleetsInstances) SetLifecycle(v string) *DescribeFleetsInstances {
56183	s.Lifecycle = &v
56184	return s
56185}
56186
56187// SetPlatform sets the Platform field's value.
56188func (s *DescribeFleetsInstances) SetPlatform(v string) *DescribeFleetsInstances {
56189	s.Platform = &v
56190	return s
56191}
56192
56193type DescribeFleetsOutput struct {
56194	_ struct{} `type:"structure"`
56195
56196	// Information about the EC2 Fleets.
56197	Fleets []*FleetData `locationName:"fleetSet" locationNameList:"item" type:"list"`
56198
56199	// The token for the next set of results.
56200	NextToken *string `locationName:"nextToken" type:"string"`
56201}
56202
56203// String returns the string representation
56204func (s DescribeFleetsOutput) String() string {
56205	return awsutil.Prettify(s)
56206}
56207
56208// GoString returns the string representation
56209func (s DescribeFleetsOutput) GoString() string {
56210	return s.String()
56211}
56212
56213// SetFleets sets the Fleets field's value.
56214func (s *DescribeFleetsOutput) SetFleets(v []*FleetData) *DescribeFleetsOutput {
56215	s.Fleets = v
56216	return s
56217}
56218
56219// SetNextToken sets the NextToken field's value.
56220func (s *DescribeFleetsOutput) SetNextToken(v string) *DescribeFleetsOutput {
56221	s.NextToken = &v
56222	return s
56223}
56224
56225type DescribeFlowLogsInput struct {
56226	_ struct{} `type:"structure"`
56227
56228	// Checks whether you have the required permissions for the action, without
56229	// actually making the request, and provides an error response. If you have
56230	// the required permissions, the error response is DryRunOperation. Otherwise,
56231	// it is UnauthorizedOperation.
56232	DryRun *bool `type:"boolean"`
56233
56234	// One or more filters.
56235	//
56236	//    * deliver-log-status - The status of the logs delivery (SUCCESS | FAILED).
56237	//
56238	//    * log-destination-type - The type of destination to which the flow log
56239	//    publishes data. Possible destination types include cloud-watch-logs and
56240	//    S3.
56241	//
56242	//    * flow-log-id - The ID of the flow log.
56243	//
56244	//    * log-group-name - The name of the log group.
56245	//
56246	//    * resource-id - The ID of the VPC, subnet, or network interface.
56247	//
56248	//    * traffic-type - The type of traffic (ACCEPT | REJECT | ALL).
56249	Filter []*Filter `locationNameList:"Filter" type:"list"`
56250
56251	// One or more flow log IDs.
56252	//
56253	// Constraint: Maximum of 1000 flow log IDs.
56254	FlowLogIds []*string `locationName:"FlowLogId" locationNameList:"item" type:"list"`
56255
56256	// The maximum number of results to return with a single call. To retrieve the
56257	// remaining results, make another call with the returned nextToken value.
56258	MaxResults *int64 `type:"integer"`
56259
56260	// The token for the next page of results.
56261	NextToken *string `type:"string"`
56262}
56263
56264// String returns the string representation
56265func (s DescribeFlowLogsInput) String() string {
56266	return awsutil.Prettify(s)
56267}
56268
56269// GoString returns the string representation
56270func (s DescribeFlowLogsInput) GoString() string {
56271	return s.String()
56272}
56273
56274// SetDryRun sets the DryRun field's value.
56275func (s *DescribeFlowLogsInput) SetDryRun(v bool) *DescribeFlowLogsInput {
56276	s.DryRun = &v
56277	return s
56278}
56279
56280// SetFilter sets the Filter field's value.
56281func (s *DescribeFlowLogsInput) SetFilter(v []*Filter) *DescribeFlowLogsInput {
56282	s.Filter = v
56283	return s
56284}
56285
56286// SetFlowLogIds sets the FlowLogIds field's value.
56287func (s *DescribeFlowLogsInput) SetFlowLogIds(v []*string) *DescribeFlowLogsInput {
56288	s.FlowLogIds = v
56289	return s
56290}
56291
56292// SetMaxResults sets the MaxResults field's value.
56293func (s *DescribeFlowLogsInput) SetMaxResults(v int64) *DescribeFlowLogsInput {
56294	s.MaxResults = &v
56295	return s
56296}
56297
56298// SetNextToken sets the NextToken field's value.
56299func (s *DescribeFlowLogsInput) SetNextToken(v string) *DescribeFlowLogsInput {
56300	s.NextToken = &v
56301	return s
56302}
56303
56304type DescribeFlowLogsOutput struct {
56305	_ struct{} `type:"structure"`
56306
56307	// Information about the flow logs.
56308	FlowLogs []*FlowLog `locationName:"flowLogSet" locationNameList:"item" type:"list"`
56309
56310	// The token to use to retrieve the next page of results. This value is null
56311	// when there are no more results to return.
56312	NextToken *string `locationName:"nextToken" type:"string"`
56313}
56314
56315// String returns the string representation
56316func (s DescribeFlowLogsOutput) String() string {
56317	return awsutil.Prettify(s)
56318}
56319
56320// GoString returns the string representation
56321func (s DescribeFlowLogsOutput) GoString() string {
56322	return s.String()
56323}
56324
56325// SetFlowLogs sets the FlowLogs field's value.
56326func (s *DescribeFlowLogsOutput) SetFlowLogs(v []*FlowLog) *DescribeFlowLogsOutput {
56327	s.FlowLogs = v
56328	return s
56329}
56330
56331// SetNextToken sets the NextToken field's value.
56332func (s *DescribeFlowLogsOutput) SetNextToken(v string) *DescribeFlowLogsOutput {
56333	s.NextToken = &v
56334	return s
56335}
56336
56337type DescribeFpgaImageAttributeInput struct {
56338	_ struct{} `type:"structure"`
56339
56340	// The AFI attribute.
56341	//
56342	// Attribute is a required field
56343	Attribute *string `type:"string" required:"true" enum:"FpgaImageAttributeName"`
56344
56345	// Checks whether you have the required permissions for the action, without
56346	// actually making the request, and provides an error response. If you have
56347	// the required permissions, the error response is DryRunOperation. Otherwise,
56348	// it is UnauthorizedOperation.
56349	DryRun *bool `type:"boolean"`
56350
56351	// The ID of the AFI.
56352	//
56353	// FpgaImageId is a required field
56354	FpgaImageId *string `type:"string" required:"true"`
56355}
56356
56357// String returns the string representation
56358func (s DescribeFpgaImageAttributeInput) String() string {
56359	return awsutil.Prettify(s)
56360}
56361
56362// GoString returns the string representation
56363func (s DescribeFpgaImageAttributeInput) GoString() string {
56364	return s.String()
56365}
56366
56367// Validate inspects the fields of the type to determine if they are valid.
56368func (s *DescribeFpgaImageAttributeInput) Validate() error {
56369	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImageAttributeInput"}
56370	if s.Attribute == nil {
56371		invalidParams.Add(request.NewErrParamRequired("Attribute"))
56372	}
56373	if s.FpgaImageId == nil {
56374		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
56375	}
56376
56377	if invalidParams.Len() > 0 {
56378		return invalidParams
56379	}
56380	return nil
56381}
56382
56383// SetAttribute sets the Attribute field's value.
56384func (s *DescribeFpgaImageAttributeInput) SetAttribute(v string) *DescribeFpgaImageAttributeInput {
56385	s.Attribute = &v
56386	return s
56387}
56388
56389// SetDryRun sets the DryRun field's value.
56390func (s *DescribeFpgaImageAttributeInput) SetDryRun(v bool) *DescribeFpgaImageAttributeInput {
56391	s.DryRun = &v
56392	return s
56393}
56394
56395// SetFpgaImageId sets the FpgaImageId field's value.
56396func (s *DescribeFpgaImageAttributeInput) SetFpgaImageId(v string) *DescribeFpgaImageAttributeInput {
56397	s.FpgaImageId = &v
56398	return s
56399}
56400
56401type DescribeFpgaImageAttributeOutput struct {
56402	_ struct{} `type:"structure"`
56403
56404	// Information about the attribute.
56405	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
56406}
56407
56408// String returns the string representation
56409func (s DescribeFpgaImageAttributeOutput) String() string {
56410	return awsutil.Prettify(s)
56411}
56412
56413// GoString returns the string representation
56414func (s DescribeFpgaImageAttributeOutput) GoString() string {
56415	return s.String()
56416}
56417
56418// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
56419func (s *DescribeFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *DescribeFpgaImageAttributeOutput {
56420	s.FpgaImageAttribute = v
56421	return s
56422}
56423
56424type DescribeFpgaImagesInput struct {
56425	_ struct{} `type:"structure"`
56426
56427	// Checks whether you have the required permissions for the action, without
56428	// actually making the request, and provides an error response. If you have
56429	// the required permissions, the error response is DryRunOperation. Otherwise,
56430	// it is UnauthorizedOperation.
56431	DryRun *bool `type:"boolean"`
56432
56433	// The filters.
56434	//
56435	//    * create-time - The creation time of the AFI.
56436	//
56437	//    * fpga-image-id - The FPGA image identifier (AFI ID).
56438	//
56439	//    * fpga-image-global-id - The global FPGA image identifier (AGFI ID).
56440	//
56441	//    * name - The name of the AFI.
56442	//
56443	//    * owner-id - The AWS account ID of the AFI owner.
56444	//
56445	//    * product-code - The product code.
56446	//
56447	//    * shell-version - The version of the AWS Shell that was used to create
56448	//    the bitstream.
56449	//
56450	//    * state - The state of the AFI (pending | failed | available | unavailable).
56451	//
56452	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56453	//    Use the tag key in the filter name and the tag value as the filter value.
56454	//    For example, to find all resources that have a tag with the key Owner
56455	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56456	//    the filter value.
56457	//
56458	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56459	//    to find all resources assigned a tag with a specific key, regardless of
56460	//    the tag value.
56461	//
56462	//    * update-time - The time of the most recent update.
56463	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56464
56465	// The AFI IDs.
56466	FpgaImageIds []*string `locationName:"FpgaImageId" locationNameList:"item" type:"list"`
56467
56468	// The maximum number of results to return in a single call.
56469	MaxResults *int64 `min:"5" type:"integer"`
56470
56471	// The token to retrieve the next page of results.
56472	NextToken *string `type:"string"`
56473
56474	// Filters the AFI by owner. Specify an AWS account ID, self (owner is the sender
56475	// of the request), or an AWS owner alias (valid values are amazon | aws-marketplace).
56476	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
56477}
56478
56479// String returns the string representation
56480func (s DescribeFpgaImagesInput) String() string {
56481	return awsutil.Prettify(s)
56482}
56483
56484// GoString returns the string representation
56485func (s DescribeFpgaImagesInput) GoString() string {
56486	return s.String()
56487}
56488
56489// Validate inspects the fields of the type to determine if they are valid.
56490func (s *DescribeFpgaImagesInput) Validate() error {
56491	invalidParams := request.ErrInvalidParams{Context: "DescribeFpgaImagesInput"}
56492	if s.MaxResults != nil && *s.MaxResults < 5 {
56493		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
56494	}
56495
56496	if invalidParams.Len() > 0 {
56497		return invalidParams
56498	}
56499	return nil
56500}
56501
56502// SetDryRun sets the DryRun field's value.
56503func (s *DescribeFpgaImagesInput) SetDryRun(v bool) *DescribeFpgaImagesInput {
56504	s.DryRun = &v
56505	return s
56506}
56507
56508// SetFilters sets the Filters field's value.
56509func (s *DescribeFpgaImagesInput) SetFilters(v []*Filter) *DescribeFpgaImagesInput {
56510	s.Filters = v
56511	return s
56512}
56513
56514// SetFpgaImageIds sets the FpgaImageIds field's value.
56515func (s *DescribeFpgaImagesInput) SetFpgaImageIds(v []*string) *DescribeFpgaImagesInput {
56516	s.FpgaImageIds = v
56517	return s
56518}
56519
56520// SetMaxResults sets the MaxResults field's value.
56521func (s *DescribeFpgaImagesInput) SetMaxResults(v int64) *DescribeFpgaImagesInput {
56522	s.MaxResults = &v
56523	return s
56524}
56525
56526// SetNextToken sets the NextToken field's value.
56527func (s *DescribeFpgaImagesInput) SetNextToken(v string) *DescribeFpgaImagesInput {
56528	s.NextToken = &v
56529	return s
56530}
56531
56532// SetOwners sets the Owners field's value.
56533func (s *DescribeFpgaImagesInput) SetOwners(v []*string) *DescribeFpgaImagesInput {
56534	s.Owners = v
56535	return s
56536}
56537
56538type DescribeFpgaImagesOutput struct {
56539	_ struct{} `type:"structure"`
56540
56541	// Information about the FPGA images.
56542	FpgaImages []*FpgaImage `locationName:"fpgaImageSet" locationNameList:"item" type:"list"`
56543
56544	// The token to use to retrieve the next page of results. This value is null
56545	// when there are no more results to return.
56546	NextToken *string `locationName:"nextToken" type:"string"`
56547}
56548
56549// String returns the string representation
56550func (s DescribeFpgaImagesOutput) String() string {
56551	return awsutil.Prettify(s)
56552}
56553
56554// GoString returns the string representation
56555func (s DescribeFpgaImagesOutput) GoString() string {
56556	return s.String()
56557}
56558
56559// SetFpgaImages sets the FpgaImages field's value.
56560func (s *DescribeFpgaImagesOutput) SetFpgaImages(v []*FpgaImage) *DescribeFpgaImagesOutput {
56561	s.FpgaImages = v
56562	return s
56563}
56564
56565// SetNextToken sets the NextToken field's value.
56566func (s *DescribeFpgaImagesOutput) SetNextToken(v string) *DescribeFpgaImagesOutput {
56567	s.NextToken = &v
56568	return s
56569}
56570
56571type DescribeHostReservationOfferingsInput struct {
56572	_ struct{} `type:"structure"`
56573
56574	// The filters.
56575	//
56576	//    * instance-family - The instance family of the offering (for example,
56577	//    m4).
56578	//
56579	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
56580	Filter []*Filter `locationNameList:"Filter" type:"list"`
56581
56582	// This is the maximum duration of the reservation to purchase, specified in
56583	// seconds. Reservations are available in one-year and three-year terms. The
56584	// number of seconds specified must be the number of seconds in a year (365x24x60x60)
56585	// times one of the supported durations (1 or 3). For example, specify 94608000
56586	// for three years.
56587	MaxDuration *int64 `type:"integer"`
56588
56589	// The maximum number of results to return for the request in a single page.
56590	// The remaining results can be seen by sending another request with the returned
56591	// nextToken value. This value can be between 5 and 500. If maxResults is given
56592	// a larger value than 500, you receive an error.
56593	MaxResults *int64 `min:"5" type:"integer"`
56594
56595	// This is the minimum duration of the reservation you'd like to purchase, specified
56596	// in seconds. Reservations are available in one-year and three-year terms.
56597	// The number of seconds specified must be the number of seconds in a year (365x24x60x60)
56598	// times one of the supported durations (1 or 3). For example, specify 31536000
56599	// for one year.
56600	MinDuration *int64 `type:"integer"`
56601
56602	// The token to use to retrieve the next page of results.
56603	NextToken *string `type:"string"`
56604
56605	// The ID of the reservation offering.
56606	OfferingId *string `type:"string"`
56607}
56608
56609// String returns the string representation
56610func (s DescribeHostReservationOfferingsInput) String() string {
56611	return awsutil.Prettify(s)
56612}
56613
56614// GoString returns the string representation
56615func (s DescribeHostReservationOfferingsInput) GoString() string {
56616	return s.String()
56617}
56618
56619// Validate inspects the fields of the type to determine if they are valid.
56620func (s *DescribeHostReservationOfferingsInput) Validate() error {
56621	invalidParams := request.ErrInvalidParams{Context: "DescribeHostReservationOfferingsInput"}
56622	if s.MaxResults != nil && *s.MaxResults < 5 {
56623		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
56624	}
56625
56626	if invalidParams.Len() > 0 {
56627		return invalidParams
56628	}
56629	return nil
56630}
56631
56632// SetFilter sets the Filter field's value.
56633func (s *DescribeHostReservationOfferingsInput) SetFilter(v []*Filter) *DescribeHostReservationOfferingsInput {
56634	s.Filter = v
56635	return s
56636}
56637
56638// SetMaxDuration sets the MaxDuration field's value.
56639func (s *DescribeHostReservationOfferingsInput) SetMaxDuration(v int64) *DescribeHostReservationOfferingsInput {
56640	s.MaxDuration = &v
56641	return s
56642}
56643
56644// SetMaxResults sets the MaxResults field's value.
56645func (s *DescribeHostReservationOfferingsInput) SetMaxResults(v int64) *DescribeHostReservationOfferingsInput {
56646	s.MaxResults = &v
56647	return s
56648}
56649
56650// SetMinDuration sets the MinDuration field's value.
56651func (s *DescribeHostReservationOfferingsInput) SetMinDuration(v int64) *DescribeHostReservationOfferingsInput {
56652	s.MinDuration = &v
56653	return s
56654}
56655
56656// SetNextToken sets the NextToken field's value.
56657func (s *DescribeHostReservationOfferingsInput) SetNextToken(v string) *DescribeHostReservationOfferingsInput {
56658	s.NextToken = &v
56659	return s
56660}
56661
56662// SetOfferingId sets the OfferingId field's value.
56663func (s *DescribeHostReservationOfferingsInput) SetOfferingId(v string) *DescribeHostReservationOfferingsInput {
56664	s.OfferingId = &v
56665	return s
56666}
56667
56668type DescribeHostReservationOfferingsOutput struct {
56669	_ struct{} `type:"structure"`
56670
56671	// The token to use to retrieve the next page of results. This value is null
56672	// when there are no more results to return.
56673	NextToken *string `locationName:"nextToken" type:"string"`
56674
56675	// Information about the offerings.
56676	OfferingSet []*HostOffering `locationName:"offeringSet" locationNameList:"item" type:"list"`
56677}
56678
56679// String returns the string representation
56680func (s DescribeHostReservationOfferingsOutput) String() string {
56681	return awsutil.Prettify(s)
56682}
56683
56684// GoString returns the string representation
56685func (s DescribeHostReservationOfferingsOutput) GoString() string {
56686	return s.String()
56687}
56688
56689// SetNextToken sets the NextToken field's value.
56690func (s *DescribeHostReservationOfferingsOutput) SetNextToken(v string) *DescribeHostReservationOfferingsOutput {
56691	s.NextToken = &v
56692	return s
56693}
56694
56695// SetOfferingSet sets the OfferingSet field's value.
56696func (s *DescribeHostReservationOfferingsOutput) SetOfferingSet(v []*HostOffering) *DescribeHostReservationOfferingsOutput {
56697	s.OfferingSet = v
56698	return s
56699}
56700
56701type DescribeHostReservationsInput struct {
56702	_ struct{} `type:"structure"`
56703
56704	// The filters.
56705	//
56706	//    * instance-family - The instance family (for example, m4).
56707	//
56708	//    * payment-option - The payment option (NoUpfront | PartialUpfront | AllUpfront).
56709	//
56710	//    * state - The state of the reservation (payment-pending | payment-failed
56711	//    | active | retired).
56712	//
56713	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
56714	//    Use the tag key in the filter name and the tag value as the filter value.
56715	//    For example, to find all resources that have a tag with the key Owner
56716	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
56717	//    the filter value.
56718	//
56719	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56720	//    to find all resources assigned a tag with a specific key, regardless of
56721	//    the tag value.
56722	Filter []*Filter `locationNameList:"Filter" type:"list"`
56723
56724	// The host reservation IDs.
56725	HostReservationIdSet []*string `locationNameList:"item" type:"list"`
56726
56727	// The maximum number of results to return for the request in a single page.
56728	// The remaining results can be seen by sending another request with the returned
56729	// nextToken value. This value can be between 5 and 500. If maxResults is given
56730	// a larger value than 500, you receive an error.
56731	MaxResults *int64 `type:"integer"`
56732
56733	// The token to use to retrieve the next page of results.
56734	NextToken *string `type:"string"`
56735}
56736
56737// String returns the string representation
56738func (s DescribeHostReservationsInput) String() string {
56739	return awsutil.Prettify(s)
56740}
56741
56742// GoString returns the string representation
56743func (s DescribeHostReservationsInput) GoString() string {
56744	return s.String()
56745}
56746
56747// SetFilter sets the Filter field's value.
56748func (s *DescribeHostReservationsInput) SetFilter(v []*Filter) *DescribeHostReservationsInput {
56749	s.Filter = v
56750	return s
56751}
56752
56753// SetHostReservationIdSet sets the HostReservationIdSet field's value.
56754func (s *DescribeHostReservationsInput) SetHostReservationIdSet(v []*string) *DescribeHostReservationsInput {
56755	s.HostReservationIdSet = v
56756	return s
56757}
56758
56759// SetMaxResults sets the MaxResults field's value.
56760func (s *DescribeHostReservationsInput) SetMaxResults(v int64) *DescribeHostReservationsInput {
56761	s.MaxResults = &v
56762	return s
56763}
56764
56765// SetNextToken sets the NextToken field's value.
56766func (s *DescribeHostReservationsInput) SetNextToken(v string) *DescribeHostReservationsInput {
56767	s.NextToken = &v
56768	return s
56769}
56770
56771type DescribeHostReservationsOutput struct {
56772	_ struct{} `type:"structure"`
56773
56774	// Details about the reservation's configuration.
56775	HostReservationSet []*HostReservation `locationName:"hostReservationSet" locationNameList:"item" type:"list"`
56776
56777	// The token to use to retrieve the next page of results. This value is null
56778	// when there are no more results to return.
56779	NextToken *string `locationName:"nextToken" type:"string"`
56780}
56781
56782// String returns the string representation
56783func (s DescribeHostReservationsOutput) String() string {
56784	return awsutil.Prettify(s)
56785}
56786
56787// GoString returns the string representation
56788func (s DescribeHostReservationsOutput) GoString() string {
56789	return s.String()
56790}
56791
56792// SetHostReservationSet sets the HostReservationSet field's value.
56793func (s *DescribeHostReservationsOutput) SetHostReservationSet(v []*HostReservation) *DescribeHostReservationsOutput {
56794	s.HostReservationSet = v
56795	return s
56796}
56797
56798// SetNextToken sets the NextToken field's value.
56799func (s *DescribeHostReservationsOutput) SetNextToken(v string) *DescribeHostReservationsOutput {
56800	s.NextToken = &v
56801	return s
56802}
56803
56804type DescribeHostsInput struct {
56805	_ struct{} `type:"structure"`
56806
56807	// The filters.
56808	//
56809	//    * auto-placement - Whether auto-placement is enabled or disabled (on |
56810	//    off).
56811	//
56812	//    * availability-zone - The Availability Zone of the host.
56813	//
56814	//    * client-token - The idempotency token that you provided when you allocated
56815	//    the host.
56816	//
56817	//    * host-reservation-id - The ID of the reservation assigned to this host.
56818	//
56819	//    * instance-type - The instance type size that the Dedicated Host is configured
56820	//    to support.
56821	//
56822	//    * state - The allocation state of the Dedicated Host (available | under-assessment
56823	//    | permanent-failure | released | released-permanent-failure).
56824	//
56825	//    * tag-key - The key of a tag assigned to the resource. Use this filter
56826	//    to find all resources assigned a tag with a specific key, regardless of
56827	//    the tag value.
56828	Filter []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
56829
56830	// The IDs of the Dedicated Hosts. The IDs are used for targeted instance launches.
56831	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list"`
56832
56833	// The maximum number of results to return for the request in a single page.
56834	// The remaining results can be seen by sending another request with the returned
56835	// nextToken value. This value can be between 5 and 500. If maxResults is given
56836	// a larger value than 500, you receive an error.
56837	//
56838	// You cannot specify this parameter and the host IDs parameter in the same
56839	// request.
56840	MaxResults *int64 `locationName:"maxResults" type:"integer"`
56841
56842	// The token to use to retrieve the next page of results.
56843	NextToken *string `locationName:"nextToken" type:"string"`
56844}
56845
56846// String returns the string representation
56847func (s DescribeHostsInput) String() string {
56848	return awsutil.Prettify(s)
56849}
56850
56851// GoString returns the string representation
56852func (s DescribeHostsInput) GoString() string {
56853	return s.String()
56854}
56855
56856// SetFilter sets the Filter field's value.
56857func (s *DescribeHostsInput) SetFilter(v []*Filter) *DescribeHostsInput {
56858	s.Filter = v
56859	return s
56860}
56861
56862// SetHostIds sets the HostIds field's value.
56863func (s *DescribeHostsInput) SetHostIds(v []*string) *DescribeHostsInput {
56864	s.HostIds = v
56865	return s
56866}
56867
56868// SetMaxResults sets the MaxResults field's value.
56869func (s *DescribeHostsInput) SetMaxResults(v int64) *DescribeHostsInput {
56870	s.MaxResults = &v
56871	return s
56872}
56873
56874// SetNextToken sets the NextToken field's value.
56875func (s *DescribeHostsInput) SetNextToken(v string) *DescribeHostsInput {
56876	s.NextToken = &v
56877	return s
56878}
56879
56880type DescribeHostsOutput struct {
56881	_ struct{} `type:"structure"`
56882
56883	// Information about the Dedicated Hosts.
56884	Hosts []*Host `locationName:"hostSet" locationNameList:"item" type:"list"`
56885
56886	// The token to use to retrieve the next page of results. This value is null
56887	// when there are no more results to return.
56888	NextToken *string `locationName:"nextToken" type:"string"`
56889}
56890
56891// String returns the string representation
56892func (s DescribeHostsOutput) String() string {
56893	return awsutil.Prettify(s)
56894}
56895
56896// GoString returns the string representation
56897func (s DescribeHostsOutput) GoString() string {
56898	return s.String()
56899}
56900
56901// SetHosts sets the Hosts field's value.
56902func (s *DescribeHostsOutput) SetHosts(v []*Host) *DescribeHostsOutput {
56903	s.Hosts = v
56904	return s
56905}
56906
56907// SetNextToken sets the NextToken field's value.
56908func (s *DescribeHostsOutput) SetNextToken(v string) *DescribeHostsOutput {
56909	s.NextToken = &v
56910	return s
56911}
56912
56913type DescribeIamInstanceProfileAssociationsInput struct {
56914	_ struct{} `type:"structure"`
56915
56916	// The IAM instance profile associations.
56917	AssociationIds []*string `locationName:"AssociationId" locationNameList:"AssociationId" type:"list"`
56918
56919	// The filters.
56920	//
56921	//    * instance-id - The ID of the instance.
56922	//
56923	//    * state - The state of the association (associating | associated | disassociating
56924	//    | disassociated).
56925	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
56926
56927	// The maximum number of results to return in a single call. To retrieve the
56928	// remaining results, make another call with the returned NextToken value.
56929	MaxResults *int64 `min:"5" type:"integer"`
56930
56931	// The token to request the next page of results.
56932	NextToken *string `type:"string"`
56933}
56934
56935// String returns the string representation
56936func (s DescribeIamInstanceProfileAssociationsInput) String() string {
56937	return awsutil.Prettify(s)
56938}
56939
56940// GoString returns the string representation
56941func (s DescribeIamInstanceProfileAssociationsInput) GoString() string {
56942	return s.String()
56943}
56944
56945// Validate inspects the fields of the type to determine if they are valid.
56946func (s *DescribeIamInstanceProfileAssociationsInput) Validate() error {
56947	invalidParams := request.ErrInvalidParams{Context: "DescribeIamInstanceProfileAssociationsInput"}
56948	if s.MaxResults != nil && *s.MaxResults < 5 {
56949		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
56950	}
56951
56952	if invalidParams.Len() > 0 {
56953		return invalidParams
56954	}
56955	return nil
56956}
56957
56958// SetAssociationIds sets the AssociationIds field's value.
56959func (s *DescribeIamInstanceProfileAssociationsInput) SetAssociationIds(v []*string) *DescribeIamInstanceProfileAssociationsInput {
56960	s.AssociationIds = v
56961	return s
56962}
56963
56964// SetFilters sets the Filters field's value.
56965func (s *DescribeIamInstanceProfileAssociationsInput) SetFilters(v []*Filter) *DescribeIamInstanceProfileAssociationsInput {
56966	s.Filters = v
56967	return s
56968}
56969
56970// SetMaxResults sets the MaxResults field's value.
56971func (s *DescribeIamInstanceProfileAssociationsInput) SetMaxResults(v int64) *DescribeIamInstanceProfileAssociationsInput {
56972	s.MaxResults = &v
56973	return s
56974}
56975
56976// SetNextToken sets the NextToken field's value.
56977func (s *DescribeIamInstanceProfileAssociationsInput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsInput {
56978	s.NextToken = &v
56979	return s
56980}
56981
56982type DescribeIamInstanceProfileAssociationsOutput struct {
56983	_ struct{} `type:"structure"`
56984
56985	// Information about the IAM instance profile associations.
56986	IamInstanceProfileAssociations []*IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociationSet" locationNameList:"item" type:"list"`
56987
56988	// The token to use to retrieve the next page of results. This value is null
56989	// when there are no more results to return.
56990	NextToken *string `locationName:"nextToken" type:"string"`
56991}
56992
56993// String returns the string representation
56994func (s DescribeIamInstanceProfileAssociationsOutput) String() string {
56995	return awsutil.Prettify(s)
56996}
56997
56998// GoString returns the string representation
56999func (s DescribeIamInstanceProfileAssociationsOutput) GoString() string {
57000	return s.String()
57001}
57002
57003// SetIamInstanceProfileAssociations sets the IamInstanceProfileAssociations field's value.
57004func (s *DescribeIamInstanceProfileAssociationsOutput) SetIamInstanceProfileAssociations(v []*IamInstanceProfileAssociation) *DescribeIamInstanceProfileAssociationsOutput {
57005	s.IamInstanceProfileAssociations = v
57006	return s
57007}
57008
57009// SetNextToken sets the NextToken field's value.
57010func (s *DescribeIamInstanceProfileAssociationsOutput) SetNextToken(v string) *DescribeIamInstanceProfileAssociationsOutput {
57011	s.NextToken = &v
57012	return s
57013}
57014
57015type DescribeIdFormatInput struct {
57016	_ struct{} `type:"structure"`
57017
57018	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
57019	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
57020	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
57021	// | network-interface | network-interface-attachment | prefix-list | reservation
57022	// | route-table | route-table-association | security-group | snapshot | subnet
57023	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
57024	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
57025	Resource *string `type:"string"`
57026}
57027
57028// String returns the string representation
57029func (s DescribeIdFormatInput) String() string {
57030	return awsutil.Prettify(s)
57031}
57032
57033// GoString returns the string representation
57034func (s DescribeIdFormatInput) GoString() string {
57035	return s.String()
57036}
57037
57038// SetResource sets the Resource field's value.
57039func (s *DescribeIdFormatInput) SetResource(v string) *DescribeIdFormatInput {
57040	s.Resource = &v
57041	return s
57042}
57043
57044type DescribeIdFormatOutput struct {
57045	_ struct{} `type:"structure"`
57046
57047	// Information about the ID format for the resource.
57048	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
57049}
57050
57051// String returns the string representation
57052func (s DescribeIdFormatOutput) String() string {
57053	return awsutil.Prettify(s)
57054}
57055
57056// GoString returns the string representation
57057func (s DescribeIdFormatOutput) GoString() string {
57058	return s.String()
57059}
57060
57061// SetStatuses sets the Statuses field's value.
57062func (s *DescribeIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdFormatOutput {
57063	s.Statuses = v
57064	return s
57065}
57066
57067type DescribeIdentityIdFormatInput struct {
57068	_ struct{} `type:"structure"`
57069
57070	// The ARN of the principal, which can be an IAM role, IAM user, or the root
57071	// user.
57072	//
57073	// PrincipalArn is a required field
57074	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
57075
57076	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
57077	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
57078	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
57079	// | network-interface | network-interface-attachment | prefix-list | reservation
57080	// | route-table | route-table-association | security-group | snapshot | subnet
57081	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
57082	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
57083	Resource *string `locationName:"resource" type:"string"`
57084}
57085
57086// String returns the string representation
57087func (s DescribeIdentityIdFormatInput) String() string {
57088	return awsutil.Prettify(s)
57089}
57090
57091// GoString returns the string representation
57092func (s DescribeIdentityIdFormatInput) GoString() string {
57093	return s.String()
57094}
57095
57096// Validate inspects the fields of the type to determine if they are valid.
57097func (s *DescribeIdentityIdFormatInput) Validate() error {
57098	invalidParams := request.ErrInvalidParams{Context: "DescribeIdentityIdFormatInput"}
57099	if s.PrincipalArn == nil {
57100		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
57101	}
57102
57103	if invalidParams.Len() > 0 {
57104		return invalidParams
57105	}
57106	return nil
57107}
57108
57109// SetPrincipalArn sets the PrincipalArn field's value.
57110func (s *DescribeIdentityIdFormatInput) SetPrincipalArn(v string) *DescribeIdentityIdFormatInput {
57111	s.PrincipalArn = &v
57112	return s
57113}
57114
57115// SetResource sets the Resource field's value.
57116func (s *DescribeIdentityIdFormatInput) SetResource(v string) *DescribeIdentityIdFormatInput {
57117	s.Resource = &v
57118	return s
57119}
57120
57121type DescribeIdentityIdFormatOutput struct {
57122	_ struct{} `type:"structure"`
57123
57124	// Information about the ID format for the resources.
57125	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
57126}
57127
57128// String returns the string representation
57129func (s DescribeIdentityIdFormatOutput) String() string {
57130	return awsutil.Prettify(s)
57131}
57132
57133// GoString returns the string representation
57134func (s DescribeIdentityIdFormatOutput) GoString() string {
57135	return s.String()
57136}
57137
57138// SetStatuses sets the Statuses field's value.
57139func (s *DescribeIdentityIdFormatOutput) SetStatuses(v []*IdFormat) *DescribeIdentityIdFormatOutput {
57140	s.Statuses = v
57141	return s
57142}
57143
57144// Contains the parameters for DescribeImageAttribute.
57145type DescribeImageAttributeInput struct {
57146	_ struct{} `type:"structure"`
57147
57148	// The AMI attribute.
57149	//
57150	// Note: Depending on your account privileges, the blockDeviceMapping attribute
57151	// may return a Client.AuthFailure error. If this happens, use DescribeImages
57152	// to get information about the block device mapping for the AMI.
57153	//
57154	// Attribute is a required field
57155	Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"`
57156
57157	// Checks whether you have the required permissions for the action, without
57158	// actually making the request, and provides an error response. If you have
57159	// the required permissions, the error response is DryRunOperation. Otherwise,
57160	// it is UnauthorizedOperation.
57161	DryRun *bool `locationName:"dryRun" type:"boolean"`
57162
57163	// The ID of the AMI.
57164	//
57165	// ImageId is a required field
57166	ImageId *string `type:"string" required:"true"`
57167}
57168
57169// String returns the string representation
57170func (s DescribeImageAttributeInput) String() string {
57171	return awsutil.Prettify(s)
57172}
57173
57174// GoString returns the string representation
57175func (s DescribeImageAttributeInput) GoString() string {
57176	return s.String()
57177}
57178
57179// Validate inspects the fields of the type to determine if they are valid.
57180func (s *DescribeImageAttributeInput) Validate() error {
57181	invalidParams := request.ErrInvalidParams{Context: "DescribeImageAttributeInput"}
57182	if s.Attribute == nil {
57183		invalidParams.Add(request.NewErrParamRequired("Attribute"))
57184	}
57185	if s.ImageId == nil {
57186		invalidParams.Add(request.NewErrParamRequired("ImageId"))
57187	}
57188
57189	if invalidParams.Len() > 0 {
57190		return invalidParams
57191	}
57192	return nil
57193}
57194
57195// SetAttribute sets the Attribute field's value.
57196func (s *DescribeImageAttributeInput) SetAttribute(v string) *DescribeImageAttributeInput {
57197	s.Attribute = &v
57198	return s
57199}
57200
57201// SetDryRun sets the DryRun field's value.
57202func (s *DescribeImageAttributeInput) SetDryRun(v bool) *DescribeImageAttributeInput {
57203	s.DryRun = &v
57204	return s
57205}
57206
57207// SetImageId sets the ImageId field's value.
57208func (s *DescribeImageAttributeInput) SetImageId(v string) *DescribeImageAttributeInput {
57209	s.ImageId = &v
57210	return s
57211}
57212
57213// Describes an image attribute.
57214type DescribeImageAttributeOutput struct {
57215	_ struct{} `type:"structure"`
57216
57217	// The block device mapping entries.
57218	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
57219
57220	// A description for the AMI.
57221	Description *AttributeValue `locationName:"description" type:"structure"`
57222
57223	// The ID of the AMI.
57224	ImageId *string `locationName:"imageId" type:"string"`
57225
57226	// The kernel ID.
57227	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
57228
57229	// The launch permissions.
57230	LaunchPermissions []*LaunchPermission `locationName:"launchPermission" locationNameList:"item" type:"list"`
57231
57232	// The product codes.
57233	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
57234
57235	// The RAM disk ID.
57236	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
57237
57238	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
57239	// interface is enabled.
57240	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
57241}
57242
57243// String returns the string representation
57244func (s DescribeImageAttributeOutput) String() string {
57245	return awsutil.Prettify(s)
57246}
57247
57248// GoString returns the string representation
57249func (s DescribeImageAttributeOutput) GoString() string {
57250	return s.String()
57251}
57252
57253// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
57254func (s *DescribeImageAttributeOutput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *DescribeImageAttributeOutput {
57255	s.BlockDeviceMappings = v
57256	return s
57257}
57258
57259// SetDescription sets the Description field's value.
57260func (s *DescribeImageAttributeOutput) SetDescription(v *AttributeValue) *DescribeImageAttributeOutput {
57261	s.Description = v
57262	return s
57263}
57264
57265// SetImageId sets the ImageId field's value.
57266func (s *DescribeImageAttributeOutput) SetImageId(v string) *DescribeImageAttributeOutput {
57267	s.ImageId = &v
57268	return s
57269}
57270
57271// SetKernelId sets the KernelId field's value.
57272func (s *DescribeImageAttributeOutput) SetKernelId(v *AttributeValue) *DescribeImageAttributeOutput {
57273	s.KernelId = v
57274	return s
57275}
57276
57277// SetLaunchPermissions sets the LaunchPermissions field's value.
57278func (s *DescribeImageAttributeOutput) SetLaunchPermissions(v []*LaunchPermission) *DescribeImageAttributeOutput {
57279	s.LaunchPermissions = v
57280	return s
57281}
57282
57283// SetProductCodes sets the ProductCodes field's value.
57284func (s *DescribeImageAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeImageAttributeOutput {
57285	s.ProductCodes = v
57286	return s
57287}
57288
57289// SetRamdiskId sets the RamdiskId field's value.
57290func (s *DescribeImageAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeImageAttributeOutput {
57291	s.RamdiskId = v
57292	return s
57293}
57294
57295// SetSriovNetSupport sets the SriovNetSupport field's value.
57296func (s *DescribeImageAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeImageAttributeOutput {
57297	s.SriovNetSupport = v
57298	return s
57299}
57300
57301type DescribeImagesInput struct {
57302	_ struct{} `type:"structure"`
57303
57304	// Checks whether you have the required permissions for the action, without
57305	// actually making the request, and provides an error response. If you have
57306	// the required permissions, the error response is DryRunOperation. Otherwise,
57307	// it is UnauthorizedOperation.
57308	DryRun *bool `locationName:"dryRun" type:"boolean"`
57309
57310	// Scopes the images by users with explicit launch permissions. Specify an AWS
57311	// account ID, self (the sender of the request), or all (public AMIs).
57312	ExecutableUsers []*string `locationName:"ExecutableBy" locationNameList:"ExecutableBy" type:"list"`
57313
57314	// The filters.
57315	//
57316	//    * architecture - The image architecture (i386 | x86_64 | arm64).
57317	//
57318	//    * block-device-mapping.delete-on-termination - A Boolean value that indicates
57319	//    whether the Amazon EBS volume is deleted on instance termination.
57320	//
57321	//    * block-device-mapping.device-name - The device name specified in the
57322	//    block device mapping (for example, /dev/sdh or xvdh).
57323	//
57324	//    * block-device-mapping.snapshot-id - The ID of the snapshot used for the
57325	//    EBS volume.
57326	//
57327	//    * block-device-mapping.volume-size - The volume size of the EBS volume,
57328	//    in GiB.
57329	//
57330	//    * block-device-mapping.volume-type - The volume type of the EBS volume
57331	//    (gp2 | io1 | st1 | sc1 | standard).
57332	//
57333	//    * block-device-mapping.encrypted - A Boolean that indicates whether the
57334	//    EBS volume is encrypted.
57335	//
57336	//    * description - The description of the image (provided during image creation).
57337	//
57338	//    * ena-support - A Boolean that indicates whether enhanced networking with
57339	//    ENA is enabled.
57340	//
57341	//    * hypervisor - The hypervisor type (ovm | xen).
57342	//
57343	//    * image-id - The ID of the image.
57344	//
57345	//    * image-type - The image type (machine | kernel | ramdisk).
57346	//
57347	//    * is-public - A Boolean that indicates whether the image is public.
57348	//
57349	//    * kernel-id - The kernel ID.
57350	//
57351	//    * manifest-location - The location of the image manifest.
57352	//
57353	//    * name - The name of the AMI (provided during image creation).
57354	//
57355	//    * owner-alias - String value from an Amazon-maintained list (amazon |
57356	//    aws-marketplace | microsoft) of snapshot owners. Not to be confused with
57357	//    the user-configured AWS account alias, which is set from the IAM console.
57358	//
57359	//    * owner-id - The AWS account ID of the image owner.
57360	//
57361	//    * platform - The platform. To only list Windows-based AMIs, use windows.
57362	//
57363	//    * product-code - The product code.
57364	//
57365	//    * product-code.type - The type of the product code (devpay | marketplace).
57366	//
57367	//    * ramdisk-id - The RAM disk ID.
57368	//
57369	//    * root-device-name - The device name of the root device volume (for example,
57370	//    /dev/sda1).
57371	//
57372	//    * root-device-type - The type of the root device volume (ebs | instance-store).
57373	//
57374	//    * state - The state of the image (available | pending | failed).
57375	//
57376	//    * state-reason-code - The reason code for the state change.
57377	//
57378	//    * state-reason-message - The message for the state change.
57379	//
57380	//    * sriov-net-support - A value of simple indicates that enhanced networking
57381	//    with the Intel 82599 VF interface is enabled.
57382	//
57383	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
57384	//    Use the tag key in the filter name and the tag value as the filter value.
57385	//    For example, to find all resources that have a tag with the key Owner
57386	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
57387	//    the filter value.
57388	//
57389	//    * tag-key - The key of a tag assigned to the resource. Use this filter
57390	//    to find all resources assigned a tag with a specific key, regardless of
57391	//    the tag value.
57392	//
57393	//    * virtualization-type - The virtualization type (paravirtual | hvm).
57394	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
57395
57396	// The image IDs.
57397	//
57398	// Default: Describes all images available to you.
57399	ImageIds []*string `locationName:"ImageId" locationNameList:"ImageId" type:"list"`
57400
57401	// Filters the images by the owner. Specify an AWS account ID, self (owner is
57402	// the sender of the request), or an AWS owner alias (valid values are amazon
57403	// | aws-marketplace | microsoft). Omitting this option returns all images for
57404	// which you have launch permissions, regardless of ownership.
57405	Owners []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
57406}
57407
57408// String returns the string representation
57409func (s DescribeImagesInput) String() string {
57410	return awsutil.Prettify(s)
57411}
57412
57413// GoString returns the string representation
57414func (s DescribeImagesInput) GoString() string {
57415	return s.String()
57416}
57417
57418// SetDryRun sets the DryRun field's value.
57419func (s *DescribeImagesInput) SetDryRun(v bool) *DescribeImagesInput {
57420	s.DryRun = &v
57421	return s
57422}
57423
57424// SetExecutableUsers sets the ExecutableUsers field's value.
57425func (s *DescribeImagesInput) SetExecutableUsers(v []*string) *DescribeImagesInput {
57426	s.ExecutableUsers = v
57427	return s
57428}
57429
57430// SetFilters sets the Filters field's value.
57431func (s *DescribeImagesInput) SetFilters(v []*Filter) *DescribeImagesInput {
57432	s.Filters = v
57433	return s
57434}
57435
57436// SetImageIds sets the ImageIds field's value.
57437func (s *DescribeImagesInput) SetImageIds(v []*string) *DescribeImagesInput {
57438	s.ImageIds = v
57439	return s
57440}
57441
57442// SetOwners sets the Owners field's value.
57443func (s *DescribeImagesInput) SetOwners(v []*string) *DescribeImagesInput {
57444	s.Owners = v
57445	return s
57446}
57447
57448type DescribeImagesOutput struct {
57449	_ struct{} `type:"structure"`
57450
57451	// Information about the images.
57452	Images []*Image `locationName:"imagesSet" locationNameList:"item" type:"list"`
57453}
57454
57455// String returns the string representation
57456func (s DescribeImagesOutput) String() string {
57457	return awsutil.Prettify(s)
57458}
57459
57460// GoString returns the string representation
57461func (s DescribeImagesOutput) GoString() string {
57462	return s.String()
57463}
57464
57465// SetImages sets the Images field's value.
57466func (s *DescribeImagesOutput) SetImages(v []*Image) *DescribeImagesOutput {
57467	s.Images = v
57468	return s
57469}
57470
57471type DescribeImportImageTasksInput struct {
57472	_ struct{} `type:"structure"`
57473
57474	// Checks whether you have the required permissions for the action, without
57475	// actually making the request, and provides an error response. If you have
57476	// the required permissions, the error response is DryRunOperation. Otherwise,
57477	// it is UnauthorizedOperation.
57478	DryRun *bool `type:"boolean"`
57479
57480	// Filter tasks using the task-state filter and one of the following values:
57481	// active, completed, deleting, or deleted.
57482	Filters []*Filter `locationNameList:"Filter" type:"list"`
57483
57484	// The IDs of the import image tasks.
57485	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
57486
57487	// The maximum number of results to return in a single call.
57488	MaxResults *int64 `type:"integer"`
57489
57490	// A token that indicates the next page of results.
57491	NextToken *string `type:"string"`
57492}
57493
57494// String returns the string representation
57495func (s DescribeImportImageTasksInput) String() string {
57496	return awsutil.Prettify(s)
57497}
57498
57499// GoString returns the string representation
57500func (s DescribeImportImageTasksInput) GoString() string {
57501	return s.String()
57502}
57503
57504// SetDryRun sets the DryRun field's value.
57505func (s *DescribeImportImageTasksInput) SetDryRun(v bool) *DescribeImportImageTasksInput {
57506	s.DryRun = &v
57507	return s
57508}
57509
57510// SetFilters sets the Filters field's value.
57511func (s *DescribeImportImageTasksInput) SetFilters(v []*Filter) *DescribeImportImageTasksInput {
57512	s.Filters = v
57513	return s
57514}
57515
57516// SetImportTaskIds sets the ImportTaskIds field's value.
57517func (s *DescribeImportImageTasksInput) SetImportTaskIds(v []*string) *DescribeImportImageTasksInput {
57518	s.ImportTaskIds = v
57519	return s
57520}
57521
57522// SetMaxResults sets the MaxResults field's value.
57523func (s *DescribeImportImageTasksInput) SetMaxResults(v int64) *DescribeImportImageTasksInput {
57524	s.MaxResults = &v
57525	return s
57526}
57527
57528// SetNextToken sets the NextToken field's value.
57529func (s *DescribeImportImageTasksInput) SetNextToken(v string) *DescribeImportImageTasksInput {
57530	s.NextToken = &v
57531	return s
57532}
57533
57534type DescribeImportImageTasksOutput struct {
57535	_ struct{} `type:"structure"`
57536
57537	// A list of zero or more import image tasks that are currently active or were
57538	// completed or canceled in the previous 7 days.
57539	ImportImageTasks []*ImportImageTask `locationName:"importImageTaskSet" locationNameList:"item" type:"list"`
57540
57541	// The token to use to get the next page of results. This value is null when
57542	// there are no more results to return.
57543	NextToken *string `locationName:"nextToken" type:"string"`
57544}
57545
57546// String returns the string representation
57547func (s DescribeImportImageTasksOutput) String() string {
57548	return awsutil.Prettify(s)
57549}
57550
57551// GoString returns the string representation
57552func (s DescribeImportImageTasksOutput) GoString() string {
57553	return s.String()
57554}
57555
57556// SetImportImageTasks sets the ImportImageTasks field's value.
57557func (s *DescribeImportImageTasksOutput) SetImportImageTasks(v []*ImportImageTask) *DescribeImportImageTasksOutput {
57558	s.ImportImageTasks = v
57559	return s
57560}
57561
57562// SetNextToken sets the NextToken field's value.
57563func (s *DescribeImportImageTasksOutput) SetNextToken(v string) *DescribeImportImageTasksOutput {
57564	s.NextToken = &v
57565	return s
57566}
57567
57568type DescribeImportSnapshotTasksInput struct {
57569	_ struct{} `type:"structure"`
57570
57571	// Checks whether you have the required permissions for the action, without
57572	// actually making the request, and provides an error response. If you have
57573	// the required permissions, the error response is DryRunOperation. Otherwise,
57574	// it is UnauthorizedOperation.
57575	DryRun *bool `type:"boolean"`
57576
57577	// The filters.
57578	Filters []*Filter `locationNameList:"Filter" type:"list"`
57579
57580	// A list of import snapshot task IDs.
57581	ImportTaskIds []*string `locationName:"ImportTaskId" locationNameList:"ImportTaskId" type:"list"`
57582
57583	// The maximum number of results to return in a single call. To retrieve the
57584	// remaining results, make another call with the returned NextToken value.
57585	MaxResults *int64 `type:"integer"`
57586
57587	// A token that indicates the next page of results.
57588	NextToken *string `type:"string"`
57589}
57590
57591// String returns the string representation
57592func (s DescribeImportSnapshotTasksInput) String() string {
57593	return awsutil.Prettify(s)
57594}
57595
57596// GoString returns the string representation
57597func (s DescribeImportSnapshotTasksInput) GoString() string {
57598	return s.String()
57599}
57600
57601// SetDryRun sets the DryRun field's value.
57602func (s *DescribeImportSnapshotTasksInput) SetDryRun(v bool) *DescribeImportSnapshotTasksInput {
57603	s.DryRun = &v
57604	return s
57605}
57606
57607// SetFilters sets the Filters field's value.
57608func (s *DescribeImportSnapshotTasksInput) SetFilters(v []*Filter) *DescribeImportSnapshotTasksInput {
57609	s.Filters = v
57610	return s
57611}
57612
57613// SetImportTaskIds sets the ImportTaskIds field's value.
57614func (s *DescribeImportSnapshotTasksInput) SetImportTaskIds(v []*string) *DescribeImportSnapshotTasksInput {
57615	s.ImportTaskIds = v
57616	return s
57617}
57618
57619// SetMaxResults sets the MaxResults field's value.
57620func (s *DescribeImportSnapshotTasksInput) SetMaxResults(v int64) *DescribeImportSnapshotTasksInput {
57621	s.MaxResults = &v
57622	return s
57623}
57624
57625// SetNextToken sets the NextToken field's value.
57626func (s *DescribeImportSnapshotTasksInput) SetNextToken(v string) *DescribeImportSnapshotTasksInput {
57627	s.NextToken = &v
57628	return s
57629}
57630
57631type DescribeImportSnapshotTasksOutput struct {
57632	_ struct{} `type:"structure"`
57633
57634	// A list of zero or more import snapshot tasks that are currently active or
57635	// were completed or canceled in the previous 7 days.
57636	ImportSnapshotTasks []*ImportSnapshotTask `locationName:"importSnapshotTaskSet" locationNameList:"item" type:"list"`
57637
57638	// The token to use to get the next page of results. This value is null when
57639	// there are no more results to return.
57640	NextToken *string `locationName:"nextToken" type:"string"`
57641}
57642
57643// String returns the string representation
57644func (s DescribeImportSnapshotTasksOutput) String() string {
57645	return awsutil.Prettify(s)
57646}
57647
57648// GoString returns the string representation
57649func (s DescribeImportSnapshotTasksOutput) GoString() string {
57650	return s.String()
57651}
57652
57653// SetImportSnapshotTasks sets the ImportSnapshotTasks field's value.
57654func (s *DescribeImportSnapshotTasksOutput) SetImportSnapshotTasks(v []*ImportSnapshotTask) *DescribeImportSnapshotTasksOutput {
57655	s.ImportSnapshotTasks = v
57656	return s
57657}
57658
57659// SetNextToken sets the NextToken field's value.
57660func (s *DescribeImportSnapshotTasksOutput) SetNextToken(v string) *DescribeImportSnapshotTasksOutput {
57661	s.NextToken = &v
57662	return s
57663}
57664
57665type DescribeInstanceAttributeInput struct {
57666	_ struct{} `type:"structure"`
57667
57668	// The instance attribute.
57669	//
57670	// Note: The enaSupport attribute is not supported at this time.
57671	//
57672	// Attribute is a required field
57673	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
57674
57675	// Checks whether you have the required permissions for the action, without
57676	// actually making the request, and provides an error response. If you have
57677	// the required permissions, the error response is DryRunOperation. Otherwise,
57678	// it is UnauthorizedOperation.
57679	DryRun *bool `locationName:"dryRun" type:"boolean"`
57680
57681	// The ID of the instance.
57682	//
57683	// InstanceId is a required field
57684	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
57685}
57686
57687// String returns the string representation
57688func (s DescribeInstanceAttributeInput) String() string {
57689	return awsutil.Prettify(s)
57690}
57691
57692// GoString returns the string representation
57693func (s DescribeInstanceAttributeInput) GoString() string {
57694	return s.String()
57695}
57696
57697// Validate inspects the fields of the type to determine if they are valid.
57698func (s *DescribeInstanceAttributeInput) Validate() error {
57699	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceAttributeInput"}
57700	if s.Attribute == nil {
57701		invalidParams.Add(request.NewErrParamRequired("Attribute"))
57702	}
57703	if s.InstanceId == nil {
57704		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
57705	}
57706
57707	if invalidParams.Len() > 0 {
57708		return invalidParams
57709	}
57710	return nil
57711}
57712
57713// SetAttribute sets the Attribute field's value.
57714func (s *DescribeInstanceAttributeInput) SetAttribute(v string) *DescribeInstanceAttributeInput {
57715	s.Attribute = &v
57716	return s
57717}
57718
57719// SetDryRun sets the DryRun field's value.
57720func (s *DescribeInstanceAttributeInput) SetDryRun(v bool) *DescribeInstanceAttributeInput {
57721	s.DryRun = &v
57722	return s
57723}
57724
57725// SetInstanceId sets the InstanceId field's value.
57726func (s *DescribeInstanceAttributeInput) SetInstanceId(v string) *DescribeInstanceAttributeInput {
57727	s.InstanceId = &v
57728	return s
57729}
57730
57731// Describes an instance attribute.
57732type DescribeInstanceAttributeOutput struct {
57733	_ struct{} `type:"structure"`
57734
57735	// The block device mapping of the instance.
57736	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
57737
57738	// If the value is true, you can't terminate the instance through the Amazon
57739	// EC2 console, CLI, or API; otherwise, you can.
57740	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
57741
57742	// Indicates whether the instance is optimized for Amazon EBS I/O.
57743	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
57744
57745	// Indicates whether enhanced networking with ENA is enabled.
57746	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
57747
57748	// The security groups associated with the instance.
57749	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
57750
57751	// The ID of the instance.
57752	InstanceId *string `locationName:"instanceId" type:"string"`
57753
57754	// Indicates whether an instance stops or terminates when you initiate shutdown
57755	// from the instance (using the operating system command for system shutdown).
57756	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
57757
57758	// The instance type.
57759	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
57760
57761	// The kernel ID.
57762	KernelId *AttributeValue `locationName:"kernel" type:"structure"`
57763
57764	// A list of product codes.
57765	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
57766
57767	// The RAM disk ID.
57768	RamdiskId *AttributeValue `locationName:"ramdisk" type:"structure"`
57769
57770	// The device name of the root device volume (for example, /dev/sda1).
57771	RootDeviceName *AttributeValue `locationName:"rootDeviceName" type:"structure"`
57772
57773	// Indicates whether source/destination checking is enabled. A value of true
57774	// means that checking is enabled, and false means that checking is disabled.
57775	// This value must be false for a NAT instance to perform NAT.
57776	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
57777
57778	// Indicates whether enhanced networking with the Intel 82599 Virtual Function
57779	// interface is enabled.
57780	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
57781
57782	// The user data.
57783	UserData *AttributeValue `locationName:"userData" type:"structure"`
57784}
57785
57786// String returns the string representation
57787func (s DescribeInstanceAttributeOutput) String() string {
57788	return awsutil.Prettify(s)
57789}
57790
57791// GoString returns the string representation
57792func (s DescribeInstanceAttributeOutput) GoString() string {
57793	return s.String()
57794}
57795
57796// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
57797func (s *DescribeInstanceAttributeOutput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *DescribeInstanceAttributeOutput {
57798	s.BlockDeviceMappings = v
57799	return s
57800}
57801
57802// SetDisableApiTermination sets the DisableApiTermination field's value.
57803func (s *DescribeInstanceAttributeOutput) SetDisableApiTermination(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
57804	s.DisableApiTermination = v
57805	return s
57806}
57807
57808// SetEbsOptimized sets the EbsOptimized field's value.
57809func (s *DescribeInstanceAttributeOutput) SetEbsOptimized(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
57810	s.EbsOptimized = v
57811	return s
57812}
57813
57814// SetEnaSupport sets the EnaSupport field's value.
57815func (s *DescribeInstanceAttributeOutput) SetEnaSupport(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
57816	s.EnaSupport = v
57817	return s
57818}
57819
57820// SetGroups sets the Groups field's value.
57821func (s *DescribeInstanceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeInstanceAttributeOutput {
57822	s.Groups = v
57823	return s
57824}
57825
57826// SetInstanceId sets the InstanceId field's value.
57827func (s *DescribeInstanceAttributeOutput) SetInstanceId(v string) *DescribeInstanceAttributeOutput {
57828	s.InstanceId = &v
57829	return s
57830}
57831
57832// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
57833func (s *DescribeInstanceAttributeOutput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *DescribeInstanceAttributeOutput {
57834	s.InstanceInitiatedShutdownBehavior = v
57835	return s
57836}
57837
57838// SetInstanceType sets the InstanceType field's value.
57839func (s *DescribeInstanceAttributeOutput) SetInstanceType(v *AttributeValue) *DescribeInstanceAttributeOutput {
57840	s.InstanceType = v
57841	return s
57842}
57843
57844// SetKernelId sets the KernelId field's value.
57845func (s *DescribeInstanceAttributeOutput) SetKernelId(v *AttributeValue) *DescribeInstanceAttributeOutput {
57846	s.KernelId = v
57847	return s
57848}
57849
57850// SetProductCodes sets the ProductCodes field's value.
57851func (s *DescribeInstanceAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeInstanceAttributeOutput {
57852	s.ProductCodes = v
57853	return s
57854}
57855
57856// SetRamdiskId sets the RamdiskId field's value.
57857func (s *DescribeInstanceAttributeOutput) SetRamdiskId(v *AttributeValue) *DescribeInstanceAttributeOutput {
57858	s.RamdiskId = v
57859	return s
57860}
57861
57862// SetRootDeviceName sets the RootDeviceName field's value.
57863func (s *DescribeInstanceAttributeOutput) SetRootDeviceName(v *AttributeValue) *DescribeInstanceAttributeOutput {
57864	s.RootDeviceName = v
57865	return s
57866}
57867
57868// SetSourceDestCheck sets the SourceDestCheck field's value.
57869func (s *DescribeInstanceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeInstanceAttributeOutput {
57870	s.SourceDestCheck = v
57871	return s
57872}
57873
57874// SetSriovNetSupport sets the SriovNetSupport field's value.
57875func (s *DescribeInstanceAttributeOutput) SetSriovNetSupport(v *AttributeValue) *DescribeInstanceAttributeOutput {
57876	s.SriovNetSupport = v
57877	return s
57878}
57879
57880// SetUserData sets the UserData field's value.
57881func (s *DescribeInstanceAttributeOutput) SetUserData(v *AttributeValue) *DescribeInstanceAttributeOutput {
57882	s.UserData = v
57883	return s
57884}
57885
57886type DescribeInstanceCreditSpecificationsInput struct {
57887	_ struct{} `type:"structure"`
57888
57889	// Checks whether you have the required permissions for the action, without
57890	// actually making the request, and provides an error response. If you have
57891	// the required permissions, the error response is DryRunOperation. Otherwise,
57892	// it is UnauthorizedOperation.
57893	DryRun *bool `type:"boolean"`
57894
57895	// The filters.
57896	//
57897	//    * instance-id - The ID of the instance.
57898	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
57899
57900	// The instance IDs.
57901	//
57902	// Default: Describes all your instances.
57903	//
57904	// Constraints: Maximum 1000 explicitly specified instance IDs.
57905	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
57906
57907	// The maximum number of results to return in a single call. To retrieve the
57908	// remaining results, make another call with the returned NextToken value. This
57909	// value can be between 5 and 1000. You cannot specify this parameter and the
57910	// instance IDs parameter in the same call.
57911	MaxResults *int64 `min:"5" type:"integer"`
57912
57913	// The token to retrieve the next page of results.
57914	NextToken *string `type:"string"`
57915}
57916
57917// String returns the string representation
57918func (s DescribeInstanceCreditSpecificationsInput) String() string {
57919	return awsutil.Prettify(s)
57920}
57921
57922// GoString returns the string representation
57923func (s DescribeInstanceCreditSpecificationsInput) GoString() string {
57924	return s.String()
57925}
57926
57927// Validate inspects the fields of the type to determine if they are valid.
57928func (s *DescribeInstanceCreditSpecificationsInput) Validate() error {
57929	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceCreditSpecificationsInput"}
57930	if s.MaxResults != nil && *s.MaxResults < 5 {
57931		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
57932	}
57933
57934	if invalidParams.Len() > 0 {
57935		return invalidParams
57936	}
57937	return nil
57938}
57939
57940// SetDryRun sets the DryRun field's value.
57941func (s *DescribeInstanceCreditSpecificationsInput) SetDryRun(v bool) *DescribeInstanceCreditSpecificationsInput {
57942	s.DryRun = &v
57943	return s
57944}
57945
57946// SetFilters sets the Filters field's value.
57947func (s *DescribeInstanceCreditSpecificationsInput) SetFilters(v []*Filter) *DescribeInstanceCreditSpecificationsInput {
57948	s.Filters = v
57949	return s
57950}
57951
57952// SetInstanceIds sets the InstanceIds field's value.
57953func (s *DescribeInstanceCreditSpecificationsInput) SetInstanceIds(v []*string) *DescribeInstanceCreditSpecificationsInput {
57954	s.InstanceIds = v
57955	return s
57956}
57957
57958// SetMaxResults sets the MaxResults field's value.
57959func (s *DescribeInstanceCreditSpecificationsInput) SetMaxResults(v int64) *DescribeInstanceCreditSpecificationsInput {
57960	s.MaxResults = &v
57961	return s
57962}
57963
57964// SetNextToken sets the NextToken field's value.
57965func (s *DescribeInstanceCreditSpecificationsInput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsInput {
57966	s.NextToken = &v
57967	return s
57968}
57969
57970type DescribeInstanceCreditSpecificationsOutput struct {
57971	_ struct{} `type:"structure"`
57972
57973	// Information about the credit option for CPU usage of an instance.
57974	InstanceCreditSpecifications []*InstanceCreditSpecification `locationName:"instanceCreditSpecificationSet" locationNameList:"item" type:"list"`
57975
57976	// The token to use to retrieve the next page of results. This value is null
57977	// when there are no more results to return.
57978	NextToken *string `locationName:"nextToken" type:"string"`
57979}
57980
57981// String returns the string representation
57982func (s DescribeInstanceCreditSpecificationsOutput) String() string {
57983	return awsutil.Prettify(s)
57984}
57985
57986// GoString returns the string representation
57987func (s DescribeInstanceCreditSpecificationsOutput) GoString() string {
57988	return s.String()
57989}
57990
57991// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
57992func (s *DescribeInstanceCreditSpecificationsOutput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecification) *DescribeInstanceCreditSpecificationsOutput {
57993	s.InstanceCreditSpecifications = v
57994	return s
57995}
57996
57997// SetNextToken sets the NextToken field's value.
57998func (s *DescribeInstanceCreditSpecificationsOutput) SetNextToken(v string) *DescribeInstanceCreditSpecificationsOutput {
57999	s.NextToken = &v
58000	return s
58001}
58002
58003type DescribeInstanceStatusInput struct {
58004	_ struct{} `type:"structure"`
58005
58006	// Checks whether you have the required permissions for the action, without
58007	// actually making the request, and provides an error response. If you have
58008	// the required permissions, the error response is DryRunOperation. Otherwise,
58009	// it is UnauthorizedOperation.
58010	DryRun *bool `locationName:"dryRun" type:"boolean"`
58011
58012	// The filters.
58013	//
58014	//    * availability-zone - The Availability Zone of the instance.
58015	//
58016	//    * event.code - The code for the scheduled event (instance-reboot | system-reboot
58017	//    | system-maintenance | instance-retirement | instance-stop).
58018	//
58019	//    * event.description - A description of the event.
58020	//
58021	//    * event.instance-event-id - The ID of the event whose date and time you
58022	//    are modifying.
58023	//
58024	//    * event.not-after - The latest end time for the scheduled event (for example,
58025	//    2014-09-15T17:15:20.000Z).
58026	//
58027	//    * event.not-before - The earliest start time for the scheduled event (for
58028	//    example, 2014-09-15T17:15:20.000Z).
58029	//
58030	//    * event.not-before-deadline - The deadline for starting the event (for
58031	//    example, 2014-09-15T17:15:20.000Z).
58032	//
58033	//    * instance-state-code - The code for the instance state, as a 16-bit unsigned
58034	//    integer. The high byte is used for internal purposes and should be ignored.
58035	//    The low byte is set based on the state represented. The valid values are
58036	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
58037	//    and 80 (stopped).
58038	//
58039	//    * instance-state-name - The state of the instance (pending | running |
58040	//    shutting-down | terminated | stopping | stopped).
58041	//
58042	//    * instance-status.reachability - Filters on instance status where the
58043	//    name is reachability (passed | failed | initializing | insufficient-data).
58044	//
58045	//    * instance-status.status - The status of the instance (ok | impaired |
58046	//    initializing | insufficient-data | not-applicable).
58047	//
58048	//    * system-status.reachability - Filters on system status where the name
58049	//    is reachability (passed | failed | initializing | insufficient-data).
58050	//
58051	//    * system-status.status - The system status of the instance (ok | impaired
58052	//    | initializing | insufficient-data | not-applicable).
58053	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
58054
58055	// When true, includes the health status for all instances. When false, includes
58056	// the health status for running instances only.
58057	//
58058	// Default: false
58059	IncludeAllInstances *bool `locationName:"includeAllInstances" type:"boolean"`
58060
58061	// The instance IDs.
58062	//
58063	// Default: Describes all your instances.
58064	//
58065	// Constraints: Maximum 100 explicitly specified instance IDs.
58066	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
58067
58068	// The maximum number of results to return in a single call. To retrieve the
58069	// remaining results, make another call with the returned NextToken value. This
58070	// value can be between 5 and 1000. You cannot specify this parameter and the
58071	// instance IDs parameter in the same call.
58072	MaxResults *int64 `type:"integer"`
58073
58074	// The token to retrieve the next page of results.
58075	NextToken *string `type:"string"`
58076}
58077
58078// String returns the string representation
58079func (s DescribeInstanceStatusInput) String() string {
58080	return awsutil.Prettify(s)
58081}
58082
58083// GoString returns the string representation
58084func (s DescribeInstanceStatusInput) GoString() string {
58085	return s.String()
58086}
58087
58088// SetDryRun sets the DryRun field's value.
58089func (s *DescribeInstanceStatusInput) SetDryRun(v bool) *DescribeInstanceStatusInput {
58090	s.DryRun = &v
58091	return s
58092}
58093
58094// SetFilters sets the Filters field's value.
58095func (s *DescribeInstanceStatusInput) SetFilters(v []*Filter) *DescribeInstanceStatusInput {
58096	s.Filters = v
58097	return s
58098}
58099
58100// SetIncludeAllInstances sets the IncludeAllInstances field's value.
58101func (s *DescribeInstanceStatusInput) SetIncludeAllInstances(v bool) *DescribeInstanceStatusInput {
58102	s.IncludeAllInstances = &v
58103	return s
58104}
58105
58106// SetInstanceIds sets the InstanceIds field's value.
58107func (s *DescribeInstanceStatusInput) SetInstanceIds(v []*string) *DescribeInstanceStatusInput {
58108	s.InstanceIds = v
58109	return s
58110}
58111
58112// SetMaxResults sets the MaxResults field's value.
58113func (s *DescribeInstanceStatusInput) SetMaxResults(v int64) *DescribeInstanceStatusInput {
58114	s.MaxResults = &v
58115	return s
58116}
58117
58118// SetNextToken sets the NextToken field's value.
58119func (s *DescribeInstanceStatusInput) SetNextToken(v string) *DescribeInstanceStatusInput {
58120	s.NextToken = &v
58121	return s
58122}
58123
58124type DescribeInstanceStatusOutput struct {
58125	_ struct{} `type:"structure"`
58126
58127	// Information about the status of the instances.
58128	InstanceStatuses []*InstanceStatus `locationName:"instanceStatusSet" locationNameList:"item" type:"list"`
58129
58130	// The token to use to retrieve the next page of results. This value is null
58131	// when there are no more results to return.
58132	NextToken *string `locationName:"nextToken" type:"string"`
58133}
58134
58135// String returns the string representation
58136func (s DescribeInstanceStatusOutput) String() string {
58137	return awsutil.Prettify(s)
58138}
58139
58140// GoString returns the string representation
58141func (s DescribeInstanceStatusOutput) GoString() string {
58142	return s.String()
58143}
58144
58145// SetInstanceStatuses sets the InstanceStatuses field's value.
58146func (s *DescribeInstanceStatusOutput) SetInstanceStatuses(v []*InstanceStatus) *DescribeInstanceStatusOutput {
58147	s.InstanceStatuses = v
58148	return s
58149}
58150
58151// SetNextToken sets the NextToken field's value.
58152func (s *DescribeInstanceStatusOutput) SetNextToken(v string) *DescribeInstanceStatusOutput {
58153	s.NextToken = &v
58154	return s
58155}
58156
58157type DescribeInstanceTypeOfferingsInput struct {
58158	_ struct{} `type:"structure"`
58159
58160	// Checks whether you have the required permissions for the action, without
58161	// actually making the request, and provides an error response. If you have
58162	// the required permissions, the error response is DryRunOperation. Otherwise,
58163	// it is UnauthorizedOperation.
58164	DryRun *bool `type:"boolean"`
58165
58166	// One or more filters. Filter names and values are case-sensitive.
58167	//
58168	//    * location - This depends on the location type. For example, if the location
58169	//    type is region (default), the location is the Region code (for example,
58170	//    us-east-2.)
58171	//
58172	//    * instance-type - The instance type.
58173	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
58174
58175	// The location type.
58176	LocationType *string `type:"string" enum:"LocationType"`
58177
58178	// The maximum number of results to return for the request in a single page.
58179	// The remaining results can be seen by sending another request with the next
58180	// token value.
58181	MaxResults *int64 `min:"5" type:"integer"`
58182
58183	// The token to retrieve the next page of results.
58184	NextToken *string `type:"string"`
58185}
58186
58187// String returns the string representation
58188func (s DescribeInstanceTypeOfferingsInput) String() string {
58189	return awsutil.Prettify(s)
58190}
58191
58192// GoString returns the string representation
58193func (s DescribeInstanceTypeOfferingsInput) GoString() string {
58194	return s.String()
58195}
58196
58197// Validate inspects the fields of the type to determine if they are valid.
58198func (s *DescribeInstanceTypeOfferingsInput) Validate() error {
58199	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypeOfferingsInput"}
58200	if s.MaxResults != nil && *s.MaxResults < 5 {
58201		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
58202	}
58203
58204	if invalidParams.Len() > 0 {
58205		return invalidParams
58206	}
58207	return nil
58208}
58209
58210// SetDryRun sets the DryRun field's value.
58211func (s *DescribeInstanceTypeOfferingsInput) SetDryRun(v bool) *DescribeInstanceTypeOfferingsInput {
58212	s.DryRun = &v
58213	return s
58214}
58215
58216// SetFilters sets the Filters field's value.
58217func (s *DescribeInstanceTypeOfferingsInput) SetFilters(v []*Filter) *DescribeInstanceTypeOfferingsInput {
58218	s.Filters = v
58219	return s
58220}
58221
58222// SetLocationType sets the LocationType field's value.
58223func (s *DescribeInstanceTypeOfferingsInput) SetLocationType(v string) *DescribeInstanceTypeOfferingsInput {
58224	s.LocationType = &v
58225	return s
58226}
58227
58228// SetMaxResults sets the MaxResults field's value.
58229func (s *DescribeInstanceTypeOfferingsInput) SetMaxResults(v int64) *DescribeInstanceTypeOfferingsInput {
58230	s.MaxResults = &v
58231	return s
58232}
58233
58234// SetNextToken sets the NextToken field's value.
58235func (s *DescribeInstanceTypeOfferingsInput) SetNextToken(v string) *DescribeInstanceTypeOfferingsInput {
58236	s.NextToken = &v
58237	return s
58238}
58239
58240type DescribeInstanceTypeOfferingsOutput struct {
58241	_ struct{} `type:"structure"`
58242
58243	// The instance types offered.
58244	InstanceTypeOfferings []*InstanceTypeOffering `locationName:"instanceTypeOfferingSet" locationNameList:"item" type:"list"`
58245
58246	// The token to use to retrieve the next page of results. This value is null
58247	// when there are no more results to return.
58248	NextToken *string `locationName:"nextToken" type:"string"`
58249}
58250
58251// String returns the string representation
58252func (s DescribeInstanceTypeOfferingsOutput) String() string {
58253	return awsutil.Prettify(s)
58254}
58255
58256// GoString returns the string representation
58257func (s DescribeInstanceTypeOfferingsOutput) GoString() string {
58258	return s.String()
58259}
58260
58261// SetInstanceTypeOfferings sets the InstanceTypeOfferings field's value.
58262func (s *DescribeInstanceTypeOfferingsOutput) SetInstanceTypeOfferings(v []*InstanceTypeOffering) *DescribeInstanceTypeOfferingsOutput {
58263	s.InstanceTypeOfferings = v
58264	return s
58265}
58266
58267// SetNextToken sets the NextToken field's value.
58268func (s *DescribeInstanceTypeOfferingsOutput) SetNextToken(v string) *DescribeInstanceTypeOfferingsOutput {
58269	s.NextToken = &v
58270	return s
58271}
58272
58273type DescribeInstanceTypesInput struct {
58274	_ struct{} `type:"structure"`
58275
58276	// Checks whether you have the required permissions for the action, without
58277	// actually making the request, and provides an error response. If you have
58278	// the required permissions, the error response is DryRunOperation. Otherwise,
58279	// it is UnauthorizedOperation.
58280	DryRun *bool `type:"boolean"`
58281
58282	// One or more filters. Filter names and values are case-sensitive.
58283	//
58284	//    * auto-recovery-supported - Indicates whether auto recovery is supported.
58285	//    (true | false)
58286	//
58287	//    * bare-metal - Indicates whether it is a bare metal instance type. (true
58288	//    | false)
58289	//
58290	//    * burstable-performance-supported - Indicates whether it is a burstable
58291	//    performance instance type. (true | false)
58292	//
58293	//    * current-generation - Indicates whether this instance type is the latest
58294	//    generation instance type of an instance family. (true | false)
58295	//
58296	//    * ebs-info.ebs-optimized-support - Indicates whether the instance type
58297	//    is EBS-optimized. (true | false)
58298	//
58299	//    * ebs-info.encryption-support - Indicates whether EBS encryption is supported.
58300	//    (true | false)
58301	//
58302	//    * free-tier-eligible - Indicates whether the instance type is eligible
58303	//    to use in the free tier. (true | false)
58304	//
58305	//    * hibernation-supported - Indicates whether On-Demand hibernation is supported.
58306	//    (true | false)
58307	//
58308	//    * hypervisor - The hypervisor used. (nitro | xen)
58309	//
58310	//    * instance-storage-info.disk.count - The number of local disks.
58311	//
58312	//    * instance-storage-info.disk.size-in-gb - The storage size of each instance
58313	//    storage disk, in GB.
58314	//
58315	//    * instance-storage-info.disk.type - The storage technology for the local
58316	//    instance storage disks. (hdd | ssd)
58317	//
58318	//    * instance-storage-info.total-size-in-gb - The total amount of storage
58319	//    available from all local instance storage, in GB.
58320	//
58321	//    * instance-storage-supported - Indicates whether the instance type has
58322	//    local instance storage. (true | false)
58323	//
58324	//    * memory-info.size-in-mib - The memory size.
58325	//
58326	//    * network-info.ena-support - Indicates whether Elastic Network Adapter
58327	//    (ENA) is supported or required. (required | supported | unsupported)
58328	//
58329	//    * network-info.ipv4-addresses-per-interface - The maximum number of private
58330	//    IPv4 addresses per network interface.
58331	//
58332	//    * network-info.ipv6-addresses-per-interface - The maximum number of private
58333	//    IPv6 addresses per network interface.
58334	//
58335	//    * network-info.ipv6-supported - Indicates whether the instance type supports
58336	//    IPv6. (true | false)
58337	//
58338	//    * network-info.maximum-network-interfaces - The maximum number of network
58339	//    interfaces per instance.
58340	//
58341	//    * network-info.network-performance - Describes the network performance.
58342	//
58343	//    * processor-info.sustained-clock-speed-in-ghz - The CPU clock speed, in
58344	//    GHz.
58345	//
58346	//    * vcpu-info.default-cores - The default number of cores for the instance
58347	//    type.
58348	//
58349	//    * vcpu-info.default-threads-per-core - The default number of threads per
58350	//    cores for the instance type.
58351	//
58352	//    * vcpu-info.default-vcpus - The default number of vCPUs for the instance
58353	//    type.
58354	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
58355
58356	// The instance types. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
58357	// in the Amazon Elastic Compute Cloud User Guide.
58358	InstanceTypes []*string `locationName:"InstanceType" type:"list"`
58359
58360	// The maximum number of results to return for the request in a single page.
58361	// The remaining results can be seen by sending another request with the next
58362	// token value.
58363	MaxResults *int64 `min:"5" type:"integer"`
58364
58365	// The token to retrieve the next page of results.
58366	NextToken *string `type:"string"`
58367}
58368
58369// String returns the string representation
58370func (s DescribeInstanceTypesInput) String() string {
58371	return awsutil.Prettify(s)
58372}
58373
58374// GoString returns the string representation
58375func (s DescribeInstanceTypesInput) GoString() string {
58376	return s.String()
58377}
58378
58379// Validate inspects the fields of the type to determine if they are valid.
58380func (s *DescribeInstanceTypesInput) Validate() error {
58381	invalidParams := request.ErrInvalidParams{Context: "DescribeInstanceTypesInput"}
58382	if s.MaxResults != nil && *s.MaxResults < 5 {
58383		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
58384	}
58385
58386	if invalidParams.Len() > 0 {
58387		return invalidParams
58388	}
58389	return nil
58390}
58391
58392// SetDryRun sets the DryRun field's value.
58393func (s *DescribeInstanceTypesInput) SetDryRun(v bool) *DescribeInstanceTypesInput {
58394	s.DryRun = &v
58395	return s
58396}
58397
58398// SetFilters sets the Filters field's value.
58399func (s *DescribeInstanceTypesInput) SetFilters(v []*Filter) *DescribeInstanceTypesInput {
58400	s.Filters = v
58401	return s
58402}
58403
58404// SetInstanceTypes sets the InstanceTypes field's value.
58405func (s *DescribeInstanceTypesInput) SetInstanceTypes(v []*string) *DescribeInstanceTypesInput {
58406	s.InstanceTypes = v
58407	return s
58408}
58409
58410// SetMaxResults sets the MaxResults field's value.
58411func (s *DescribeInstanceTypesInput) SetMaxResults(v int64) *DescribeInstanceTypesInput {
58412	s.MaxResults = &v
58413	return s
58414}
58415
58416// SetNextToken sets the NextToken field's value.
58417func (s *DescribeInstanceTypesInput) SetNextToken(v string) *DescribeInstanceTypesInput {
58418	s.NextToken = &v
58419	return s
58420}
58421
58422type DescribeInstanceTypesOutput struct {
58423	_ struct{} `type:"structure"`
58424
58425	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
58426	// in the Amazon Elastic Compute Cloud User Guide.
58427	InstanceTypes []*InstanceTypeInfo `locationName:"instanceTypeSet" locationNameList:"item" type:"list"`
58428
58429	// The token to use to retrieve the next page of results. This value is null
58430	// when there are no more results to return.
58431	NextToken *string `locationName:"nextToken" type:"string"`
58432}
58433
58434// String returns the string representation
58435func (s DescribeInstanceTypesOutput) String() string {
58436	return awsutil.Prettify(s)
58437}
58438
58439// GoString returns the string representation
58440func (s DescribeInstanceTypesOutput) GoString() string {
58441	return s.String()
58442}
58443
58444// SetInstanceTypes sets the InstanceTypes field's value.
58445func (s *DescribeInstanceTypesOutput) SetInstanceTypes(v []*InstanceTypeInfo) *DescribeInstanceTypesOutput {
58446	s.InstanceTypes = v
58447	return s
58448}
58449
58450// SetNextToken sets the NextToken field's value.
58451func (s *DescribeInstanceTypesOutput) SetNextToken(v string) *DescribeInstanceTypesOutput {
58452	s.NextToken = &v
58453	return s
58454}
58455
58456type DescribeInstancesInput struct {
58457	_ struct{} `type:"structure"`
58458
58459	// Checks whether you have the required permissions for the action, without
58460	// actually making the request, and provides an error response. If you have
58461	// the required permissions, the error response is DryRunOperation. Otherwise,
58462	// it is UnauthorizedOperation.
58463	DryRun *bool `locationName:"dryRun" type:"boolean"`
58464
58465	// The filters.
58466	//
58467	//    * affinity - The affinity setting for an instance running on a Dedicated
58468	//    Host (default | host).
58469	//
58470	//    * architecture - The instance architecture (i386 | x86_64 | arm64).
58471	//
58472	//    * availability-zone - The Availability Zone of the instance.
58473	//
58474	//    * block-device-mapping.attach-time - The attach time for an EBS volume
58475	//    mapped to the instance, for example, 2010-09-15T17:15:20.000Z.
58476	//
58477	//    * block-device-mapping.delete-on-termination - A Boolean that indicates
58478	//    whether the EBS volume is deleted on instance termination.
58479	//
58480	//    * block-device-mapping.device-name - The device name specified in the
58481	//    block device mapping (for example, /dev/sdh or xvdh).
58482	//
58483	//    * block-device-mapping.status - The status for the EBS volume (attaching
58484	//    | attached | detaching | detached).
58485	//
58486	//    * block-device-mapping.volume-id - The volume ID of the EBS volume.
58487	//
58488	//    * client-token - The idempotency token you provided when you launched
58489	//    the instance.
58490	//
58491	//    * dns-name - The public DNS name of the instance.
58492	//
58493	//    * group-id - The ID of the security group for the instance. EC2-Classic
58494	//    only.
58495	//
58496	//    * group-name - The name of the security group for the instance. EC2-Classic
58497	//    only.
58498	//
58499	//    * hibernation-options.configured - A Boolean that indicates whether the
58500	//    instance is enabled for hibernation. A value of true means that the instance
58501	//    is enabled for hibernation.
58502	//
58503	//    * host-id - The ID of the Dedicated Host on which the instance is running,
58504	//    if applicable.
58505	//
58506	//    * hypervisor - The hypervisor type of the instance (ovm | xen).
58507	//
58508	//    * iam-instance-profile.arn - The instance profile associated with the
58509	//    instance. Specified as an ARN.
58510	//
58511	//    * image-id - The ID of the image used to launch the instance.
58512	//
58513	//    * instance-id - The ID of the instance.
58514	//
58515	//    * instance-lifecycle - Indicates whether this is a Spot Instance or a
58516	//    Scheduled Instance (spot | scheduled).
58517	//
58518	//    * instance-state-code - The state of the instance, as a 16-bit unsigned
58519	//    integer. The high byte is used for internal purposes and should be ignored.
58520	//    The low byte is set based on the state represented. The valid values are:
58521	//    0 (pending), 16 (running), 32 (shutting-down), 48 (terminated), 64 (stopping),
58522	//    and 80 (stopped).
58523	//
58524	//    * instance-state-name - The state of the instance (pending | running |
58525	//    shutting-down | terminated | stopping | stopped).
58526	//
58527	//    * instance-type - The type of instance (for example, t2.micro).
58528	//
58529	//    * instance.group-id - The ID of the security group for the instance.
58530	//
58531	//    * instance.group-name - The name of the security group for the instance.
58532	//
58533	//    * ip-address - The public IPv4 address of the instance.
58534	//
58535	//    * kernel-id - The kernel ID.
58536	//
58537	//    * key-name - The name of the key pair used when the instance was launched.
58538	//
58539	//    * launch-index - When launching multiple instances, this is the index
58540	//    for the instance in the launch group (for example, 0, 1, 2, and so on).
58541	//
58542	//    * launch-time - The time when the instance was launched.
58543	//
58544	//    * metadata-options.http-tokens - The metadata request authorization state
58545	//    (optional | required)
58546	//
58547	//    * metadata-options.http-put-response-hop-limit - The http metadata request
58548	//    put response hop limit (integer, possible values 1 to 64)
58549	//
58550	//    * metadata-options.http-endpoint - Enable or disable metadata access on
58551	//    http endpoint (enabled | disabled)
58552	//
58553	//    * monitoring-state - Indicates whether detailed monitoring is enabled
58554	//    (disabled | enabled).
58555	//
58556	//    * network-interface.addresses.private-ip-address - The private IPv4 address
58557	//    associated with the network interface.
58558	//
58559	//    * network-interface.addresses.primary - Specifies whether the IPv4 address
58560	//    of the network interface is the primary private IPv4 address.
58561	//
58562	//    * network-interface.addresses.association.public-ip - The ID of the association
58563	//    of an Elastic IP address (IPv4) with a network interface.
58564	//
58565	//    * network-interface.addresses.association.ip-owner-id - The owner ID of
58566	//    the private IPv4 address associated with the network interface.
58567	//
58568	//    * network-interface.association.public-ip - The address of the Elastic
58569	//    IP address (IPv4) bound to the network interface.
58570	//
58571	//    * network-interface.association.ip-owner-id - The owner of the Elastic
58572	//    IP address (IPv4) associated with the network interface.
58573	//
58574	//    * network-interface.association.allocation-id - The allocation ID returned
58575	//    when you allocated the Elastic IP address (IPv4) for your network interface.
58576	//
58577	//    * network-interface.association.association-id - The association ID returned
58578	//    when the network interface was associated with an IPv4 address.
58579	//
58580	//    * network-interface.attachment.attachment-id - The ID of the interface
58581	//    attachment.
58582	//
58583	//    * network-interface.attachment.instance-id - The ID of the instance to
58584	//    which the network interface is attached.
58585	//
58586	//    * network-interface.attachment.instance-owner-id - The owner ID of the
58587	//    instance to which the network interface is attached.
58588	//
58589	//    * network-interface.attachment.device-index - The device index to which
58590	//    the network interface is attached.
58591	//
58592	//    * network-interface.attachment.status - The status of the attachment (attaching
58593	//    | attached | detaching | detached).
58594	//
58595	//    * network-interface.attachment.attach-time - The time that the network
58596	//    interface was attached to an instance.
58597	//
58598	//    * network-interface.attachment.delete-on-termination - Specifies whether
58599	//    the attachment is deleted when an instance is terminated.
58600	//
58601	//    * network-interface.availability-zone - The Availability Zone for the
58602	//    network interface.
58603	//
58604	//    * network-interface.description - The description of the network interface.
58605	//
58606	//    * network-interface.group-id - The ID of a security group associated with
58607	//    the network interface.
58608	//
58609	//    * network-interface.group-name - The name of a security group associated
58610	//    with the network interface.
58611	//
58612	//    * network-interface.ipv6-addresses.ipv6-address - The IPv6 address associated
58613	//    with the network interface.
58614	//
58615	//    * network-interface.mac-address - The MAC address of the network interface.
58616	//
58617	//    * network-interface.network-interface-id - The ID of the network interface.
58618	//
58619	//    * network-interface.owner-id - The ID of the owner of the network interface.
58620	//
58621	//    * network-interface.private-dns-name - The private DNS name of the network
58622	//    interface.
58623	//
58624	//    * network-interface.requester-id - The requester ID for the network interface.
58625	//
58626	//    * network-interface.requester-managed - Indicates whether the network
58627	//    interface is being managed by AWS.
58628	//
58629	//    * network-interface.status - The status of the network interface (available)
58630	//    | in-use).
58631	//
58632	//    * network-interface.source-dest-check - Whether the network interface
58633	//    performs source/destination checking. A value of true means that checking
58634	//    is enabled, and false means that checking is disabled. The value must
58635	//    be false for the network interface to perform network address translation
58636	//    (NAT) in your VPC.
58637	//
58638	//    * network-interface.subnet-id - The ID of the subnet for the network interface.
58639	//
58640	//    * network-interface.vpc-id - The ID of the VPC for the network interface.
58641	//
58642	//    * owner-id - The AWS account ID of the instance owner.
58643	//
58644	//    * placement-group-name - The name of the placement group for the instance.
58645	//
58646	//    * placement-partition-number - The partition in which the instance is
58647	//    located.
58648	//
58649	//    * platform - The platform. To list only Windows instances, use windows.
58650	//
58651	//    * private-dns-name - The private IPv4 DNS name of the instance.
58652	//
58653	//    * private-ip-address - The private IPv4 address of the instance.
58654	//
58655	//    * product-code - The product code associated with the AMI used to launch
58656	//    the instance.
58657	//
58658	//    * product-code.type - The type of product code (devpay | marketplace).
58659	//
58660	//    * ramdisk-id - The RAM disk ID.
58661	//
58662	//    * reason - The reason for the current state of the instance (for example,
58663	//    shows "User Initiated [date]" when you stop or terminate the instance).
58664	//    Similar to the state-reason-code filter.
58665	//
58666	//    * requester-id - The ID of the entity that launched the instance on your
58667	//    behalf (for example, AWS Management Console, Auto Scaling, and so on).
58668	//
58669	//    * reservation-id - The ID of the instance's reservation. A reservation
58670	//    ID is created any time you launch an instance. A reservation ID has a
58671	//    one-to-one relationship with an instance launch request, but can be associated
58672	//    with more than one instance if you launch multiple instances using the
58673	//    same launch request. For example, if you launch one instance, you get
58674	//    one reservation ID. If you launch ten instances using the same launch
58675	//    request, you also get one reservation ID.
58676	//
58677	//    * root-device-name - The device name of the root device volume (for example,
58678	//    /dev/sda1).
58679	//
58680	//    * root-device-type - The type of the root device volume (ebs | instance-store).
58681	//
58682	//    * source-dest-check - Indicates whether the instance performs source/destination
58683	//    checking. A value of true means that checking is enabled, and false means
58684	//    that checking is disabled. The value must be false for the instance to
58685	//    perform network address translation (NAT) in your VPC.
58686	//
58687	//    * spot-instance-request-id - The ID of the Spot Instance request.
58688	//
58689	//    * state-reason-code - The reason code for the state change.
58690	//
58691	//    * state-reason-message - A message that describes the state change.
58692	//
58693	//    * subnet-id - The ID of the subnet for the instance.
58694	//
58695	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
58696	//    Use the tag key in the filter name and the tag value as the filter value.
58697	//    For example, to find all resources that have a tag with the key Owner
58698	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
58699	//    the filter value.
58700	//
58701	//    * tag-key - The key of a tag assigned to the resource. Use this filter
58702	//    to find all resources that have a tag with a specific key, regardless
58703	//    of the tag value.
58704	//
58705	//    * tenancy - The tenancy of an instance (dedicated | default | host).
58706	//
58707	//    * virtualization-type - The virtualization type of the instance (paravirtual
58708	//    | hvm).
58709	//
58710	//    * vpc-id - The ID of the VPC that the instance is running in.
58711	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
58712
58713	// The instance IDs.
58714	//
58715	// Default: Describes all your instances.
58716	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list"`
58717
58718	// The maximum number of results to return in a single call. To retrieve the
58719	// remaining results, make another call with the returned NextToken value. This
58720	// value can be between 5 and 1000. You cannot specify this parameter and the
58721	// instance IDs parameter in the same call.
58722	MaxResults *int64 `locationName:"maxResults" type:"integer"`
58723
58724	// The token to request the next page of results.
58725	NextToken *string `locationName:"nextToken" type:"string"`
58726}
58727
58728// String returns the string representation
58729func (s DescribeInstancesInput) String() string {
58730	return awsutil.Prettify(s)
58731}
58732
58733// GoString returns the string representation
58734func (s DescribeInstancesInput) GoString() string {
58735	return s.String()
58736}
58737
58738// SetDryRun sets the DryRun field's value.
58739func (s *DescribeInstancesInput) SetDryRun(v bool) *DescribeInstancesInput {
58740	s.DryRun = &v
58741	return s
58742}
58743
58744// SetFilters sets the Filters field's value.
58745func (s *DescribeInstancesInput) SetFilters(v []*Filter) *DescribeInstancesInput {
58746	s.Filters = v
58747	return s
58748}
58749
58750// SetInstanceIds sets the InstanceIds field's value.
58751func (s *DescribeInstancesInput) SetInstanceIds(v []*string) *DescribeInstancesInput {
58752	s.InstanceIds = v
58753	return s
58754}
58755
58756// SetMaxResults sets the MaxResults field's value.
58757func (s *DescribeInstancesInput) SetMaxResults(v int64) *DescribeInstancesInput {
58758	s.MaxResults = &v
58759	return s
58760}
58761
58762// SetNextToken sets the NextToken field's value.
58763func (s *DescribeInstancesInput) SetNextToken(v string) *DescribeInstancesInput {
58764	s.NextToken = &v
58765	return s
58766}
58767
58768type DescribeInstancesOutput struct {
58769	_ struct{} `type:"structure"`
58770
58771	// The token to use to retrieve the next page of results. This value is null
58772	// when there are no more results to return.
58773	NextToken *string `locationName:"nextToken" type:"string"`
58774
58775	// Information about the reservations.
58776	Reservations []*Reservation `locationName:"reservationSet" locationNameList:"item" type:"list"`
58777}
58778
58779// String returns the string representation
58780func (s DescribeInstancesOutput) String() string {
58781	return awsutil.Prettify(s)
58782}
58783
58784// GoString returns the string representation
58785func (s DescribeInstancesOutput) GoString() string {
58786	return s.String()
58787}
58788
58789// SetNextToken sets the NextToken field's value.
58790func (s *DescribeInstancesOutput) SetNextToken(v string) *DescribeInstancesOutput {
58791	s.NextToken = &v
58792	return s
58793}
58794
58795// SetReservations sets the Reservations field's value.
58796func (s *DescribeInstancesOutput) SetReservations(v []*Reservation) *DescribeInstancesOutput {
58797	s.Reservations = v
58798	return s
58799}
58800
58801type DescribeInternetGatewaysInput struct {
58802	_ struct{} `type:"structure"`
58803
58804	// Checks whether you have the required permissions for the action, without
58805	// actually making the request, and provides an error response. If you have
58806	// the required permissions, the error response is DryRunOperation. Otherwise,
58807	// it is UnauthorizedOperation.
58808	DryRun *bool `locationName:"dryRun" type:"boolean"`
58809
58810	// One or more filters.
58811	//
58812	//    * attachment.state - The current state of the attachment between the gateway
58813	//    and the VPC (available). Present only if a VPC is attached.
58814	//
58815	//    * attachment.vpc-id - The ID of an attached VPC.
58816	//
58817	//    * internet-gateway-id - The ID of the Internet gateway.
58818	//
58819	//    * owner-id - The ID of the AWS account that owns the internet gateway.
58820	//
58821	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
58822	//    Use the tag key in the filter name and the tag value as the filter value.
58823	//    For example, to find all resources that have a tag with the key Owner
58824	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
58825	//    the filter value.
58826	//
58827	//    * tag-key - The key of a tag assigned to the resource. Use this filter
58828	//    to find all resources assigned a tag with a specific key, regardless of
58829	//    the tag value.
58830	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
58831
58832	// One or more internet gateway IDs.
58833	//
58834	// Default: Describes all your internet gateways.
58835	InternetGatewayIds []*string `locationName:"internetGatewayId" locationNameList:"item" type:"list"`
58836
58837	// The maximum number of results to return with a single call. To retrieve the
58838	// remaining results, make another call with the returned nextToken value.
58839	MaxResults *int64 `min:"5" type:"integer"`
58840
58841	// The token for the next page of results.
58842	NextToken *string `type:"string"`
58843}
58844
58845// String returns the string representation
58846func (s DescribeInternetGatewaysInput) String() string {
58847	return awsutil.Prettify(s)
58848}
58849
58850// GoString returns the string representation
58851func (s DescribeInternetGatewaysInput) GoString() string {
58852	return s.String()
58853}
58854
58855// Validate inspects the fields of the type to determine if they are valid.
58856func (s *DescribeInternetGatewaysInput) Validate() error {
58857	invalidParams := request.ErrInvalidParams{Context: "DescribeInternetGatewaysInput"}
58858	if s.MaxResults != nil && *s.MaxResults < 5 {
58859		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
58860	}
58861
58862	if invalidParams.Len() > 0 {
58863		return invalidParams
58864	}
58865	return nil
58866}
58867
58868// SetDryRun sets the DryRun field's value.
58869func (s *DescribeInternetGatewaysInput) SetDryRun(v bool) *DescribeInternetGatewaysInput {
58870	s.DryRun = &v
58871	return s
58872}
58873
58874// SetFilters sets the Filters field's value.
58875func (s *DescribeInternetGatewaysInput) SetFilters(v []*Filter) *DescribeInternetGatewaysInput {
58876	s.Filters = v
58877	return s
58878}
58879
58880// SetInternetGatewayIds sets the InternetGatewayIds field's value.
58881func (s *DescribeInternetGatewaysInput) SetInternetGatewayIds(v []*string) *DescribeInternetGatewaysInput {
58882	s.InternetGatewayIds = v
58883	return s
58884}
58885
58886// SetMaxResults sets the MaxResults field's value.
58887func (s *DescribeInternetGatewaysInput) SetMaxResults(v int64) *DescribeInternetGatewaysInput {
58888	s.MaxResults = &v
58889	return s
58890}
58891
58892// SetNextToken sets the NextToken field's value.
58893func (s *DescribeInternetGatewaysInput) SetNextToken(v string) *DescribeInternetGatewaysInput {
58894	s.NextToken = &v
58895	return s
58896}
58897
58898type DescribeInternetGatewaysOutput struct {
58899	_ struct{} `type:"structure"`
58900
58901	// Information about one or more internet gateways.
58902	InternetGateways []*InternetGateway `locationName:"internetGatewaySet" locationNameList:"item" type:"list"`
58903
58904	// The token to use to retrieve the next page of results. This value is null
58905	// when there are no more results to return.
58906	NextToken *string `locationName:"nextToken" type:"string"`
58907}
58908
58909// String returns the string representation
58910func (s DescribeInternetGatewaysOutput) String() string {
58911	return awsutil.Prettify(s)
58912}
58913
58914// GoString returns the string representation
58915func (s DescribeInternetGatewaysOutput) GoString() string {
58916	return s.String()
58917}
58918
58919// SetInternetGateways sets the InternetGateways field's value.
58920func (s *DescribeInternetGatewaysOutput) SetInternetGateways(v []*InternetGateway) *DescribeInternetGatewaysOutput {
58921	s.InternetGateways = v
58922	return s
58923}
58924
58925// SetNextToken sets the NextToken field's value.
58926func (s *DescribeInternetGatewaysOutput) SetNextToken(v string) *DescribeInternetGatewaysOutput {
58927	s.NextToken = &v
58928	return s
58929}
58930
58931type DescribeKeyPairsInput struct {
58932	_ struct{} `type:"structure"`
58933
58934	// Checks whether you have the required permissions for the action, without
58935	// actually making the request, and provides an error response. If you have
58936	// the required permissions, the error response is DryRunOperation. Otherwise,
58937	// it is UnauthorizedOperation.
58938	DryRun *bool `locationName:"dryRun" type:"boolean"`
58939
58940	// The filters.
58941	//
58942	//    * fingerprint - The fingerprint of the key pair.
58943	//
58944	//    * key-name - The name of the key pair.
58945	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
58946
58947	// The key pair names.
58948	//
58949	// Default: Describes all your key pairs.
58950	KeyNames []*string `locationName:"KeyName" locationNameList:"KeyName" type:"list"`
58951
58952	// The IDs of the key pairs.
58953	KeyPairIds []*string `locationName:"KeyPairId" locationNameList:"KeyPairId" type:"list"`
58954}
58955
58956// String returns the string representation
58957func (s DescribeKeyPairsInput) String() string {
58958	return awsutil.Prettify(s)
58959}
58960
58961// GoString returns the string representation
58962func (s DescribeKeyPairsInput) GoString() string {
58963	return s.String()
58964}
58965
58966// SetDryRun sets the DryRun field's value.
58967func (s *DescribeKeyPairsInput) SetDryRun(v bool) *DescribeKeyPairsInput {
58968	s.DryRun = &v
58969	return s
58970}
58971
58972// SetFilters sets the Filters field's value.
58973func (s *DescribeKeyPairsInput) SetFilters(v []*Filter) *DescribeKeyPairsInput {
58974	s.Filters = v
58975	return s
58976}
58977
58978// SetKeyNames sets the KeyNames field's value.
58979func (s *DescribeKeyPairsInput) SetKeyNames(v []*string) *DescribeKeyPairsInput {
58980	s.KeyNames = v
58981	return s
58982}
58983
58984// SetKeyPairIds sets the KeyPairIds field's value.
58985func (s *DescribeKeyPairsInput) SetKeyPairIds(v []*string) *DescribeKeyPairsInput {
58986	s.KeyPairIds = v
58987	return s
58988}
58989
58990type DescribeKeyPairsOutput struct {
58991	_ struct{} `type:"structure"`
58992
58993	// Information about the key pairs.
58994	KeyPairs []*KeyPairInfo `locationName:"keySet" locationNameList:"item" type:"list"`
58995}
58996
58997// String returns the string representation
58998func (s DescribeKeyPairsOutput) String() string {
58999	return awsutil.Prettify(s)
59000}
59001
59002// GoString returns the string representation
59003func (s DescribeKeyPairsOutput) GoString() string {
59004	return s.String()
59005}
59006
59007// SetKeyPairs sets the KeyPairs field's value.
59008func (s *DescribeKeyPairsOutput) SetKeyPairs(v []*KeyPairInfo) *DescribeKeyPairsOutput {
59009	s.KeyPairs = v
59010	return s
59011}
59012
59013type DescribeLaunchTemplateVersionsInput struct {
59014	_ struct{} `type:"structure"`
59015
59016	// Checks whether you have the required permissions for the action, without
59017	// actually making the request, and provides an error response. If you have
59018	// the required permissions, the error response is DryRunOperation. Otherwise,
59019	// it is UnauthorizedOperation.
59020	DryRun *bool `type:"boolean"`
59021
59022	// One or more filters.
59023	//
59024	//    * create-time - The time the launch template version was created.
59025	//
59026	//    * ebs-optimized - A boolean that indicates whether the instance is optimized
59027	//    for Amazon EBS I/O.
59028	//
59029	//    * iam-instance-profile - The ARN of the IAM instance profile.
59030	//
59031	//    * image-id - The ID of the AMI.
59032	//
59033	//    * instance-type - The instance type.
59034	//
59035	//    * is-default-version - A boolean that indicates whether the launch template
59036	//    version is the default version.
59037	//
59038	//    * kernel-id - The kernel ID.
59039	//
59040	//    * ram-disk-id - The RAM disk ID.
59041	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59042
59043	// The ID of the launch template. You must specify either the launch template
59044	// ID or launch template name in the request.
59045	LaunchTemplateId *string `type:"string"`
59046
59047	// The name of the launch template. You must specify either the launch template
59048	// ID or launch template name in the request.
59049	LaunchTemplateName *string `min:"3" type:"string"`
59050
59051	// The maximum number of results to return in a single call. To retrieve the
59052	// remaining results, make another call with the returned NextToken value. This
59053	// value can be between 1 and 200.
59054	MaxResults *int64 `type:"integer"`
59055
59056	// The version number up to which to describe launch template versions.
59057	MaxVersion *string `type:"string"`
59058
59059	// The version number after which to describe launch template versions.
59060	MinVersion *string `type:"string"`
59061
59062	// The token to request the next page of results.
59063	NextToken *string `type:"string"`
59064
59065	// One or more versions of the launch template.
59066	Versions []*string `locationName:"LaunchTemplateVersion" locationNameList:"item" type:"list"`
59067}
59068
59069// String returns the string representation
59070func (s DescribeLaunchTemplateVersionsInput) String() string {
59071	return awsutil.Prettify(s)
59072}
59073
59074// GoString returns the string representation
59075func (s DescribeLaunchTemplateVersionsInput) GoString() string {
59076	return s.String()
59077}
59078
59079// Validate inspects the fields of the type to determine if they are valid.
59080func (s *DescribeLaunchTemplateVersionsInput) Validate() error {
59081	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplateVersionsInput"}
59082	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
59083		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
59084	}
59085
59086	if invalidParams.Len() > 0 {
59087		return invalidParams
59088	}
59089	return nil
59090}
59091
59092// SetDryRun sets the DryRun field's value.
59093func (s *DescribeLaunchTemplateVersionsInput) SetDryRun(v bool) *DescribeLaunchTemplateVersionsInput {
59094	s.DryRun = &v
59095	return s
59096}
59097
59098// SetFilters sets the Filters field's value.
59099func (s *DescribeLaunchTemplateVersionsInput) SetFilters(v []*Filter) *DescribeLaunchTemplateVersionsInput {
59100	s.Filters = v
59101	return s
59102}
59103
59104// SetLaunchTemplateId sets the LaunchTemplateId field's value.
59105func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateId(v string) *DescribeLaunchTemplateVersionsInput {
59106	s.LaunchTemplateId = &v
59107	return s
59108}
59109
59110// SetLaunchTemplateName sets the LaunchTemplateName field's value.
59111func (s *DescribeLaunchTemplateVersionsInput) SetLaunchTemplateName(v string) *DescribeLaunchTemplateVersionsInput {
59112	s.LaunchTemplateName = &v
59113	return s
59114}
59115
59116// SetMaxResults sets the MaxResults field's value.
59117func (s *DescribeLaunchTemplateVersionsInput) SetMaxResults(v int64) *DescribeLaunchTemplateVersionsInput {
59118	s.MaxResults = &v
59119	return s
59120}
59121
59122// SetMaxVersion sets the MaxVersion field's value.
59123func (s *DescribeLaunchTemplateVersionsInput) SetMaxVersion(v string) *DescribeLaunchTemplateVersionsInput {
59124	s.MaxVersion = &v
59125	return s
59126}
59127
59128// SetMinVersion sets the MinVersion field's value.
59129func (s *DescribeLaunchTemplateVersionsInput) SetMinVersion(v string) *DescribeLaunchTemplateVersionsInput {
59130	s.MinVersion = &v
59131	return s
59132}
59133
59134// SetNextToken sets the NextToken field's value.
59135func (s *DescribeLaunchTemplateVersionsInput) SetNextToken(v string) *DescribeLaunchTemplateVersionsInput {
59136	s.NextToken = &v
59137	return s
59138}
59139
59140// SetVersions sets the Versions field's value.
59141func (s *DescribeLaunchTemplateVersionsInput) SetVersions(v []*string) *DescribeLaunchTemplateVersionsInput {
59142	s.Versions = v
59143	return s
59144}
59145
59146type DescribeLaunchTemplateVersionsOutput struct {
59147	_ struct{} `type:"structure"`
59148
59149	// Information about the launch template versions.
59150	LaunchTemplateVersions []*LaunchTemplateVersion `locationName:"launchTemplateVersionSet" locationNameList:"item" type:"list"`
59151
59152	// The token to use to retrieve the next page of results. This value is null
59153	// when there are no more results to return.
59154	NextToken *string `locationName:"nextToken" type:"string"`
59155}
59156
59157// String returns the string representation
59158func (s DescribeLaunchTemplateVersionsOutput) String() string {
59159	return awsutil.Prettify(s)
59160}
59161
59162// GoString returns the string representation
59163func (s DescribeLaunchTemplateVersionsOutput) GoString() string {
59164	return s.String()
59165}
59166
59167// SetLaunchTemplateVersions sets the LaunchTemplateVersions field's value.
59168func (s *DescribeLaunchTemplateVersionsOutput) SetLaunchTemplateVersions(v []*LaunchTemplateVersion) *DescribeLaunchTemplateVersionsOutput {
59169	s.LaunchTemplateVersions = v
59170	return s
59171}
59172
59173// SetNextToken sets the NextToken field's value.
59174func (s *DescribeLaunchTemplateVersionsOutput) SetNextToken(v string) *DescribeLaunchTemplateVersionsOutput {
59175	s.NextToken = &v
59176	return s
59177}
59178
59179type DescribeLaunchTemplatesInput struct {
59180	_ struct{} `type:"structure"`
59181
59182	// Checks whether you have the required permissions for the action, without
59183	// actually making the request, and provides an error response. If you have
59184	// the required permissions, the error response is DryRunOperation. Otherwise,
59185	// it is UnauthorizedOperation.
59186	DryRun *bool `type:"boolean"`
59187
59188	// One or more filters.
59189	//
59190	//    * create-time - The time the launch template was created.
59191	//
59192	//    * launch-template-name - The name of the launch template.
59193	//
59194	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
59195	//    Use the tag key in the filter name and the tag value as the filter value.
59196	//    For example, to find all resources that have a tag with the key Owner
59197	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
59198	//    the filter value.
59199	//
59200	//    * tag-key - The key of a tag assigned to the resource. Use this filter
59201	//    to find all resources assigned a tag with a specific key, regardless of
59202	//    the tag value.
59203	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59204
59205	// One or more launch template IDs.
59206	LaunchTemplateIds []*string `locationName:"LaunchTemplateId" locationNameList:"item" type:"list"`
59207
59208	// One or more launch template names.
59209	LaunchTemplateNames []*string `locationName:"LaunchTemplateName" locationNameList:"item" type:"list"`
59210
59211	// The maximum number of results to return in a single call. To retrieve the
59212	// remaining results, make another call with the returned NextToken value. This
59213	// value can be between 1 and 200.
59214	MaxResults *int64 `min:"1" type:"integer"`
59215
59216	// The token to request the next page of results.
59217	NextToken *string `type:"string"`
59218}
59219
59220// String returns the string representation
59221func (s DescribeLaunchTemplatesInput) String() string {
59222	return awsutil.Prettify(s)
59223}
59224
59225// GoString returns the string representation
59226func (s DescribeLaunchTemplatesInput) GoString() string {
59227	return s.String()
59228}
59229
59230// Validate inspects the fields of the type to determine if they are valid.
59231func (s *DescribeLaunchTemplatesInput) Validate() error {
59232	invalidParams := request.ErrInvalidParams{Context: "DescribeLaunchTemplatesInput"}
59233	if s.MaxResults != nil && *s.MaxResults < 1 {
59234		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
59235	}
59236
59237	if invalidParams.Len() > 0 {
59238		return invalidParams
59239	}
59240	return nil
59241}
59242
59243// SetDryRun sets the DryRun field's value.
59244func (s *DescribeLaunchTemplatesInput) SetDryRun(v bool) *DescribeLaunchTemplatesInput {
59245	s.DryRun = &v
59246	return s
59247}
59248
59249// SetFilters sets the Filters field's value.
59250func (s *DescribeLaunchTemplatesInput) SetFilters(v []*Filter) *DescribeLaunchTemplatesInput {
59251	s.Filters = v
59252	return s
59253}
59254
59255// SetLaunchTemplateIds sets the LaunchTemplateIds field's value.
59256func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateIds(v []*string) *DescribeLaunchTemplatesInput {
59257	s.LaunchTemplateIds = v
59258	return s
59259}
59260
59261// SetLaunchTemplateNames sets the LaunchTemplateNames field's value.
59262func (s *DescribeLaunchTemplatesInput) SetLaunchTemplateNames(v []*string) *DescribeLaunchTemplatesInput {
59263	s.LaunchTemplateNames = v
59264	return s
59265}
59266
59267// SetMaxResults sets the MaxResults field's value.
59268func (s *DescribeLaunchTemplatesInput) SetMaxResults(v int64) *DescribeLaunchTemplatesInput {
59269	s.MaxResults = &v
59270	return s
59271}
59272
59273// SetNextToken sets the NextToken field's value.
59274func (s *DescribeLaunchTemplatesInput) SetNextToken(v string) *DescribeLaunchTemplatesInput {
59275	s.NextToken = &v
59276	return s
59277}
59278
59279type DescribeLaunchTemplatesOutput struct {
59280	_ struct{} `type:"structure"`
59281
59282	// Information about the launch templates.
59283	LaunchTemplates []*LaunchTemplate `locationName:"launchTemplates" locationNameList:"item" type:"list"`
59284
59285	// The token to use to retrieve the next page of results. This value is null
59286	// when there are no more results to return.
59287	NextToken *string `locationName:"nextToken" type:"string"`
59288}
59289
59290// String returns the string representation
59291func (s DescribeLaunchTemplatesOutput) String() string {
59292	return awsutil.Prettify(s)
59293}
59294
59295// GoString returns the string representation
59296func (s DescribeLaunchTemplatesOutput) GoString() string {
59297	return s.String()
59298}
59299
59300// SetLaunchTemplates sets the LaunchTemplates field's value.
59301func (s *DescribeLaunchTemplatesOutput) SetLaunchTemplates(v []*LaunchTemplate) *DescribeLaunchTemplatesOutput {
59302	s.LaunchTemplates = v
59303	return s
59304}
59305
59306// SetNextToken sets the NextToken field's value.
59307func (s *DescribeLaunchTemplatesOutput) SetNextToken(v string) *DescribeLaunchTemplatesOutput {
59308	s.NextToken = &v
59309	return s
59310}
59311
59312type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput struct {
59313	_ struct{} `type:"structure"`
59314
59315	// Checks whether you have the required permissions for the action, without
59316	// actually making the request, and provides an error response. If you have
59317	// the required permissions, the error response is DryRunOperation. Otherwise,
59318	// it is UnauthorizedOperation.
59319	DryRun *bool `type:"boolean"`
59320
59321	// One or more filters.
59322	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59323
59324	// The IDs of the associations.
59325	LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds []*string `locationName:"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId" locationNameList:"item" type:"list"`
59326
59327	// The maximum number of results to return with a single call. To retrieve the
59328	// remaining results, make another call with the returned nextToken value.
59329	MaxResults *int64 `min:"5" type:"integer"`
59330
59331	// The token for the next page of results.
59332	NextToken *string `type:"string"`
59333}
59334
59335// String returns the string representation
59336func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) String() string {
59337	return awsutil.Prettify(s)
59338}
59339
59340// GoString returns the string representation
59341func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) GoString() string {
59342	return s.String()
59343}
59344
59345// Validate inspects the fields of the type to determine if they are valid.
59346func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) Validate() error {
59347	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput"}
59348	if s.MaxResults != nil && *s.MaxResults < 5 {
59349		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
59350	}
59351
59352	if invalidParams.Len() > 0 {
59353		return invalidParams
59354	}
59355	return nil
59356}
59357
59358// SetDryRun sets the DryRun field's value.
59359func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
59360	s.DryRun = &v
59361	return s
59362}
59363
59364// SetFilters sets the Filters field's value.
59365func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
59366	s.Filters = v
59367	return s
59368}
59369
59370// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds field's value.
59371func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
59372	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds = v
59373	return s
59374}
59375
59376// SetMaxResults sets the MaxResults field's value.
59377func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
59378	s.MaxResults = &v
59379	return s
59380}
59381
59382// SetNextToken sets the NextToken field's value.
59383func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput {
59384	s.NextToken = &v
59385	return s
59386}
59387
59388type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput struct {
59389	_ struct{} `type:"structure"`
59390
59391	// Information about the associations.
59392	LocalGatewayRouteTableVirtualInterfaceGroupAssociations []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationSet" locationNameList:"item" type:"list"`
59393
59394	// The token to use to retrieve the next page of results. This value is null
59395	// when there are no more results to return.
59396	NextToken *string `locationName:"nextToken" type:"string"`
59397}
59398
59399// String returns the string representation
59400func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) String() string {
59401	return awsutil.Prettify(s)
59402}
59403
59404// GoString returns the string representation
59405func (s DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) GoString() string {
59406	return s.String()
59407}
59408
59409// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociations field's value.
59410func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociations(v []*LocalGatewayRouteTableVirtualInterfaceGroupAssociation) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
59411	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociations = v
59412	return s
59413}
59414
59415// SetNextToken sets the NextToken field's value.
59416func (s *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsOutput {
59417	s.NextToken = &v
59418	return s
59419}
59420
59421type DescribeLocalGatewayRouteTableVpcAssociationsInput struct {
59422	_ struct{} `type:"structure"`
59423
59424	// Checks whether you have the required permissions for the action, without
59425	// actually making the request, and provides an error response. If you have
59426	// the required permissions, the error response is DryRunOperation. Otherwise,
59427	// it is UnauthorizedOperation.
59428	DryRun *bool `type:"boolean"`
59429
59430	// One or more filters.
59431	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59432
59433	// The IDs of the associations.
59434	LocalGatewayRouteTableVpcAssociationIds []*string `locationName:"LocalGatewayRouteTableVpcAssociationId" locationNameList:"item" type:"list"`
59435
59436	// The maximum number of results to return with a single call. To retrieve the
59437	// remaining results, make another call with the returned nextToken value.
59438	MaxResults *int64 `min:"5" type:"integer"`
59439
59440	// The token for the next page of results.
59441	NextToken *string `type:"string"`
59442}
59443
59444// String returns the string representation
59445func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) String() string {
59446	return awsutil.Prettify(s)
59447}
59448
59449// GoString returns the string representation
59450func (s DescribeLocalGatewayRouteTableVpcAssociationsInput) GoString() string {
59451	return s.String()
59452}
59453
59454// Validate inspects the fields of the type to determine if they are valid.
59455func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) Validate() error {
59456	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTableVpcAssociationsInput"}
59457	if s.MaxResults != nil && *s.MaxResults < 5 {
59458		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
59459	}
59460
59461	if invalidParams.Len() > 0 {
59462		return invalidParams
59463	}
59464	return nil
59465}
59466
59467// SetDryRun sets the DryRun field's value.
59468func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
59469	s.DryRun = &v
59470	return s
59471}
59472
59473// SetFilters sets the Filters field's value.
59474func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
59475	s.Filters = v
59476	return s
59477}
59478
59479// SetLocalGatewayRouteTableVpcAssociationIds sets the LocalGatewayRouteTableVpcAssociationIds field's value.
59480func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetLocalGatewayRouteTableVpcAssociationIds(v []*string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
59481	s.LocalGatewayRouteTableVpcAssociationIds = v
59482	return s
59483}
59484
59485// SetMaxResults sets the MaxResults field's value.
59486func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
59487	s.MaxResults = &v
59488	return s
59489}
59490
59491// SetNextToken sets the NextToken field's value.
59492func (s *DescribeLocalGatewayRouteTableVpcAssociationsInput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsInput {
59493	s.NextToken = &v
59494	return s
59495}
59496
59497type DescribeLocalGatewayRouteTableVpcAssociationsOutput struct {
59498	_ struct{} `type:"structure"`
59499
59500	// Information about the associations.
59501	LocalGatewayRouteTableVpcAssociations []*LocalGatewayRouteTableVpcAssociation `locationName:"localGatewayRouteTableVpcAssociationSet" locationNameList:"item" type:"list"`
59502
59503	// The token to use to retrieve the next page of results. This value is null
59504	// when there are no more results to return.
59505	NextToken *string `locationName:"nextToken" type:"string"`
59506}
59507
59508// String returns the string representation
59509func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) String() string {
59510	return awsutil.Prettify(s)
59511}
59512
59513// GoString returns the string representation
59514func (s DescribeLocalGatewayRouteTableVpcAssociationsOutput) GoString() string {
59515	return s.String()
59516}
59517
59518// SetLocalGatewayRouteTableVpcAssociations sets the LocalGatewayRouteTableVpcAssociations field's value.
59519func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetLocalGatewayRouteTableVpcAssociations(v []*LocalGatewayRouteTableVpcAssociation) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
59520	s.LocalGatewayRouteTableVpcAssociations = v
59521	return s
59522}
59523
59524// SetNextToken sets the NextToken field's value.
59525func (s *DescribeLocalGatewayRouteTableVpcAssociationsOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTableVpcAssociationsOutput {
59526	s.NextToken = &v
59527	return s
59528}
59529
59530type DescribeLocalGatewayRouteTablesInput struct {
59531	_ struct{} `type:"structure"`
59532
59533	// Checks whether you have the required permissions for the action, without
59534	// actually making the request, and provides an error response. If you have
59535	// the required permissions, the error response is DryRunOperation. Otherwise,
59536	// it is UnauthorizedOperation.
59537	DryRun *bool `type:"boolean"`
59538
59539	// One or more filters.
59540	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59541
59542	// The IDs of the local gateway route tables.
59543	LocalGatewayRouteTableIds []*string `locationName:"LocalGatewayRouteTableId" locationNameList:"item" type:"list"`
59544
59545	// The maximum number of results to return with a single call. To retrieve the
59546	// remaining results, make another call with the returned nextToken value.
59547	MaxResults *int64 `min:"5" type:"integer"`
59548
59549	// The token for the next page of results.
59550	NextToken *string `type:"string"`
59551}
59552
59553// String returns the string representation
59554func (s DescribeLocalGatewayRouteTablesInput) String() string {
59555	return awsutil.Prettify(s)
59556}
59557
59558// GoString returns the string representation
59559func (s DescribeLocalGatewayRouteTablesInput) GoString() string {
59560	return s.String()
59561}
59562
59563// Validate inspects the fields of the type to determine if they are valid.
59564func (s *DescribeLocalGatewayRouteTablesInput) Validate() error {
59565	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayRouteTablesInput"}
59566	if s.MaxResults != nil && *s.MaxResults < 5 {
59567		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
59568	}
59569
59570	if invalidParams.Len() > 0 {
59571		return invalidParams
59572	}
59573	return nil
59574}
59575
59576// SetDryRun sets the DryRun field's value.
59577func (s *DescribeLocalGatewayRouteTablesInput) SetDryRun(v bool) *DescribeLocalGatewayRouteTablesInput {
59578	s.DryRun = &v
59579	return s
59580}
59581
59582// SetFilters sets the Filters field's value.
59583func (s *DescribeLocalGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeLocalGatewayRouteTablesInput {
59584	s.Filters = v
59585	return s
59586}
59587
59588// SetLocalGatewayRouteTableIds sets the LocalGatewayRouteTableIds field's value.
59589func (s *DescribeLocalGatewayRouteTablesInput) SetLocalGatewayRouteTableIds(v []*string) *DescribeLocalGatewayRouteTablesInput {
59590	s.LocalGatewayRouteTableIds = v
59591	return s
59592}
59593
59594// SetMaxResults sets the MaxResults field's value.
59595func (s *DescribeLocalGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeLocalGatewayRouteTablesInput {
59596	s.MaxResults = &v
59597	return s
59598}
59599
59600// SetNextToken sets the NextToken field's value.
59601func (s *DescribeLocalGatewayRouteTablesInput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesInput {
59602	s.NextToken = &v
59603	return s
59604}
59605
59606type DescribeLocalGatewayRouteTablesOutput struct {
59607	_ struct{} `type:"structure"`
59608
59609	// Information about the local gateway route tables.
59610	LocalGatewayRouteTables []*LocalGatewayRouteTable `locationName:"localGatewayRouteTableSet" locationNameList:"item" type:"list"`
59611
59612	// The token to use to retrieve the next page of results. This value is null
59613	// when there are no more results to return.
59614	NextToken *string `locationName:"nextToken" type:"string"`
59615}
59616
59617// String returns the string representation
59618func (s DescribeLocalGatewayRouteTablesOutput) String() string {
59619	return awsutil.Prettify(s)
59620}
59621
59622// GoString returns the string representation
59623func (s DescribeLocalGatewayRouteTablesOutput) GoString() string {
59624	return s.String()
59625}
59626
59627// SetLocalGatewayRouteTables sets the LocalGatewayRouteTables field's value.
59628func (s *DescribeLocalGatewayRouteTablesOutput) SetLocalGatewayRouteTables(v []*LocalGatewayRouteTable) *DescribeLocalGatewayRouteTablesOutput {
59629	s.LocalGatewayRouteTables = v
59630	return s
59631}
59632
59633// SetNextToken sets the NextToken field's value.
59634func (s *DescribeLocalGatewayRouteTablesOutput) SetNextToken(v string) *DescribeLocalGatewayRouteTablesOutput {
59635	s.NextToken = &v
59636	return s
59637}
59638
59639type DescribeLocalGatewayVirtualInterfaceGroupsInput struct {
59640	_ struct{} `type:"structure"`
59641
59642	// Checks whether you have the required permissions for the action, without
59643	// actually making the request, and provides an error response. If you have
59644	// the required permissions, the error response is DryRunOperation. Otherwise,
59645	// it is UnauthorizedOperation.
59646	DryRun *bool `type:"boolean"`
59647
59648	// One or more filters.
59649	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59650
59651	// The IDs of the virtual interface groups.
59652	LocalGatewayVirtualInterfaceGroupIds []*string `locationName:"LocalGatewayVirtualInterfaceGroupId" locationNameList:"item" type:"list"`
59653
59654	// The maximum number of results to return with a single call. To retrieve the
59655	// remaining results, make another call with the returned nextToken value.
59656	MaxResults *int64 `min:"5" type:"integer"`
59657
59658	// The token for the next page of results.
59659	NextToken *string `type:"string"`
59660}
59661
59662// String returns the string representation
59663func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) String() string {
59664	return awsutil.Prettify(s)
59665}
59666
59667// GoString returns the string representation
59668func (s DescribeLocalGatewayVirtualInterfaceGroupsInput) GoString() string {
59669	return s.String()
59670}
59671
59672// Validate inspects the fields of the type to determine if they are valid.
59673func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) Validate() error {
59674	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfaceGroupsInput"}
59675	if s.MaxResults != nil && *s.MaxResults < 5 {
59676		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
59677	}
59678
59679	if invalidParams.Len() > 0 {
59680		return invalidParams
59681	}
59682	return nil
59683}
59684
59685// SetDryRun sets the DryRun field's value.
59686func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
59687	s.DryRun = &v
59688	return s
59689}
59690
59691// SetFilters sets the Filters field's value.
59692func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
59693	s.Filters = v
59694	return s
59695}
59696
59697// SetLocalGatewayVirtualInterfaceGroupIds sets the LocalGatewayVirtualInterfaceGroupIds field's value.
59698func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetLocalGatewayVirtualInterfaceGroupIds(v []*string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
59699	s.LocalGatewayVirtualInterfaceGroupIds = v
59700	return s
59701}
59702
59703// SetMaxResults sets the MaxResults field's value.
59704func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
59705	s.MaxResults = &v
59706	return s
59707}
59708
59709// SetNextToken sets the NextToken field's value.
59710func (s *DescribeLocalGatewayVirtualInterfaceGroupsInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsInput {
59711	s.NextToken = &v
59712	return s
59713}
59714
59715type DescribeLocalGatewayVirtualInterfaceGroupsOutput struct {
59716	_ struct{} `type:"structure"`
59717
59718	// The virtual interface groups.
59719	LocalGatewayVirtualInterfaceGroups []*LocalGatewayVirtualInterfaceGroup `locationName:"localGatewayVirtualInterfaceGroupSet" locationNameList:"item" type:"list"`
59720
59721	// The token to use to retrieve the next page of results. This value is null
59722	// when there are no more results to return.
59723	NextToken *string `locationName:"nextToken" type:"string"`
59724}
59725
59726// String returns the string representation
59727func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) String() string {
59728	return awsutil.Prettify(s)
59729}
59730
59731// GoString returns the string representation
59732func (s DescribeLocalGatewayVirtualInterfaceGroupsOutput) GoString() string {
59733	return s.String()
59734}
59735
59736// SetLocalGatewayVirtualInterfaceGroups sets the LocalGatewayVirtualInterfaceGroups field's value.
59737func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetLocalGatewayVirtualInterfaceGroups(v []*LocalGatewayVirtualInterfaceGroup) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
59738	s.LocalGatewayVirtualInterfaceGroups = v
59739	return s
59740}
59741
59742// SetNextToken sets the NextToken field's value.
59743func (s *DescribeLocalGatewayVirtualInterfaceGroupsOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfaceGroupsOutput {
59744	s.NextToken = &v
59745	return s
59746}
59747
59748type DescribeLocalGatewayVirtualInterfacesInput struct {
59749	_ struct{} `type:"structure"`
59750
59751	// Checks whether you have the required permissions for the action, without
59752	// actually making the request, and provides an error response. If you have
59753	// the required permissions, the error response is DryRunOperation. Otherwise,
59754	// it is UnauthorizedOperation.
59755	DryRun *bool `type:"boolean"`
59756
59757	// One or more filters.
59758	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59759
59760	// The IDs of the virtual interfaces.
59761	LocalGatewayVirtualInterfaceIds []*string `locationName:"LocalGatewayVirtualInterfaceId" locationNameList:"item" type:"list"`
59762
59763	// The maximum number of results to return with a single call. To retrieve the
59764	// remaining results, make another call with the returned nextToken value.
59765	MaxResults *int64 `min:"5" type:"integer"`
59766
59767	// The token for the next page of results.
59768	NextToken *string `type:"string"`
59769}
59770
59771// String returns the string representation
59772func (s DescribeLocalGatewayVirtualInterfacesInput) String() string {
59773	return awsutil.Prettify(s)
59774}
59775
59776// GoString returns the string representation
59777func (s DescribeLocalGatewayVirtualInterfacesInput) GoString() string {
59778	return s.String()
59779}
59780
59781// Validate inspects the fields of the type to determine if they are valid.
59782func (s *DescribeLocalGatewayVirtualInterfacesInput) Validate() error {
59783	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewayVirtualInterfacesInput"}
59784	if s.MaxResults != nil && *s.MaxResults < 5 {
59785		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
59786	}
59787
59788	if invalidParams.Len() > 0 {
59789		return invalidParams
59790	}
59791	return nil
59792}
59793
59794// SetDryRun sets the DryRun field's value.
59795func (s *DescribeLocalGatewayVirtualInterfacesInput) SetDryRun(v bool) *DescribeLocalGatewayVirtualInterfacesInput {
59796	s.DryRun = &v
59797	return s
59798}
59799
59800// SetFilters sets the Filters field's value.
59801func (s *DescribeLocalGatewayVirtualInterfacesInput) SetFilters(v []*Filter) *DescribeLocalGatewayVirtualInterfacesInput {
59802	s.Filters = v
59803	return s
59804}
59805
59806// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
59807func (s *DescribeLocalGatewayVirtualInterfacesInput) SetLocalGatewayVirtualInterfaceIds(v []*string) *DescribeLocalGatewayVirtualInterfacesInput {
59808	s.LocalGatewayVirtualInterfaceIds = v
59809	return s
59810}
59811
59812// SetMaxResults sets the MaxResults field's value.
59813func (s *DescribeLocalGatewayVirtualInterfacesInput) SetMaxResults(v int64) *DescribeLocalGatewayVirtualInterfacesInput {
59814	s.MaxResults = &v
59815	return s
59816}
59817
59818// SetNextToken sets the NextToken field's value.
59819func (s *DescribeLocalGatewayVirtualInterfacesInput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesInput {
59820	s.NextToken = &v
59821	return s
59822}
59823
59824type DescribeLocalGatewayVirtualInterfacesOutput struct {
59825	_ struct{} `type:"structure"`
59826
59827	// Information about the virtual interfaces.
59828	LocalGatewayVirtualInterfaces []*LocalGatewayVirtualInterface `locationName:"localGatewayVirtualInterfaceSet" locationNameList:"item" type:"list"`
59829
59830	// The token to use to retrieve the next page of results. This value is null
59831	// when there are no more results to return.
59832	NextToken *string `locationName:"nextToken" type:"string"`
59833}
59834
59835// String returns the string representation
59836func (s DescribeLocalGatewayVirtualInterfacesOutput) String() string {
59837	return awsutil.Prettify(s)
59838}
59839
59840// GoString returns the string representation
59841func (s DescribeLocalGatewayVirtualInterfacesOutput) GoString() string {
59842	return s.String()
59843}
59844
59845// SetLocalGatewayVirtualInterfaces sets the LocalGatewayVirtualInterfaces field's value.
59846func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetLocalGatewayVirtualInterfaces(v []*LocalGatewayVirtualInterface) *DescribeLocalGatewayVirtualInterfacesOutput {
59847	s.LocalGatewayVirtualInterfaces = v
59848	return s
59849}
59850
59851// SetNextToken sets the NextToken field's value.
59852func (s *DescribeLocalGatewayVirtualInterfacesOutput) SetNextToken(v string) *DescribeLocalGatewayVirtualInterfacesOutput {
59853	s.NextToken = &v
59854	return s
59855}
59856
59857type DescribeLocalGatewaysInput struct {
59858	_ struct{} `type:"structure"`
59859
59860	// Checks whether you have the required permissions for the action, without
59861	// actually making the request, and provides an error response. If you have
59862	// the required permissions, the error response is DryRunOperation. Otherwise,
59863	// it is UnauthorizedOperation.
59864	DryRun *bool `type:"boolean"`
59865
59866	// One or more filters.
59867	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
59868
59869	// The IDs of the local gateways.
59870	LocalGatewayIds []*string `locationName:"LocalGatewayId" locationNameList:"item" type:"list"`
59871
59872	// The maximum number of results to return with a single call. To retrieve the
59873	// remaining results, make another call with the returned nextToken value.
59874	MaxResults *int64 `min:"5" type:"integer"`
59875
59876	// The token for the next page of results.
59877	NextToken *string `type:"string"`
59878}
59879
59880// String returns the string representation
59881func (s DescribeLocalGatewaysInput) String() string {
59882	return awsutil.Prettify(s)
59883}
59884
59885// GoString returns the string representation
59886func (s DescribeLocalGatewaysInput) GoString() string {
59887	return s.String()
59888}
59889
59890// Validate inspects the fields of the type to determine if they are valid.
59891func (s *DescribeLocalGatewaysInput) Validate() error {
59892	invalidParams := request.ErrInvalidParams{Context: "DescribeLocalGatewaysInput"}
59893	if s.MaxResults != nil && *s.MaxResults < 5 {
59894		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
59895	}
59896
59897	if invalidParams.Len() > 0 {
59898		return invalidParams
59899	}
59900	return nil
59901}
59902
59903// SetDryRun sets the DryRun field's value.
59904func (s *DescribeLocalGatewaysInput) SetDryRun(v bool) *DescribeLocalGatewaysInput {
59905	s.DryRun = &v
59906	return s
59907}
59908
59909// SetFilters sets the Filters field's value.
59910func (s *DescribeLocalGatewaysInput) SetFilters(v []*Filter) *DescribeLocalGatewaysInput {
59911	s.Filters = v
59912	return s
59913}
59914
59915// SetLocalGatewayIds sets the LocalGatewayIds field's value.
59916func (s *DescribeLocalGatewaysInput) SetLocalGatewayIds(v []*string) *DescribeLocalGatewaysInput {
59917	s.LocalGatewayIds = v
59918	return s
59919}
59920
59921// SetMaxResults sets the MaxResults field's value.
59922func (s *DescribeLocalGatewaysInput) SetMaxResults(v int64) *DescribeLocalGatewaysInput {
59923	s.MaxResults = &v
59924	return s
59925}
59926
59927// SetNextToken sets the NextToken field's value.
59928func (s *DescribeLocalGatewaysInput) SetNextToken(v string) *DescribeLocalGatewaysInput {
59929	s.NextToken = &v
59930	return s
59931}
59932
59933type DescribeLocalGatewaysOutput struct {
59934	_ struct{} `type:"structure"`
59935
59936	// Information about the local gateways.
59937	LocalGateways []*LocalGateway `locationName:"localGatewaySet" locationNameList:"item" type:"list"`
59938
59939	// The token to use to retrieve the next page of results. This value is null
59940	// when there are no more results to return.
59941	NextToken *string `locationName:"nextToken" type:"string"`
59942}
59943
59944// String returns the string representation
59945func (s DescribeLocalGatewaysOutput) String() string {
59946	return awsutil.Prettify(s)
59947}
59948
59949// GoString returns the string representation
59950func (s DescribeLocalGatewaysOutput) GoString() string {
59951	return s.String()
59952}
59953
59954// SetLocalGateways sets the LocalGateways field's value.
59955func (s *DescribeLocalGatewaysOutput) SetLocalGateways(v []*LocalGateway) *DescribeLocalGatewaysOutput {
59956	s.LocalGateways = v
59957	return s
59958}
59959
59960// SetNextToken sets the NextToken field's value.
59961func (s *DescribeLocalGatewaysOutput) SetNextToken(v string) *DescribeLocalGatewaysOutput {
59962	s.NextToken = &v
59963	return s
59964}
59965
59966type DescribeMovingAddressesInput struct {
59967	_ struct{} `type:"structure"`
59968
59969	// Checks whether you have the required permissions for the action, without
59970	// actually making the request, and provides an error response. If you have
59971	// the required permissions, the error response is DryRunOperation. Otherwise,
59972	// it is UnauthorizedOperation.
59973	DryRun *bool `locationName:"dryRun" type:"boolean"`
59974
59975	// One or more filters.
59976	//
59977	//    * moving-status - The status of the Elastic IP address (MovingToVpc |
59978	//    RestoringToClassic).
59979	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
59980
59981	// The maximum number of results to return for the request in a single page.
59982	// The remaining results of the initial request can be seen by sending another
59983	// request with the returned NextToken value. This value can be between 5 and
59984	// 1000; if MaxResults is given a value outside of this range, an error is returned.
59985	//
59986	// Default: If no value is provided, the default is 1000.
59987	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
59988
59989	// The token for the next page of results.
59990	NextToken *string `locationName:"nextToken" type:"string"`
59991
59992	// One or more Elastic IP addresses.
59993	PublicIps []*string `locationName:"publicIp" locationNameList:"item" type:"list"`
59994}
59995
59996// String returns the string representation
59997func (s DescribeMovingAddressesInput) String() string {
59998	return awsutil.Prettify(s)
59999}
60000
60001// GoString returns the string representation
60002func (s DescribeMovingAddressesInput) GoString() string {
60003	return s.String()
60004}
60005
60006// Validate inspects the fields of the type to determine if they are valid.
60007func (s *DescribeMovingAddressesInput) Validate() error {
60008	invalidParams := request.ErrInvalidParams{Context: "DescribeMovingAddressesInput"}
60009	if s.MaxResults != nil && *s.MaxResults < 5 {
60010		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
60011	}
60012
60013	if invalidParams.Len() > 0 {
60014		return invalidParams
60015	}
60016	return nil
60017}
60018
60019// SetDryRun sets the DryRun field's value.
60020func (s *DescribeMovingAddressesInput) SetDryRun(v bool) *DescribeMovingAddressesInput {
60021	s.DryRun = &v
60022	return s
60023}
60024
60025// SetFilters sets the Filters field's value.
60026func (s *DescribeMovingAddressesInput) SetFilters(v []*Filter) *DescribeMovingAddressesInput {
60027	s.Filters = v
60028	return s
60029}
60030
60031// SetMaxResults sets the MaxResults field's value.
60032func (s *DescribeMovingAddressesInput) SetMaxResults(v int64) *DescribeMovingAddressesInput {
60033	s.MaxResults = &v
60034	return s
60035}
60036
60037// SetNextToken sets the NextToken field's value.
60038func (s *DescribeMovingAddressesInput) SetNextToken(v string) *DescribeMovingAddressesInput {
60039	s.NextToken = &v
60040	return s
60041}
60042
60043// SetPublicIps sets the PublicIps field's value.
60044func (s *DescribeMovingAddressesInput) SetPublicIps(v []*string) *DescribeMovingAddressesInput {
60045	s.PublicIps = v
60046	return s
60047}
60048
60049type DescribeMovingAddressesOutput struct {
60050	_ struct{} `type:"structure"`
60051
60052	// The status for each Elastic IP address.
60053	MovingAddressStatuses []*MovingAddressStatus `locationName:"movingAddressStatusSet" locationNameList:"item" type:"list"`
60054
60055	// The token to use to retrieve the next page of results. This value is null
60056	// when there are no more results to return.
60057	NextToken *string `locationName:"nextToken" type:"string"`
60058}
60059
60060// String returns the string representation
60061func (s DescribeMovingAddressesOutput) String() string {
60062	return awsutil.Prettify(s)
60063}
60064
60065// GoString returns the string representation
60066func (s DescribeMovingAddressesOutput) GoString() string {
60067	return s.String()
60068}
60069
60070// SetMovingAddressStatuses sets the MovingAddressStatuses field's value.
60071func (s *DescribeMovingAddressesOutput) SetMovingAddressStatuses(v []*MovingAddressStatus) *DescribeMovingAddressesOutput {
60072	s.MovingAddressStatuses = v
60073	return s
60074}
60075
60076// SetNextToken sets the NextToken field's value.
60077func (s *DescribeMovingAddressesOutput) SetNextToken(v string) *DescribeMovingAddressesOutput {
60078	s.NextToken = &v
60079	return s
60080}
60081
60082type DescribeNatGatewaysInput struct {
60083	_ struct{} `type:"structure"`
60084
60085	// One or more filters.
60086	//
60087	//    * nat-gateway-id - The ID of the NAT gateway.
60088	//
60089	//    * state - The state of the NAT gateway (pending | failed | available |
60090	//    deleting | deleted).
60091	//
60092	//    * subnet-id - The ID of the subnet in which the NAT gateway resides.
60093	//
60094	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
60095	//    Use the tag key in the filter name and the tag value as the filter value.
60096	//    For example, to find all resources that have a tag with the key Owner
60097	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
60098	//    the filter value.
60099	//
60100	//    * tag-key - The key of a tag assigned to the resource. Use this filter
60101	//    to find all resources assigned a tag with a specific key, regardless of
60102	//    the tag value.
60103	//
60104	//    * vpc-id - The ID of the VPC in which the NAT gateway resides.
60105	Filter []*Filter `locationNameList:"Filter" type:"list"`
60106
60107	// The maximum number of results to return with a single call. To retrieve the
60108	// remaining results, make another call with the returned nextToken value.
60109	MaxResults *int64 `min:"5" type:"integer"`
60110
60111	// One or more NAT gateway IDs.
60112	NatGatewayIds []*string `locationName:"NatGatewayId" locationNameList:"item" type:"list"`
60113
60114	// The token for the next page of results.
60115	NextToken *string `type:"string"`
60116}
60117
60118// String returns the string representation
60119func (s DescribeNatGatewaysInput) String() string {
60120	return awsutil.Prettify(s)
60121}
60122
60123// GoString returns the string representation
60124func (s DescribeNatGatewaysInput) GoString() string {
60125	return s.String()
60126}
60127
60128// Validate inspects the fields of the type to determine if they are valid.
60129func (s *DescribeNatGatewaysInput) Validate() error {
60130	invalidParams := request.ErrInvalidParams{Context: "DescribeNatGatewaysInput"}
60131	if s.MaxResults != nil && *s.MaxResults < 5 {
60132		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
60133	}
60134
60135	if invalidParams.Len() > 0 {
60136		return invalidParams
60137	}
60138	return nil
60139}
60140
60141// SetFilter sets the Filter field's value.
60142func (s *DescribeNatGatewaysInput) SetFilter(v []*Filter) *DescribeNatGatewaysInput {
60143	s.Filter = v
60144	return s
60145}
60146
60147// SetMaxResults sets the MaxResults field's value.
60148func (s *DescribeNatGatewaysInput) SetMaxResults(v int64) *DescribeNatGatewaysInput {
60149	s.MaxResults = &v
60150	return s
60151}
60152
60153// SetNatGatewayIds sets the NatGatewayIds field's value.
60154func (s *DescribeNatGatewaysInput) SetNatGatewayIds(v []*string) *DescribeNatGatewaysInput {
60155	s.NatGatewayIds = v
60156	return s
60157}
60158
60159// SetNextToken sets the NextToken field's value.
60160func (s *DescribeNatGatewaysInput) SetNextToken(v string) *DescribeNatGatewaysInput {
60161	s.NextToken = &v
60162	return s
60163}
60164
60165type DescribeNatGatewaysOutput struct {
60166	_ struct{} `type:"structure"`
60167
60168	// Information about the NAT gateways.
60169	NatGateways []*NatGateway `locationName:"natGatewaySet" locationNameList:"item" type:"list"`
60170
60171	// The token to use to retrieve the next page of results. This value is null
60172	// when there are no more results to return.
60173	NextToken *string `locationName:"nextToken" type:"string"`
60174}
60175
60176// String returns the string representation
60177func (s DescribeNatGatewaysOutput) String() string {
60178	return awsutil.Prettify(s)
60179}
60180
60181// GoString returns the string representation
60182func (s DescribeNatGatewaysOutput) GoString() string {
60183	return s.String()
60184}
60185
60186// SetNatGateways sets the NatGateways field's value.
60187func (s *DescribeNatGatewaysOutput) SetNatGateways(v []*NatGateway) *DescribeNatGatewaysOutput {
60188	s.NatGateways = v
60189	return s
60190}
60191
60192// SetNextToken sets the NextToken field's value.
60193func (s *DescribeNatGatewaysOutput) SetNextToken(v string) *DescribeNatGatewaysOutput {
60194	s.NextToken = &v
60195	return s
60196}
60197
60198type DescribeNetworkAclsInput struct {
60199	_ struct{} `type:"structure"`
60200
60201	// Checks whether you have the required permissions for the action, without
60202	// actually making the request, and provides an error response. If you have
60203	// the required permissions, the error response is DryRunOperation. Otherwise,
60204	// it is UnauthorizedOperation.
60205	DryRun *bool `locationName:"dryRun" type:"boolean"`
60206
60207	// One or more filters.
60208	//
60209	//    * association.association-id - The ID of an association ID for the ACL.
60210	//
60211	//    * association.network-acl-id - The ID of the network ACL involved in the
60212	//    association.
60213	//
60214	//    * association.subnet-id - The ID of the subnet involved in the association.
60215	//
60216	//    * default - Indicates whether the ACL is the default network ACL for the
60217	//    VPC.
60218	//
60219	//    * entry.cidr - The IPv4 CIDR range specified in the entry.
60220	//
60221	//    * entry.icmp.code - The ICMP code specified in the entry, if any.
60222	//
60223	//    * entry.icmp.type - The ICMP type specified in the entry, if any.
60224	//
60225	//    * entry.ipv6-cidr - The IPv6 CIDR range specified in the entry.
60226	//
60227	//    * entry.port-range.from - The start of the port range specified in the
60228	//    entry.
60229	//
60230	//    * entry.port-range.to - The end of the port range specified in the entry.
60231	//
60232	//    * entry.protocol - The protocol specified in the entry (tcp | udp | icmp
60233	//    or a protocol number).
60234	//
60235	//    * entry.rule-action - Allows or denies the matching traffic (allow | deny).
60236	//
60237	//    * entry.rule-number - The number of an entry (in other words, rule) in
60238	//    the set of ACL entries.
60239	//
60240	//    * network-acl-id - The ID of the network ACL.
60241	//
60242	//    * owner-id - The ID of the AWS account that owns the network ACL.
60243	//
60244	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
60245	//    Use the tag key in the filter name and the tag value as the filter value.
60246	//    For example, to find all resources that have a tag with the key Owner
60247	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
60248	//    the filter value.
60249	//
60250	//    * tag-key - The key of a tag assigned to the resource. Use this filter
60251	//    to find all resources assigned a tag with a specific key, regardless of
60252	//    the tag value.
60253	//
60254	//    * vpc-id - The ID of the VPC for the network ACL.
60255	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60256
60257	// The maximum number of results to return with a single call. To retrieve the
60258	// remaining results, make another call with the returned nextToken value.
60259	MaxResults *int64 `min:"5" type:"integer"`
60260
60261	// One or more network ACL IDs.
60262	//
60263	// Default: Describes all your network ACLs.
60264	NetworkAclIds []*string `locationName:"NetworkAclId" locationNameList:"item" type:"list"`
60265
60266	// The token for the next page of results.
60267	NextToken *string `type:"string"`
60268}
60269
60270// String returns the string representation
60271func (s DescribeNetworkAclsInput) String() string {
60272	return awsutil.Prettify(s)
60273}
60274
60275// GoString returns the string representation
60276func (s DescribeNetworkAclsInput) GoString() string {
60277	return s.String()
60278}
60279
60280// Validate inspects the fields of the type to determine if they are valid.
60281func (s *DescribeNetworkAclsInput) Validate() error {
60282	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkAclsInput"}
60283	if s.MaxResults != nil && *s.MaxResults < 5 {
60284		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
60285	}
60286
60287	if invalidParams.Len() > 0 {
60288		return invalidParams
60289	}
60290	return nil
60291}
60292
60293// SetDryRun sets the DryRun field's value.
60294func (s *DescribeNetworkAclsInput) SetDryRun(v bool) *DescribeNetworkAclsInput {
60295	s.DryRun = &v
60296	return s
60297}
60298
60299// SetFilters sets the Filters field's value.
60300func (s *DescribeNetworkAclsInput) SetFilters(v []*Filter) *DescribeNetworkAclsInput {
60301	s.Filters = v
60302	return s
60303}
60304
60305// SetMaxResults sets the MaxResults field's value.
60306func (s *DescribeNetworkAclsInput) SetMaxResults(v int64) *DescribeNetworkAclsInput {
60307	s.MaxResults = &v
60308	return s
60309}
60310
60311// SetNetworkAclIds sets the NetworkAclIds field's value.
60312func (s *DescribeNetworkAclsInput) SetNetworkAclIds(v []*string) *DescribeNetworkAclsInput {
60313	s.NetworkAclIds = v
60314	return s
60315}
60316
60317// SetNextToken sets the NextToken field's value.
60318func (s *DescribeNetworkAclsInput) SetNextToken(v string) *DescribeNetworkAclsInput {
60319	s.NextToken = &v
60320	return s
60321}
60322
60323type DescribeNetworkAclsOutput struct {
60324	_ struct{} `type:"structure"`
60325
60326	// Information about one or more network ACLs.
60327	NetworkAcls []*NetworkAcl `locationName:"networkAclSet" locationNameList:"item" type:"list"`
60328
60329	// The token to use to retrieve the next page of results. This value is null
60330	// when there are no more results to return.
60331	NextToken *string `locationName:"nextToken" type:"string"`
60332}
60333
60334// String returns the string representation
60335func (s DescribeNetworkAclsOutput) String() string {
60336	return awsutil.Prettify(s)
60337}
60338
60339// GoString returns the string representation
60340func (s DescribeNetworkAclsOutput) GoString() string {
60341	return s.String()
60342}
60343
60344// SetNetworkAcls sets the NetworkAcls field's value.
60345func (s *DescribeNetworkAclsOutput) SetNetworkAcls(v []*NetworkAcl) *DescribeNetworkAclsOutput {
60346	s.NetworkAcls = v
60347	return s
60348}
60349
60350// SetNextToken sets the NextToken field's value.
60351func (s *DescribeNetworkAclsOutput) SetNextToken(v string) *DescribeNetworkAclsOutput {
60352	s.NextToken = &v
60353	return s
60354}
60355
60356// Contains the parameters for DescribeNetworkInterfaceAttribute.
60357type DescribeNetworkInterfaceAttributeInput struct {
60358	_ struct{} `type:"structure"`
60359
60360	// The attribute of the network interface. This parameter is required.
60361	Attribute *string `locationName:"attribute" type:"string" enum:"NetworkInterfaceAttribute"`
60362
60363	// Checks whether you have the required permissions for the action, without
60364	// actually making the request, and provides an error response. If you have
60365	// the required permissions, the error response is DryRunOperation. Otherwise,
60366	// it is UnauthorizedOperation.
60367	DryRun *bool `locationName:"dryRun" type:"boolean"`
60368
60369	// The ID of the network interface.
60370	//
60371	// NetworkInterfaceId is a required field
60372	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
60373}
60374
60375// String returns the string representation
60376func (s DescribeNetworkInterfaceAttributeInput) String() string {
60377	return awsutil.Prettify(s)
60378}
60379
60380// GoString returns the string representation
60381func (s DescribeNetworkInterfaceAttributeInput) GoString() string {
60382	return s.String()
60383}
60384
60385// Validate inspects the fields of the type to determine if they are valid.
60386func (s *DescribeNetworkInterfaceAttributeInput) Validate() error {
60387	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfaceAttributeInput"}
60388	if s.NetworkInterfaceId == nil {
60389		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
60390	}
60391
60392	if invalidParams.Len() > 0 {
60393		return invalidParams
60394	}
60395	return nil
60396}
60397
60398// SetAttribute sets the Attribute field's value.
60399func (s *DescribeNetworkInterfaceAttributeInput) SetAttribute(v string) *DescribeNetworkInterfaceAttributeInput {
60400	s.Attribute = &v
60401	return s
60402}
60403
60404// SetDryRun sets the DryRun field's value.
60405func (s *DescribeNetworkInterfaceAttributeInput) SetDryRun(v bool) *DescribeNetworkInterfaceAttributeInput {
60406	s.DryRun = &v
60407	return s
60408}
60409
60410// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
60411func (s *DescribeNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeInput {
60412	s.NetworkInterfaceId = &v
60413	return s
60414}
60415
60416// Contains the output of DescribeNetworkInterfaceAttribute.
60417type DescribeNetworkInterfaceAttributeOutput struct {
60418	_ struct{} `type:"structure"`
60419
60420	// The attachment (if any) of the network interface.
60421	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
60422
60423	// The description of the network interface.
60424	Description *AttributeValue `locationName:"description" type:"structure"`
60425
60426	// The security groups associated with the network interface.
60427	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
60428
60429	// The ID of the network interface.
60430	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
60431
60432	// Indicates whether source/destination checking is enabled.
60433	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
60434}
60435
60436// String returns the string representation
60437func (s DescribeNetworkInterfaceAttributeOutput) String() string {
60438	return awsutil.Prettify(s)
60439}
60440
60441// GoString returns the string representation
60442func (s DescribeNetworkInterfaceAttributeOutput) GoString() string {
60443	return s.String()
60444}
60445
60446// SetAttachment sets the Attachment field's value.
60447func (s *DescribeNetworkInterfaceAttributeOutput) SetAttachment(v *NetworkInterfaceAttachment) *DescribeNetworkInterfaceAttributeOutput {
60448	s.Attachment = v
60449	return s
60450}
60451
60452// SetDescription sets the Description field's value.
60453func (s *DescribeNetworkInterfaceAttributeOutput) SetDescription(v *AttributeValue) *DescribeNetworkInterfaceAttributeOutput {
60454	s.Description = v
60455	return s
60456}
60457
60458// SetGroups sets the Groups field's value.
60459func (s *DescribeNetworkInterfaceAttributeOutput) SetGroups(v []*GroupIdentifier) *DescribeNetworkInterfaceAttributeOutput {
60460	s.Groups = v
60461	return s
60462}
60463
60464// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
60465func (s *DescribeNetworkInterfaceAttributeOutput) SetNetworkInterfaceId(v string) *DescribeNetworkInterfaceAttributeOutput {
60466	s.NetworkInterfaceId = &v
60467	return s
60468}
60469
60470// SetSourceDestCheck sets the SourceDestCheck field's value.
60471func (s *DescribeNetworkInterfaceAttributeOutput) SetSourceDestCheck(v *AttributeBooleanValue) *DescribeNetworkInterfaceAttributeOutput {
60472	s.SourceDestCheck = v
60473	return s
60474}
60475
60476// Contains the parameters for DescribeNetworkInterfacePermissions.
60477type DescribeNetworkInterfacePermissionsInput struct {
60478	_ struct{} `type:"structure"`
60479
60480	// One or more filters.
60481	//
60482	//    * network-interface-permission.network-interface-permission-id - The ID
60483	//    of the permission.
60484	//
60485	//    * network-interface-permission.network-interface-id - The ID of the network
60486	//    interface.
60487	//
60488	//    * network-interface-permission.aws-account-id - The AWS account ID.
60489	//
60490	//    * network-interface-permission.aws-service - The AWS service.
60491	//
60492	//    * network-interface-permission.permission - The type of permission (INSTANCE-ATTACH
60493	//    | EIP-ASSOCIATE).
60494	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60495
60496	// The maximum number of results to return in a single call. To retrieve the
60497	// remaining results, make another call with the returned NextToken value. If
60498	// this parameter is not specified, up to 50 results are returned by default.
60499	MaxResults *int64 `min:"5" type:"integer"`
60500
60501	// One or more network interface permission IDs.
60502	NetworkInterfacePermissionIds []*string `locationName:"NetworkInterfacePermissionId" type:"list"`
60503
60504	// The token to request the next page of results.
60505	NextToken *string `type:"string"`
60506}
60507
60508// String returns the string representation
60509func (s DescribeNetworkInterfacePermissionsInput) String() string {
60510	return awsutil.Prettify(s)
60511}
60512
60513// GoString returns the string representation
60514func (s DescribeNetworkInterfacePermissionsInput) GoString() string {
60515	return s.String()
60516}
60517
60518// Validate inspects the fields of the type to determine if they are valid.
60519func (s *DescribeNetworkInterfacePermissionsInput) Validate() error {
60520	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacePermissionsInput"}
60521	if s.MaxResults != nil && *s.MaxResults < 5 {
60522		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
60523	}
60524
60525	if invalidParams.Len() > 0 {
60526		return invalidParams
60527	}
60528	return nil
60529}
60530
60531// SetFilters sets the Filters field's value.
60532func (s *DescribeNetworkInterfacePermissionsInput) SetFilters(v []*Filter) *DescribeNetworkInterfacePermissionsInput {
60533	s.Filters = v
60534	return s
60535}
60536
60537// SetMaxResults sets the MaxResults field's value.
60538func (s *DescribeNetworkInterfacePermissionsInput) SetMaxResults(v int64) *DescribeNetworkInterfacePermissionsInput {
60539	s.MaxResults = &v
60540	return s
60541}
60542
60543// SetNetworkInterfacePermissionIds sets the NetworkInterfacePermissionIds field's value.
60544func (s *DescribeNetworkInterfacePermissionsInput) SetNetworkInterfacePermissionIds(v []*string) *DescribeNetworkInterfacePermissionsInput {
60545	s.NetworkInterfacePermissionIds = v
60546	return s
60547}
60548
60549// SetNextToken sets the NextToken field's value.
60550func (s *DescribeNetworkInterfacePermissionsInput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsInput {
60551	s.NextToken = &v
60552	return s
60553}
60554
60555// Contains the output for DescribeNetworkInterfacePermissions.
60556type DescribeNetworkInterfacePermissionsOutput struct {
60557	_ struct{} `type:"structure"`
60558
60559	// The network interface permissions.
60560	NetworkInterfacePermissions []*NetworkInterfacePermission `locationName:"networkInterfacePermissions" locationNameList:"item" type:"list"`
60561
60562	// The token to use to retrieve the next page of results.
60563	NextToken *string `locationName:"nextToken" type:"string"`
60564}
60565
60566// String returns the string representation
60567func (s DescribeNetworkInterfacePermissionsOutput) String() string {
60568	return awsutil.Prettify(s)
60569}
60570
60571// GoString returns the string representation
60572func (s DescribeNetworkInterfacePermissionsOutput) GoString() string {
60573	return s.String()
60574}
60575
60576// SetNetworkInterfacePermissions sets the NetworkInterfacePermissions field's value.
60577func (s *DescribeNetworkInterfacePermissionsOutput) SetNetworkInterfacePermissions(v []*NetworkInterfacePermission) *DescribeNetworkInterfacePermissionsOutput {
60578	s.NetworkInterfacePermissions = v
60579	return s
60580}
60581
60582// SetNextToken sets the NextToken field's value.
60583func (s *DescribeNetworkInterfacePermissionsOutput) SetNextToken(v string) *DescribeNetworkInterfacePermissionsOutput {
60584	s.NextToken = &v
60585	return s
60586}
60587
60588// Contains the parameters for DescribeNetworkInterfaces.
60589type DescribeNetworkInterfacesInput struct {
60590	_ struct{} `type:"structure"`
60591
60592	// Checks whether you have the required permissions for the action, without
60593	// actually making the request, and provides an error response. If you have
60594	// the required permissions, the error response is DryRunOperation. Otherwise,
60595	// it is UnauthorizedOperation.
60596	DryRun *bool `locationName:"dryRun" type:"boolean"`
60597
60598	// One or more filters.
60599	//
60600	//    * addresses.private-ip-address - The private IPv4 addresses associated
60601	//    with the network interface.
60602	//
60603	//    * addresses.primary - Whether the private IPv4 address is the primary
60604	//    IP address associated with the network interface.
60605	//
60606	//    * addresses.association.public-ip - The association ID returned when the
60607	//    network interface was associated with the Elastic IP address (IPv4).
60608	//
60609	//    * addresses.association.owner-id - The owner ID of the addresses associated
60610	//    with the network interface.
60611	//
60612	//    * association.association-id - The association ID returned when the network
60613	//    interface was associated with an IPv4 address.
60614	//
60615	//    * association.allocation-id - The allocation ID returned when you allocated
60616	//    the Elastic IP address (IPv4) for your network interface.
60617	//
60618	//    * association.ip-owner-id - The owner of the Elastic IP address (IPv4)
60619	//    associated with the network interface.
60620	//
60621	//    * association.public-ip - The address of the Elastic IP address (IPv4)
60622	//    bound to the network interface.
60623	//
60624	//    * association.public-dns-name - The public DNS name for the network interface
60625	//    (IPv4).
60626	//
60627	//    * attachment.attachment-id - The ID of the interface attachment.
60628	//
60629	//    * attachment.attach-time - The time that the network interface was attached
60630	//    to an instance.
60631	//
60632	//    * attachment.delete-on-termination - Indicates whether the attachment
60633	//    is deleted when an instance is terminated.
60634	//
60635	//    * attachment.device-index - The device index to which the network interface
60636	//    is attached.
60637	//
60638	//    * attachment.instance-id - The ID of the instance to which the network
60639	//    interface is attached.
60640	//
60641	//    * attachment.instance-owner-id - The owner ID of the instance to which
60642	//    the network interface is attached.
60643	//
60644	//    * attachment.nat-gateway-id - The ID of the NAT gateway to which the network
60645	//    interface is attached.
60646	//
60647	//    * attachment.status - The status of the attachment (attaching | attached
60648	//    | detaching | detached).
60649	//
60650	//    * availability-zone - The Availability Zone of the network interface.
60651	//
60652	//    * description - The description of the network interface.
60653	//
60654	//    * group-id - The ID of a security group associated with the network interface.
60655	//
60656	//    * group-name - The name of a security group associated with the network
60657	//    interface.
60658	//
60659	//    * ipv6-addresses.ipv6-address - An IPv6 address associated with the network
60660	//    interface.
60661	//
60662	//    * mac-address - The MAC address of the network interface.
60663	//
60664	//    * network-interface-id - The ID of the network interface.
60665	//
60666	//    * owner-id - The AWS account ID of the network interface owner.
60667	//
60668	//    * private-ip-address - The private IPv4 address or addresses of the network
60669	//    interface.
60670	//
60671	//    * private-dns-name - The private DNS name of the network interface (IPv4).
60672	//
60673	//    * requester-id - The ID of the entity that launched the instance on your
60674	//    behalf (for example, AWS Management Console, Auto Scaling, and so on).
60675	//
60676	//    * requester-managed - Indicates whether the network interface is being
60677	//    managed by an AWS service (for example, AWS Management Console, Auto Scaling,
60678	//    and so on).
60679	//
60680	//    * source-dest-check - Indicates whether the network interface performs
60681	//    source/destination checking. A value of true means checking is enabled,
60682	//    and false means checking is disabled. The value must be false for the
60683	//    network interface to perform network address translation (NAT) in your
60684	//    VPC.
60685	//
60686	//    * status - The status of the network interface. If the network interface
60687	//    is not attached to an instance, the status is available; if a network
60688	//    interface is attached to an instance the status is in-use.
60689	//
60690	//    * subnet-id - The ID of the subnet for the network interface.
60691	//
60692	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
60693	//    Use the tag key in the filter name and the tag value as the filter value.
60694	//    For example, to find all resources that have a tag with the key Owner
60695	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
60696	//    the filter value.
60697	//
60698	//    * tag-key - The key of a tag assigned to the resource. Use this filter
60699	//    to find all resources assigned a tag with a specific key, regardless of
60700	//    the tag value.
60701	//
60702	//    * vpc-id - The ID of the VPC for the network interface.
60703	Filters []*Filter `locationName:"filter" locationNameList:"Filter" type:"list"`
60704
60705	// The maximum number of items to return for this request. The request returns
60706	// a token that you can specify in a subsequent call to get the next set of
60707	// results. You cannot specify this parameter and the network interface IDs
60708	// parameter in the same request.
60709	MaxResults *int64 `min:"5" type:"integer"`
60710
60711	// One or more network interface IDs.
60712	//
60713	// Default: Describes all your network interfaces.
60714	NetworkInterfaceIds []*string `locationName:"NetworkInterfaceId" locationNameList:"item" type:"list"`
60715
60716	// The token to retrieve the next page of results.
60717	NextToken *string `type:"string"`
60718}
60719
60720// String returns the string representation
60721func (s DescribeNetworkInterfacesInput) String() string {
60722	return awsutil.Prettify(s)
60723}
60724
60725// GoString returns the string representation
60726func (s DescribeNetworkInterfacesInput) GoString() string {
60727	return s.String()
60728}
60729
60730// Validate inspects the fields of the type to determine if they are valid.
60731func (s *DescribeNetworkInterfacesInput) Validate() error {
60732	invalidParams := request.ErrInvalidParams{Context: "DescribeNetworkInterfacesInput"}
60733	if s.MaxResults != nil && *s.MaxResults < 5 {
60734		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
60735	}
60736
60737	if invalidParams.Len() > 0 {
60738		return invalidParams
60739	}
60740	return nil
60741}
60742
60743// SetDryRun sets the DryRun field's value.
60744func (s *DescribeNetworkInterfacesInput) SetDryRun(v bool) *DescribeNetworkInterfacesInput {
60745	s.DryRun = &v
60746	return s
60747}
60748
60749// SetFilters sets the Filters field's value.
60750func (s *DescribeNetworkInterfacesInput) SetFilters(v []*Filter) *DescribeNetworkInterfacesInput {
60751	s.Filters = v
60752	return s
60753}
60754
60755// SetMaxResults sets the MaxResults field's value.
60756func (s *DescribeNetworkInterfacesInput) SetMaxResults(v int64) *DescribeNetworkInterfacesInput {
60757	s.MaxResults = &v
60758	return s
60759}
60760
60761// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
60762func (s *DescribeNetworkInterfacesInput) SetNetworkInterfaceIds(v []*string) *DescribeNetworkInterfacesInput {
60763	s.NetworkInterfaceIds = v
60764	return s
60765}
60766
60767// SetNextToken sets the NextToken field's value.
60768func (s *DescribeNetworkInterfacesInput) SetNextToken(v string) *DescribeNetworkInterfacesInput {
60769	s.NextToken = &v
60770	return s
60771}
60772
60773// Contains the output of DescribeNetworkInterfaces.
60774type DescribeNetworkInterfacesOutput struct {
60775	_ struct{} `type:"structure"`
60776
60777	// Information about one or more network interfaces.
60778	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
60779
60780	// The token to use to retrieve the next page of results. This value is null
60781	// when there are no more results to return.
60782	NextToken *string `locationName:"nextToken" type:"string"`
60783}
60784
60785// String returns the string representation
60786func (s DescribeNetworkInterfacesOutput) String() string {
60787	return awsutil.Prettify(s)
60788}
60789
60790// GoString returns the string representation
60791func (s DescribeNetworkInterfacesOutput) GoString() string {
60792	return s.String()
60793}
60794
60795// SetNetworkInterfaces sets the NetworkInterfaces field's value.
60796func (s *DescribeNetworkInterfacesOutput) SetNetworkInterfaces(v []*NetworkInterface) *DescribeNetworkInterfacesOutput {
60797	s.NetworkInterfaces = v
60798	return s
60799}
60800
60801// SetNextToken sets the NextToken field's value.
60802func (s *DescribeNetworkInterfacesOutput) SetNextToken(v string) *DescribeNetworkInterfacesOutput {
60803	s.NextToken = &v
60804	return s
60805}
60806
60807type DescribePlacementGroupsInput struct {
60808	_ struct{} `type:"structure"`
60809
60810	// Checks whether you have the required permissions for the action, without
60811	// actually making the request, and provides an error response. If you have
60812	// the required permissions, the error response is DryRunOperation. Otherwise,
60813	// it is UnauthorizedOperation.
60814	DryRun *bool `locationName:"dryRun" type:"boolean"`
60815
60816	// The filters.
60817	//
60818	//    * group-name - The name of the placement group.
60819	//
60820	//    * state - The state of the placement group (pending | available | deleting
60821	//    | deleted).
60822	//
60823	//    * strategy - The strategy of the placement group (cluster | spread | partition).
60824	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60825
60826	// The IDs of the placement groups.
60827	GroupIds []*string `locationName:"GroupId" locationNameList:"GroupId" type:"list"`
60828
60829	// The names of the placement groups.
60830	//
60831	// Default: Describes all your placement groups, or only those otherwise specified.
60832	GroupNames []*string `locationName:"groupName" type:"list"`
60833}
60834
60835// String returns the string representation
60836func (s DescribePlacementGroupsInput) String() string {
60837	return awsutil.Prettify(s)
60838}
60839
60840// GoString returns the string representation
60841func (s DescribePlacementGroupsInput) GoString() string {
60842	return s.String()
60843}
60844
60845// SetDryRun sets the DryRun field's value.
60846func (s *DescribePlacementGroupsInput) SetDryRun(v bool) *DescribePlacementGroupsInput {
60847	s.DryRun = &v
60848	return s
60849}
60850
60851// SetFilters sets the Filters field's value.
60852func (s *DescribePlacementGroupsInput) SetFilters(v []*Filter) *DescribePlacementGroupsInput {
60853	s.Filters = v
60854	return s
60855}
60856
60857// SetGroupIds sets the GroupIds field's value.
60858func (s *DescribePlacementGroupsInput) SetGroupIds(v []*string) *DescribePlacementGroupsInput {
60859	s.GroupIds = v
60860	return s
60861}
60862
60863// SetGroupNames sets the GroupNames field's value.
60864func (s *DescribePlacementGroupsInput) SetGroupNames(v []*string) *DescribePlacementGroupsInput {
60865	s.GroupNames = v
60866	return s
60867}
60868
60869type DescribePlacementGroupsOutput struct {
60870	_ struct{} `type:"structure"`
60871
60872	// Information about the placement groups.
60873	PlacementGroups []*PlacementGroup `locationName:"placementGroupSet" locationNameList:"item" type:"list"`
60874}
60875
60876// String returns the string representation
60877func (s DescribePlacementGroupsOutput) String() string {
60878	return awsutil.Prettify(s)
60879}
60880
60881// GoString returns the string representation
60882func (s DescribePlacementGroupsOutput) GoString() string {
60883	return s.String()
60884}
60885
60886// SetPlacementGroups sets the PlacementGroups field's value.
60887func (s *DescribePlacementGroupsOutput) SetPlacementGroups(v []*PlacementGroup) *DescribePlacementGroupsOutput {
60888	s.PlacementGroups = v
60889	return s
60890}
60891
60892type DescribePrefixListsInput struct {
60893	_ struct{} `type:"structure"`
60894
60895	// Checks whether you have the required permissions for the action, without
60896	// actually making the request, and provides an error response. If you have
60897	// the required permissions, the error response is DryRunOperation. Otherwise,
60898	// it is UnauthorizedOperation.
60899	DryRun *bool `type:"boolean"`
60900
60901	// One or more filters.
60902	//
60903	//    * prefix-list-id: The ID of a prefix list.
60904	//
60905	//    * prefix-list-name: The name of a prefix list.
60906	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
60907
60908	// The maximum number of results to return with a single call. To retrieve the
60909	// remaining results, make another call with the returned nextToken value.
60910	MaxResults *int64 `type:"integer"`
60911
60912	// The token for the next page of results.
60913	NextToken *string `type:"string"`
60914
60915	// One or more prefix list IDs.
60916	PrefixListIds []*string `locationName:"PrefixListId" locationNameList:"item" type:"list"`
60917}
60918
60919// String returns the string representation
60920func (s DescribePrefixListsInput) String() string {
60921	return awsutil.Prettify(s)
60922}
60923
60924// GoString returns the string representation
60925func (s DescribePrefixListsInput) GoString() string {
60926	return s.String()
60927}
60928
60929// SetDryRun sets the DryRun field's value.
60930func (s *DescribePrefixListsInput) SetDryRun(v bool) *DescribePrefixListsInput {
60931	s.DryRun = &v
60932	return s
60933}
60934
60935// SetFilters sets the Filters field's value.
60936func (s *DescribePrefixListsInput) SetFilters(v []*Filter) *DescribePrefixListsInput {
60937	s.Filters = v
60938	return s
60939}
60940
60941// SetMaxResults sets the MaxResults field's value.
60942func (s *DescribePrefixListsInput) SetMaxResults(v int64) *DescribePrefixListsInput {
60943	s.MaxResults = &v
60944	return s
60945}
60946
60947// SetNextToken sets the NextToken field's value.
60948func (s *DescribePrefixListsInput) SetNextToken(v string) *DescribePrefixListsInput {
60949	s.NextToken = &v
60950	return s
60951}
60952
60953// SetPrefixListIds sets the PrefixListIds field's value.
60954func (s *DescribePrefixListsInput) SetPrefixListIds(v []*string) *DescribePrefixListsInput {
60955	s.PrefixListIds = v
60956	return s
60957}
60958
60959type DescribePrefixListsOutput struct {
60960	_ struct{} `type:"structure"`
60961
60962	// The token to use to retrieve the next page of results. This value is null
60963	// when there are no more results to return.
60964	NextToken *string `locationName:"nextToken" type:"string"`
60965
60966	// All available prefix lists.
60967	PrefixLists []*PrefixList `locationName:"prefixListSet" locationNameList:"item" type:"list"`
60968}
60969
60970// String returns the string representation
60971func (s DescribePrefixListsOutput) String() string {
60972	return awsutil.Prettify(s)
60973}
60974
60975// GoString returns the string representation
60976func (s DescribePrefixListsOutput) GoString() string {
60977	return s.String()
60978}
60979
60980// SetNextToken sets the NextToken field's value.
60981func (s *DescribePrefixListsOutput) SetNextToken(v string) *DescribePrefixListsOutput {
60982	s.NextToken = &v
60983	return s
60984}
60985
60986// SetPrefixLists sets the PrefixLists field's value.
60987func (s *DescribePrefixListsOutput) SetPrefixLists(v []*PrefixList) *DescribePrefixListsOutput {
60988	s.PrefixLists = v
60989	return s
60990}
60991
60992type DescribePrincipalIdFormatInput struct {
60993	_ struct{} `type:"structure"`
60994
60995	// Checks whether you have the required permissions for the action, without
60996	// actually making the request, and provides an error response. If you have
60997	// the required permissions, the error response is DryRunOperation. Otherwise,
60998	// it is UnauthorizedOperation.
60999	DryRun *bool `type:"boolean"`
61000
61001	// The maximum number of results to return in a single call. To retrieve the
61002	// remaining results, make another call with the returned NextToken value.
61003	MaxResults *int64 `min:"1" type:"integer"`
61004
61005	// The token to request the next page of results.
61006	NextToken *string `type:"string"`
61007
61008	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
61009	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
61010	// | image | import-task | instance | internet-gateway | network-acl | network-acl-association
61011	// | network-interface | network-interface-attachment | prefix-list | reservation
61012	// | route-table | route-table-association | security-group | snapshot | subnet
61013	// | subnet-cidr-block-association | volume | vpc | vpc-cidr-block-association
61014	// | vpc-endpoint | vpc-peering-connection | vpn-connection | vpn-gateway
61015	Resources []*string `locationName:"Resource" locationNameList:"item" type:"list"`
61016}
61017
61018// String returns the string representation
61019func (s DescribePrincipalIdFormatInput) String() string {
61020	return awsutil.Prettify(s)
61021}
61022
61023// GoString returns the string representation
61024func (s DescribePrincipalIdFormatInput) GoString() string {
61025	return s.String()
61026}
61027
61028// Validate inspects the fields of the type to determine if they are valid.
61029func (s *DescribePrincipalIdFormatInput) Validate() error {
61030	invalidParams := request.ErrInvalidParams{Context: "DescribePrincipalIdFormatInput"}
61031	if s.MaxResults != nil && *s.MaxResults < 1 {
61032		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
61033	}
61034
61035	if invalidParams.Len() > 0 {
61036		return invalidParams
61037	}
61038	return nil
61039}
61040
61041// SetDryRun sets the DryRun field's value.
61042func (s *DescribePrincipalIdFormatInput) SetDryRun(v bool) *DescribePrincipalIdFormatInput {
61043	s.DryRun = &v
61044	return s
61045}
61046
61047// SetMaxResults sets the MaxResults field's value.
61048func (s *DescribePrincipalIdFormatInput) SetMaxResults(v int64) *DescribePrincipalIdFormatInput {
61049	s.MaxResults = &v
61050	return s
61051}
61052
61053// SetNextToken sets the NextToken field's value.
61054func (s *DescribePrincipalIdFormatInput) SetNextToken(v string) *DescribePrincipalIdFormatInput {
61055	s.NextToken = &v
61056	return s
61057}
61058
61059// SetResources sets the Resources field's value.
61060func (s *DescribePrincipalIdFormatInput) SetResources(v []*string) *DescribePrincipalIdFormatInput {
61061	s.Resources = v
61062	return s
61063}
61064
61065type DescribePrincipalIdFormatOutput struct {
61066	_ struct{} `type:"structure"`
61067
61068	// The token to use to retrieve the next page of results. This value is null
61069	// when there are no more results to return.
61070	NextToken *string `locationName:"nextToken" type:"string"`
61071
61072	// Information about the ID format settings for the ARN.
61073	Principals []*PrincipalIdFormat `locationName:"principalSet" locationNameList:"item" type:"list"`
61074}
61075
61076// String returns the string representation
61077func (s DescribePrincipalIdFormatOutput) String() string {
61078	return awsutil.Prettify(s)
61079}
61080
61081// GoString returns the string representation
61082func (s DescribePrincipalIdFormatOutput) GoString() string {
61083	return s.String()
61084}
61085
61086// SetNextToken sets the NextToken field's value.
61087func (s *DescribePrincipalIdFormatOutput) SetNextToken(v string) *DescribePrincipalIdFormatOutput {
61088	s.NextToken = &v
61089	return s
61090}
61091
61092// SetPrincipals sets the Principals field's value.
61093func (s *DescribePrincipalIdFormatOutput) SetPrincipals(v []*PrincipalIdFormat) *DescribePrincipalIdFormatOutput {
61094	s.Principals = v
61095	return s
61096}
61097
61098type DescribePublicIpv4PoolsInput struct {
61099	_ struct{} `type:"structure"`
61100
61101	// The maximum number of results to return with a single call. To retrieve the
61102	// remaining results, make another call with the returned nextToken value.
61103	MaxResults *int64 `min:"1" type:"integer"`
61104
61105	// The token for the next page of results.
61106	NextToken *string `type:"string"`
61107
61108	// The IDs of the address pools.
61109	PoolIds []*string `locationName:"PoolId" locationNameList:"item" type:"list"`
61110}
61111
61112// String returns the string representation
61113func (s DescribePublicIpv4PoolsInput) String() string {
61114	return awsutil.Prettify(s)
61115}
61116
61117// GoString returns the string representation
61118func (s DescribePublicIpv4PoolsInput) GoString() string {
61119	return s.String()
61120}
61121
61122// Validate inspects the fields of the type to determine if they are valid.
61123func (s *DescribePublicIpv4PoolsInput) Validate() error {
61124	invalidParams := request.ErrInvalidParams{Context: "DescribePublicIpv4PoolsInput"}
61125	if s.MaxResults != nil && *s.MaxResults < 1 {
61126		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
61127	}
61128
61129	if invalidParams.Len() > 0 {
61130		return invalidParams
61131	}
61132	return nil
61133}
61134
61135// SetMaxResults sets the MaxResults field's value.
61136func (s *DescribePublicIpv4PoolsInput) SetMaxResults(v int64) *DescribePublicIpv4PoolsInput {
61137	s.MaxResults = &v
61138	return s
61139}
61140
61141// SetNextToken sets the NextToken field's value.
61142func (s *DescribePublicIpv4PoolsInput) SetNextToken(v string) *DescribePublicIpv4PoolsInput {
61143	s.NextToken = &v
61144	return s
61145}
61146
61147// SetPoolIds sets the PoolIds field's value.
61148func (s *DescribePublicIpv4PoolsInput) SetPoolIds(v []*string) *DescribePublicIpv4PoolsInput {
61149	s.PoolIds = v
61150	return s
61151}
61152
61153type DescribePublicIpv4PoolsOutput struct {
61154	_ struct{} `type:"structure"`
61155
61156	// The token to use to retrieve the next page of results. This value is null
61157	// when there are no more results to return.
61158	NextToken *string `locationName:"nextToken" type:"string"`
61159
61160	// Information about the address pools.
61161	PublicIpv4Pools []*PublicIpv4Pool `locationName:"publicIpv4PoolSet" locationNameList:"item" type:"list"`
61162}
61163
61164// String returns the string representation
61165func (s DescribePublicIpv4PoolsOutput) String() string {
61166	return awsutil.Prettify(s)
61167}
61168
61169// GoString returns the string representation
61170func (s DescribePublicIpv4PoolsOutput) GoString() string {
61171	return s.String()
61172}
61173
61174// SetNextToken sets the NextToken field's value.
61175func (s *DescribePublicIpv4PoolsOutput) SetNextToken(v string) *DescribePublicIpv4PoolsOutput {
61176	s.NextToken = &v
61177	return s
61178}
61179
61180// SetPublicIpv4Pools sets the PublicIpv4Pools field's value.
61181func (s *DescribePublicIpv4PoolsOutput) SetPublicIpv4Pools(v []*PublicIpv4Pool) *DescribePublicIpv4PoolsOutput {
61182	s.PublicIpv4Pools = v
61183	return s
61184}
61185
61186type DescribeRegionsInput struct {
61187	_ struct{} `type:"structure"`
61188
61189	// Indicates whether to display all Regions, including Regions that are disabled
61190	// for your account.
61191	AllRegions *bool `type:"boolean"`
61192
61193	// Checks whether you have the required permissions for the action, without
61194	// actually making the request, and provides an error response. If you have
61195	// the required permissions, the error response is DryRunOperation. Otherwise,
61196	// it is UnauthorizedOperation.
61197	DryRun *bool `locationName:"dryRun" type:"boolean"`
61198
61199	// The filters.
61200	//
61201	//    * endpoint - The endpoint of the Region (for example, ec2.us-east-1.amazonaws.com).
61202	//
61203	//    * opt-in-status - The opt-in status of the Region (opt-in-not-required
61204	//    | opted-in | not-opted-in).
61205	//
61206	//    * region-name - The name of the Region (for example, us-east-1).
61207	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61208
61209	// The names of the Regions. You can specify any Regions, whether they are enabled
61210	// and disabled for your account.
61211	RegionNames []*string `locationName:"RegionName" locationNameList:"RegionName" type:"list"`
61212}
61213
61214// String returns the string representation
61215func (s DescribeRegionsInput) String() string {
61216	return awsutil.Prettify(s)
61217}
61218
61219// GoString returns the string representation
61220func (s DescribeRegionsInput) GoString() string {
61221	return s.String()
61222}
61223
61224// SetAllRegions sets the AllRegions field's value.
61225func (s *DescribeRegionsInput) SetAllRegions(v bool) *DescribeRegionsInput {
61226	s.AllRegions = &v
61227	return s
61228}
61229
61230// SetDryRun sets the DryRun field's value.
61231func (s *DescribeRegionsInput) SetDryRun(v bool) *DescribeRegionsInput {
61232	s.DryRun = &v
61233	return s
61234}
61235
61236// SetFilters sets the Filters field's value.
61237func (s *DescribeRegionsInput) SetFilters(v []*Filter) *DescribeRegionsInput {
61238	s.Filters = v
61239	return s
61240}
61241
61242// SetRegionNames sets the RegionNames field's value.
61243func (s *DescribeRegionsInput) SetRegionNames(v []*string) *DescribeRegionsInput {
61244	s.RegionNames = v
61245	return s
61246}
61247
61248type DescribeRegionsOutput struct {
61249	_ struct{} `type:"structure"`
61250
61251	// Information about the Regions.
61252	Regions []*Region `locationName:"regionInfo" locationNameList:"item" type:"list"`
61253}
61254
61255// String returns the string representation
61256func (s DescribeRegionsOutput) String() string {
61257	return awsutil.Prettify(s)
61258}
61259
61260// GoString returns the string representation
61261func (s DescribeRegionsOutput) GoString() string {
61262	return s.String()
61263}
61264
61265// SetRegions sets the Regions field's value.
61266func (s *DescribeRegionsOutput) SetRegions(v []*Region) *DescribeRegionsOutput {
61267	s.Regions = v
61268	return s
61269}
61270
61271// Contains the parameters for DescribeReservedInstances.
61272type DescribeReservedInstancesInput struct {
61273	_ struct{} `type:"structure"`
61274
61275	// Checks whether you have the required permissions for the action, without
61276	// actually making the request, and provides an error response. If you have
61277	// the required permissions, the error response is DryRunOperation. Otherwise,
61278	// it is UnauthorizedOperation.
61279	DryRun *bool `locationName:"dryRun" type:"boolean"`
61280
61281	// One or more filters.
61282	//
61283	//    * availability-zone - The Availability Zone where the Reserved Instance
61284	//    can be used.
61285	//
61286	//    * duration - The duration of the Reserved Instance (one year or three
61287	//    years), in seconds (31536000 | 94608000).
61288	//
61289	//    * end - The time when the Reserved Instance expires (for example, 2015-08-07T11:54:42.000Z).
61290	//
61291	//    * fixed-price - The purchase price of the Reserved Instance (for example,
61292	//    9800.0).
61293	//
61294	//    * instance-type - The instance type that is covered by the reservation.
61295	//
61296	//    * scope - The scope of the Reserved Instance (Region or Availability Zone).
61297	//
61298	//    * product-description - The Reserved Instance product platform description.
61299	//    Instances that include (Amazon VPC) in the product platform description
61300	//    will only be displayed to EC2-Classic account holders and are for use
61301	//    with Amazon VPC (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux | SUSE
61302	//    Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise Linux
61303	//    (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL Server
61304	//    Standard | Windows with SQL Server Standard (Amazon VPC) | Windows with
61305	//    SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows with
61306	//    SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon VPC)).
61307	//
61308	//    * reserved-instances-id - The ID of the Reserved Instance.
61309	//
61310	//    * start - The time at which the Reserved Instance purchase request was
61311	//    placed (for example, 2014-08-07T11:54:42.000Z).
61312	//
61313	//    * state - The state of the Reserved Instance (payment-pending | active
61314	//    | payment-failed | retired).
61315	//
61316	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
61317	//    Use the tag key in the filter name and the tag value as the filter value.
61318	//    For example, to find all resources that have a tag with the key Owner
61319	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
61320	//    the filter value.
61321	//
61322	//    * tag-key - The key of a tag assigned to the resource. Use this filter
61323	//    to find all resources assigned a tag with a specific key, regardless of
61324	//    the tag value.
61325	//
61326	//    * usage-price - The usage price of the Reserved Instance, per hour (for
61327	//    example, 0.84).
61328	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61329
61330	// Describes whether the Reserved Instance is Standard or Convertible.
61331	OfferingClass *string `type:"string" enum:"OfferingClassType"`
61332
61333	// The Reserved Instance offering type. If you are using tools that predate
61334	// the 2011-11-01 API version, you only have access to the Medium Utilization
61335	// Reserved Instance offering type.
61336	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
61337
61338	// One or more Reserved Instance IDs.
61339	//
61340	// Default: Describes all your Reserved Instances, or only those otherwise specified.
61341	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list"`
61342}
61343
61344// String returns the string representation
61345func (s DescribeReservedInstancesInput) String() string {
61346	return awsutil.Prettify(s)
61347}
61348
61349// GoString returns the string representation
61350func (s DescribeReservedInstancesInput) GoString() string {
61351	return s.String()
61352}
61353
61354// SetDryRun sets the DryRun field's value.
61355func (s *DescribeReservedInstancesInput) SetDryRun(v bool) *DescribeReservedInstancesInput {
61356	s.DryRun = &v
61357	return s
61358}
61359
61360// SetFilters sets the Filters field's value.
61361func (s *DescribeReservedInstancesInput) SetFilters(v []*Filter) *DescribeReservedInstancesInput {
61362	s.Filters = v
61363	return s
61364}
61365
61366// SetOfferingClass sets the OfferingClass field's value.
61367func (s *DescribeReservedInstancesInput) SetOfferingClass(v string) *DescribeReservedInstancesInput {
61368	s.OfferingClass = &v
61369	return s
61370}
61371
61372// SetOfferingType sets the OfferingType field's value.
61373func (s *DescribeReservedInstancesInput) SetOfferingType(v string) *DescribeReservedInstancesInput {
61374	s.OfferingType = &v
61375	return s
61376}
61377
61378// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
61379func (s *DescribeReservedInstancesInput) SetReservedInstancesIds(v []*string) *DescribeReservedInstancesInput {
61380	s.ReservedInstancesIds = v
61381	return s
61382}
61383
61384// Contains the parameters for DescribeReservedInstancesListings.
61385type DescribeReservedInstancesListingsInput struct {
61386	_ struct{} `type:"structure"`
61387
61388	// One or more filters.
61389	//
61390	//    * reserved-instances-id - The ID of the Reserved Instances.
61391	//
61392	//    * reserved-instances-listing-id - The ID of the Reserved Instances listing.
61393	//
61394	//    * status - The status of the Reserved Instance listing (pending | active
61395	//    | cancelled | closed).
61396	//
61397	//    * status-message - The reason for the status.
61398	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61399
61400	// One or more Reserved Instance IDs.
61401	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
61402
61403	// One or more Reserved Instance listing IDs.
61404	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
61405}
61406
61407// String returns the string representation
61408func (s DescribeReservedInstancesListingsInput) String() string {
61409	return awsutil.Prettify(s)
61410}
61411
61412// GoString returns the string representation
61413func (s DescribeReservedInstancesListingsInput) GoString() string {
61414	return s.String()
61415}
61416
61417// SetFilters sets the Filters field's value.
61418func (s *DescribeReservedInstancesListingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesListingsInput {
61419	s.Filters = v
61420	return s
61421}
61422
61423// SetReservedInstancesId sets the ReservedInstancesId field's value.
61424func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesId(v string) *DescribeReservedInstancesListingsInput {
61425	s.ReservedInstancesId = &v
61426	return s
61427}
61428
61429// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
61430func (s *DescribeReservedInstancesListingsInput) SetReservedInstancesListingId(v string) *DescribeReservedInstancesListingsInput {
61431	s.ReservedInstancesListingId = &v
61432	return s
61433}
61434
61435// Contains the output of DescribeReservedInstancesListings.
61436type DescribeReservedInstancesListingsOutput struct {
61437	_ struct{} `type:"structure"`
61438
61439	// Information about the Reserved Instance listing.
61440	ReservedInstancesListings []*ReservedInstancesListing `locationName:"reservedInstancesListingsSet" locationNameList:"item" type:"list"`
61441}
61442
61443// String returns the string representation
61444func (s DescribeReservedInstancesListingsOutput) String() string {
61445	return awsutil.Prettify(s)
61446}
61447
61448// GoString returns the string representation
61449func (s DescribeReservedInstancesListingsOutput) GoString() string {
61450	return s.String()
61451}
61452
61453// SetReservedInstancesListings sets the ReservedInstancesListings field's value.
61454func (s *DescribeReservedInstancesListingsOutput) SetReservedInstancesListings(v []*ReservedInstancesListing) *DescribeReservedInstancesListingsOutput {
61455	s.ReservedInstancesListings = v
61456	return s
61457}
61458
61459// Contains the parameters for DescribeReservedInstancesModifications.
61460type DescribeReservedInstancesModificationsInput struct {
61461	_ struct{} `type:"structure"`
61462
61463	// One or more filters.
61464	//
61465	//    * client-token - The idempotency token for the modification request.
61466	//
61467	//    * create-date - The time when the modification request was created.
61468	//
61469	//    * effective-date - The time when the modification becomes effective.
61470	//
61471	//    * modification-result.reserved-instances-id - The ID for the Reserved
61472	//    Instances created as part of the modification request. This ID is only
61473	//    available when the status of the modification is fulfilled.
61474	//
61475	//    * modification-result.target-configuration.availability-zone - The Availability
61476	//    Zone for the new Reserved Instances.
61477	//
61478	//    * modification-result.target-configuration.instance-count - The number
61479	//    of new Reserved Instances.
61480	//
61481	//    * modification-result.target-configuration.instance-type - The instance
61482	//    type of the new Reserved Instances.
61483	//
61484	//    * modification-result.target-configuration.platform - The network platform
61485	//    of the new Reserved Instances (EC2-Classic | EC2-VPC).
61486	//
61487	//    * reserved-instances-id - The ID of the Reserved Instances modified.
61488	//
61489	//    * reserved-instances-modification-id - The ID of the modification request.
61490	//
61491	//    * status - The status of the Reserved Instances modification request (processing
61492	//    | fulfilled | failed).
61493	//
61494	//    * status-message - The reason for the status.
61495	//
61496	//    * update-date - The time when the modification request was last updated.
61497	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61498
61499	// The token to retrieve the next page of results.
61500	NextToken *string `locationName:"nextToken" type:"string"`
61501
61502	// IDs for the submitted modification request.
61503	ReservedInstancesModificationIds []*string `locationName:"ReservedInstancesModificationId" locationNameList:"ReservedInstancesModificationId" type:"list"`
61504}
61505
61506// String returns the string representation
61507func (s DescribeReservedInstancesModificationsInput) String() string {
61508	return awsutil.Prettify(s)
61509}
61510
61511// GoString returns the string representation
61512func (s DescribeReservedInstancesModificationsInput) GoString() string {
61513	return s.String()
61514}
61515
61516// SetFilters sets the Filters field's value.
61517func (s *DescribeReservedInstancesModificationsInput) SetFilters(v []*Filter) *DescribeReservedInstancesModificationsInput {
61518	s.Filters = v
61519	return s
61520}
61521
61522// SetNextToken sets the NextToken field's value.
61523func (s *DescribeReservedInstancesModificationsInput) SetNextToken(v string) *DescribeReservedInstancesModificationsInput {
61524	s.NextToken = &v
61525	return s
61526}
61527
61528// SetReservedInstancesModificationIds sets the ReservedInstancesModificationIds field's value.
61529func (s *DescribeReservedInstancesModificationsInput) SetReservedInstancesModificationIds(v []*string) *DescribeReservedInstancesModificationsInput {
61530	s.ReservedInstancesModificationIds = v
61531	return s
61532}
61533
61534// Contains the output of DescribeReservedInstancesModifications.
61535type DescribeReservedInstancesModificationsOutput struct {
61536	_ struct{} `type:"structure"`
61537
61538	// The token to use to retrieve the next page of results. This value is null
61539	// when there are no more results to return.
61540	NextToken *string `locationName:"nextToken" type:"string"`
61541
61542	// The Reserved Instance modification information.
61543	ReservedInstancesModifications []*ReservedInstancesModification `locationName:"reservedInstancesModificationsSet" locationNameList:"item" type:"list"`
61544}
61545
61546// String returns the string representation
61547func (s DescribeReservedInstancesModificationsOutput) String() string {
61548	return awsutil.Prettify(s)
61549}
61550
61551// GoString returns the string representation
61552func (s DescribeReservedInstancesModificationsOutput) GoString() string {
61553	return s.String()
61554}
61555
61556// SetNextToken sets the NextToken field's value.
61557func (s *DescribeReservedInstancesModificationsOutput) SetNextToken(v string) *DescribeReservedInstancesModificationsOutput {
61558	s.NextToken = &v
61559	return s
61560}
61561
61562// SetReservedInstancesModifications sets the ReservedInstancesModifications field's value.
61563func (s *DescribeReservedInstancesModificationsOutput) SetReservedInstancesModifications(v []*ReservedInstancesModification) *DescribeReservedInstancesModificationsOutput {
61564	s.ReservedInstancesModifications = v
61565	return s
61566}
61567
61568// Contains the parameters for DescribeReservedInstancesOfferings.
61569type DescribeReservedInstancesOfferingsInput struct {
61570	_ struct{} `type:"structure"`
61571
61572	// The Availability Zone in which the Reserved Instance can be used.
61573	AvailabilityZone *string `type:"string"`
61574
61575	// Checks whether you have the required permissions for the action, without
61576	// actually making the request, and provides an error response. If you have
61577	// the required permissions, the error response is DryRunOperation. Otherwise,
61578	// it is UnauthorizedOperation.
61579	DryRun *bool `locationName:"dryRun" type:"boolean"`
61580
61581	// One or more filters.
61582	//
61583	//    * availability-zone - The Availability Zone where the Reserved Instance
61584	//    can be used.
61585	//
61586	//    * duration - The duration of the Reserved Instance (for example, one year
61587	//    or three years), in seconds (31536000 | 94608000).
61588	//
61589	//    * fixed-price - The purchase price of the Reserved Instance (for example,
61590	//    9800.0).
61591	//
61592	//    * instance-type - The instance type that is covered by the reservation.
61593	//
61594	//    * marketplace - Set to true to show only Reserved Instance Marketplace
61595	//    offerings. When this filter is not used, which is the default behavior,
61596	//    all offerings from both AWS and the Reserved Instance Marketplace are
61597	//    listed.
61598	//
61599	//    * product-description - The Reserved Instance product platform description.
61600	//    Instances that include (Amazon VPC) in the product platform description
61601	//    will only be displayed to EC2-Classic account holders and are for use
61602	//    with Amazon VPC. (Linux/UNIX | Linux/UNIX (Amazon VPC) | SUSE Linux |
61603	//    SUSE Linux (Amazon VPC) | Red Hat Enterprise Linux | Red Hat Enterprise
61604	//    Linux (Amazon VPC) | Windows | Windows (Amazon VPC) | Windows with SQL
61605	//    Server Standard | Windows with SQL Server Standard (Amazon VPC) | Windows
61606	//    with SQL Server Web | Windows with SQL Server Web (Amazon VPC) | Windows
61607	//    with SQL Server Enterprise | Windows with SQL Server Enterprise (Amazon
61608	//    VPC))
61609	//
61610	//    * reserved-instances-offering-id - The Reserved Instances offering ID.
61611	//
61612	//    * scope - The scope of the Reserved Instance (Availability Zone or Region).
61613	//
61614	//    * usage-price - The usage price of the Reserved Instance, per hour (for
61615	//    example, 0.84).
61616	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61617
61618	// Include Reserved Instance Marketplace offerings in the response.
61619	IncludeMarketplace *bool `type:"boolean"`
61620
61621	// The tenancy of the instances covered by the reservation. A Reserved Instance
61622	// with a tenancy of dedicated is applied to instances that run in a VPC on
61623	// single-tenant hardware (i.e., Dedicated Instances).
61624	//
61625	// Important: The host value cannot be used with this parameter. Use the default
61626	// or dedicated values only.
61627	//
61628	// Default: default
61629	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
61630
61631	// The instance type that the reservation will cover (for example, m1.small).
61632	// For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
61633	// in the Amazon Elastic Compute Cloud User Guide.
61634	InstanceType *string `type:"string" enum:"InstanceType"`
61635
61636	// The maximum duration (in seconds) to filter when searching for offerings.
61637	//
61638	// Default: 94608000 (3 years)
61639	MaxDuration *int64 `type:"long"`
61640
61641	// The maximum number of instances to filter when searching for offerings.
61642	//
61643	// Default: 20
61644	MaxInstanceCount *int64 `type:"integer"`
61645
61646	// The maximum number of results to return for the request in a single page.
61647	// The remaining results of the initial request can be seen by sending another
61648	// request with the returned NextToken value. The maximum is 100.
61649	//
61650	// Default: 100
61651	MaxResults *int64 `locationName:"maxResults" type:"integer"`
61652
61653	// The minimum duration (in seconds) to filter when searching for offerings.
61654	//
61655	// Default: 2592000 (1 month)
61656	MinDuration *int64 `type:"long"`
61657
61658	// The token to retrieve the next page of results.
61659	NextToken *string `locationName:"nextToken" type:"string"`
61660
61661	// The offering class of the Reserved Instance. Can be standard or convertible.
61662	OfferingClass *string `type:"string" enum:"OfferingClassType"`
61663
61664	// The Reserved Instance offering type. If you are using tools that predate
61665	// the 2011-11-01 API version, you only have access to the Medium Utilization
61666	// Reserved Instance offering type.
61667	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
61668
61669	// The Reserved Instance product platform description. Instances that include
61670	// (Amazon VPC) in the description are for use with Amazon VPC.
61671	ProductDescription *string `type:"string" enum:"RIProductDescription"`
61672
61673	// One or more Reserved Instances offering IDs.
61674	ReservedInstancesOfferingIds []*string `locationName:"ReservedInstancesOfferingId" type:"list"`
61675}
61676
61677// String returns the string representation
61678func (s DescribeReservedInstancesOfferingsInput) String() string {
61679	return awsutil.Prettify(s)
61680}
61681
61682// GoString returns the string representation
61683func (s DescribeReservedInstancesOfferingsInput) GoString() string {
61684	return s.String()
61685}
61686
61687// SetAvailabilityZone sets the AvailabilityZone field's value.
61688func (s *DescribeReservedInstancesOfferingsInput) SetAvailabilityZone(v string) *DescribeReservedInstancesOfferingsInput {
61689	s.AvailabilityZone = &v
61690	return s
61691}
61692
61693// SetDryRun sets the DryRun field's value.
61694func (s *DescribeReservedInstancesOfferingsInput) SetDryRun(v bool) *DescribeReservedInstancesOfferingsInput {
61695	s.DryRun = &v
61696	return s
61697}
61698
61699// SetFilters sets the Filters field's value.
61700func (s *DescribeReservedInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedInstancesOfferingsInput {
61701	s.Filters = v
61702	return s
61703}
61704
61705// SetIncludeMarketplace sets the IncludeMarketplace field's value.
61706func (s *DescribeReservedInstancesOfferingsInput) SetIncludeMarketplace(v bool) *DescribeReservedInstancesOfferingsInput {
61707	s.IncludeMarketplace = &v
61708	return s
61709}
61710
61711// SetInstanceTenancy sets the InstanceTenancy field's value.
61712func (s *DescribeReservedInstancesOfferingsInput) SetInstanceTenancy(v string) *DescribeReservedInstancesOfferingsInput {
61713	s.InstanceTenancy = &v
61714	return s
61715}
61716
61717// SetInstanceType sets the InstanceType field's value.
61718func (s *DescribeReservedInstancesOfferingsInput) SetInstanceType(v string) *DescribeReservedInstancesOfferingsInput {
61719	s.InstanceType = &v
61720	return s
61721}
61722
61723// SetMaxDuration sets the MaxDuration field's value.
61724func (s *DescribeReservedInstancesOfferingsInput) SetMaxDuration(v int64) *DescribeReservedInstancesOfferingsInput {
61725	s.MaxDuration = &v
61726	return s
61727}
61728
61729// SetMaxInstanceCount sets the MaxInstanceCount field's value.
61730func (s *DescribeReservedInstancesOfferingsInput) SetMaxInstanceCount(v int64) *DescribeReservedInstancesOfferingsInput {
61731	s.MaxInstanceCount = &v
61732	return s
61733}
61734
61735// SetMaxResults sets the MaxResults field's value.
61736func (s *DescribeReservedInstancesOfferingsInput) SetMaxResults(v int64) *DescribeReservedInstancesOfferingsInput {
61737	s.MaxResults = &v
61738	return s
61739}
61740
61741// SetMinDuration sets the MinDuration field's value.
61742func (s *DescribeReservedInstancesOfferingsInput) SetMinDuration(v int64) *DescribeReservedInstancesOfferingsInput {
61743	s.MinDuration = &v
61744	return s
61745}
61746
61747// SetNextToken sets the NextToken field's value.
61748func (s *DescribeReservedInstancesOfferingsInput) SetNextToken(v string) *DescribeReservedInstancesOfferingsInput {
61749	s.NextToken = &v
61750	return s
61751}
61752
61753// SetOfferingClass sets the OfferingClass field's value.
61754func (s *DescribeReservedInstancesOfferingsInput) SetOfferingClass(v string) *DescribeReservedInstancesOfferingsInput {
61755	s.OfferingClass = &v
61756	return s
61757}
61758
61759// SetOfferingType sets the OfferingType field's value.
61760func (s *DescribeReservedInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedInstancesOfferingsInput {
61761	s.OfferingType = &v
61762	return s
61763}
61764
61765// SetProductDescription sets the ProductDescription field's value.
61766func (s *DescribeReservedInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedInstancesOfferingsInput {
61767	s.ProductDescription = &v
61768	return s
61769}
61770
61771// SetReservedInstancesOfferingIds sets the ReservedInstancesOfferingIds field's value.
61772func (s *DescribeReservedInstancesOfferingsInput) SetReservedInstancesOfferingIds(v []*string) *DescribeReservedInstancesOfferingsInput {
61773	s.ReservedInstancesOfferingIds = v
61774	return s
61775}
61776
61777// Contains the output of DescribeReservedInstancesOfferings.
61778type DescribeReservedInstancesOfferingsOutput struct {
61779	_ struct{} `type:"structure"`
61780
61781	// The token to use to retrieve the next page of results. This value is null
61782	// when there are no more results to return.
61783	NextToken *string `locationName:"nextToken" type:"string"`
61784
61785	// A list of Reserved Instances offerings.
61786	ReservedInstancesOfferings []*ReservedInstancesOffering `locationName:"reservedInstancesOfferingsSet" locationNameList:"item" type:"list"`
61787}
61788
61789// String returns the string representation
61790func (s DescribeReservedInstancesOfferingsOutput) String() string {
61791	return awsutil.Prettify(s)
61792}
61793
61794// GoString returns the string representation
61795func (s DescribeReservedInstancesOfferingsOutput) GoString() string {
61796	return s.String()
61797}
61798
61799// SetNextToken sets the NextToken field's value.
61800func (s *DescribeReservedInstancesOfferingsOutput) SetNextToken(v string) *DescribeReservedInstancesOfferingsOutput {
61801	s.NextToken = &v
61802	return s
61803}
61804
61805// SetReservedInstancesOfferings sets the ReservedInstancesOfferings field's value.
61806func (s *DescribeReservedInstancesOfferingsOutput) SetReservedInstancesOfferings(v []*ReservedInstancesOffering) *DescribeReservedInstancesOfferingsOutput {
61807	s.ReservedInstancesOfferings = v
61808	return s
61809}
61810
61811// Contains the output for DescribeReservedInstances.
61812type DescribeReservedInstancesOutput struct {
61813	_ struct{} `type:"structure"`
61814
61815	// A list of Reserved Instances.
61816	ReservedInstances []*ReservedInstances `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
61817}
61818
61819// String returns the string representation
61820func (s DescribeReservedInstancesOutput) String() string {
61821	return awsutil.Prettify(s)
61822}
61823
61824// GoString returns the string representation
61825func (s DescribeReservedInstancesOutput) GoString() string {
61826	return s.String()
61827}
61828
61829// SetReservedInstances sets the ReservedInstances field's value.
61830func (s *DescribeReservedInstancesOutput) SetReservedInstances(v []*ReservedInstances) *DescribeReservedInstancesOutput {
61831	s.ReservedInstances = v
61832	return s
61833}
61834
61835type DescribeRouteTablesInput struct {
61836	_ struct{} `type:"structure"`
61837
61838	// Checks whether you have the required permissions for the action, without
61839	// actually making the request, and provides an error response. If you have
61840	// the required permissions, the error response is DryRunOperation. Otherwise,
61841	// it is UnauthorizedOperation.
61842	DryRun *bool `locationName:"dryRun" type:"boolean"`
61843
61844	// One or more filters.
61845	//
61846	//    * association.route-table-association-id - The ID of an association ID
61847	//    for the route table.
61848	//
61849	//    * association.route-table-id - The ID of the route table involved in the
61850	//    association.
61851	//
61852	//    * association.subnet-id - The ID of the subnet involved in the association.
61853	//
61854	//    * association.main - Indicates whether the route table is the main route
61855	//    table for the VPC (true | false). Route tables that do not have an association
61856	//    ID are not returned in the response.
61857	//
61858	//    * owner-id - The ID of the AWS account that owns the route table.
61859	//
61860	//    * route-table-id - The ID of the route table.
61861	//
61862	//    * route.destination-cidr-block - The IPv4 CIDR range specified in a route
61863	//    in the table.
61864	//
61865	//    * route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in
61866	//    a route in the route table.
61867	//
61868	//    * route.destination-prefix-list-id - The ID (prefix) of the AWS service
61869	//    specified in a route in the table.
61870	//
61871	//    * route.egress-only-internet-gateway-id - The ID of an egress-only Internet
61872	//    gateway specified in a route in the route table.
61873	//
61874	//    * route.gateway-id - The ID of a gateway specified in a route in the table.
61875	//
61876	//    * route.instance-id - The ID of an instance specified in a route in the
61877	//    table.
61878	//
61879	//    * route.nat-gateway-id - The ID of a NAT gateway.
61880	//
61881	//    * route.transit-gateway-id - The ID of a transit gateway.
61882	//
61883	//    * route.origin - Describes how the route was created. CreateRouteTable
61884	//    indicates that the route was automatically created when the route table
61885	//    was created; CreateRoute indicates that the route was manually added to
61886	//    the route table; EnableVgwRoutePropagation indicates that the route was
61887	//    propagated by route propagation.
61888	//
61889	//    * route.state - The state of a route in the route table (active | blackhole).
61890	//    The blackhole state indicates that the route's target isn't available
61891	//    (for example, the specified gateway isn't attached to the VPC, the specified
61892	//    NAT instance has been terminated, and so on).
61893	//
61894	//    * route.vpc-peering-connection-id - The ID of a VPC peering connection
61895	//    specified in a route in the table.
61896	//
61897	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
61898	//    Use the tag key in the filter name and the tag value as the filter value.
61899	//    For example, to find all resources that have a tag with the key Owner
61900	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
61901	//    the filter value.
61902	//
61903	//    * tag-key - The key of a tag assigned to the resource. Use this filter
61904	//    to find all resources assigned a tag with a specific key, regardless of
61905	//    the tag value.
61906	//
61907	//    * transit-gateway-id - The ID of a transit gateway.
61908	//
61909	//    * vpc-id - The ID of the VPC for the route table.
61910	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
61911
61912	// The maximum number of results to return with a single call. To retrieve the
61913	// remaining results, make another call with the returned nextToken value.
61914	MaxResults *int64 `min:"5" type:"integer"`
61915
61916	// The token for the next page of results.
61917	NextToken *string `type:"string"`
61918
61919	// One or more route table IDs.
61920	//
61921	// Default: Describes all your route tables.
61922	RouteTableIds []*string `locationName:"RouteTableId" locationNameList:"item" type:"list"`
61923}
61924
61925// String returns the string representation
61926func (s DescribeRouteTablesInput) String() string {
61927	return awsutil.Prettify(s)
61928}
61929
61930// GoString returns the string representation
61931func (s DescribeRouteTablesInput) GoString() string {
61932	return s.String()
61933}
61934
61935// Validate inspects the fields of the type to determine if they are valid.
61936func (s *DescribeRouteTablesInput) Validate() error {
61937	invalidParams := request.ErrInvalidParams{Context: "DescribeRouteTablesInput"}
61938	if s.MaxResults != nil && *s.MaxResults < 5 {
61939		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
61940	}
61941
61942	if invalidParams.Len() > 0 {
61943		return invalidParams
61944	}
61945	return nil
61946}
61947
61948// SetDryRun sets the DryRun field's value.
61949func (s *DescribeRouteTablesInput) SetDryRun(v bool) *DescribeRouteTablesInput {
61950	s.DryRun = &v
61951	return s
61952}
61953
61954// SetFilters sets the Filters field's value.
61955func (s *DescribeRouteTablesInput) SetFilters(v []*Filter) *DescribeRouteTablesInput {
61956	s.Filters = v
61957	return s
61958}
61959
61960// SetMaxResults sets the MaxResults field's value.
61961func (s *DescribeRouteTablesInput) SetMaxResults(v int64) *DescribeRouteTablesInput {
61962	s.MaxResults = &v
61963	return s
61964}
61965
61966// SetNextToken sets the NextToken field's value.
61967func (s *DescribeRouteTablesInput) SetNextToken(v string) *DescribeRouteTablesInput {
61968	s.NextToken = &v
61969	return s
61970}
61971
61972// SetRouteTableIds sets the RouteTableIds field's value.
61973func (s *DescribeRouteTablesInput) SetRouteTableIds(v []*string) *DescribeRouteTablesInput {
61974	s.RouteTableIds = v
61975	return s
61976}
61977
61978// Contains the output of DescribeRouteTables.
61979type DescribeRouteTablesOutput struct {
61980	_ struct{} `type:"structure"`
61981
61982	// The token to use to retrieve the next page of results. This value is null
61983	// when there are no more results to return.
61984	NextToken *string `locationName:"nextToken" type:"string"`
61985
61986	// Information about one or more route tables.
61987	RouteTables []*RouteTable `locationName:"routeTableSet" locationNameList:"item" type:"list"`
61988}
61989
61990// String returns the string representation
61991func (s DescribeRouteTablesOutput) String() string {
61992	return awsutil.Prettify(s)
61993}
61994
61995// GoString returns the string representation
61996func (s DescribeRouteTablesOutput) GoString() string {
61997	return s.String()
61998}
61999
62000// SetNextToken sets the NextToken field's value.
62001func (s *DescribeRouteTablesOutput) SetNextToken(v string) *DescribeRouteTablesOutput {
62002	s.NextToken = &v
62003	return s
62004}
62005
62006// SetRouteTables sets the RouteTables field's value.
62007func (s *DescribeRouteTablesOutput) SetRouteTables(v []*RouteTable) *DescribeRouteTablesOutput {
62008	s.RouteTables = v
62009	return s
62010}
62011
62012// Contains the parameters for DescribeScheduledInstanceAvailability.
62013type DescribeScheduledInstanceAvailabilityInput struct {
62014	_ struct{} `type:"structure"`
62015
62016	// Checks whether you have the required permissions for the action, without
62017	// actually making the request, and provides an error response. If you have
62018	// the required permissions, the error response is DryRunOperation. Otherwise,
62019	// it is UnauthorizedOperation.
62020	DryRun *bool `type:"boolean"`
62021
62022	// The filters.
62023	//
62024	//    * availability-zone - The Availability Zone (for example, us-west-2a).
62025	//
62026	//    * instance-type - The instance type (for example, c4.large).
62027	//
62028	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
62029	//
62030	//    * platform - The platform (Linux/UNIX or Windows).
62031	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62032
62033	// The time period for the first schedule to start.
62034	//
62035	// FirstSlotStartTimeRange is a required field
62036	FirstSlotStartTimeRange *SlotDateTimeRangeRequest `type:"structure" required:"true"`
62037
62038	// The maximum number of results to return in a single call. This value can
62039	// be between 5 and 300. The default value is 300. To retrieve the remaining
62040	// results, make another call with the returned NextToken value.
62041	MaxResults *int64 `min:"5" type:"integer"`
62042
62043	// The maximum available duration, in hours. This value must be greater than
62044	// MinSlotDurationInHours and less than 1,720.
62045	MaxSlotDurationInHours *int64 `type:"integer"`
62046
62047	// The minimum available duration, in hours. The minimum required duration is
62048	// 1,200 hours per year. For example, the minimum daily schedule is 4 hours,
62049	// the minimum weekly schedule is 24 hours, and the minimum monthly schedule
62050	// is 100 hours.
62051	MinSlotDurationInHours *int64 `type:"integer"`
62052
62053	// The token for the next set of results.
62054	NextToken *string `type:"string"`
62055
62056	// The schedule recurrence.
62057	//
62058	// Recurrence is a required field
62059	Recurrence *ScheduledInstanceRecurrenceRequest `type:"structure" required:"true"`
62060}
62061
62062// String returns the string representation
62063func (s DescribeScheduledInstanceAvailabilityInput) String() string {
62064	return awsutil.Prettify(s)
62065}
62066
62067// GoString returns the string representation
62068func (s DescribeScheduledInstanceAvailabilityInput) GoString() string {
62069	return s.String()
62070}
62071
62072// Validate inspects the fields of the type to determine if they are valid.
62073func (s *DescribeScheduledInstanceAvailabilityInput) Validate() error {
62074	invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledInstanceAvailabilityInput"}
62075	if s.FirstSlotStartTimeRange == nil {
62076		invalidParams.Add(request.NewErrParamRequired("FirstSlotStartTimeRange"))
62077	}
62078	if s.MaxResults != nil && *s.MaxResults < 5 {
62079		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
62080	}
62081	if s.Recurrence == nil {
62082		invalidParams.Add(request.NewErrParamRequired("Recurrence"))
62083	}
62084	if s.FirstSlotStartTimeRange != nil {
62085		if err := s.FirstSlotStartTimeRange.Validate(); err != nil {
62086			invalidParams.AddNested("FirstSlotStartTimeRange", err.(request.ErrInvalidParams))
62087		}
62088	}
62089
62090	if invalidParams.Len() > 0 {
62091		return invalidParams
62092	}
62093	return nil
62094}
62095
62096// SetDryRun sets the DryRun field's value.
62097func (s *DescribeScheduledInstanceAvailabilityInput) SetDryRun(v bool) *DescribeScheduledInstanceAvailabilityInput {
62098	s.DryRun = &v
62099	return s
62100}
62101
62102// SetFilters sets the Filters field's value.
62103func (s *DescribeScheduledInstanceAvailabilityInput) SetFilters(v []*Filter) *DescribeScheduledInstanceAvailabilityInput {
62104	s.Filters = v
62105	return s
62106}
62107
62108// SetFirstSlotStartTimeRange sets the FirstSlotStartTimeRange field's value.
62109func (s *DescribeScheduledInstanceAvailabilityInput) SetFirstSlotStartTimeRange(v *SlotDateTimeRangeRequest) *DescribeScheduledInstanceAvailabilityInput {
62110	s.FirstSlotStartTimeRange = v
62111	return s
62112}
62113
62114// SetMaxResults sets the MaxResults field's value.
62115func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxResults(v int64) *DescribeScheduledInstanceAvailabilityInput {
62116	s.MaxResults = &v
62117	return s
62118}
62119
62120// SetMaxSlotDurationInHours sets the MaxSlotDurationInHours field's value.
62121func (s *DescribeScheduledInstanceAvailabilityInput) SetMaxSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
62122	s.MaxSlotDurationInHours = &v
62123	return s
62124}
62125
62126// SetMinSlotDurationInHours sets the MinSlotDurationInHours field's value.
62127func (s *DescribeScheduledInstanceAvailabilityInput) SetMinSlotDurationInHours(v int64) *DescribeScheduledInstanceAvailabilityInput {
62128	s.MinSlotDurationInHours = &v
62129	return s
62130}
62131
62132// SetNextToken sets the NextToken field's value.
62133func (s *DescribeScheduledInstanceAvailabilityInput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityInput {
62134	s.NextToken = &v
62135	return s
62136}
62137
62138// SetRecurrence sets the Recurrence field's value.
62139func (s *DescribeScheduledInstanceAvailabilityInput) SetRecurrence(v *ScheduledInstanceRecurrenceRequest) *DescribeScheduledInstanceAvailabilityInput {
62140	s.Recurrence = v
62141	return s
62142}
62143
62144// Contains the output of DescribeScheduledInstanceAvailability.
62145type DescribeScheduledInstanceAvailabilityOutput struct {
62146	_ struct{} `type:"structure"`
62147
62148	// The token required to retrieve the next set of results. This value is null
62149	// when there are no more results to return.
62150	NextToken *string `locationName:"nextToken" type:"string"`
62151
62152	// Information about the available Scheduled Instances.
62153	ScheduledInstanceAvailabilitySet []*ScheduledInstanceAvailability `locationName:"scheduledInstanceAvailabilitySet" locationNameList:"item" type:"list"`
62154}
62155
62156// String returns the string representation
62157func (s DescribeScheduledInstanceAvailabilityOutput) String() string {
62158	return awsutil.Prettify(s)
62159}
62160
62161// GoString returns the string representation
62162func (s DescribeScheduledInstanceAvailabilityOutput) GoString() string {
62163	return s.String()
62164}
62165
62166// SetNextToken sets the NextToken field's value.
62167func (s *DescribeScheduledInstanceAvailabilityOutput) SetNextToken(v string) *DescribeScheduledInstanceAvailabilityOutput {
62168	s.NextToken = &v
62169	return s
62170}
62171
62172// SetScheduledInstanceAvailabilitySet sets the ScheduledInstanceAvailabilitySet field's value.
62173func (s *DescribeScheduledInstanceAvailabilityOutput) SetScheduledInstanceAvailabilitySet(v []*ScheduledInstanceAvailability) *DescribeScheduledInstanceAvailabilityOutput {
62174	s.ScheduledInstanceAvailabilitySet = v
62175	return s
62176}
62177
62178// Contains the parameters for DescribeScheduledInstances.
62179type DescribeScheduledInstancesInput struct {
62180	_ struct{} `type:"structure"`
62181
62182	// Checks whether you have the required permissions for the action, without
62183	// actually making the request, and provides an error response. If you have
62184	// the required permissions, the error response is DryRunOperation. Otherwise,
62185	// it is UnauthorizedOperation.
62186	DryRun *bool `type:"boolean"`
62187
62188	// The filters.
62189	//
62190	//    * availability-zone - The Availability Zone (for example, us-west-2a).
62191	//
62192	//    * instance-type - The instance type (for example, c4.large).
62193	//
62194	//    * network-platform - The network platform (EC2-Classic or EC2-VPC).
62195	//
62196	//    * platform - The platform (Linux/UNIX or Windows).
62197	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62198
62199	// The maximum number of results to return in a single call. This value can
62200	// be between 5 and 300. The default value is 100. To retrieve the remaining
62201	// results, make another call with the returned NextToken value.
62202	MaxResults *int64 `type:"integer"`
62203
62204	// The token for the next set of results.
62205	NextToken *string `type:"string"`
62206
62207	// The Scheduled Instance IDs.
62208	ScheduledInstanceIds []*string `locationName:"ScheduledInstanceId" locationNameList:"ScheduledInstanceId" type:"list"`
62209
62210	// The time period for the first schedule to start.
62211	SlotStartTimeRange *SlotStartTimeRangeRequest `type:"structure"`
62212}
62213
62214// String returns the string representation
62215func (s DescribeScheduledInstancesInput) String() string {
62216	return awsutil.Prettify(s)
62217}
62218
62219// GoString returns the string representation
62220func (s DescribeScheduledInstancesInput) GoString() string {
62221	return s.String()
62222}
62223
62224// SetDryRun sets the DryRun field's value.
62225func (s *DescribeScheduledInstancesInput) SetDryRun(v bool) *DescribeScheduledInstancesInput {
62226	s.DryRun = &v
62227	return s
62228}
62229
62230// SetFilters sets the Filters field's value.
62231func (s *DescribeScheduledInstancesInput) SetFilters(v []*Filter) *DescribeScheduledInstancesInput {
62232	s.Filters = v
62233	return s
62234}
62235
62236// SetMaxResults sets the MaxResults field's value.
62237func (s *DescribeScheduledInstancesInput) SetMaxResults(v int64) *DescribeScheduledInstancesInput {
62238	s.MaxResults = &v
62239	return s
62240}
62241
62242// SetNextToken sets the NextToken field's value.
62243func (s *DescribeScheduledInstancesInput) SetNextToken(v string) *DescribeScheduledInstancesInput {
62244	s.NextToken = &v
62245	return s
62246}
62247
62248// SetScheduledInstanceIds sets the ScheduledInstanceIds field's value.
62249func (s *DescribeScheduledInstancesInput) SetScheduledInstanceIds(v []*string) *DescribeScheduledInstancesInput {
62250	s.ScheduledInstanceIds = v
62251	return s
62252}
62253
62254// SetSlotStartTimeRange sets the SlotStartTimeRange field's value.
62255func (s *DescribeScheduledInstancesInput) SetSlotStartTimeRange(v *SlotStartTimeRangeRequest) *DescribeScheduledInstancesInput {
62256	s.SlotStartTimeRange = v
62257	return s
62258}
62259
62260// Contains the output of DescribeScheduledInstances.
62261type DescribeScheduledInstancesOutput struct {
62262	_ struct{} `type:"structure"`
62263
62264	// The token required to retrieve the next set of results. This value is null
62265	// when there are no more results to return.
62266	NextToken *string `locationName:"nextToken" type:"string"`
62267
62268	// Information about the Scheduled Instances.
62269	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
62270}
62271
62272// String returns the string representation
62273func (s DescribeScheduledInstancesOutput) String() string {
62274	return awsutil.Prettify(s)
62275}
62276
62277// GoString returns the string representation
62278func (s DescribeScheduledInstancesOutput) GoString() string {
62279	return s.String()
62280}
62281
62282// SetNextToken sets the NextToken field's value.
62283func (s *DescribeScheduledInstancesOutput) SetNextToken(v string) *DescribeScheduledInstancesOutput {
62284	s.NextToken = &v
62285	return s
62286}
62287
62288// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
62289func (s *DescribeScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *DescribeScheduledInstancesOutput {
62290	s.ScheduledInstanceSet = v
62291	return s
62292}
62293
62294type DescribeSecurityGroupReferencesInput struct {
62295	_ struct{} `type:"structure"`
62296
62297	// Checks whether you have the required permissions for the action, without
62298	// actually making the request, and provides an error response. If you have
62299	// the required permissions, the error response is DryRunOperation. Otherwise,
62300	// it is UnauthorizedOperation.
62301	DryRun *bool `type:"boolean"`
62302
62303	// The IDs of the security groups in your account.
62304	//
62305	// GroupId is a required field
62306	GroupId []*string `locationNameList:"item" type:"list" required:"true"`
62307}
62308
62309// String returns the string representation
62310func (s DescribeSecurityGroupReferencesInput) String() string {
62311	return awsutil.Prettify(s)
62312}
62313
62314// GoString returns the string representation
62315func (s DescribeSecurityGroupReferencesInput) GoString() string {
62316	return s.String()
62317}
62318
62319// Validate inspects the fields of the type to determine if they are valid.
62320func (s *DescribeSecurityGroupReferencesInput) Validate() error {
62321	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupReferencesInput"}
62322	if s.GroupId == nil {
62323		invalidParams.Add(request.NewErrParamRequired("GroupId"))
62324	}
62325
62326	if invalidParams.Len() > 0 {
62327		return invalidParams
62328	}
62329	return nil
62330}
62331
62332// SetDryRun sets the DryRun field's value.
62333func (s *DescribeSecurityGroupReferencesInput) SetDryRun(v bool) *DescribeSecurityGroupReferencesInput {
62334	s.DryRun = &v
62335	return s
62336}
62337
62338// SetGroupId sets the GroupId field's value.
62339func (s *DescribeSecurityGroupReferencesInput) SetGroupId(v []*string) *DescribeSecurityGroupReferencesInput {
62340	s.GroupId = v
62341	return s
62342}
62343
62344type DescribeSecurityGroupReferencesOutput struct {
62345	_ struct{} `type:"structure"`
62346
62347	// Information about the VPCs with the referencing security groups.
62348	SecurityGroupReferenceSet []*SecurityGroupReference `locationName:"securityGroupReferenceSet" locationNameList:"item" type:"list"`
62349}
62350
62351// String returns the string representation
62352func (s DescribeSecurityGroupReferencesOutput) String() string {
62353	return awsutil.Prettify(s)
62354}
62355
62356// GoString returns the string representation
62357func (s DescribeSecurityGroupReferencesOutput) GoString() string {
62358	return s.String()
62359}
62360
62361// SetSecurityGroupReferenceSet sets the SecurityGroupReferenceSet field's value.
62362func (s *DescribeSecurityGroupReferencesOutput) SetSecurityGroupReferenceSet(v []*SecurityGroupReference) *DescribeSecurityGroupReferencesOutput {
62363	s.SecurityGroupReferenceSet = v
62364	return s
62365}
62366
62367type DescribeSecurityGroupsInput struct {
62368	_ struct{} `type:"structure"`
62369
62370	// Checks whether you have the required permissions for the action, without
62371	// actually making the request, and provides an error response. If you have
62372	// the required permissions, the error response is DryRunOperation. Otherwise,
62373	// it is UnauthorizedOperation.
62374	DryRun *bool `locationName:"dryRun" type:"boolean"`
62375
62376	// The filters. If using multiple filters for rules, the results include security
62377	// groups for which any combination of rules - not necessarily a single rule
62378	// - match all filters.
62379	//
62380	//    * description - The description of the security group.
62381	//
62382	//    * egress.ip-permission.cidr - An IPv4 CIDR block for an outbound security
62383	//    group rule.
62384	//
62385	//    * egress.ip-permission.from-port - For an outbound rule, the start of
62386	//    port range for the TCP and UDP protocols, or an ICMP type number.
62387	//
62388	//    * egress.ip-permission.group-id - The ID of a security group that has
62389	//    been referenced in an outbound security group rule.
62390	//
62391	//    * egress.ip-permission.group-name - The name of a security group that
62392	//    has been referenced in an outbound security group rule.
62393	//
62394	//    * egress.ip-permission.ipv6-cidr - An IPv6 CIDR block for an outbound
62395	//    security group rule.
62396	//
62397	//    * egress.ip-permission.prefix-list-id - The ID (prefix) of the AWS service
62398	//    to which a security group rule allows outbound access.
62399	//
62400	//    * egress.ip-permission.protocol - The IP protocol for an outbound security
62401	//    group rule (tcp | udp | icmp or a protocol number).
62402	//
62403	//    * egress.ip-permission.to-port - For an outbound rule, the end of port
62404	//    range for the TCP and UDP protocols, or an ICMP code.
62405	//
62406	//    * egress.ip-permission.user-id - The ID of an AWS account that has been
62407	//    referenced in an outbound security group rule.
62408	//
62409	//    * group-id - The ID of the security group.
62410	//
62411	//    * group-name - The name of the security group.
62412	//
62413	//    * ip-permission.cidr - An IPv4 CIDR block for an inbound security group
62414	//    rule.
62415	//
62416	//    * ip-permission.from-port - For an inbound rule, the start of port range
62417	//    for the TCP and UDP protocols, or an ICMP type number.
62418	//
62419	//    * ip-permission.group-id - The ID of a security group that has been referenced
62420	//    in an inbound security group rule.
62421	//
62422	//    * ip-permission.group-name - The name of a security group that has been
62423	//    referenced in an inbound security group rule.
62424	//
62425	//    * ip-permission.ipv6-cidr - An IPv6 CIDR block for an inbound security
62426	//    group rule.
62427	//
62428	//    * ip-permission.prefix-list-id - The ID (prefix) of the AWS service from
62429	//    which a security group rule allows inbound access.
62430	//
62431	//    * ip-permission.protocol - The IP protocol for an inbound security group
62432	//    rule (tcp | udp | icmp or a protocol number).
62433	//
62434	//    * ip-permission.to-port - For an inbound rule, the end of port range for
62435	//    the TCP and UDP protocols, or an ICMP code.
62436	//
62437	//    * ip-permission.user-id - The ID of an AWS account that has been referenced
62438	//    in an inbound security group rule.
62439	//
62440	//    * owner-id - The AWS account ID of the owner of the security group.
62441	//
62442	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
62443	//    Use the tag key in the filter name and the tag value as the filter value.
62444	//    For example, to find all resources that have a tag with the key Owner
62445	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
62446	//    the filter value.
62447	//
62448	//    * tag-key - The key of a tag assigned to the resource. Use this filter
62449	//    to find all resources assigned a tag with a specific key, regardless of
62450	//    the tag value.
62451	//
62452	//    * vpc-id - The ID of the VPC specified when the security group was created.
62453	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62454
62455	// The IDs of the security groups. Required for security groups in a nondefault
62456	// VPC.
62457	//
62458	// Default: Describes all your security groups.
62459	GroupIds []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
62460
62461	// [EC2-Classic and default VPC only] The names of the security groups. You
62462	// can specify either the security group name or the security group ID. For
62463	// security groups in a nondefault VPC, use the group-name filter to describe
62464	// security groups by name.
62465	//
62466	// Default: Describes all your security groups.
62467	GroupNames []*string `locationName:"GroupName" locationNameList:"GroupName" type:"list"`
62468
62469	// The maximum number of results to return in a single call. To retrieve the
62470	// remaining results, make another request with the returned NextToken value.
62471	// This value can be between 5 and 1000. If this parameter is not specified,
62472	// then all results are returned.
62473	MaxResults *int64 `min:"5" type:"integer"`
62474
62475	// The token to request the next page of results.
62476	NextToken *string `type:"string"`
62477}
62478
62479// String returns the string representation
62480func (s DescribeSecurityGroupsInput) String() string {
62481	return awsutil.Prettify(s)
62482}
62483
62484// GoString returns the string representation
62485func (s DescribeSecurityGroupsInput) GoString() string {
62486	return s.String()
62487}
62488
62489// Validate inspects the fields of the type to determine if they are valid.
62490func (s *DescribeSecurityGroupsInput) Validate() error {
62491	invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityGroupsInput"}
62492	if s.MaxResults != nil && *s.MaxResults < 5 {
62493		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
62494	}
62495
62496	if invalidParams.Len() > 0 {
62497		return invalidParams
62498	}
62499	return nil
62500}
62501
62502// SetDryRun sets the DryRun field's value.
62503func (s *DescribeSecurityGroupsInput) SetDryRun(v bool) *DescribeSecurityGroupsInput {
62504	s.DryRun = &v
62505	return s
62506}
62507
62508// SetFilters sets the Filters field's value.
62509func (s *DescribeSecurityGroupsInput) SetFilters(v []*Filter) *DescribeSecurityGroupsInput {
62510	s.Filters = v
62511	return s
62512}
62513
62514// SetGroupIds sets the GroupIds field's value.
62515func (s *DescribeSecurityGroupsInput) SetGroupIds(v []*string) *DescribeSecurityGroupsInput {
62516	s.GroupIds = v
62517	return s
62518}
62519
62520// SetGroupNames sets the GroupNames field's value.
62521func (s *DescribeSecurityGroupsInput) SetGroupNames(v []*string) *DescribeSecurityGroupsInput {
62522	s.GroupNames = v
62523	return s
62524}
62525
62526// SetMaxResults sets the MaxResults field's value.
62527func (s *DescribeSecurityGroupsInput) SetMaxResults(v int64) *DescribeSecurityGroupsInput {
62528	s.MaxResults = &v
62529	return s
62530}
62531
62532// SetNextToken sets the NextToken field's value.
62533func (s *DescribeSecurityGroupsInput) SetNextToken(v string) *DescribeSecurityGroupsInput {
62534	s.NextToken = &v
62535	return s
62536}
62537
62538type DescribeSecurityGroupsOutput struct {
62539	_ struct{} `type:"structure"`
62540
62541	// The token to use to retrieve the next page of results. This value is null
62542	// when there are no more results to return.
62543	NextToken *string `locationName:"nextToken" type:"string"`
62544
62545	// Information about the security groups.
62546	SecurityGroups []*SecurityGroup `locationName:"securityGroupInfo" locationNameList:"item" type:"list"`
62547}
62548
62549// String returns the string representation
62550func (s DescribeSecurityGroupsOutput) String() string {
62551	return awsutil.Prettify(s)
62552}
62553
62554// GoString returns the string representation
62555func (s DescribeSecurityGroupsOutput) GoString() string {
62556	return s.String()
62557}
62558
62559// SetNextToken sets the NextToken field's value.
62560func (s *DescribeSecurityGroupsOutput) SetNextToken(v string) *DescribeSecurityGroupsOutput {
62561	s.NextToken = &v
62562	return s
62563}
62564
62565// SetSecurityGroups sets the SecurityGroups field's value.
62566func (s *DescribeSecurityGroupsOutput) SetSecurityGroups(v []*SecurityGroup) *DescribeSecurityGroupsOutput {
62567	s.SecurityGroups = v
62568	return s
62569}
62570
62571type DescribeSnapshotAttributeInput struct {
62572	_ struct{} `type:"structure"`
62573
62574	// The snapshot attribute you would like to view.
62575	//
62576	// Attribute is a required field
62577	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
62578
62579	// Checks whether you have the required permissions for the action, without
62580	// actually making the request, and provides an error response. If you have
62581	// the required permissions, the error response is DryRunOperation. Otherwise,
62582	// it is UnauthorizedOperation.
62583	DryRun *bool `locationName:"dryRun" type:"boolean"`
62584
62585	// The ID of the EBS snapshot.
62586	//
62587	// SnapshotId is a required field
62588	SnapshotId *string `type:"string" required:"true"`
62589}
62590
62591// String returns the string representation
62592func (s DescribeSnapshotAttributeInput) String() string {
62593	return awsutil.Prettify(s)
62594}
62595
62596// GoString returns the string representation
62597func (s DescribeSnapshotAttributeInput) GoString() string {
62598	return s.String()
62599}
62600
62601// Validate inspects the fields of the type to determine if they are valid.
62602func (s *DescribeSnapshotAttributeInput) Validate() error {
62603	invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotAttributeInput"}
62604	if s.Attribute == nil {
62605		invalidParams.Add(request.NewErrParamRequired("Attribute"))
62606	}
62607	if s.SnapshotId == nil {
62608		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
62609	}
62610
62611	if invalidParams.Len() > 0 {
62612		return invalidParams
62613	}
62614	return nil
62615}
62616
62617// SetAttribute sets the Attribute field's value.
62618func (s *DescribeSnapshotAttributeInput) SetAttribute(v string) *DescribeSnapshotAttributeInput {
62619	s.Attribute = &v
62620	return s
62621}
62622
62623// SetDryRun sets the DryRun field's value.
62624func (s *DescribeSnapshotAttributeInput) SetDryRun(v bool) *DescribeSnapshotAttributeInput {
62625	s.DryRun = &v
62626	return s
62627}
62628
62629// SetSnapshotId sets the SnapshotId field's value.
62630func (s *DescribeSnapshotAttributeInput) SetSnapshotId(v string) *DescribeSnapshotAttributeInput {
62631	s.SnapshotId = &v
62632	return s
62633}
62634
62635type DescribeSnapshotAttributeOutput struct {
62636	_ struct{} `type:"structure"`
62637
62638	// The users and groups that have the permissions for creating volumes from
62639	// the snapshot.
62640	CreateVolumePermissions []*CreateVolumePermission `locationName:"createVolumePermission" locationNameList:"item" type:"list"`
62641
62642	// The product codes.
62643	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
62644
62645	// The ID of the EBS snapshot.
62646	SnapshotId *string `locationName:"snapshotId" type:"string"`
62647}
62648
62649// String returns the string representation
62650func (s DescribeSnapshotAttributeOutput) String() string {
62651	return awsutil.Prettify(s)
62652}
62653
62654// GoString returns the string representation
62655func (s DescribeSnapshotAttributeOutput) GoString() string {
62656	return s.String()
62657}
62658
62659// SetCreateVolumePermissions sets the CreateVolumePermissions field's value.
62660func (s *DescribeSnapshotAttributeOutput) SetCreateVolumePermissions(v []*CreateVolumePermission) *DescribeSnapshotAttributeOutput {
62661	s.CreateVolumePermissions = v
62662	return s
62663}
62664
62665// SetProductCodes sets the ProductCodes field's value.
62666func (s *DescribeSnapshotAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeSnapshotAttributeOutput {
62667	s.ProductCodes = v
62668	return s
62669}
62670
62671// SetSnapshotId sets the SnapshotId field's value.
62672func (s *DescribeSnapshotAttributeOutput) SetSnapshotId(v string) *DescribeSnapshotAttributeOutput {
62673	s.SnapshotId = &v
62674	return s
62675}
62676
62677type DescribeSnapshotsInput struct {
62678	_ struct{} `type:"structure"`
62679
62680	// Checks whether you have the required permissions for the action, without
62681	// actually making the request, and provides an error response. If you have
62682	// the required permissions, the error response is DryRunOperation. Otherwise,
62683	// it is UnauthorizedOperation.
62684	DryRun *bool `locationName:"dryRun" type:"boolean"`
62685
62686	// The filters.
62687	//
62688	//    * description - A description of the snapshot.
62689	//
62690	//    * encrypted - Indicates whether the snapshot is encrypted (true | false)
62691	//
62692	//    * owner-alias - Value from an Amazon-maintained list (amazon | self |
62693	//    all | aws-marketplace | microsoft) of snapshot owners. Not to be confused
62694	//    with the user-configured AWS account alias, which is set from the IAM
62695	//    console.
62696	//
62697	//    * owner-id - The ID of the AWS account that owns the snapshot.
62698	//
62699	//    * progress - The progress of the snapshot, as a percentage (for example,
62700	//    80%).
62701	//
62702	//    * snapshot-id - The snapshot ID.
62703	//
62704	//    * start-time - The time stamp when the snapshot was initiated.
62705	//
62706	//    * status - The status of the snapshot (pending | completed | error).
62707	//
62708	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
62709	//    Use the tag key in the filter name and the tag value as the filter value.
62710	//    For example, to find all resources that have a tag with the key Owner
62711	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
62712	//    the filter value.
62713	//
62714	//    * tag-key - The key of a tag assigned to the resource. Use this filter
62715	//    to find all resources assigned a tag with a specific key, regardless of
62716	//    the tag value.
62717	//
62718	//    * volume-id - The ID of the volume the snapshot is for.
62719	//
62720	//    * volume-size - The size of the volume, in GiB.
62721	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
62722
62723	// The maximum number of snapshot results returned by DescribeSnapshots in paginated
62724	// output. When this parameter is used, DescribeSnapshots only returns MaxResults
62725	// results in a single page along with a NextToken response element. The remaining
62726	// results of the initial request can be seen by sending another DescribeSnapshots
62727	// request with the returned NextToken value. This value can be between 5 and
62728	// 1000; if MaxResults is given a value larger than 1000, only 1000 results
62729	// are returned. If this parameter is not used, then DescribeSnapshots returns
62730	// all results. You cannot specify this parameter and the snapshot IDs parameter
62731	// in the same request.
62732	MaxResults *int64 `type:"integer"`
62733
62734	// The NextToken value returned from a previous paginated DescribeSnapshots
62735	// request where MaxResults was used and the results exceeded the value of that
62736	// parameter. Pagination continues from the end of the previous results that
62737	// returned the NextToken value. This value is null when there are no more results
62738	// to return.
62739	NextToken *string `type:"string"`
62740
62741	// Describes the snapshots owned by these owners.
62742	OwnerIds []*string `locationName:"Owner" locationNameList:"Owner" type:"list"`
62743
62744	// The IDs of the AWS accounts that can create volumes from the snapshot.
62745	RestorableByUserIds []*string `locationName:"RestorableBy" type:"list"`
62746
62747	// The snapshot IDs.
62748	//
62749	// Default: Describes the snapshots for which you have create volume permissions.
62750	SnapshotIds []*string `locationName:"SnapshotId" locationNameList:"SnapshotId" type:"list"`
62751}
62752
62753// String returns the string representation
62754func (s DescribeSnapshotsInput) String() string {
62755	return awsutil.Prettify(s)
62756}
62757
62758// GoString returns the string representation
62759func (s DescribeSnapshotsInput) GoString() string {
62760	return s.String()
62761}
62762
62763// SetDryRun sets the DryRun field's value.
62764func (s *DescribeSnapshotsInput) SetDryRun(v bool) *DescribeSnapshotsInput {
62765	s.DryRun = &v
62766	return s
62767}
62768
62769// SetFilters sets the Filters field's value.
62770func (s *DescribeSnapshotsInput) SetFilters(v []*Filter) *DescribeSnapshotsInput {
62771	s.Filters = v
62772	return s
62773}
62774
62775// SetMaxResults sets the MaxResults field's value.
62776func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput {
62777	s.MaxResults = &v
62778	return s
62779}
62780
62781// SetNextToken sets the NextToken field's value.
62782func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput {
62783	s.NextToken = &v
62784	return s
62785}
62786
62787// SetOwnerIds sets the OwnerIds field's value.
62788func (s *DescribeSnapshotsInput) SetOwnerIds(v []*string) *DescribeSnapshotsInput {
62789	s.OwnerIds = v
62790	return s
62791}
62792
62793// SetRestorableByUserIds sets the RestorableByUserIds field's value.
62794func (s *DescribeSnapshotsInput) SetRestorableByUserIds(v []*string) *DescribeSnapshotsInput {
62795	s.RestorableByUserIds = v
62796	return s
62797}
62798
62799// SetSnapshotIds sets the SnapshotIds field's value.
62800func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput {
62801	s.SnapshotIds = v
62802	return s
62803}
62804
62805type DescribeSnapshotsOutput struct {
62806	_ struct{} `type:"structure"`
62807
62808	// The NextToken value to include in a future DescribeSnapshots request. When
62809	// the results of a DescribeSnapshots request exceed MaxResults, this value
62810	// can be used to retrieve the next page of results. This value is null when
62811	// there are no more results to return.
62812	NextToken *string `locationName:"nextToken" type:"string"`
62813
62814	// Information about the snapshots.
62815	Snapshots []*Snapshot `locationName:"snapshotSet" locationNameList:"item" type:"list"`
62816}
62817
62818// String returns the string representation
62819func (s DescribeSnapshotsOutput) String() string {
62820	return awsutil.Prettify(s)
62821}
62822
62823// GoString returns the string representation
62824func (s DescribeSnapshotsOutput) GoString() string {
62825	return s.String()
62826}
62827
62828// SetNextToken sets the NextToken field's value.
62829func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput {
62830	s.NextToken = &v
62831	return s
62832}
62833
62834// SetSnapshots sets the Snapshots field's value.
62835func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput {
62836	s.Snapshots = v
62837	return s
62838}
62839
62840// Contains the parameters for DescribeSpotDatafeedSubscription.
62841type DescribeSpotDatafeedSubscriptionInput struct {
62842	_ struct{} `type:"structure"`
62843
62844	// Checks whether you have the required permissions for the action, without
62845	// actually making the request, and provides an error response. If you have
62846	// the required permissions, the error response is DryRunOperation. Otherwise,
62847	// it is UnauthorizedOperation.
62848	DryRun *bool `locationName:"dryRun" type:"boolean"`
62849}
62850
62851// String returns the string representation
62852func (s DescribeSpotDatafeedSubscriptionInput) String() string {
62853	return awsutil.Prettify(s)
62854}
62855
62856// GoString returns the string representation
62857func (s DescribeSpotDatafeedSubscriptionInput) GoString() string {
62858	return s.String()
62859}
62860
62861// SetDryRun sets the DryRun field's value.
62862func (s *DescribeSpotDatafeedSubscriptionInput) SetDryRun(v bool) *DescribeSpotDatafeedSubscriptionInput {
62863	s.DryRun = &v
62864	return s
62865}
62866
62867// Contains the output of DescribeSpotDatafeedSubscription.
62868type DescribeSpotDatafeedSubscriptionOutput struct {
62869	_ struct{} `type:"structure"`
62870
62871	// The Spot Instance data feed subscription.
62872	SpotDatafeedSubscription *SpotDatafeedSubscription `locationName:"spotDatafeedSubscription" type:"structure"`
62873}
62874
62875// String returns the string representation
62876func (s DescribeSpotDatafeedSubscriptionOutput) String() string {
62877	return awsutil.Prettify(s)
62878}
62879
62880// GoString returns the string representation
62881func (s DescribeSpotDatafeedSubscriptionOutput) GoString() string {
62882	return s.String()
62883}
62884
62885// SetSpotDatafeedSubscription sets the SpotDatafeedSubscription field's value.
62886func (s *DescribeSpotDatafeedSubscriptionOutput) SetSpotDatafeedSubscription(v *SpotDatafeedSubscription) *DescribeSpotDatafeedSubscriptionOutput {
62887	s.SpotDatafeedSubscription = v
62888	return s
62889}
62890
62891// Contains the parameters for DescribeSpotFleetInstances.
62892type DescribeSpotFleetInstancesInput struct {
62893	_ struct{} `type:"structure"`
62894
62895	// Checks whether you have the required permissions for the action, without
62896	// actually making the request, and provides an error response. If you have
62897	// the required permissions, the error response is DryRunOperation. Otherwise,
62898	// it is UnauthorizedOperation.
62899	DryRun *bool `locationName:"dryRun" type:"boolean"`
62900
62901	// The maximum number of results to return in a single call. Specify a value
62902	// between 1 and 1000. The default value is 1000. To retrieve the remaining
62903	// results, make another call with the returned NextToken value.
62904	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
62905
62906	// The token for the next set of results.
62907	NextToken *string `locationName:"nextToken" type:"string"`
62908
62909	// The ID of the Spot Fleet request.
62910	//
62911	// SpotFleetRequestId is a required field
62912	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
62913}
62914
62915// String returns the string representation
62916func (s DescribeSpotFleetInstancesInput) String() string {
62917	return awsutil.Prettify(s)
62918}
62919
62920// GoString returns the string representation
62921func (s DescribeSpotFleetInstancesInput) GoString() string {
62922	return s.String()
62923}
62924
62925// Validate inspects the fields of the type to determine if they are valid.
62926func (s *DescribeSpotFleetInstancesInput) Validate() error {
62927	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetInstancesInput"}
62928	if s.MaxResults != nil && *s.MaxResults < 1 {
62929		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
62930	}
62931	if s.SpotFleetRequestId == nil {
62932		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
62933	}
62934
62935	if invalidParams.Len() > 0 {
62936		return invalidParams
62937	}
62938	return nil
62939}
62940
62941// SetDryRun sets the DryRun field's value.
62942func (s *DescribeSpotFleetInstancesInput) SetDryRun(v bool) *DescribeSpotFleetInstancesInput {
62943	s.DryRun = &v
62944	return s
62945}
62946
62947// SetMaxResults sets the MaxResults field's value.
62948func (s *DescribeSpotFleetInstancesInput) SetMaxResults(v int64) *DescribeSpotFleetInstancesInput {
62949	s.MaxResults = &v
62950	return s
62951}
62952
62953// SetNextToken sets the NextToken field's value.
62954func (s *DescribeSpotFleetInstancesInput) SetNextToken(v string) *DescribeSpotFleetInstancesInput {
62955	s.NextToken = &v
62956	return s
62957}
62958
62959// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
62960func (s *DescribeSpotFleetInstancesInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesInput {
62961	s.SpotFleetRequestId = &v
62962	return s
62963}
62964
62965// Contains the output of DescribeSpotFleetInstances.
62966type DescribeSpotFleetInstancesOutput struct {
62967	_ struct{} `type:"structure"`
62968
62969	// The running instances. This list is refreshed periodically and might be out
62970	// of date.
62971	ActiveInstances []*ActiveInstance `locationName:"activeInstanceSet" locationNameList:"item" type:"list"`
62972
62973	// The token required to retrieve the next set of results. This value is null
62974	// when there are no more results to return.
62975	NextToken *string `locationName:"nextToken" type:"string"`
62976
62977	// The ID of the Spot Fleet request.
62978	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
62979}
62980
62981// String returns the string representation
62982func (s DescribeSpotFleetInstancesOutput) String() string {
62983	return awsutil.Prettify(s)
62984}
62985
62986// GoString returns the string representation
62987func (s DescribeSpotFleetInstancesOutput) GoString() string {
62988	return s.String()
62989}
62990
62991// SetActiveInstances sets the ActiveInstances field's value.
62992func (s *DescribeSpotFleetInstancesOutput) SetActiveInstances(v []*ActiveInstance) *DescribeSpotFleetInstancesOutput {
62993	s.ActiveInstances = v
62994	return s
62995}
62996
62997// SetNextToken sets the NextToken field's value.
62998func (s *DescribeSpotFleetInstancesOutput) SetNextToken(v string) *DescribeSpotFleetInstancesOutput {
62999	s.NextToken = &v
63000	return s
63001}
63002
63003// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
63004func (s *DescribeSpotFleetInstancesOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetInstancesOutput {
63005	s.SpotFleetRequestId = &v
63006	return s
63007}
63008
63009// Contains the parameters for DescribeSpotFleetRequestHistory.
63010type DescribeSpotFleetRequestHistoryInput struct {
63011	_ struct{} `type:"structure"`
63012
63013	// Checks whether you have the required permissions for the action, without
63014	// actually making the request, and provides an error response. If you have
63015	// the required permissions, the error response is DryRunOperation. Otherwise,
63016	// it is UnauthorizedOperation.
63017	DryRun *bool `locationName:"dryRun" type:"boolean"`
63018
63019	// The type of events to describe. By default, all events are described.
63020	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
63021
63022	// The maximum number of results to return in a single call. Specify a value
63023	// between 1 and 1000. The default value is 1000. To retrieve the remaining
63024	// results, make another call with the returned NextToken value.
63025	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
63026
63027	// The token for the next set of results.
63028	NextToken *string `locationName:"nextToken" type:"string"`
63029
63030	// The ID of the Spot Fleet request.
63031	//
63032	// SpotFleetRequestId is a required field
63033	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
63034
63035	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
63036	//
63037	// StartTime is a required field
63038	StartTime *time.Time `locationName:"startTime" type:"timestamp" required:"true"`
63039}
63040
63041// String returns the string representation
63042func (s DescribeSpotFleetRequestHistoryInput) String() string {
63043	return awsutil.Prettify(s)
63044}
63045
63046// GoString returns the string representation
63047func (s DescribeSpotFleetRequestHistoryInput) GoString() string {
63048	return s.String()
63049}
63050
63051// Validate inspects the fields of the type to determine if they are valid.
63052func (s *DescribeSpotFleetRequestHistoryInput) Validate() error {
63053	invalidParams := request.ErrInvalidParams{Context: "DescribeSpotFleetRequestHistoryInput"}
63054	if s.MaxResults != nil && *s.MaxResults < 1 {
63055		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
63056	}
63057	if s.SpotFleetRequestId == nil {
63058		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
63059	}
63060	if s.StartTime == nil {
63061		invalidParams.Add(request.NewErrParamRequired("StartTime"))
63062	}
63063
63064	if invalidParams.Len() > 0 {
63065		return invalidParams
63066	}
63067	return nil
63068}
63069
63070// SetDryRun sets the DryRun field's value.
63071func (s *DescribeSpotFleetRequestHistoryInput) SetDryRun(v bool) *DescribeSpotFleetRequestHistoryInput {
63072	s.DryRun = &v
63073	return s
63074}
63075
63076// SetEventType sets the EventType field's value.
63077func (s *DescribeSpotFleetRequestHistoryInput) SetEventType(v string) *DescribeSpotFleetRequestHistoryInput {
63078	s.EventType = &v
63079	return s
63080}
63081
63082// SetMaxResults sets the MaxResults field's value.
63083func (s *DescribeSpotFleetRequestHistoryInput) SetMaxResults(v int64) *DescribeSpotFleetRequestHistoryInput {
63084	s.MaxResults = &v
63085	return s
63086}
63087
63088// SetNextToken sets the NextToken field's value.
63089func (s *DescribeSpotFleetRequestHistoryInput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryInput {
63090	s.NextToken = &v
63091	return s
63092}
63093
63094// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
63095func (s *DescribeSpotFleetRequestHistoryInput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryInput {
63096	s.SpotFleetRequestId = &v
63097	return s
63098}
63099
63100// SetStartTime sets the StartTime field's value.
63101func (s *DescribeSpotFleetRequestHistoryInput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryInput {
63102	s.StartTime = &v
63103	return s
63104}
63105
63106// Contains the output of DescribeSpotFleetRequestHistory.
63107type DescribeSpotFleetRequestHistoryOutput struct {
63108	_ struct{} `type:"structure"`
63109
63110	// Information about the events in the history of the Spot Fleet request.
63111	HistoryRecords []*HistoryRecord `locationName:"historyRecordSet" locationNameList:"item" type:"list"`
63112
63113	// The last date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
63114	// All records up to this time were retrieved.
63115	//
63116	// If nextToken indicates that there are more results, this value is not present.
63117	LastEvaluatedTime *time.Time `locationName:"lastEvaluatedTime" type:"timestamp"`
63118
63119	// The token required to retrieve the next set of results. This value is null
63120	// when there are no more results to return.
63121	NextToken *string `locationName:"nextToken" type:"string"`
63122
63123	// The ID of the Spot Fleet request.
63124	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
63125
63126	// The starting date and time for the events, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
63127	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
63128}
63129
63130// String returns the string representation
63131func (s DescribeSpotFleetRequestHistoryOutput) String() string {
63132	return awsutil.Prettify(s)
63133}
63134
63135// GoString returns the string representation
63136func (s DescribeSpotFleetRequestHistoryOutput) GoString() string {
63137	return s.String()
63138}
63139
63140// SetHistoryRecords sets the HistoryRecords field's value.
63141func (s *DescribeSpotFleetRequestHistoryOutput) SetHistoryRecords(v []*HistoryRecord) *DescribeSpotFleetRequestHistoryOutput {
63142	s.HistoryRecords = v
63143	return s
63144}
63145
63146// SetLastEvaluatedTime sets the LastEvaluatedTime field's value.
63147func (s *DescribeSpotFleetRequestHistoryOutput) SetLastEvaluatedTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
63148	s.LastEvaluatedTime = &v
63149	return s
63150}
63151
63152// SetNextToken sets the NextToken field's value.
63153func (s *DescribeSpotFleetRequestHistoryOutput) SetNextToken(v string) *DescribeSpotFleetRequestHistoryOutput {
63154	s.NextToken = &v
63155	return s
63156}
63157
63158// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
63159func (s *DescribeSpotFleetRequestHistoryOutput) SetSpotFleetRequestId(v string) *DescribeSpotFleetRequestHistoryOutput {
63160	s.SpotFleetRequestId = &v
63161	return s
63162}
63163
63164// SetStartTime sets the StartTime field's value.
63165func (s *DescribeSpotFleetRequestHistoryOutput) SetStartTime(v time.Time) *DescribeSpotFleetRequestHistoryOutput {
63166	s.StartTime = &v
63167	return s
63168}
63169
63170// Contains the parameters for DescribeSpotFleetRequests.
63171type DescribeSpotFleetRequestsInput struct {
63172	_ struct{} `type:"structure"`
63173
63174	// Checks whether you have the required permissions for the action, without
63175	// actually making the request, and provides an error response. If you have
63176	// the required permissions, the error response is DryRunOperation. Otherwise,
63177	// it is UnauthorizedOperation.
63178	DryRun *bool `locationName:"dryRun" type:"boolean"`
63179
63180	// The maximum number of results to return in a single call. Specify a value
63181	// between 1 and 1000. The default value is 1000. To retrieve the remaining
63182	// results, make another call with the returned NextToken value.
63183	MaxResults *int64 `locationName:"maxResults" type:"integer"`
63184
63185	// The token for the next set of results.
63186	NextToken *string `locationName:"nextToken" type:"string"`
63187
63188	// The IDs of the Spot Fleet requests.
63189	SpotFleetRequestIds []*string `locationName:"spotFleetRequestId" locationNameList:"item" type:"list"`
63190}
63191
63192// String returns the string representation
63193func (s DescribeSpotFleetRequestsInput) String() string {
63194	return awsutil.Prettify(s)
63195}
63196
63197// GoString returns the string representation
63198func (s DescribeSpotFleetRequestsInput) GoString() string {
63199	return s.String()
63200}
63201
63202// SetDryRun sets the DryRun field's value.
63203func (s *DescribeSpotFleetRequestsInput) SetDryRun(v bool) *DescribeSpotFleetRequestsInput {
63204	s.DryRun = &v
63205	return s
63206}
63207
63208// SetMaxResults sets the MaxResults field's value.
63209func (s *DescribeSpotFleetRequestsInput) SetMaxResults(v int64) *DescribeSpotFleetRequestsInput {
63210	s.MaxResults = &v
63211	return s
63212}
63213
63214// SetNextToken sets the NextToken field's value.
63215func (s *DescribeSpotFleetRequestsInput) SetNextToken(v string) *DescribeSpotFleetRequestsInput {
63216	s.NextToken = &v
63217	return s
63218}
63219
63220// SetSpotFleetRequestIds sets the SpotFleetRequestIds field's value.
63221func (s *DescribeSpotFleetRequestsInput) SetSpotFleetRequestIds(v []*string) *DescribeSpotFleetRequestsInput {
63222	s.SpotFleetRequestIds = v
63223	return s
63224}
63225
63226// Contains the output of DescribeSpotFleetRequests.
63227type DescribeSpotFleetRequestsOutput struct {
63228	_ struct{} `type:"structure"`
63229
63230	// The token required to retrieve the next set of results. This value is null
63231	// when there are no more results to return.
63232	NextToken *string `locationName:"nextToken" type:"string"`
63233
63234	// Information about the configuration of your Spot Fleet.
63235	SpotFleetRequestConfigs []*SpotFleetRequestConfig `locationName:"spotFleetRequestConfigSet" locationNameList:"item" type:"list"`
63236}
63237
63238// String returns the string representation
63239func (s DescribeSpotFleetRequestsOutput) String() string {
63240	return awsutil.Prettify(s)
63241}
63242
63243// GoString returns the string representation
63244func (s DescribeSpotFleetRequestsOutput) GoString() string {
63245	return s.String()
63246}
63247
63248// SetNextToken sets the NextToken field's value.
63249func (s *DescribeSpotFleetRequestsOutput) SetNextToken(v string) *DescribeSpotFleetRequestsOutput {
63250	s.NextToken = &v
63251	return s
63252}
63253
63254// SetSpotFleetRequestConfigs sets the SpotFleetRequestConfigs field's value.
63255func (s *DescribeSpotFleetRequestsOutput) SetSpotFleetRequestConfigs(v []*SpotFleetRequestConfig) *DescribeSpotFleetRequestsOutput {
63256	s.SpotFleetRequestConfigs = v
63257	return s
63258}
63259
63260// Contains the parameters for DescribeSpotInstanceRequests.
63261type DescribeSpotInstanceRequestsInput struct {
63262	_ struct{} `type:"structure"`
63263
63264	// Checks whether you have the required permissions for the action, without
63265	// actually making the request, and provides an error response. If you have
63266	// the required permissions, the error response is DryRunOperation. Otherwise,
63267	// it is UnauthorizedOperation.
63268	DryRun *bool `locationName:"dryRun" type:"boolean"`
63269
63270	// One or more filters.
63271	//
63272	//    * availability-zone-group - The Availability Zone group.
63273	//
63274	//    * create-time - The time stamp when the Spot Instance request was created.
63275	//
63276	//    * fault-code - The fault code related to the request.
63277	//
63278	//    * fault-message - The fault message related to the request.
63279	//
63280	//    * instance-id - The ID of the instance that fulfilled the request.
63281	//
63282	//    * launch-group - The Spot Instance launch group.
63283	//
63284	//    * launch.block-device-mapping.delete-on-termination - Indicates whether
63285	//    the EBS volume is deleted on instance termination.
63286	//
63287	//    * launch.block-device-mapping.device-name - The device name for the volume
63288	//    in the block device mapping (for example, /dev/sdh or xvdh).
63289	//
63290	//    * launch.block-device-mapping.snapshot-id - The ID of the snapshot for
63291	//    the EBS volume.
63292	//
63293	//    * launch.block-device-mapping.volume-size - The size of the EBS volume,
63294	//    in GiB.
63295	//
63296	//    * launch.block-device-mapping.volume-type - The type of EBS volume: gp2
63297	//    for General Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput
63298	//    Optimized HDD, sc1for Cold HDD, or standard for Magnetic.
63299	//
63300	//    * launch.group-id - The ID of the security group for the instance.
63301	//
63302	//    * launch.group-name - The name of the security group for the instance.
63303	//
63304	//    * launch.image-id - The ID of the AMI.
63305	//
63306	//    * launch.instance-type - The type of instance (for example, m3.medium).
63307	//
63308	//    * launch.kernel-id - The kernel ID.
63309	//
63310	//    * launch.key-name - The name of the key pair the instance launched with.
63311	//
63312	//    * launch.monitoring-enabled - Whether detailed monitoring is enabled for
63313	//    the Spot Instance.
63314	//
63315	//    * launch.ramdisk-id - The RAM disk ID.
63316	//
63317	//    * launched-availability-zone - The Availability Zone in which the request
63318	//    is launched.
63319	//
63320	//    * network-interface.addresses.primary - Indicates whether the IP address
63321	//    is the primary private IP address.
63322	//
63323	//    * network-interface.delete-on-termination - Indicates whether the network
63324	//    interface is deleted when the instance is terminated.
63325	//
63326	//    * network-interface.description - A description of the network interface.
63327	//
63328	//    * network-interface.device-index - The index of the device for the network
63329	//    interface attachment on the instance.
63330	//
63331	//    * network-interface.group-id - The ID of the security group associated
63332	//    with the network interface.
63333	//
63334	//    * network-interface.network-interface-id - The ID of the network interface.
63335	//
63336	//    * network-interface.private-ip-address - The primary private IP address
63337	//    of the network interface.
63338	//
63339	//    * network-interface.subnet-id - The ID of the subnet for the instance.
63340	//
63341	//    * product-description - The product description associated with the instance
63342	//    (Linux/UNIX | Windows).
63343	//
63344	//    * spot-instance-request-id - The Spot Instance request ID.
63345	//
63346	//    * spot-price - The maximum hourly price for any Spot Instance launched
63347	//    to fulfill the request.
63348	//
63349	//    * state - The state of the Spot Instance request (open | active | closed
63350	//    | cancelled | failed). Spot request status information can help you track
63351	//    your Amazon EC2 Spot Instance requests. For more information, see Spot
63352	//    Request Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
63353	//    in the Amazon EC2 User Guide for Linux Instances.
63354	//
63355	//    * status-code - The short code describing the most recent evaluation of
63356	//    your Spot Instance request.
63357	//
63358	//    * status-message - The message explaining the status of the Spot Instance
63359	//    request.
63360	//
63361	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
63362	//    Use the tag key in the filter name and the tag value as the filter value.
63363	//    For example, to find all resources that have a tag with the key Owner
63364	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
63365	//    the filter value.
63366	//
63367	//    * tag-key - The key of a tag assigned to the resource. Use this filter
63368	//    to find all resources assigned a tag with a specific key, regardless of
63369	//    the tag value.
63370	//
63371	//    * type - The type of Spot Instance request (one-time | persistent).
63372	//
63373	//    * valid-from - The start date of the request.
63374	//
63375	//    * valid-until - The end date of the request.
63376	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63377
63378	// The maximum number of results to return in a single call. Specify a value
63379	// between 5 and 1000. To retrieve the remaining results, make another call
63380	// with the returned NextToken value.
63381	MaxResults *int64 `type:"integer"`
63382
63383	// The token to request the next set of results. This value is null when there
63384	// are no more results to return.
63385	NextToken *string `type:"string"`
63386
63387	// One or more Spot Instance request IDs.
63388	SpotInstanceRequestIds []*string `locationName:"SpotInstanceRequestId" locationNameList:"SpotInstanceRequestId" type:"list"`
63389}
63390
63391// String returns the string representation
63392func (s DescribeSpotInstanceRequestsInput) String() string {
63393	return awsutil.Prettify(s)
63394}
63395
63396// GoString returns the string representation
63397func (s DescribeSpotInstanceRequestsInput) GoString() string {
63398	return s.String()
63399}
63400
63401// SetDryRun sets the DryRun field's value.
63402func (s *DescribeSpotInstanceRequestsInput) SetDryRun(v bool) *DescribeSpotInstanceRequestsInput {
63403	s.DryRun = &v
63404	return s
63405}
63406
63407// SetFilters sets the Filters field's value.
63408func (s *DescribeSpotInstanceRequestsInput) SetFilters(v []*Filter) *DescribeSpotInstanceRequestsInput {
63409	s.Filters = v
63410	return s
63411}
63412
63413// SetMaxResults sets the MaxResults field's value.
63414func (s *DescribeSpotInstanceRequestsInput) SetMaxResults(v int64) *DescribeSpotInstanceRequestsInput {
63415	s.MaxResults = &v
63416	return s
63417}
63418
63419// SetNextToken sets the NextToken field's value.
63420func (s *DescribeSpotInstanceRequestsInput) SetNextToken(v string) *DescribeSpotInstanceRequestsInput {
63421	s.NextToken = &v
63422	return s
63423}
63424
63425// SetSpotInstanceRequestIds sets the SpotInstanceRequestIds field's value.
63426func (s *DescribeSpotInstanceRequestsInput) SetSpotInstanceRequestIds(v []*string) *DescribeSpotInstanceRequestsInput {
63427	s.SpotInstanceRequestIds = v
63428	return s
63429}
63430
63431// Contains the output of DescribeSpotInstanceRequests.
63432type DescribeSpotInstanceRequestsOutput struct {
63433	_ struct{} `type:"structure"`
63434
63435	// The token to use to retrieve the next set of results. This value is null
63436	// when there are no more results to return.
63437	NextToken *string `locationName:"nextToken" type:"string"`
63438
63439	// One or more Spot Instance requests.
63440	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
63441}
63442
63443// String returns the string representation
63444func (s DescribeSpotInstanceRequestsOutput) String() string {
63445	return awsutil.Prettify(s)
63446}
63447
63448// GoString returns the string representation
63449func (s DescribeSpotInstanceRequestsOutput) GoString() string {
63450	return s.String()
63451}
63452
63453// SetNextToken sets the NextToken field's value.
63454func (s *DescribeSpotInstanceRequestsOutput) SetNextToken(v string) *DescribeSpotInstanceRequestsOutput {
63455	s.NextToken = &v
63456	return s
63457}
63458
63459// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
63460func (s *DescribeSpotInstanceRequestsOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *DescribeSpotInstanceRequestsOutput {
63461	s.SpotInstanceRequests = v
63462	return s
63463}
63464
63465// Contains the parameters for DescribeSpotPriceHistory.
63466type DescribeSpotPriceHistoryInput struct {
63467	_ struct{} `type:"structure"`
63468
63469	// Filters the results by the specified Availability Zone.
63470	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
63471
63472	// Checks whether you have the required permissions for the action, without
63473	// actually making the request, and provides an error response. If you have
63474	// the required permissions, the error response is DryRunOperation. Otherwise,
63475	// it is UnauthorizedOperation.
63476	DryRun *bool `locationName:"dryRun" type:"boolean"`
63477
63478	// The date and time, up to the current date, from which to stop retrieving
63479	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
63480	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
63481
63482	// One or more filters.
63483	//
63484	//    * availability-zone - The Availability Zone for which prices should be
63485	//    returned.
63486	//
63487	//    * instance-type - The type of instance (for example, m3.medium).
63488	//
63489	//    * product-description - The product description for the Spot price (Linux/UNIX
63490	//    | SUSE Linux | Windows | Linux/UNIX (Amazon VPC) | SUSE Linux (Amazon
63491	//    VPC) | Windows (Amazon VPC)).
63492	//
63493	//    * spot-price - The Spot price. The value must match exactly (or use wildcards;
63494	//    greater than or less than comparison is not supported).
63495	//
63496	//    * timestamp - The time stamp of the Spot price history, in UTC format
63497	//    (for example, YYYY-MM-DDTHH:MM:SSZ). You can use wildcards (* and ?).
63498	//    Greater than or less than comparison is not supported.
63499	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63500
63501	// Filters the results by the specified instance types.
63502	InstanceTypes []*string `locationName:"InstanceType" type:"list"`
63503
63504	// The maximum number of results to return in a single call. Specify a value
63505	// between 1 and 1000. The default value is 1000. To retrieve the remaining
63506	// results, make another call with the returned NextToken value.
63507	MaxResults *int64 `locationName:"maxResults" type:"integer"`
63508
63509	// The token for the next set of results.
63510	NextToken *string `locationName:"nextToken" type:"string"`
63511
63512	// Filters the results by the specified basic product descriptions.
63513	ProductDescriptions []*string `locationName:"ProductDescription" type:"list"`
63514
63515	// The date and time, up to the past 90 days, from which to start retrieving
63516	// the price history data, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
63517	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
63518}
63519
63520// String returns the string representation
63521func (s DescribeSpotPriceHistoryInput) String() string {
63522	return awsutil.Prettify(s)
63523}
63524
63525// GoString returns the string representation
63526func (s DescribeSpotPriceHistoryInput) GoString() string {
63527	return s.String()
63528}
63529
63530// SetAvailabilityZone sets the AvailabilityZone field's value.
63531func (s *DescribeSpotPriceHistoryInput) SetAvailabilityZone(v string) *DescribeSpotPriceHistoryInput {
63532	s.AvailabilityZone = &v
63533	return s
63534}
63535
63536// SetDryRun sets the DryRun field's value.
63537func (s *DescribeSpotPriceHistoryInput) SetDryRun(v bool) *DescribeSpotPriceHistoryInput {
63538	s.DryRun = &v
63539	return s
63540}
63541
63542// SetEndTime sets the EndTime field's value.
63543func (s *DescribeSpotPriceHistoryInput) SetEndTime(v time.Time) *DescribeSpotPriceHistoryInput {
63544	s.EndTime = &v
63545	return s
63546}
63547
63548// SetFilters sets the Filters field's value.
63549func (s *DescribeSpotPriceHistoryInput) SetFilters(v []*Filter) *DescribeSpotPriceHistoryInput {
63550	s.Filters = v
63551	return s
63552}
63553
63554// SetInstanceTypes sets the InstanceTypes field's value.
63555func (s *DescribeSpotPriceHistoryInput) SetInstanceTypes(v []*string) *DescribeSpotPriceHistoryInput {
63556	s.InstanceTypes = v
63557	return s
63558}
63559
63560// SetMaxResults sets the MaxResults field's value.
63561func (s *DescribeSpotPriceHistoryInput) SetMaxResults(v int64) *DescribeSpotPriceHistoryInput {
63562	s.MaxResults = &v
63563	return s
63564}
63565
63566// SetNextToken sets the NextToken field's value.
63567func (s *DescribeSpotPriceHistoryInput) SetNextToken(v string) *DescribeSpotPriceHistoryInput {
63568	s.NextToken = &v
63569	return s
63570}
63571
63572// SetProductDescriptions sets the ProductDescriptions field's value.
63573func (s *DescribeSpotPriceHistoryInput) SetProductDescriptions(v []*string) *DescribeSpotPriceHistoryInput {
63574	s.ProductDescriptions = v
63575	return s
63576}
63577
63578// SetStartTime sets the StartTime field's value.
63579func (s *DescribeSpotPriceHistoryInput) SetStartTime(v time.Time) *DescribeSpotPriceHistoryInput {
63580	s.StartTime = &v
63581	return s
63582}
63583
63584// Contains the output of DescribeSpotPriceHistory.
63585type DescribeSpotPriceHistoryOutput struct {
63586	_ struct{} `type:"structure"`
63587
63588	// The token required to retrieve the next set of results. This value is null
63589	// or an empty string when there are no more results to return.
63590	NextToken *string `locationName:"nextToken" type:"string"`
63591
63592	// The historical Spot prices.
63593	SpotPriceHistory []*SpotPrice `locationName:"spotPriceHistorySet" locationNameList:"item" type:"list"`
63594}
63595
63596// String returns the string representation
63597func (s DescribeSpotPriceHistoryOutput) String() string {
63598	return awsutil.Prettify(s)
63599}
63600
63601// GoString returns the string representation
63602func (s DescribeSpotPriceHistoryOutput) GoString() string {
63603	return s.String()
63604}
63605
63606// SetNextToken sets the NextToken field's value.
63607func (s *DescribeSpotPriceHistoryOutput) SetNextToken(v string) *DescribeSpotPriceHistoryOutput {
63608	s.NextToken = &v
63609	return s
63610}
63611
63612// SetSpotPriceHistory sets the SpotPriceHistory field's value.
63613func (s *DescribeSpotPriceHistoryOutput) SetSpotPriceHistory(v []*SpotPrice) *DescribeSpotPriceHistoryOutput {
63614	s.SpotPriceHistory = v
63615	return s
63616}
63617
63618type DescribeStaleSecurityGroupsInput struct {
63619	_ struct{} `type:"structure"`
63620
63621	// Checks whether you have the required permissions for the action, without
63622	// actually making the request, and provides an error response. If you have
63623	// the required permissions, the error response is DryRunOperation. Otherwise,
63624	// it is UnauthorizedOperation.
63625	DryRun *bool `type:"boolean"`
63626
63627	// The maximum number of items to return for this request. The request returns
63628	// a token that you can specify in a subsequent call to get the next set of
63629	// results.
63630	MaxResults *int64 `min:"5" type:"integer"`
63631
63632	// The token for the next set of items to return. (You received this token from
63633	// a prior call.)
63634	NextToken *string `min:"1" type:"string"`
63635
63636	// The ID of the VPC.
63637	//
63638	// VpcId is a required field
63639	VpcId *string `type:"string" required:"true"`
63640}
63641
63642// String returns the string representation
63643func (s DescribeStaleSecurityGroupsInput) String() string {
63644	return awsutil.Prettify(s)
63645}
63646
63647// GoString returns the string representation
63648func (s DescribeStaleSecurityGroupsInput) GoString() string {
63649	return s.String()
63650}
63651
63652// Validate inspects the fields of the type to determine if they are valid.
63653func (s *DescribeStaleSecurityGroupsInput) Validate() error {
63654	invalidParams := request.ErrInvalidParams{Context: "DescribeStaleSecurityGroupsInput"}
63655	if s.MaxResults != nil && *s.MaxResults < 5 {
63656		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
63657	}
63658	if s.NextToken != nil && len(*s.NextToken) < 1 {
63659		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
63660	}
63661	if s.VpcId == nil {
63662		invalidParams.Add(request.NewErrParamRequired("VpcId"))
63663	}
63664
63665	if invalidParams.Len() > 0 {
63666		return invalidParams
63667	}
63668	return nil
63669}
63670
63671// SetDryRun sets the DryRun field's value.
63672func (s *DescribeStaleSecurityGroupsInput) SetDryRun(v bool) *DescribeStaleSecurityGroupsInput {
63673	s.DryRun = &v
63674	return s
63675}
63676
63677// SetMaxResults sets the MaxResults field's value.
63678func (s *DescribeStaleSecurityGroupsInput) SetMaxResults(v int64) *DescribeStaleSecurityGroupsInput {
63679	s.MaxResults = &v
63680	return s
63681}
63682
63683// SetNextToken sets the NextToken field's value.
63684func (s *DescribeStaleSecurityGroupsInput) SetNextToken(v string) *DescribeStaleSecurityGroupsInput {
63685	s.NextToken = &v
63686	return s
63687}
63688
63689// SetVpcId sets the VpcId field's value.
63690func (s *DescribeStaleSecurityGroupsInput) SetVpcId(v string) *DescribeStaleSecurityGroupsInput {
63691	s.VpcId = &v
63692	return s
63693}
63694
63695type DescribeStaleSecurityGroupsOutput struct {
63696	_ struct{} `type:"structure"`
63697
63698	// The token to use when requesting the next set of items. If there are no additional
63699	// items to return, the string is empty.
63700	NextToken *string `locationName:"nextToken" type:"string"`
63701
63702	// Information about the stale security groups.
63703	StaleSecurityGroupSet []*StaleSecurityGroup `locationName:"staleSecurityGroupSet" locationNameList:"item" type:"list"`
63704}
63705
63706// String returns the string representation
63707func (s DescribeStaleSecurityGroupsOutput) String() string {
63708	return awsutil.Prettify(s)
63709}
63710
63711// GoString returns the string representation
63712func (s DescribeStaleSecurityGroupsOutput) GoString() string {
63713	return s.String()
63714}
63715
63716// SetNextToken sets the NextToken field's value.
63717func (s *DescribeStaleSecurityGroupsOutput) SetNextToken(v string) *DescribeStaleSecurityGroupsOutput {
63718	s.NextToken = &v
63719	return s
63720}
63721
63722// SetStaleSecurityGroupSet sets the StaleSecurityGroupSet field's value.
63723func (s *DescribeStaleSecurityGroupsOutput) SetStaleSecurityGroupSet(v []*StaleSecurityGroup) *DescribeStaleSecurityGroupsOutput {
63724	s.StaleSecurityGroupSet = v
63725	return s
63726}
63727
63728type DescribeSubnetsInput struct {
63729	_ struct{} `type:"structure"`
63730
63731	// Checks whether you have the required permissions for the action, without
63732	// actually making the request, and provides an error response. If you have
63733	// the required permissions, the error response is DryRunOperation. Otherwise,
63734	// it is UnauthorizedOperation.
63735	DryRun *bool `locationName:"dryRun" type:"boolean"`
63736
63737	// One or more filters.
63738	//
63739	//    * availability-zone - The Availability Zone for the subnet. You can also
63740	//    use availabilityZone as the filter name.
63741	//
63742	//    * availability-zone-id - The ID of the Availability Zone for the subnet.
63743	//    You can also use availabilityZoneId as the filter name.
63744	//
63745	//    * available-ip-address-count - The number of IPv4 addresses in the subnet
63746	//    that are available.
63747	//
63748	//    * cidr-block - The IPv4 CIDR block of the subnet. The CIDR block you specify
63749	//    must exactly match the subnet's CIDR block for information to be returned
63750	//    for the subnet. You can also use cidr or cidrBlock as the filter names.
63751	//
63752	//    * default-for-az - Indicates whether this is the default subnet for the
63753	//    Availability Zone. You can also use defaultForAz as the filter name.
63754	//
63755	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
63756	//    with the subnet.
63757	//
63758	//    * ipv6-cidr-block-association.association-id - An association ID for an
63759	//    IPv6 CIDR block associated with the subnet.
63760	//
63761	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
63762	//    associated with the subnet.
63763	//
63764	//    * owner-id - The ID of the AWS account that owns the subnet.
63765	//
63766	//    * state - The state of the subnet (pending | available).
63767	//
63768	//    * subnet-arn - The Amazon Resource Name (ARN) of the subnet.
63769	//
63770	//    * subnet-id - The ID of the subnet.
63771	//
63772	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
63773	//    Use the tag key in the filter name and the tag value as the filter value.
63774	//    For example, to find all resources that have a tag with the key Owner
63775	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
63776	//    the filter value.
63777	//
63778	//    * tag-key - The key of a tag assigned to the resource. Use this filter
63779	//    to find all resources assigned a tag with a specific key, regardless of
63780	//    the tag value.
63781	//
63782	//    * vpc-id - The ID of the VPC for the subnet.
63783	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63784
63785	// The maximum number of results to return with a single call. To retrieve the
63786	// remaining results, make another call with the returned nextToken value.
63787	MaxResults *int64 `min:"5" type:"integer"`
63788
63789	// The token for the next page of results.
63790	NextToken *string `type:"string"`
63791
63792	// One or more subnet IDs.
63793	//
63794	// Default: Describes all your subnets.
63795	SubnetIds []*string `locationName:"SubnetId" locationNameList:"SubnetId" type:"list"`
63796}
63797
63798// String returns the string representation
63799func (s DescribeSubnetsInput) String() string {
63800	return awsutil.Prettify(s)
63801}
63802
63803// GoString returns the string representation
63804func (s DescribeSubnetsInput) GoString() string {
63805	return s.String()
63806}
63807
63808// Validate inspects the fields of the type to determine if they are valid.
63809func (s *DescribeSubnetsInput) Validate() error {
63810	invalidParams := request.ErrInvalidParams{Context: "DescribeSubnetsInput"}
63811	if s.MaxResults != nil && *s.MaxResults < 5 {
63812		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
63813	}
63814
63815	if invalidParams.Len() > 0 {
63816		return invalidParams
63817	}
63818	return nil
63819}
63820
63821// SetDryRun sets the DryRun field's value.
63822func (s *DescribeSubnetsInput) SetDryRun(v bool) *DescribeSubnetsInput {
63823	s.DryRun = &v
63824	return s
63825}
63826
63827// SetFilters sets the Filters field's value.
63828func (s *DescribeSubnetsInput) SetFilters(v []*Filter) *DescribeSubnetsInput {
63829	s.Filters = v
63830	return s
63831}
63832
63833// SetMaxResults sets the MaxResults field's value.
63834func (s *DescribeSubnetsInput) SetMaxResults(v int64) *DescribeSubnetsInput {
63835	s.MaxResults = &v
63836	return s
63837}
63838
63839// SetNextToken sets the NextToken field's value.
63840func (s *DescribeSubnetsInput) SetNextToken(v string) *DescribeSubnetsInput {
63841	s.NextToken = &v
63842	return s
63843}
63844
63845// SetSubnetIds sets the SubnetIds field's value.
63846func (s *DescribeSubnetsInput) SetSubnetIds(v []*string) *DescribeSubnetsInput {
63847	s.SubnetIds = v
63848	return s
63849}
63850
63851type DescribeSubnetsOutput struct {
63852	_ struct{} `type:"structure"`
63853
63854	// The token to use to retrieve the next page of results. This value is null
63855	// when there are no more results to return.
63856	NextToken *string `locationName:"nextToken" type:"string"`
63857
63858	// Information about one or more subnets.
63859	Subnets []*Subnet `locationName:"subnetSet" locationNameList:"item" type:"list"`
63860}
63861
63862// String returns the string representation
63863func (s DescribeSubnetsOutput) String() string {
63864	return awsutil.Prettify(s)
63865}
63866
63867// GoString returns the string representation
63868func (s DescribeSubnetsOutput) GoString() string {
63869	return s.String()
63870}
63871
63872// SetNextToken sets the NextToken field's value.
63873func (s *DescribeSubnetsOutput) SetNextToken(v string) *DescribeSubnetsOutput {
63874	s.NextToken = &v
63875	return s
63876}
63877
63878// SetSubnets sets the Subnets field's value.
63879func (s *DescribeSubnetsOutput) SetSubnets(v []*Subnet) *DescribeSubnetsOutput {
63880	s.Subnets = v
63881	return s
63882}
63883
63884type DescribeTagsInput struct {
63885	_ struct{} `type:"structure"`
63886
63887	// Checks whether you have the required permissions for the action, without
63888	// actually making the request, and provides an error response. If you have
63889	// the required permissions, the error response is DryRunOperation. Otherwise,
63890	// it is UnauthorizedOperation.
63891	DryRun *bool `locationName:"dryRun" type:"boolean"`
63892
63893	// The filters.
63894	//
63895	//    * key - The tag key.
63896	//
63897	//    * resource-id - The ID of the resource.
63898	//
63899	//    * resource-type - The resource type (customer-gateway | dedicated-host
63900	//    | dhcp-options | elastic-ip | fleet | fpga-image | image | instance |
63901	//    host-reservation | internet-gateway | launch-template | natgateway | network-acl
63902	//    | network-interface | reserved-instances | route-table | security-group
63903	//    | snapshot | spot-instances-request | subnet | volume | vpc | vpc-peering-connection
63904	//    | vpn-connection | vpn-gateway).
63905	//
63906	//    * tag:<key> - The key/value combination of the tag. For example, specify
63907	//    "tag:Owner" for the filter name and "TeamA" for the filter value to find
63908	//    resources with the tag "Owner=TeamA".
63909	//
63910	//    * value - The tag value.
63911	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
63912
63913	// The maximum number of results to return in a single call. This value can
63914	// be between 5 and 1000. To retrieve the remaining results, make another call
63915	// with the returned NextToken value.
63916	MaxResults *int64 `locationName:"maxResults" type:"integer"`
63917
63918	// The token to retrieve the next page of results.
63919	NextToken *string `locationName:"nextToken" type:"string"`
63920}
63921
63922// String returns the string representation
63923func (s DescribeTagsInput) String() string {
63924	return awsutil.Prettify(s)
63925}
63926
63927// GoString returns the string representation
63928func (s DescribeTagsInput) GoString() string {
63929	return s.String()
63930}
63931
63932// SetDryRun sets the DryRun field's value.
63933func (s *DescribeTagsInput) SetDryRun(v bool) *DescribeTagsInput {
63934	s.DryRun = &v
63935	return s
63936}
63937
63938// SetFilters sets the Filters field's value.
63939func (s *DescribeTagsInput) SetFilters(v []*Filter) *DescribeTagsInput {
63940	s.Filters = v
63941	return s
63942}
63943
63944// SetMaxResults sets the MaxResults field's value.
63945func (s *DescribeTagsInput) SetMaxResults(v int64) *DescribeTagsInput {
63946	s.MaxResults = &v
63947	return s
63948}
63949
63950// SetNextToken sets the NextToken field's value.
63951func (s *DescribeTagsInput) SetNextToken(v string) *DescribeTagsInput {
63952	s.NextToken = &v
63953	return s
63954}
63955
63956type DescribeTagsOutput struct {
63957	_ struct{} `type:"structure"`
63958
63959	// The token to use to retrieve the next page of results. This value is null
63960	// when there are no more results to return.
63961	NextToken *string `locationName:"nextToken" type:"string"`
63962
63963	// The tags.
63964	Tags []*TagDescription `locationName:"tagSet" locationNameList:"item" type:"list"`
63965}
63966
63967// String returns the string representation
63968func (s DescribeTagsOutput) String() string {
63969	return awsutil.Prettify(s)
63970}
63971
63972// GoString returns the string representation
63973func (s DescribeTagsOutput) GoString() string {
63974	return s.String()
63975}
63976
63977// SetNextToken sets the NextToken field's value.
63978func (s *DescribeTagsOutput) SetNextToken(v string) *DescribeTagsOutput {
63979	s.NextToken = &v
63980	return s
63981}
63982
63983// SetTags sets the Tags field's value.
63984func (s *DescribeTagsOutput) SetTags(v []*TagDescription) *DescribeTagsOutput {
63985	s.Tags = v
63986	return s
63987}
63988
63989type DescribeTrafficMirrorFiltersInput struct {
63990	_ struct{} `type:"structure"`
63991
63992	// Checks whether you have the required permissions for the action, without
63993	// actually making the request, and provides an error response. If you have
63994	// the required permissions, the error response is DryRunOperation. Otherwise,
63995	// it is UnauthorizedOperation.
63996	DryRun *bool `type:"boolean"`
63997
63998	// One or more filters. The possible values are:
63999	//
64000	//    * description: The Traffic Mirror filter description.
64001	//
64002	//    * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
64003	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64004
64005	// The maximum number of results to return with a single call. To retrieve the
64006	// remaining results, make another call with the returned nextToken value.
64007	MaxResults *int64 `min:"5" type:"integer"`
64008
64009	// The token for the next page of results.
64010	NextToken *string `type:"string"`
64011
64012	// The ID of the Traffic Mirror filter.
64013	TrafficMirrorFilterIds []*string `locationName:"TrafficMirrorFilterId" locationNameList:"item" type:"list"`
64014}
64015
64016// String returns the string representation
64017func (s DescribeTrafficMirrorFiltersInput) String() string {
64018	return awsutil.Prettify(s)
64019}
64020
64021// GoString returns the string representation
64022func (s DescribeTrafficMirrorFiltersInput) GoString() string {
64023	return s.String()
64024}
64025
64026// Validate inspects the fields of the type to determine if they are valid.
64027func (s *DescribeTrafficMirrorFiltersInput) Validate() error {
64028	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorFiltersInput"}
64029	if s.MaxResults != nil && *s.MaxResults < 5 {
64030		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64031	}
64032
64033	if invalidParams.Len() > 0 {
64034		return invalidParams
64035	}
64036	return nil
64037}
64038
64039// SetDryRun sets the DryRun field's value.
64040func (s *DescribeTrafficMirrorFiltersInput) SetDryRun(v bool) *DescribeTrafficMirrorFiltersInput {
64041	s.DryRun = &v
64042	return s
64043}
64044
64045// SetFilters sets the Filters field's value.
64046func (s *DescribeTrafficMirrorFiltersInput) SetFilters(v []*Filter) *DescribeTrafficMirrorFiltersInput {
64047	s.Filters = v
64048	return s
64049}
64050
64051// SetMaxResults sets the MaxResults field's value.
64052func (s *DescribeTrafficMirrorFiltersInput) SetMaxResults(v int64) *DescribeTrafficMirrorFiltersInput {
64053	s.MaxResults = &v
64054	return s
64055}
64056
64057// SetNextToken sets the NextToken field's value.
64058func (s *DescribeTrafficMirrorFiltersInput) SetNextToken(v string) *DescribeTrafficMirrorFiltersInput {
64059	s.NextToken = &v
64060	return s
64061}
64062
64063// SetTrafficMirrorFilterIds sets the TrafficMirrorFilterIds field's value.
64064func (s *DescribeTrafficMirrorFiltersInput) SetTrafficMirrorFilterIds(v []*string) *DescribeTrafficMirrorFiltersInput {
64065	s.TrafficMirrorFilterIds = v
64066	return s
64067}
64068
64069type DescribeTrafficMirrorFiltersOutput struct {
64070	_ struct{} `type:"structure"`
64071
64072	// The token to use to retrieve the next page of results. The value is null
64073	// when there are no more results to return.
64074	NextToken *string `locationName:"nextToken" type:"string"`
64075
64076	// Information about one or more Traffic Mirror filters.
64077	TrafficMirrorFilters []*TrafficMirrorFilter `locationName:"trafficMirrorFilterSet" locationNameList:"item" type:"list"`
64078}
64079
64080// String returns the string representation
64081func (s DescribeTrafficMirrorFiltersOutput) String() string {
64082	return awsutil.Prettify(s)
64083}
64084
64085// GoString returns the string representation
64086func (s DescribeTrafficMirrorFiltersOutput) GoString() string {
64087	return s.String()
64088}
64089
64090// SetNextToken sets the NextToken field's value.
64091func (s *DescribeTrafficMirrorFiltersOutput) SetNextToken(v string) *DescribeTrafficMirrorFiltersOutput {
64092	s.NextToken = &v
64093	return s
64094}
64095
64096// SetTrafficMirrorFilters sets the TrafficMirrorFilters field's value.
64097func (s *DescribeTrafficMirrorFiltersOutput) SetTrafficMirrorFilters(v []*TrafficMirrorFilter) *DescribeTrafficMirrorFiltersOutput {
64098	s.TrafficMirrorFilters = v
64099	return s
64100}
64101
64102type DescribeTrafficMirrorSessionsInput struct {
64103	_ struct{} `type:"structure"`
64104
64105	// Checks whether you have the required permissions for the action, without
64106	// actually making the request, and provides an error response. If you have
64107	// the required permissions, the error response is DryRunOperation. Otherwise,
64108	// it is UnauthorizedOperation.
64109	DryRun *bool `type:"boolean"`
64110
64111	// One or more filters. The possible values are:
64112	//
64113	//    * description: The Traffic Mirror session description.
64114	//
64115	//    * network-interface-id: The ID of the Traffic Mirror session network interface.
64116	//
64117	//    * owner-id: The ID of the account that owns the Traffic Mirror session.
64118	//
64119	//    * packet-length: The assigned number of packets to mirror.
64120	//
64121	//    * session-number: The assigned session number.
64122	//
64123	//    * traffic-mirror-filter-id: The ID of the Traffic Mirror filter.
64124	//
64125	//    * traffic-mirror-session-id: The ID of the Traffic Mirror session.
64126	//
64127	//    * traffic-mirror-target-id: The ID of the Traffic Mirror target.
64128	//
64129	//    * virtual-network-id: The virtual network ID of the Traffic Mirror session.
64130	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64131
64132	// The maximum number of results to return with a single call. To retrieve the
64133	// remaining results, make another call with the returned nextToken value.
64134	MaxResults *int64 `min:"5" type:"integer"`
64135
64136	// The token for the next page of results.
64137	NextToken *string `type:"string"`
64138
64139	// The ID of the Traffic Mirror session.
64140	TrafficMirrorSessionIds []*string `locationName:"TrafficMirrorSessionId" locationNameList:"item" type:"list"`
64141}
64142
64143// String returns the string representation
64144func (s DescribeTrafficMirrorSessionsInput) String() string {
64145	return awsutil.Prettify(s)
64146}
64147
64148// GoString returns the string representation
64149func (s DescribeTrafficMirrorSessionsInput) GoString() string {
64150	return s.String()
64151}
64152
64153// Validate inspects the fields of the type to determine if they are valid.
64154func (s *DescribeTrafficMirrorSessionsInput) Validate() error {
64155	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorSessionsInput"}
64156	if s.MaxResults != nil && *s.MaxResults < 5 {
64157		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64158	}
64159
64160	if invalidParams.Len() > 0 {
64161		return invalidParams
64162	}
64163	return nil
64164}
64165
64166// SetDryRun sets the DryRun field's value.
64167func (s *DescribeTrafficMirrorSessionsInput) SetDryRun(v bool) *DescribeTrafficMirrorSessionsInput {
64168	s.DryRun = &v
64169	return s
64170}
64171
64172// SetFilters sets the Filters field's value.
64173func (s *DescribeTrafficMirrorSessionsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorSessionsInput {
64174	s.Filters = v
64175	return s
64176}
64177
64178// SetMaxResults sets the MaxResults field's value.
64179func (s *DescribeTrafficMirrorSessionsInput) SetMaxResults(v int64) *DescribeTrafficMirrorSessionsInput {
64180	s.MaxResults = &v
64181	return s
64182}
64183
64184// SetNextToken sets the NextToken field's value.
64185func (s *DescribeTrafficMirrorSessionsInput) SetNextToken(v string) *DescribeTrafficMirrorSessionsInput {
64186	s.NextToken = &v
64187	return s
64188}
64189
64190// SetTrafficMirrorSessionIds sets the TrafficMirrorSessionIds field's value.
64191func (s *DescribeTrafficMirrorSessionsInput) SetTrafficMirrorSessionIds(v []*string) *DescribeTrafficMirrorSessionsInput {
64192	s.TrafficMirrorSessionIds = v
64193	return s
64194}
64195
64196type DescribeTrafficMirrorSessionsOutput struct {
64197	_ struct{} `type:"structure"`
64198
64199	// The token to use to retrieve the next page of results. The value is null
64200	// when there are no more results to return.
64201	NextToken *string `locationName:"nextToken" type:"string"`
64202
64203	// Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror
64204	// sessions are described. Alternatively, you can filter the results.
64205	TrafficMirrorSessions []*TrafficMirrorSession `locationName:"trafficMirrorSessionSet" locationNameList:"item" type:"list"`
64206}
64207
64208// String returns the string representation
64209func (s DescribeTrafficMirrorSessionsOutput) String() string {
64210	return awsutil.Prettify(s)
64211}
64212
64213// GoString returns the string representation
64214func (s DescribeTrafficMirrorSessionsOutput) GoString() string {
64215	return s.String()
64216}
64217
64218// SetNextToken sets the NextToken field's value.
64219func (s *DescribeTrafficMirrorSessionsOutput) SetNextToken(v string) *DescribeTrafficMirrorSessionsOutput {
64220	s.NextToken = &v
64221	return s
64222}
64223
64224// SetTrafficMirrorSessions sets the TrafficMirrorSessions field's value.
64225func (s *DescribeTrafficMirrorSessionsOutput) SetTrafficMirrorSessions(v []*TrafficMirrorSession) *DescribeTrafficMirrorSessionsOutput {
64226	s.TrafficMirrorSessions = v
64227	return s
64228}
64229
64230type DescribeTrafficMirrorTargetsInput struct {
64231	_ struct{} `type:"structure"`
64232
64233	// Checks whether you have the required permissions for the action, without
64234	// actually making the request, and provides an error response. If you have
64235	// the required permissions, the error response is DryRunOperation. Otherwise,
64236	// it is UnauthorizedOperation.
64237	DryRun *bool `type:"boolean"`
64238
64239	// One or more filters. The possible values are:
64240	//
64241	//    * description: The Traffic Mirror target description.
64242	//
64243	//    * network-interface-id: The ID of the Traffic Mirror session network interface.
64244	//
64245	//    * network-load-balancer-arn: The Amazon Resource Name (ARN) of the Network
64246	//    Load Balancer that is associated with the session.
64247	//
64248	//    * owner-id: The ID of the account that owns the Traffic Mirror session.
64249	//
64250	//    * traffic-mirror-target-id: The ID of the Traffic Mirror target.
64251	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64252
64253	// The maximum number of results to return with a single call. To retrieve the
64254	// remaining results, make another call with the returned nextToken value.
64255	MaxResults *int64 `min:"5" type:"integer"`
64256
64257	// The token for the next page of results.
64258	NextToken *string `type:"string"`
64259
64260	// The ID of the Traffic Mirror targets.
64261	TrafficMirrorTargetIds []*string `locationName:"TrafficMirrorTargetId" locationNameList:"item" type:"list"`
64262}
64263
64264// String returns the string representation
64265func (s DescribeTrafficMirrorTargetsInput) String() string {
64266	return awsutil.Prettify(s)
64267}
64268
64269// GoString returns the string representation
64270func (s DescribeTrafficMirrorTargetsInput) GoString() string {
64271	return s.String()
64272}
64273
64274// Validate inspects the fields of the type to determine if they are valid.
64275func (s *DescribeTrafficMirrorTargetsInput) Validate() error {
64276	invalidParams := request.ErrInvalidParams{Context: "DescribeTrafficMirrorTargetsInput"}
64277	if s.MaxResults != nil && *s.MaxResults < 5 {
64278		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64279	}
64280
64281	if invalidParams.Len() > 0 {
64282		return invalidParams
64283	}
64284	return nil
64285}
64286
64287// SetDryRun sets the DryRun field's value.
64288func (s *DescribeTrafficMirrorTargetsInput) SetDryRun(v bool) *DescribeTrafficMirrorTargetsInput {
64289	s.DryRun = &v
64290	return s
64291}
64292
64293// SetFilters sets the Filters field's value.
64294func (s *DescribeTrafficMirrorTargetsInput) SetFilters(v []*Filter) *DescribeTrafficMirrorTargetsInput {
64295	s.Filters = v
64296	return s
64297}
64298
64299// SetMaxResults sets the MaxResults field's value.
64300func (s *DescribeTrafficMirrorTargetsInput) SetMaxResults(v int64) *DescribeTrafficMirrorTargetsInput {
64301	s.MaxResults = &v
64302	return s
64303}
64304
64305// SetNextToken sets the NextToken field's value.
64306func (s *DescribeTrafficMirrorTargetsInput) SetNextToken(v string) *DescribeTrafficMirrorTargetsInput {
64307	s.NextToken = &v
64308	return s
64309}
64310
64311// SetTrafficMirrorTargetIds sets the TrafficMirrorTargetIds field's value.
64312func (s *DescribeTrafficMirrorTargetsInput) SetTrafficMirrorTargetIds(v []*string) *DescribeTrafficMirrorTargetsInput {
64313	s.TrafficMirrorTargetIds = v
64314	return s
64315}
64316
64317type DescribeTrafficMirrorTargetsOutput struct {
64318	_ struct{} `type:"structure"`
64319
64320	// The token to use to retrieve the next page of results. The value is null
64321	// when there are no more results to return.
64322	NextToken *string `locationName:"nextToken" type:"string"`
64323
64324	// Information about one or more Traffic Mirror targets.
64325	TrafficMirrorTargets []*TrafficMirrorTarget `locationName:"trafficMirrorTargetSet" locationNameList:"item" type:"list"`
64326}
64327
64328// String returns the string representation
64329func (s DescribeTrafficMirrorTargetsOutput) String() string {
64330	return awsutil.Prettify(s)
64331}
64332
64333// GoString returns the string representation
64334func (s DescribeTrafficMirrorTargetsOutput) GoString() string {
64335	return s.String()
64336}
64337
64338// SetNextToken sets the NextToken field's value.
64339func (s *DescribeTrafficMirrorTargetsOutput) SetNextToken(v string) *DescribeTrafficMirrorTargetsOutput {
64340	s.NextToken = &v
64341	return s
64342}
64343
64344// SetTrafficMirrorTargets sets the TrafficMirrorTargets field's value.
64345func (s *DescribeTrafficMirrorTargetsOutput) SetTrafficMirrorTargets(v []*TrafficMirrorTarget) *DescribeTrafficMirrorTargetsOutput {
64346	s.TrafficMirrorTargets = v
64347	return s
64348}
64349
64350type DescribeTransitGatewayAttachmentsInput struct {
64351	_ struct{} `type:"structure"`
64352
64353	// Checks whether you have the required permissions for the action, without
64354	// actually making the request, and provides an error response. If you have
64355	// the required permissions, the error response is DryRunOperation. Otherwise,
64356	// it is UnauthorizedOperation.
64357	DryRun *bool `type:"boolean"`
64358
64359	// One or more filters. The possible values are:
64360	//
64361	//    * association.state - The state of the association (associating | associated
64362	//    | disassociating).
64363	//
64364	//    * association.transit-gateway-route-table-id - The ID of the route table
64365	//    for the transit gateway.
64366	//
64367	//    * resource-id - The ID of the resource.
64368	//
64369	//    * resource-owner-id - The ID of the AWS account that owns the resource.
64370	//
64371	//    * resource-type - The resource type (vpc | vpn).
64372	//
64373	//    * state - The state of the attachment (available | deleted | deleting
64374	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
64375	//    | rejecting).
64376	//
64377	//    * transit-gateway-attachment-id - The ID of the attachment.
64378	//
64379	//    * transit-gateway-id - The ID of the transit gateway.
64380	//
64381	//    * transit-gateway-owner-id - The ID of the AWS account that owns the transit
64382	//    gateway.
64383	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64384
64385	// The maximum number of results to return with a single call. To retrieve the
64386	// remaining results, make another call with the returned nextToken value.
64387	MaxResults *int64 `min:"5" type:"integer"`
64388
64389	// The token for the next page of results.
64390	NextToken *string `type:"string"`
64391
64392	// The IDs of the attachments.
64393	TransitGatewayAttachmentIds []*string `type:"list"`
64394}
64395
64396// String returns the string representation
64397func (s DescribeTransitGatewayAttachmentsInput) String() string {
64398	return awsutil.Prettify(s)
64399}
64400
64401// GoString returns the string representation
64402func (s DescribeTransitGatewayAttachmentsInput) GoString() string {
64403	return s.String()
64404}
64405
64406// Validate inspects the fields of the type to determine if they are valid.
64407func (s *DescribeTransitGatewayAttachmentsInput) Validate() error {
64408	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayAttachmentsInput"}
64409	if s.MaxResults != nil && *s.MaxResults < 5 {
64410		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64411	}
64412
64413	if invalidParams.Len() > 0 {
64414		return invalidParams
64415	}
64416	return nil
64417}
64418
64419// SetDryRun sets the DryRun field's value.
64420func (s *DescribeTransitGatewayAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayAttachmentsInput {
64421	s.DryRun = &v
64422	return s
64423}
64424
64425// SetFilters sets the Filters field's value.
64426func (s *DescribeTransitGatewayAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayAttachmentsInput {
64427	s.Filters = v
64428	return s
64429}
64430
64431// SetMaxResults sets the MaxResults field's value.
64432func (s *DescribeTransitGatewayAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayAttachmentsInput {
64433	s.MaxResults = &v
64434	return s
64435}
64436
64437// SetNextToken sets the NextToken field's value.
64438func (s *DescribeTransitGatewayAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsInput {
64439	s.NextToken = &v
64440	return s
64441}
64442
64443// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
64444func (s *DescribeTransitGatewayAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayAttachmentsInput {
64445	s.TransitGatewayAttachmentIds = v
64446	return s
64447}
64448
64449type DescribeTransitGatewayAttachmentsOutput struct {
64450	_ struct{} `type:"structure"`
64451
64452	// The token to use to retrieve the next page of results. This value is null
64453	// when there are no more results to return.
64454	NextToken *string `locationName:"nextToken" type:"string"`
64455
64456	// Information about the attachments.
64457	TransitGatewayAttachments []*TransitGatewayAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
64458}
64459
64460// String returns the string representation
64461func (s DescribeTransitGatewayAttachmentsOutput) String() string {
64462	return awsutil.Prettify(s)
64463}
64464
64465// GoString returns the string representation
64466func (s DescribeTransitGatewayAttachmentsOutput) GoString() string {
64467	return s.String()
64468}
64469
64470// SetNextToken sets the NextToken field's value.
64471func (s *DescribeTransitGatewayAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayAttachmentsOutput {
64472	s.NextToken = &v
64473	return s
64474}
64475
64476// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
64477func (s *DescribeTransitGatewayAttachmentsOutput) SetTransitGatewayAttachments(v []*TransitGatewayAttachment) *DescribeTransitGatewayAttachmentsOutput {
64478	s.TransitGatewayAttachments = v
64479	return s
64480}
64481
64482type DescribeTransitGatewayMulticastDomainsInput struct {
64483	_ struct{} `type:"structure"`
64484
64485	// Checks whether you have the required permissions for the action, without
64486	// actually making the request, and provides an error response. If you have
64487	// the required permissions, the error response is DryRunOperation. Otherwise,
64488	// it is UnauthorizedOperation.
64489	DryRun *bool `type:"boolean"`
64490
64491	// One or more filters. The possible values are:
64492	//
64493	//    * state - The state of the transit gateway multicast domain. Valid values
64494	//    are pending | available | deleting | deleted.
64495	//
64496	//    * transit-gateway-id - The ID of the transit gateway.
64497	//
64498	//    * transit-gateway-multicast-domain-id - The ID of the transit gateway
64499	//    multicast domain.
64500	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64501
64502	// The maximum number of results to return with a single call. To retrieve the
64503	// remaining results, make another call with the returned nextToken value.
64504	MaxResults *int64 `min:"5" type:"integer"`
64505
64506	// The token for the next page of results.
64507	NextToken *string `type:"string"`
64508
64509	// The ID of the transit gateway multicast domain.
64510	TransitGatewayMulticastDomainIds []*string `locationNameList:"item" type:"list"`
64511}
64512
64513// String returns the string representation
64514func (s DescribeTransitGatewayMulticastDomainsInput) String() string {
64515	return awsutil.Prettify(s)
64516}
64517
64518// GoString returns the string representation
64519func (s DescribeTransitGatewayMulticastDomainsInput) GoString() string {
64520	return s.String()
64521}
64522
64523// Validate inspects the fields of the type to determine if they are valid.
64524func (s *DescribeTransitGatewayMulticastDomainsInput) Validate() error {
64525	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayMulticastDomainsInput"}
64526	if s.MaxResults != nil && *s.MaxResults < 5 {
64527		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64528	}
64529
64530	if invalidParams.Len() > 0 {
64531		return invalidParams
64532	}
64533	return nil
64534}
64535
64536// SetDryRun sets the DryRun field's value.
64537func (s *DescribeTransitGatewayMulticastDomainsInput) SetDryRun(v bool) *DescribeTransitGatewayMulticastDomainsInput {
64538	s.DryRun = &v
64539	return s
64540}
64541
64542// SetFilters sets the Filters field's value.
64543func (s *DescribeTransitGatewayMulticastDomainsInput) SetFilters(v []*Filter) *DescribeTransitGatewayMulticastDomainsInput {
64544	s.Filters = v
64545	return s
64546}
64547
64548// SetMaxResults sets the MaxResults field's value.
64549func (s *DescribeTransitGatewayMulticastDomainsInput) SetMaxResults(v int64) *DescribeTransitGatewayMulticastDomainsInput {
64550	s.MaxResults = &v
64551	return s
64552}
64553
64554// SetNextToken sets the NextToken field's value.
64555func (s *DescribeTransitGatewayMulticastDomainsInput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsInput {
64556	s.NextToken = &v
64557	return s
64558}
64559
64560// SetTransitGatewayMulticastDomainIds sets the TransitGatewayMulticastDomainIds field's value.
64561func (s *DescribeTransitGatewayMulticastDomainsInput) SetTransitGatewayMulticastDomainIds(v []*string) *DescribeTransitGatewayMulticastDomainsInput {
64562	s.TransitGatewayMulticastDomainIds = v
64563	return s
64564}
64565
64566type DescribeTransitGatewayMulticastDomainsOutput struct {
64567	_ struct{} `type:"structure"`
64568
64569	// The token to use to retrieve the next page of results. This value is null
64570	// when there are no more results to return.
64571	NextToken *string `locationName:"nextToken" type:"string"`
64572
64573	// Information about the transit gateway multicast domains.
64574	TransitGatewayMulticastDomains []*TransitGatewayMulticastDomain `locationName:"transitGatewayMulticastDomains" locationNameList:"item" type:"list"`
64575}
64576
64577// String returns the string representation
64578func (s DescribeTransitGatewayMulticastDomainsOutput) String() string {
64579	return awsutil.Prettify(s)
64580}
64581
64582// GoString returns the string representation
64583func (s DescribeTransitGatewayMulticastDomainsOutput) GoString() string {
64584	return s.String()
64585}
64586
64587// SetNextToken sets the NextToken field's value.
64588func (s *DescribeTransitGatewayMulticastDomainsOutput) SetNextToken(v string) *DescribeTransitGatewayMulticastDomainsOutput {
64589	s.NextToken = &v
64590	return s
64591}
64592
64593// SetTransitGatewayMulticastDomains sets the TransitGatewayMulticastDomains field's value.
64594func (s *DescribeTransitGatewayMulticastDomainsOutput) SetTransitGatewayMulticastDomains(v []*TransitGatewayMulticastDomain) *DescribeTransitGatewayMulticastDomainsOutput {
64595	s.TransitGatewayMulticastDomains = v
64596	return s
64597}
64598
64599type DescribeTransitGatewayPeeringAttachmentsInput struct {
64600	_ struct{} `type:"structure"`
64601
64602	// Checks whether you have the required permissions for the action, without
64603	// actually making the request, and provides an error response. If you have
64604	// the required permissions, the error response is DryRunOperation. Otherwise,
64605	// it is UnauthorizedOperation.
64606	DryRun *bool `type:"boolean"`
64607
64608	// One or more filters.
64609	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64610
64611	// The maximum number of results to return with a single call. To retrieve the
64612	// remaining results, make another call with the returned nextToken value.
64613	MaxResults *int64 `min:"5" type:"integer"`
64614
64615	// The token for the next page of results.
64616	NextToken *string `type:"string"`
64617
64618	// One or more IDs of the transit gateway peering attachments.
64619	TransitGatewayAttachmentIds []*string `type:"list"`
64620}
64621
64622// String returns the string representation
64623func (s DescribeTransitGatewayPeeringAttachmentsInput) String() string {
64624	return awsutil.Prettify(s)
64625}
64626
64627// GoString returns the string representation
64628func (s DescribeTransitGatewayPeeringAttachmentsInput) GoString() string {
64629	return s.String()
64630}
64631
64632// Validate inspects the fields of the type to determine if they are valid.
64633func (s *DescribeTransitGatewayPeeringAttachmentsInput) Validate() error {
64634	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayPeeringAttachmentsInput"}
64635	if s.MaxResults != nil && *s.MaxResults < 5 {
64636		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64637	}
64638
64639	if invalidParams.Len() > 0 {
64640		return invalidParams
64641	}
64642	return nil
64643}
64644
64645// SetDryRun sets the DryRun field's value.
64646func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayPeeringAttachmentsInput {
64647	s.DryRun = &v
64648	return s
64649}
64650
64651// SetFilters sets the Filters field's value.
64652func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayPeeringAttachmentsInput {
64653	s.Filters = v
64654	return s
64655}
64656
64657// SetMaxResults sets the MaxResults field's value.
64658func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayPeeringAttachmentsInput {
64659	s.MaxResults = &v
64660	return s
64661}
64662
64663// SetNextToken sets the NextToken field's value.
64664func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsInput {
64665	s.NextToken = &v
64666	return s
64667}
64668
64669// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
64670func (s *DescribeTransitGatewayPeeringAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayPeeringAttachmentsInput {
64671	s.TransitGatewayAttachmentIds = v
64672	return s
64673}
64674
64675type DescribeTransitGatewayPeeringAttachmentsOutput struct {
64676	_ struct{} `type:"structure"`
64677
64678	// The token to use to retrieve the next page of results. This value is null
64679	// when there are no more results to return.
64680	NextToken *string `locationName:"nextToken" type:"string"`
64681
64682	// The transit gateway peering attachments.
64683	TransitGatewayPeeringAttachments []*TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachments" locationNameList:"item" type:"list"`
64684}
64685
64686// String returns the string representation
64687func (s DescribeTransitGatewayPeeringAttachmentsOutput) String() string {
64688	return awsutil.Prettify(s)
64689}
64690
64691// GoString returns the string representation
64692func (s DescribeTransitGatewayPeeringAttachmentsOutput) GoString() string {
64693	return s.String()
64694}
64695
64696// SetNextToken sets the NextToken field's value.
64697func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayPeeringAttachmentsOutput {
64698	s.NextToken = &v
64699	return s
64700}
64701
64702// SetTransitGatewayPeeringAttachments sets the TransitGatewayPeeringAttachments field's value.
64703func (s *DescribeTransitGatewayPeeringAttachmentsOutput) SetTransitGatewayPeeringAttachments(v []*TransitGatewayPeeringAttachment) *DescribeTransitGatewayPeeringAttachmentsOutput {
64704	s.TransitGatewayPeeringAttachments = v
64705	return s
64706}
64707
64708type DescribeTransitGatewayRouteTablesInput struct {
64709	_ struct{} `type:"structure"`
64710
64711	// Checks whether you have the required permissions for the action, without
64712	// actually making the request, and provides an error response. If you have
64713	// the required permissions, the error response is DryRunOperation. Otherwise,
64714	// it is UnauthorizedOperation.
64715	DryRun *bool `type:"boolean"`
64716
64717	// One or more filters. The possible values are:
64718	//
64719	//    * default-association-route-table - Indicates whether this is the default
64720	//    association route table for the transit gateway (true | false).
64721	//
64722	//    * default-propagation-route-table - Indicates whether this is the default
64723	//    propagation route table for the transit gateway (true | false).
64724	//
64725	//    * state - The state of the attachment (available | deleted | deleting
64726	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
64727	//    | rejecting).
64728	//
64729	//    * transit-gateway-id - The ID of the transit gateway.
64730	//
64731	//    * transit-gateway-route-table-id - The ID of the transit gateway route
64732	//    table.
64733	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64734
64735	// The maximum number of results to return with a single call. To retrieve the
64736	// remaining results, make another call with the returned nextToken value.
64737	MaxResults *int64 `min:"5" type:"integer"`
64738
64739	// The token for the next page of results.
64740	NextToken *string `type:"string"`
64741
64742	// The IDs of the transit gateway route tables.
64743	TransitGatewayRouteTableIds []*string `locationNameList:"item" type:"list"`
64744}
64745
64746// String returns the string representation
64747func (s DescribeTransitGatewayRouteTablesInput) String() string {
64748	return awsutil.Prettify(s)
64749}
64750
64751// GoString returns the string representation
64752func (s DescribeTransitGatewayRouteTablesInput) GoString() string {
64753	return s.String()
64754}
64755
64756// Validate inspects the fields of the type to determine if they are valid.
64757func (s *DescribeTransitGatewayRouteTablesInput) Validate() error {
64758	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayRouteTablesInput"}
64759	if s.MaxResults != nil && *s.MaxResults < 5 {
64760		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64761	}
64762
64763	if invalidParams.Len() > 0 {
64764		return invalidParams
64765	}
64766	return nil
64767}
64768
64769// SetDryRun sets the DryRun field's value.
64770func (s *DescribeTransitGatewayRouteTablesInput) SetDryRun(v bool) *DescribeTransitGatewayRouteTablesInput {
64771	s.DryRun = &v
64772	return s
64773}
64774
64775// SetFilters sets the Filters field's value.
64776func (s *DescribeTransitGatewayRouteTablesInput) SetFilters(v []*Filter) *DescribeTransitGatewayRouteTablesInput {
64777	s.Filters = v
64778	return s
64779}
64780
64781// SetMaxResults sets the MaxResults field's value.
64782func (s *DescribeTransitGatewayRouteTablesInput) SetMaxResults(v int64) *DescribeTransitGatewayRouteTablesInput {
64783	s.MaxResults = &v
64784	return s
64785}
64786
64787// SetNextToken sets the NextToken field's value.
64788func (s *DescribeTransitGatewayRouteTablesInput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesInput {
64789	s.NextToken = &v
64790	return s
64791}
64792
64793// SetTransitGatewayRouteTableIds sets the TransitGatewayRouteTableIds field's value.
64794func (s *DescribeTransitGatewayRouteTablesInput) SetTransitGatewayRouteTableIds(v []*string) *DescribeTransitGatewayRouteTablesInput {
64795	s.TransitGatewayRouteTableIds = v
64796	return s
64797}
64798
64799type DescribeTransitGatewayRouteTablesOutput struct {
64800	_ struct{} `type:"structure"`
64801
64802	// The token to use to retrieve the next page of results. This value is null
64803	// when there are no more results to return.
64804	NextToken *string `locationName:"nextToken" type:"string"`
64805
64806	// Information about the transit gateway route tables.
64807	TransitGatewayRouteTables []*TransitGatewayRouteTable `locationName:"transitGatewayRouteTables" locationNameList:"item" type:"list"`
64808}
64809
64810// String returns the string representation
64811func (s DescribeTransitGatewayRouteTablesOutput) String() string {
64812	return awsutil.Prettify(s)
64813}
64814
64815// GoString returns the string representation
64816func (s DescribeTransitGatewayRouteTablesOutput) GoString() string {
64817	return s.String()
64818}
64819
64820// SetNextToken sets the NextToken field's value.
64821func (s *DescribeTransitGatewayRouteTablesOutput) SetNextToken(v string) *DescribeTransitGatewayRouteTablesOutput {
64822	s.NextToken = &v
64823	return s
64824}
64825
64826// SetTransitGatewayRouteTables sets the TransitGatewayRouteTables field's value.
64827func (s *DescribeTransitGatewayRouteTablesOutput) SetTransitGatewayRouteTables(v []*TransitGatewayRouteTable) *DescribeTransitGatewayRouteTablesOutput {
64828	s.TransitGatewayRouteTables = v
64829	return s
64830}
64831
64832type DescribeTransitGatewayVpcAttachmentsInput struct {
64833	_ struct{} `type:"structure"`
64834
64835	// Checks whether you have the required permissions for the action, without
64836	// actually making the request, and provides an error response. If you have
64837	// the required permissions, the error response is DryRunOperation. Otherwise,
64838	// it is UnauthorizedOperation.
64839	DryRun *bool `type:"boolean"`
64840
64841	// One or more filters. The possible values are:
64842	//
64843	//    * state - The state of the attachment (available | deleted | deleting
64844	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
64845	//    | rejecting).
64846	//
64847	//    * transit-gateway-attachment-id - The ID of the attachment.
64848	//
64849	//    * transit-gateway-id - The ID of the transit gateway.
64850	//
64851	//    * vpc-id - The ID of the VPC.
64852	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64853
64854	// The maximum number of results to return with a single call. To retrieve the
64855	// remaining results, make another call with the returned nextToken value.
64856	MaxResults *int64 `min:"5" type:"integer"`
64857
64858	// The token for the next page of results.
64859	NextToken *string `type:"string"`
64860
64861	// The IDs of the attachments.
64862	TransitGatewayAttachmentIds []*string `type:"list"`
64863}
64864
64865// String returns the string representation
64866func (s DescribeTransitGatewayVpcAttachmentsInput) String() string {
64867	return awsutil.Prettify(s)
64868}
64869
64870// GoString returns the string representation
64871func (s DescribeTransitGatewayVpcAttachmentsInput) GoString() string {
64872	return s.String()
64873}
64874
64875// Validate inspects the fields of the type to determine if they are valid.
64876func (s *DescribeTransitGatewayVpcAttachmentsInput) Validate() error {
64877	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewayVpcAttachmentsInput"}
64878	if s.MaxResults != nil && *s.MaxResults < 5 {
64879		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
64880	}
64881
64882	if invalidParams.Len() > 0 {
64883		return invalidParams
64884	}
64885	return nil
64886}
64887
64888// SetDryRun sets the DryRun field's value.
64889func (s *DescribeTransitGatewayVpcAttachmentsInput) SetDryRun(v bool) *DescribeTransitGatewayVpcAttachmentsInput {
64890	s.DryRun = &v
64891	return s
64892}
64893
64894// SetFilters sets the Filters field's value.
64895func (s *DescribeTransitGatewayVpcAttachmentsInput) SetFilters(v []*Filter) *DescribeTransitGatewayVpcAttachmentsInput {
64896	s.Filters = v
64897	return s
64898}
64899
64900// SetMaxResults sets the MaxResults field's value.
64901func (s *DescribeTransitGatewayVpcAttachmentsInput) SetMaxResults(v int64) *DescribeTransitGatewayVpcAttachmentsInput {
64902	s.MaxResults = &v
64903	return s
64904}
64905
64906// SetNextToken sets the NextToken field's value.
64907func (s *DescribeTransitGatewayVpcAttachmentsInput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsInput {
64908	s.NextToken = &v
64909	return s
64910}
64911
64912// SetTransitGatewayAttachmentIds sets the TransitGatewayAttachmentIds field's value.
64913func (s *DescribeTransitGatewayVpcAttachmentsInput) SetTransitGatewayAttachmentIds(v []*string) *DescribeTransitGatewayVpcAttachmentsInput {
64914	s.TransitGatewayAttachmentIds = v
64915	return s
64916}
64917
64918type DescribeTransitGatewayVpcAttachmentsOutput struct {
64919	_ struct{} `type:"structure"`
64920
64921	// The token to use to retrieve the next page of results. This value is null
64922	// when there are no more results to return.
64923	NextToken *string `locationName:"nextToken" type:"string"`
64924
64925	// Information about the VPC attachments.
64926	TransitGatewayVpcAttachments []*TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachments" locationNameList:"item" type:"list"`
64927}
64928
64929// String returns the string representation
64930func (s DescribeTransitGatewayVpcAttachmentsOutput) String() string {
64931	return awsutil.Prettify(s)
64932}
64933
64934// GoString returns the string representation
64935func (s DescribeTransitGatewayVpcAttachmentsOutput) GoString() string {
64936	return s.String()
64937}
64938
64939// SetNextToken sets the NextToken field's value.
64940func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetNextToken(v string) *DescribeTransitGatewayVpcAttachmentsOutput {
64941	s.NextToken = &v
64942	return s
64943}
64944
64945// SetTransitGatewayVpcAttachments sets the TransitGatewayVpcAttachments field's value.
64946func (s *DescribeTransitGatewayVpcAttachmentsOutput) SetTransitGatewayVpcAttachments(v []*TransitGatewayVpcAttachment) *DescribeTransitGatewayVpcAttachmentsOutput {
64947	s.TransitGatewayVpcAttachments = v
64948	return s
64949}
64950
64951type DescribeTransitGatewaysInput struct {
64952	_ struct{} `type:"structure"`
64953
64954	// Checks whether you have the required permissions for the action, without
64955	// actually making the request, and provides an error response. If you have
64956	// the required permissions, the error response is DryRunOperation. Otherwise,
64957	// it is UnauthorizedOperation.
64958	DryRun *bool `type:"boolean"`
64959
64960	// One or more filters. The possible values are:
64961	//
64962	//    * options.propagation-default-route-table-id - The ID of the default propagation
64963	//    route table.
64964	//
64965	//    * options.amazon-side-asn - The private ASN for the Amazon side of a BGP
64966	//    session.
64967	//
64968	//    * options.association-default-route-table-id - The ID of the default association
64969	//    route table.
64970	//
64971	//    * options.auto-accept-shared-attachments - Indicates whether there is
64972	//    automatic acceptance of attachment requests (enable | disable).
64973	//
64974	//    * options.default-route-table-association - Indicates whether resource
64975	//    attachments are automatically associated with the default association
64976	//    route table (enable | disable).
64977	//
64978	//    * options.default-route-table-propagation - Indicates whether resource
64979	//    attachments automatically propagate routes to the default propagation
64980	//    route table (enable | disable).
64981	//
64982	//    * options.dns-support - Indicates whether DNS support is enabled (enable
64983	//    | disable).
64984	//
64985	//    * options.vpn-ecmp-support - Indicates whether Equal Cost Multipath Protocol
64986	//    support is enabled (enable | disable).
64987	//
64988	//    * owner-id - The ID of the AWS account that owns the transit gateway.
64989	//
64990	//    * state - The state of the attachment (available | deleted | deleting
64991	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
64992	//    | rejecting).
64993	//
64994	//    * transit-gateway-id - The ID of the transit gateway.
64995	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
64996
64997	// The maximum number of results to return with a single call. To retrieve the
64998	// remaining results, make another call with the returned nextToken value.
64999	MaxResults *int64 `min:"5" type:"integer"`
65000
65001	// The token for the next page of results.
65002	NextToken *string `type:"string"`
65003
65004	// The IDs of the transit gateways.
65005	TransitGatewayIds []*string `locationNameList:"item" type:"list"`
65006}
65007
65008// String returns the string representation
65009func (s DescribeTransitGatewaysInput) String() string {
65010	return awsutil.Prettify(s)
65011}
65012
65013// GoString returns the string representation
65014func (s DescribeTransitGatewaysInput) GoString() string {
65015	return s.String()
65016}
65017
65018// Validate inspects the fields of the type to determine if they are valid.
65019func (s *DescribeTransitGatewaysInput) Validate() error {
65020	invalidParams := request.ErrInvalidParams{Context: "DescribeTransitGatewaysInput"}
65021	if s.MaxResults != nil && *s.MaxResults < 5 {
65022		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
65023	}
65024
65025	if invalidParams.Len() > 0 {
65026		return invalidParams
65027	}
65028	return nil
65029}
65030
65031// SetDryRun sets the DryRun field's value.
65032func (s *DescribeTransitGatewaysInput) SetDryRun(v bool) *DescribeTransitGatewaysInput {
65033	s.DryRun = &v
65034	return s
65035}
65036
65037// SetFilters sets the Filters field's value.
65038func (s *DescribeTransitGatewaysInput) SetFilters(v []*Filter) *DescribeTransitGatewaysInput {
65039	s.Filters = v
65040	return s
65041}
65042
65043// SetMaxResults sets the MaxResults field's value.
65044func (s *DescribeTransitGatewaysInput) SetMaxResults(v int64) *DescribeTransitGatewaysInput {
65045	s.MaxResults = &v
65046	return s
65047}
65048
65049// SetNextToken sets the NextToken field's value.
65050func (s *DescribeTransitGatewaysInput) SetNextToken(v string) *DescribeTransitGatewaysInput {
65051	s.NextToken = &v
65052	return s
65053}
65054
65055// SetTransitGatewayIds sets the TransitGatewayIds field's value.
65056func (s *DescribeTransitGatewaysInput) SetTransitGatewayIds(v []*string) *DescribeTransitGatewaysInput {
65057	s.TransitGatewayIds = v
65058	return s
65059}
65060
65061type DescribeTransitGatewaysOutput struct {
65062	_ struct{} `type:"structure"`
65063
65064	// The token to use to retrieve the next page of results. This value is null
65065	// when there are no more results to return.
65066	NextToken *string `locationName:"nextToken" type:"string"`
65067
65068	// Information about the transit gateways.
65069	TransitGateways []*TransitGateway `locationName:"transitGatewaySet" locationNameList:"item" type:"list"`
65070}
65071
65072// String returns the string representation
65073func (s DescribeTransitGatewaysOutput) String() string {
65074	return awsutil.Prettify(s)
65075}
65076
65077// GoString returns the string representation
65078func (s DescribeTransitGatewaysOutput) GoString() string {
65079	return s.String()
65080}
65081
65082// SetNextToken sets the NextToken field's value.
65083func (s *DescribeTransitGatewaysOutput) SetNextToken(v string) *DescribeTransitGatewaysOutput {
65084	s.NextToken = &v
65085	return s
65086}
65087
65088// SetTransitGateways sets the TransitGateways field's value.
65089func (s *DescribeTransitGatewaysOutput) SetTransitGateways(v []*TransitGateway) *DescribeTransitGatewaysOutput {
65090	s.TransitGateways = v
65091	return s
65092}
65093
65094type DescribeVolumeAttributeInput struct {
65095	_ struct{} `type:"structure"`
65096
65097	// The attribute of the volume. This parameter is required.
65098	//
65099	// Attribute is a required field
65100	Attribute *string `type:"string" required:"true" enum:"VolumeAttributeName"`
65101
65102	// Checks whether you have the required permissions for the action, without
65103	// actually making the request, and provides an error response. If you have
65104	// the required permissions, the error response is DryRunOperation. Otherwise,
65105	// it is UnauthorizedOperation.
65106	DryRun *bool `locationName:"dryRun" type:"boolean"`
65107
65108	// The ID of the volume.
65109	//
65110	// VolumeId is a required field
65111	VolumeId *string `type:"string" required:"true"`
65112}
65113
65114// String returns the string representation
65115func (s DescribeVolumeAttributeInput) String() string {
65116	return awsutil.Prettify(s)
65117}
65118
65119// GoString returns the string representation
65120func (s DescribeVolumeAttributeInput) GoString() string {
65121	return s.String()
65122}
65123
65124// Validate inspects the fields of the type to determine if they are valid.
65125func (s *DescribeVolumeAttributeInput) Validate() error {
65126	invalidParams := request.ErrInvalidParams{Context: "DescribeVolumeAttributeInput"}
65127	if s.Attribute == nil {
65128		invalidParams.Add(request.NewErrParamRequired("Attribute"))
65129	}
65130	if s.VolumeId == nil {
65131		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
65132	}
65133
65134	if invalidParams.Len() > 0 {
65135		return invalidParams
65136	}
65137	return nil
65138}
65139
65140// SetAttribute sets the Attribute field's value.
65141func (s *DescribeVolumeAttributeInput) SetAttribute(v string) *DescribeVolumeAttributeInput {
65142	s.Attribute = &v
65143	return s
65144}
65145
65146// SetDryRun sets the DryRun field's value.
65147func (s *DescribeVolumeAttributeInput) SetDryRun(v bool) *DescribeVolumeAttributeInput {
65148	s.DryRun = &v
65149	return s
65150}
65151
65152// SetVolumeId sets the VolumeId field's value.
65153func (s *DescribeVolumeAttributeInput) SetVolumeId(v string) *DescribeVolumeAttributeInput {
65154	s.VolumeId = &v
65155	return s
65156}
65157
65158type DescribeVolumeAttributeOutput struct {
65159	_ struct{} `type:"structure"`
65160
65161	// The state of autoEnableIO attribute.
65162	AutoEnableIO *AttributeBooleanValue `locationName:"autoEnableIO" type:"structure"`
65163
65164	// A list of product codes.
65165	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
65166
65167	// The ID of the volume.
65168	VolumeId *string `locationName:"volumeId" type:"string"`
65169}
65170
65171// String returns the string representation
65172func (s DescribeVolumeAttributeOutput) String() string {
65173	return awsutil.Prettify(s)
65174}
65175
65176// GoString returns the string representation
65177func (s DescribeVolumeAttributeOutput) GoString() string {
65178	return s.String()
65179}
65180
65181// SetAutoEnableIO sets the AutoEnableIO field's value.
65182func (s *DescribeVolumeAttributeOutput) SetAutoEnableIO(v *AttributeBooleanValue) *DescribeVolumeAttributeOutput {
65183	s.AutoEnableIO = v
65184	return s
65185}
65186
65187// SetProductCodes sets the ProductCodes field's value.
65188func (s *DescribeVolumeAttributeOutput) SetProductCodes(v []*ProductCode) *DescribeVolumeAttributeOutput {
65189	s.ProductCodes = v
65190	return s
65191}
65192
65193// SetVolumeId sets the VolumeId field's value.
65194func (s *DescribeVolumeAttributeOutput) SetVolumeId(v string) *DescribeVolumeAttributeOutput {
65195	s.VolumeId = &v
65196	return s
65197}
65198
65199type DescribeVolumeStatusInput struct {
65200	_ struct{} `type:"structure"`
65201
65202	// Checks whether you have the required permissions for the action, without
65203	// actually making the request, and provides an error response. If you have
65204	// the required permissions, the error response is DryRunOperation. Otherwise,
65205	// it is UnauthorizedOperation.
65206	DryRun *bool `locationName:"dryRun" type:"boolean"`
65207
65208	// The filters.
65209	//
65210	//    * action.code - The action code for the event (for example, enable-volume-io).
65211	//
65212	//    * action.description - A description of the action.
65213	//
65214	//    * action.event-id - The event ID associated with the action.
65215	//
65216	//    * availability-zone - The Availability Zone of the instance.
65217	//
65218	//    * event.description - A description of the event.
65219	//
65220	//    * event.event-id - The event ID.
65221	//
65222	//    * event.event-type - The event type (for io-enabled: passed | failed;
65223	//    for io-performance: io-performance:degraded | io-performance:severely-degraded
65224	//    | io-performance:stalled).
65225	//
65226	//    * event.not-after - The latest end time for the event.
65227	//
65228	//    * event.not-before - The earliest start time for the event.
65229	//
65230	//    * volume-status.details-name - The cause for volume-status.status (io-enabled
65231	//    | io-performance).
65232	//
65233	//    * volume-status.details-status - The status of volume-status.details-name
65234	//    (for io-enabled: passed | failed; for io-performance: normal | degraded
65235	//    | severely-degraded | stalled).
65236	//
65237	//    * volume-status.status - The status of the volume (ok | impaired | warning
65238	//    | insufficient-data).
65239	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65240
65241	// The maximum number of volume results returned by DescribeVolumeStatus in
65242	// paginated output. When this parameter is used, the request only returns MaxResults
65243	// results in a single page along with a NextToken response element. The remaining
65244	// results of the initial request can be seen by sending another request with
65245	// the returned NextToken value. This value can be between 5 and 1000; if MaxResults
65246	// is given a value larger than 1000, only 1000 results are returned. If this
65247	// parameter is not used, then DescribeVolumeStatus returns all results. You
65248	// cannot specify this parameter and the volume IDs parameter in the same request.
65249	MaxResults *int64 `type:"integer"`
65250
65251	// The NextToken value to include in a future DescribeVolumeStatus request.
65252	// When the results of the request exceed MaxResults, this value can be used
65253	// to retrieve the next page of results. This value is null when there are no
65254	// more results to return.
65255	NextToken *string `type:"string"`
65256
65257	// The IDs of the volumes.
65258	//
65259	// Default: Describes all your volumes.
65260	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
65261}
65262
65263// String returns the string representation
65264func (s DescribeVolumeStatusInput) String() string {
65265	return awsutil.Prettify(s)
65266}
65267
65268// GoString returns the string representation
65269func (s DescribeVolumeStatusInput) GoString() string {
65270	return s.String()
65271}
65272
65273// SetDryRun sets the DryRun field's value.
65274func (s *DescribeVolumeStatusInput) SetDryRun(v bool) *DescribeVolumeStatusInput {
65275	s.DryRun = &v
65276	return s
65277}
65278
65279// SetFilters sets the Filters field's value.
65280func (s *DescribeVolumeStatusInput) SetFilters(v []*Filter) *DescribeVolumeStatusInput {
65281	s.Filters = v
65282	return s
65283}
65284
65285// SetMaxResults sets the MaxResults field's value.
65286func (s *DescribeVolumeStatusInput) SetMaxResults(v int64) *DescribeVolumeStatusInput {
65287	s.MaxResults = &v
65288	return s
65289}
65290
65291// SetNextToken sets the NextToken field's value.
65292func (s *DescribeVolumeStatusInput) SetNextToken(v string) *DescribeVolumeStatusInput {
65293	s.NextToken = &v
65294	return s
65295}
65296
65297// SetVolumeIds sets the VolumeIds field's value.
65298func (s *DescribeVolumeStatusInput) SetVolumeIds(v []*string) *DescribeVolumeStatusInput {
65299	s.VolumeIds = v
65300	return s
65301}
65302
65303type DescribeVolumeStatusOutput struct {
65304	_ struct{} `type:"structure"`
65305
65306	// The token to use to retrieve the next page of results. This value is null
65307	// when there are no more results to return.
65308	NextToken *string `locationName:"nextToken" type:"string"`
65309
65310	// Information about the status of the volumes.
65311	VolumeStatuses []*VolumeStatusItem `locationName:"volumeStatusSet" locationNameList:"item" type:"list"`
65312}
65313
65314// String returns the string representation
65315func (s DescribeVolumeStatusOutput) String() string {
65316	return awsutil.Prettify(s)
65317}
65318
65319// GoString returns the string representation
65320func (s DescribeVolumeStatusOutput) GoString() string {
65321	return s.String()
65322}
65323
65324// SetNextToken sets the NextToken field's value.
65325func (s *DescribeVolumeStatusOutput) SetNextToken(v string) *DescribeVolumeStatusOutput {
65326	s.NextToken = &v
65327	return s
65328}
65329
65330// SetVolumeStatuses sets the VolumeStatuses field's value.
65331func (s *DescribeVolumeStatusOutput) SetVolumeStatuses(v []*VolumeStatusItem) *DescribeVolumeStatusOutput {
65332	s.VolumeStatuses = v
65333	return s
65334}
65335
65336type DescribeVolumesInput struct {
65337	_ struct{} `type:"structure"`
65338
65339	// Checks whether you have the required permissions for the action, without
65340	// actually making the request, and provides an error response. If you have
65341	// the required permissions, the error response is DryRunOperation. Otherwise,
65342	// it is UnauthorizedOperation.
65343	DryRun *bool `locationName:"dryRun" type:"boolean"`
65344
65345	// The filters.
65346	//
65347	//    * attachment.attach-time - The time stamp when the attachment initiated.
65348	//
65349	//    * attachment.delete-on-termination - Whether the volume is deleted on
65350	//    instance termination.
65351	//
65352	//    * attachment.device - The device name specified in the block device mapping
65353	//    (for example, /dev/sda1).
65354	//
65355	//    * attachment.instance-id - The ID of the instance the volume is attached
65356	//    to.
65357	//
65358	//    * attachment.status - The attachment state (attaching | attached | detaching).
65359	//
65360	//    * availability-zone - The Availability Zone in which the volume was created.
65361	//
65362	//    * create-time - The time stamp when the volume was created.
65363	//
65364	//    * encrypted - Indicates whether the volume is encrypted (true | false)
65365	//
65366	//    * size - The size of the volume, in GiB.
65367	//
65368	//    * snapshot-id - The snapshot from which the volume was created.
65369	//
65370	//    * status - The status of the volume (creating | available | in-use | deleting
65371	//    | deleted | error).
65372	//
65373	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
65374	//    Use the tag key in the filter name and the tag value as the filter value.
65375	//    For example, to find all resources that have a tag with the key Owner
65376	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
65377	//    the filter value.
65378	//
65379	//    * tag-key - The key of a tag assigned to the resource. Use this filter
65380	//    to find all resources assigned a tag with a specific key, regardless of
65381	//    the tag value.
65382	//
65383	//    * volume-id - The volume ID.
65384	//
65385	//    * volume-type - The Amazon EBS volume type. This can be gp2 for General
65386	//    Purpose SSD, io1 for Provisioned IOPS SSD, st1 for Throughput Optimized
65387	//    HDD, sc1 for Cold HDD, or standard for Magnetic volumes.
65388	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65389
65390	// The maximum number of volume results returned by DescribeVolumes in paginated
65391	// output. When this parameter is used, DescribeVolumes only returns MaxResults
65392	// results in a single page along with a NextToken response element. The remaining
65393	// results of the initial request can be seen by sending another DescribeVolumes
65394	// request with the returned NextToken value. This value can be between 5 and
65395	// 500; if MaxResults is given a value larger than 500, only 500 results are
65396	// returned. If this parameter is not used, then DescribeVolumes returns all
65397	// results. You cannot specify this parameter and the volume IDs parameter in
65398	// the same request.
65399	MaxResults *int64 `locationName:"maxResults" type:"integer"`
65400
65401	// The NextToken value returned from a previous paginated DescribeVolumes request
65402	// where MaxResults was used and the results exceeded the value of that parameter.
65403	// Pagination continues from the end of the previous results that returned the
65404	// NextToken value. This value is null when there are no more results to return.
65405	NextToken *string `locationName:"nextToken" type:"string"`
65406
65407	// The volume IDs.
65408	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
65409}
65410
65411// String returns the string representation
65412func (s DescribeVolumesInput) String() string {
65413	return awsutil.Prettify(s)
65414}
65415
65416// GoString returns the string representation
65417func (s DescribeVolumesInput) GoString() string {
65418	return s.String()
65419}
65420
65421// SetDryRun sets the DryRun field's value.
65422func (s *DescribeVolumesInput) SetDryRun(v bool) *DescribeVolumesInput {
65423	s.DryRun = &v
65424	return s
65425}
65426
65427// SetFilters sets the Filters field's value.
65428func (s *DescribeVolumesInput) SetFilters(v []*Filter) *DescribeVolumesInput {
65429	s.Filters = v
65430	return s
65431}
65432
65433// SetMaxResults sets the MaxResults field's value.
65434func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput {
65435	s.MaxResults = &v
65436	return s
65437}
65438
65439// SetNextToken sets the NextToken field's value.
65440func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput {
65441	s.NextToken = &v
65442	return s
65443}
65444
65445// SetVolumeIds sets the VolumeIds field's value.
65446func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput {
65447	s.VolumeIds = v
65448	return s
65449}
65450
65451type DescribeVolumesModificationsInput struct {
65452	_ struct{} `type:"structure"`
65453
65454	// Checks whether you have the required permissions for the action, without
65455	// actually making the request, and provides an error response. If you have
65456	// the required permissions, the error response is DryRunOperation. Otherwise,
65457	// it is UnauthorizedOperation.
65458	DryRun *bool `type:"boolean"`
65459
65460	// The filters. Supported filters: volume-id, modification-state, target-size,
65461	// target-iops, target-volume-type, original-size, original-iops, original-volume-type,
65462	// start-time.
65463	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65464
65465	// The maximum number of results (up to a limit of 500) to be returned in a
65466	// paginated request.
65467	MaxResults *int64 `type:"integer"`
65468
65469	// The nextToken value returned by a previous paginated request.
65470	NextToken *string `type:"string"`
65471
65472	// The IDs of the volumes for which in-progress modifications will be described.
65473	VolumeIds []*string `locationName:"VolumeId" locationNameList:"VolumeId" type:"list"`
65474}
65475
65476// String returns the string representation
65477func (s DescribeVolumesModificationsInput) String() string {
65478	return awsutil.Prettify(s)
65479}
65480
65481// GoString returns the string representation
65482func (s DescribeVolumesModificationsInput) GoString() string {
65483	return s.String()
65484}
65485
65486// SetDryRun sets the DryRun field's value.
65487func (s *DescribeVolumesModificationsInput) SetDryRun(v bool) *DescribeVolumesModificationsInput {
65488	s.DryRun = &v
65489	return s
65490}
65491
65492// SetFilters sets the Filters field's value.
65493func (s *DescribeVolumesModificationsInput) SetFilters(v []*Filter) *DescribeVolumesModificationsInput {
65494	s.Filters = v
65495	return s
65496}
65497
65498// SetMaxResults sets the MaxResults field's value.
65499func (s *DescribeVolumesModificationsInput) SetMaxResults(v int64) *DescribeVolumesModificationsInput {
65500	s.MaxResults = &v
65501	return s
65502}
65503
65504// SetNextToken sets the NextToken field's value.
65505func (s *DescribeVolumesModificationsInput) SetNextToken(v string) *DescribeVolumesModificationsInput {
65506	s.NextToken = &v
65507	return s
65508}
65509
65510// SetVolumeIds sets the VolumeIds field's value.
65511func (s *DescribeVolumesModificationsInput) SetVolumeIds(v []*string) *DescribeVolumesModificationsInput {
65512	s.VolumeIds = v
65513	return s
65514}
65515
65516type DescribeVolumesModificationsOutput struct {
65517	_ struct{} `type:"structure"`
65518
65519	// Token for pagination, null if there are no more results
65520	NextToken *string `locationName:"nextToken" type:"string"`
65521
65522	// Information about the volume modifications.
65523	VolumesModifications []*VolumeModification `locationName:"volumeModificationSet" locationNameList:"item" type:"list"`
65524}
65525
65526// String returns the string representation
65527func (s DescribeVolumesModificationsOutput) String() string {
65528	return awsutil.Prettify(s)
65529}
65530
65531// GoString returns the string representation
65532func (s DescribeVolumesModificationsOutput) GoString() string {
65533	return s.String()
65534}
65535
65536// SetNextToken sets the NextToken field's value.
65537func (s *DescribeVolumesModificationsOutput) SetNextToken(v string) *DescribeVolumesModificationsOutput {
65538	s.NextToken = &v
65539	return s
65540}
65541
65542// SetVolumesModifications sets the VolumesModifications field's value.
65543func (s *DescribeVolumesModificationsOutput) SetVolumesModifications(v []*VolumeModification) *DescribeVolumesModificationsOutput {
65544	s.VolumesModifications = v
65545	return s
65546}
65547
65548type DescribeVolumesOutput struct {
65549	_ struct{} `type:"structure"`
65550
65551	// The NextToken value to include in a future DescribeVolumes request. When
65552	// the results of a DescribeVolumes request exceed MaxResults, this value can
65553	// be used to retrieve the next page of results. This value is null when there
65554	// are no more results to return.
65555	NextToken *string `locationName:"nextToken" type:"string"`
65556
65557	// Information about the volumes.
65558	Volumes []*Volume `locationName:"volumeSet" locationNameList:"item" type:"list"`
65559}
65560
65561// String returns the string representation
65562func (s DescribeVolumesOutput) String() string {
65563	return awsutil.Prettify(s)
65564}
65565
65566// GoString returns the string representation
65567func (s DescribeVolumesOutput) GoString() string {
65568	return s.String()
65569}
65570
65571// SetNextToken sets the NextToken field's value.
65572func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput {
65573	s.NextToken = &v
65574	return s
65575}
65576
65577// SetVolumes sets the Volumes field's value.
65578func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput {
65579	s.Volumes = v
65580	return s
65581}
65582
65583type DescribeVpcAttributeInput struct {
65584	_ struct{} `type:"structure"`
65585
65586	// The VPC attribute.
65587	//
65588	// Attribute is a required field
65589	Attribute *string `type:"string" required:"true" enum:"VpcAttributeName"`
65590
65591	// Checks whether you have the required permissions for the action, without
65592	// actually making the request, and provides an error response. If you have
65593	// the required permissions, the error response is DryRunOperation. Otherwise,
65594	// it is UnauthorizedOperation.
65595	DryRun *bool `locationName:"dryRun" type:"boolean"`
65596
65597	// The ID of the VPC.
65598	//
65599	// VpcId is a required field
65600	VpcId *string `type:"string" required:"true"`
65601}
65602
65603// String returns the string representation
65604func (s DescribeVpcAttributeInput) String() string {
65605	return awsutil.Prettify(s)
65606}
65607
65608// GoString returns the string representation
65609func (s DescribeVpcAttributeInput) GoString() string {
65610	return s.String()
65611}
65612
65613// Validate inspects the fields of the type to determine if they are valid.
65614func (s *DescribeVpcAttributeInput) Validate() error {
65615	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcAttributeInput"}
65616	if s.Attribute == nil {
65617		invalidParams.Add(request.NewErrParamRequired("Attribute"))
65618	}
65619	if s.VpcId == nil {
65620		invalidParams.Add(request.NewErrParamRequired("VpcId"))
65621	}
65622
65623	if invalidParams.Len() > 0 {
65624		return invalidParams
65625	}
65626	return nil
65627}
65628
65629// SetAttribute sets the Attribute field's value.
65630func (s *DescribeVpcAttributeInput) SetAttribute(v string) *DescribeVpcAttributeInput {
65631	s.Attribute = &v
65632	return s
65633}
65634
65635// SetDryRun sets the DryRun field's value.
65636func (s *DescribeVpcAttributeInput) SetDryRun(v bool) *DescribeVpcAttributeInput {
65637	s.DryRun = &v
65638	return s
65639}
65640
65641// SetVpcId sets the VpcId field's value.
65642func (s *DescribeVpcAttributeInput) SetVpcId(v string) *DescribeVpcAttributeInput {
65643	s.VpcId = &v
65644	return s
65645}
65646
65647type DescribeVpcAttributeOutput struct {
65648	_ struct{} `type:"structure"`
65649
65650	// Indicates whether the instances launched in the VPC get DNS hostnames. If
65651	// this attribute is true, instances in the VPC get DNS hostnames; otherwise,
65652	// they do not.
65653	EnableDnsHostnames *AttributeBooleanValue `locationName:"enableDnsHostnames" type:"structure"`
65654
65655	// Indicates whether DNS resolution is enabled for the VPC. If this attribute
65656	// is true, the Amazon DNS server resolves DNS hostnames for your instances
65657	// to their corresponding IP addresses; otherwise, it does not.
65658	EnableDnsSupport *AttributeBooleanValue `locationName:"enableDnsSupport" type:"structure"`
65659
65660	// The ID of the VPC.
65661	VpcId *string `locationName:"vpcId" type:"string"`
65662}
65663
65664// String returns the string representation
65665func (s DescribeVpcAttributeOutput) String() string {
65666	return awsutil.Prettify(s)
65667}
65668
65669// GoString returns the string representation
65670func (s DescribeVpcAttributeOutput) GoString() string {
65671	return s.String()
65672}
65673
65674// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
65675func (s *DescribeVpcAttributeOutput) SetEnableDnsHostnames(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
65676	s.EnableDnsHostnames = v
65677	return s
65678}
65679
65680// SetEnableDnsSupport sets the EnableDnsSupport field's value.
65681func (s *DescribeVpcAttributeOutput) SetEnableDnsSupport(v *AttributeBooleanValue) *DescribeVpcAttributeOutput {
65682	s.EnableDnsSupport = v
65683	return s
65684}
65685
65686// SetVpcId sets the VpcId field's value.
65687func (s *DescribeVpcAttributeOutput) SetVpcId(v string) *DescribeVpcAttributeOutput {
65688	s.VpcId = &v
65689	return s
65690}
65691
65692type DescribeVpcClassicLinkDnsSupportInput struct {
65693	_ struct{} `type:"structure"`
65694
65695	// The maximum number of results to return with a single call. To retrieve the
65696	// remaining results, make another call with the returned nextToken value.
65697	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
65698
65699	// The token for the next page of results.
65700	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
65701
65702	// One or more VPC IDs.
65703	VpcIds []*string `locationNameList:"VpcId" type:"list"`
65704}
65705
65706// String returns the string representation
65707func (s DescribeVpcClassicLinkDnsSupportInput) String() string {
65708	return awsutil.Prettify(s)
65709}
65710
65711// GoString returns the string representation
65712func (s DescribeVpcClassicLinkDnsSupportInput) GoString() string {
65713	return s.String()
65714}
65715
65716// Validate inspects the fields of the type to determine if they are valid.
65717func (s *DescribeVpcClassicLinkDnsSupportInput) Validate() error {
65718	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcClassicLinkDnsSupportInput"}
65719	if s.MaxResults != nil && *s.MaxResults < 5 {
65720		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
65721	}
65722	if s.NextToken != nil && len(*s.NextToken) < 1 {
65723		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
65724	}
65725
65726	if invalidParams.Len() > 0 {
65727		return invalidParams
65728	}
65729	return nil
65730}
65731
65732// SetMaxResults sets the MaxResults field's value.
65733func (s *DescribeVpcClassicLinkDnsSupportInput) SetMaxResults(v int64) *DescribeVpcClassicLinkDnsSupportInput {
65734	s.MaxResults = &v
65735	return s
65736}
65737
65738// SetNextToken sets the NextToken field's value.
65739func (s *DescribeVpcClassicLinkDnsSupportInput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportInput {
65740	s.NextToken = &v
65741	return s
65742}
65743
65744// SetVpcIds sets the VpcIds field's value.
65745func (s *DescribeVpcClassicLinkDnsSupportInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkDnsSupportInput {
65746	s.VpcIds = v
65747	return s
65748}
65749
65750type DescribeVpcClassicLinkDnsSupportOutput struct {
65751	_ struct{} `type:"structure"`
65752
65753	// The token to use to retrieve the next page of results. This value is null
65754	// when there are no more results to return.
65755	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
65756
65757	// Information about the ClassicLink DNS support status of the VPCs.
65758	Vpcs []*ClassicLinkDnsSupport `locationName:"vpcs" locationNameList:"item" type:"list"`
65759}
65760
65761// String returns the string representation
65762func (s DescribeVpcClassicLinkDnsSupportOutput) String() string {
65763	return awsutil.Prettify(s)
65764}
65765
65766// GoString returns the string representation
65767func (s DescribeVpcClassicLinkDnsSupportOutput) GoString() string {
65768	return s.String()
65769}
65770
65771// SetNextToken sets the NextToken field's value.
65772func (s *DescribeVpcClassicLinkDnsSupportOutput) SetNextToken(v string) *DescribeVpcClassicLinkDnsSupportOutput {
65773	s.NextToken = &v
65774	return s
65775}
65776
65777// SetVpcs sets the Vpcs field's value.
65778func (s *DescribeVpcClassicLinkDnsSupportOutput) SetVpcs(v []*ClassicLinkDnsSupport) *DescribeVpcClassicLinkDnsSupportOutput {
65779	s.Vpcs = v
65780	return s
65781}
65782
65783type DescribeVpcClassicLinkInput struct {
65784	_ struct{} `type:"structure"`
65785
65786	// Checks whether you have the required permissions for the action, without
65787	// actually making the request, and provides an error response. If you have
65788	// the required permissions, the error response is DryRunOperation. Otherwise,
65789	// it is UnauthorizedOperation.
65790	DryRun *bool `locationName:"dryRun" type:"boolean"`
65791
65792	// One or more filters.
65793	//
65794	//    * is-classic-link-enabled - Whether the VPC is enabled for ClassicLink
65795	//    (true | false).
65796	//
65797	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
65798	//    Use the tag key in the filter name and the tag value as the filter value.
65799	//    For example, to find all resources that have a tag with the key Owner
65800	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
65801	//    the filter value.
65802	//
65803	//    * tag-key - The key of a tag assigned to the resource. Use this filter
65804	//    to find all resources assigned a tag with a specific key, regardless of
65805	//    the tag value.
65806	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65807
65808	// One or more VPCs for which you want to describe the ClassicLink status.
65809	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
65810}
65811
65812// String returns the string representation
65813func (s DescribeVpcClassicLinkInput) String() string {
65814	return awsutil.Prettify(s)
65815}
65816
65817// GoString returns the string representation
65818func (s DescribeVpcClassicLinkInput) GoString() string {
65819	return s.String()
65820}
65821
65822// SetDryRun sets the DryRun field's value.
65823func (s *DescribeVpcClassicLinkInput) SetDryRun(v bool) *DescribeVpcClassicLinkInput {
65824	s.DryRun = &v
65825	return s
65826}
65827
65828// SetFilters sets the Filters field's value.
65829func (s *DescribeVpcClassicLinkInput) SetFilters(v []*Filter) *DescribeVpcClassicLinkInput {
65830	s.Filters = v
65831	return s
65832}
65833
65834// SetVpcIds sets the VpcIds field's value.
65835func (s *DescribeVpcClassicLinkInput) SetVpcIds(v []*string) *DescribeVpcClassicLinkInput {
65836	s.VpcIds = v
65837	return s
65838}
65839
65840type DescribeVpcClassicLinkOutput struct {
65841	_ struct{} `type:"structure"`
65842
65843	// The ClassicLink status of one or more VPCs.
65844	Vpcs []*VpcClassicLink `locationName:"vpcSet" locationNameList:"item" type:"list"`
65845}
65846
65847// String returns the string representation
65848func (s DescribeVpcClassicLinkOutput) String() string {
65849	return awsutil.Prettify(s)
65850}
65851
65852// GoString returns the string representation
65853func (s DescribeVpcClassicLinkOutput) GoString() string {
65854	return s.String()
65855}
65856
65857// SetVpcs sets the Vpcs field's value.
65858func (s *DescribeVpcClassicLinkOutput) SetVpcs(v []*VpcClassicLink) *DescribeVpcClassicLinkOutput {
65859	s.Vpcs = v
65860	return s
65861}
65862
65863type DescribeVpcEndpointConnectionNotificationsInput struct {
65864	_ struct{} `type:"structure"`
65865
65866	// The ID of the notification.
65867	ConnectionNotificationId *string `type:"string"`
65868
65869	// Checks whether you have the required permissions for the action, without
65870	// actually making the request, and provides an error response. If you have
65871	// the required permissions, the error response is DryRunOperation. Otherwise,
65872	// it is UnauthorizedOperation.
65873	DryRun *bool `type:"boolean"`
65874
65875	// One or more filters.
65876	//
65877	//    * connection-notification-arn - The ARN of SNS topic for the notification.
65878	//
65879	//    * connection-notification-id - The ID of the notification.
65880	//
65881	//    * connection-notification-state - The state of the notification (Enabled
65882	//    | Disabled).
65883	//
65884	//    * connection-notification-type - The type of notification (Topic).
65885	//
65886	//    * service-id - The ID of the endpoint service.
65887	//
65888	//    * vpc-endpoint-id - The ID of the VPC endpoint.
65889	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65890
65891	// The maximum number of results to return in a single call. To retrieve the
65892	// remaining results, make another request with the returned NextToken value.
65893	MaxResults *int64 `type:"integer"`
65894
65895	// The token to request the next page of results.
65896	NextToken *string `type:"string"`
65897}
65898
65899// String returns the string representation
65900func (s DescribeVpcEndpointConnectionNotificationsInput) String() string {
65901	return awsutil.Prettify(s)
65902}
65903
65904// GoString returns the string representation
65905func (s DescribeVpcEndpointConnectionNotificationsInput) GoString() string {
65906	return s.String()
65907}
65908
65909// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
65910func (s *DescribeVpcEndpointConnectionNotificationsInput) SetConnectionNotificationId(v string) *DescribeVpcEndpointConnectionNotificationsInput {
65911	s.ConnectionNotificationId = &v
65912	return s
65913}
65914
65915// SetDryRun sets the DryRun field's value.
65916func (s *DescribeVpcEndpointConnectionNotificationsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionNotificationsInput {
65917	s.DryRun = &v
65918	return s
65919}
65920
65921// SetFilters sets the Filters field's value.
65922func (s *DescribeVpcEndpointConnectionNotificationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionNotificationsInput {
65923	s.Filters = v
65924	return s
65925}
65926
65927// SetMaxResults sets the MaxResults field's value.
65928func (s *DescribeVpcEndpointConnectionNotificationsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionNotificationsInput {
65929	s.MaxResults = &v
65930	return s
65931}
65932
65933// SetNextToken sets the NextToken field's value.
65934func (s *DescribeVpcEndpointConnectionNotificationsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsInput {
65935	s.NextToken = &v
65936	return s
65937}
65938
65939type DescribeVpcEndpointConnectionNotificationsOutput struct {
65940	_ struct{} `type:"structure"`
65941
65942	// One or more notifications.
65943	ConnectionNotificationSet []*ConnectionNotification `locationName:"connectionNotificationSet" locationNameList:"item" type:"list"`
65944
65945	// The token to use to retrieve the next page of results. This value is null
65946	// when there are no more results to return.
65947	NextToken *string `locationName:"nextToken" type:"string"`
65948}
65949
65950// String returns the string representation
65951func (s DescribeVpcEndpointConnectionNotificationsOutput) String() string {
65952	return awsutil.Prettify(s)
65953}
65954
65955// GoString returns the string representation
65956func (s DescribeVpcEndpointConnectionNotificationsOutput) GoString() string {
65957	return s.String()
65958}
65959
65960// SetConnectionNotificationSet sets the ConnectionNotificationSet field's value.
65961func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetConnectionNotificationSet(v []*ConnectionNotification) *DescribeVpcEndpointConnectionNotificationsOutput {
65962	s.ConnectionNotificationSet = v
65963	return s
65964}
65965
65966// SetNextToken sets the NextToken field's value.
65967func (s *DescribeVpcEndpointConnectionNotificationsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionNotificationsOutput {
65968	s.NextToken = &v
65969	return s
65970}
65971
65972type DescribeVpcEndpointConnectionsInput struct {
65973	_ struct{} `type:"structure"`
65974
65975	// Checks whether you have the required permissions for the action, without
65976	// actually making the request, and provides an error response. If you have
65977	// the required permissions, the error response is DryRunOperation. Otherwise,
65978	// it is UnauthorizedOperation.
65979	DryRun *bool `type:"boolean"`
65980
65981	// One or more filters.
65982	//
65983	//    * service-id - The ID of the service.
65984	//
65985	//    * vpc-endpoint-owner - The AWS account number of the owner of the endpoint.
65986	//
65987	//    * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
65988	//    pending | available | deleting | deleted | rejected | failed).
65989	//
65990	//    * vpc-endpoint-id - The ID of the endpoint.
65991	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
65992
65993	// The maximum number of results to return for the request in a single page.
65994	// The remaining results of the initial request can be seen by sending another
65995	// request with the returned NextToken value. This value can be between 5 and
65996	// 1000; if MaxResults is given a value larger than 1000, only 1000 results
65997	// are returned.
65998	MaxResults *int64 `type:"integer"`
65999
66000	// The token to retrieve the next page of results.
66001	NextToken *string `type:"string"`
66002}
66003
66004// String returns the string representation
66005func (s DescribeVpcEndpointConnectionsInput) String() string {
66006	return awsutil.Prettify(s)
66007}
66008
66009// GoString returns the string representation
66010func (s DescribeVpcEndpointConnectionsInput) GoString() string {
66011	return s.String()
66012}
66013
66014// SetDryRun sets the DryRun field's value.
66015func (s *DescribeVpcEndpointConnectionsInput) SetDryRun(v bool) *DescribeVpcEndpointConnectionsInput {
66016	s.DryRun = &v
66017	return s
66018}
66019
66020// SetFilters sets the Filters field's value.
66021func (s *DescribeVpcEndpointConnectionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointConnectionsInput {
66022	s.Filters = v
66023	return s
66024}
66025
66026// SetMaxResults sets the MaxResults field's value.
66027func (s *DescribeVpcEndpointConnectionsInput) SetMaxResults(v int64) *DescribeVpcEndpointConnectionsInput {
66028	s.MaxResults = &v
66029	return s
66030}
66031
66032// SetNextToken sets the NextToken field's value.
66033func (s *DescribeVpcEndpointConnectionsInput) SetNextToken(v string) *DescribeVpcEndpointConnectionsInput {
66034	s.NextToken = &v
66035	return s
66036}
66037
66038type DescribeVpcEndpointConnectionsOutput struct {
66039	_ struct{} `type:"structure"`
66040
66041	// The token to use to retrieve the next page of results. This value is null
66042	// when there are no more results to return.
66043	NextToken *string `locationName:"nextToken" type:"string"`
66044
66045	// Information about one or more VPC endpoint connections.
66046	VpcEndpointConnections []*VpcEndpointConnection `locationName:"vpcEndpointConnectionSet" locationNameList:"item" type:"list"`
66047}
66048
66049// String returns the string representation
66050func (s DescribeVpcEndpointConnectionsOutput) String() string {
66051	return awsutil.Prettify(s)
66052}
66053
66054// GoString returns the string representation
66055func (s DescribeVpcEndpointConnectionsOutput) GoString() string {
66056	return s.String()
66057}
66058
66059// SetNextToken sets the NextToken field's value.
66060func (s *DescribeVpcEndpointConnectionsOutput) SetNextToken(v string) *DescribeVpcEndpointConnectionsOutput {
66061	s.NextToken = &v
66062	return s
66063}
66064
66065// SetVpcEndpointConnections sets the VpcEndpointConnections field's value.
66066func (s *DescribeVpcEndpointConnectionsOutput) SetVpcEndpointConnections(v []*VpcEndpointConnection) *DescribeVpcEndpointConnectionsOutput {
66067	s.VpcEndpointConnections = v
66068	return s
66069}
66070
66071type DescribeVpcEndpointServiceConfigurationsInput struct {
66072	_ struct{} `type:"structure"`
66073
66074	// Checks whether you have the required permissions for the action, without
66075	// actually making the request, and provides an error response. If you have
66076	// the required permissions, the error response is DryRunOperation. Otherwise,
66077	// it is UnauthorizedOperation.
66078	DryRun *bool `type:"boolean"`
66079
66080	// One or more filters.
66081	//
66082	//    * service-name - The name of the service.
66083	//
66084	//    * service-id - The ID of the service.
66085	//
66086	//    * service-state - The state of the service (Pending | Available | Deleting
66087	//    | Deleted | Failed).
66088	//
66089	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66090	//    Use the tag key in the filter name and the tag value as the filter value.
66091	//    For example, to find all resources that have a tag with the key Owner
66092	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66093	//    the filter value.
66094	//
66095	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66096	//    to find all resources assigned a tag with a specific key, regardless of
66097	//    the tag value.
66098	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66099
66100	// The maximum number of results to return for the request in a single page.
66101	// The remaining results of the initial request can be seen by sending another
66102	// request with the returned NextToken value. This value can be between 5 and
66103	// 1000; if MaxResults is given a value larger than 1000, only 1000 results
66104	// are returned.
66105	MaxResults *int64 `type:"integer"`
66106
66107	// The token to retrieve the next page of results.
66108	NextToken *string `type:"string"`
66109
66110	// The IDs of one or more services.
66111	ServiceIds []*string `locationName:"ServiceId" locationNameList:"item" type:"list"`
66112}
66113
66114// String returns the string representation
66115func (s DescribeVpcEndpointServiceConfigurationsInput) String() string {
66116	return awsutil.Prettify(s)
66117}
66118
66119// GoString returns the string representation
66120func (s DescribeVpcEndpointServiceConfigurationsInput) GoString() string {
66121	return s.String()
66122}
66123
66124// SetDryRun sets the DryRun field's value.
66125func (s *DescribeVpcEndpointServiceConfigurationsInput) SetDryRun(v bool) *DescribeVpcEndpointServiceConfigurationsInput {
66126	s.DryRun = &v
66127	return s
66128}
66129
66130// SetFilters sets the Filters field's value.
66131func (s *DescribeVpcEndpointServiceConfigurationsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServiceConfigurationsInput {
66132	s.Filters = v
66133	return s
66134}
66135
66136// SetMaxResults sets the MaxResults field's value.
66137func (s *DescribeVpcEndpointServiceConfigurationsInput) SetMaxResults(v int64) *DescribeVpcEndpointServiceConfigurationsInput {
66138	s.MaxResults = &v
66139	return s
66140}
66141
66142// SetNextToken sets the NextToken field's value.
66143func (s *DescribeVpcEndpointServiceConfigurationsInput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsInput {
66144	s.NextToken = &v
66145	return s
66146}
66147
66148// SetServiceIds sets the ServiceIds field's value.
66149func (s *DescribeVpcEndpointServiceConfigurationsInput) SetServiceIds(v []*string) *DescribeVpcEndpointServiceConfigurationsInput {
66150	s.ServiceIds = v
66151	return s
66152}
66153
66154type DescribeVpcEndpointServiceConfigurationsOutput struct {
66155	_ struct{} `type:"structure"`
66156
66157	// The token to use to retrieve the next page of results. This value is null
66158	// when there are no more results to return.
66159	NextToken *string `locationName:"nextToken" type:"string"`
66160
66161	// Information about one or more services.
66162	ServiceConfigurations []*ServiceConfiguration `locationName:"serviceConfigurationSet" locationNameList:"item" type:"list"`
66163}
66164
66165// String returns the string representation
66166func (s DescribeVpcEndpointServiceConfigurationsOutput) String() string {
66167	return awsutil.Prettify(s)
66168}
66169
66170// GoString returns the string representation
66171func (s DescribeVpcEndpointServiceConfigurationsOutput) GoString() string {
66172	return s.String()
66173}
66174
66175// SetNextToken sets the NextToken field's value.
66176func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetNextToken(v string) *DescribeVpcEndpointServiceConfigurationsOutput {
66177	s.NextToken = &v
66178	return s
66179}
66180
66181// SetServiceConfigurations sets the ServiceConfigurations field's value.
66182func (s *DescribeVpcEndpointServiceConfigurationsOutput) SetServiceConfigurations(v []*ServiceConfiguration) *DescribeVpcEndpointServiceConfigurationsOutput {
66183	s.ServiceConfigurations = v
66184	return s
66185}
66186
66187type DescribeVpcEndpointServicePermissionsInput struct {
66188	_ struct{} `type:"structure"`
66189
66190	// Checks whether you have the required permissions for the action, without
66191	// actually making the request, and provides an error response. If you have
66192	// the required permissions, the error response is DryRunOperation. Otherwise,
66193	// it is UnauthorizedOperation.
66194	DryRun *bool `type:"boolean"`
66195
66196	// One or more filters.
66197	//
66198	//    * principal - The ARN of the principal.
66199	//
66200	//    * principal-type - The principal type (All | Service | OrganizationUnit
66201	//    | Account | User | Role).
66202	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66203
66204	// The maximum number of results to return for the request in a single page.
66205	// The remaining results of the initial request can be seen by sending another
66206	// request with the returned NextToken value. This value can be between 5 and
66207	// 1000; if MaxResults is given a value larger than 1000, only 1000 results
66208	// are returned.
66209	MaxResults *int64 `type:"integer"`
66210
66211	// The token to retrieve the next page of results.
66212	NextToken *string `type:"string"`
66213
66214	// The ID of the service.
66215	//
66216	// ServiceId is a required field
66217	ServiceId *string `type:"string" required:"true"`
66218}
66219
66220// String returns the string representation
66221func (s DescribeVpcEndpointServicePermissionsInput) String() string {
66222	return awsutil.Prettify(s)
66223}
66224
66225// GoString returns the string representation
66226func (s DescribeVpcEndpointServicePermissionsInput) GoString() string {
66227	return s.String()
66228}
66229
66230// Validate inspects the fields of the type to determine if they are valid.
66231func (s *DescribeVpcEndpointServicePermissionsInput) Validate() error {
66232	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcEndpointServicePermissionsInput"}
66233	if s.ServiceId == nil {
66234		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
66235	}
66236
66237	if invalidParams.Len() > 0 {
66238		return invalidParams
66239	}
66240	return nil
66241}
66242
66243// SetDryRun sets the DryRun field's value.
66244func (s *DescribeVpcEndpointServicePermissionsInput) SetDryRun(v bool) *DescribeVpcEndpointServicePermissionsInput {
66245	s.DryRun = &v
66246	return s
66247}
66248
66249// SetFilters sets the Filters field's value.
66250func (s *DescribeVpcEndpointServicePermissionsInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicePermissionsInput {
66251	s.Filters = v
66252	return s
66253}
66254
66255// SetMaxResults sets the MaxResults field's value.
66256func (s *DescribeVpcEndpointServicePermissionsInput) SetMaxResults(v int64) *DescribeVpcEndpointServicePermissionsInput {
66257	s.MaxResults = &v
66258	return s
66259}
66260
66261// SetNextToken sets the NextToken field's value.
66262func (s *DescribeVpcEndpointServicePermissionsInput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsInput {
66263	s.NextToken = &v
66264	return s
66265}
66266
66267// SetServiceId sets the ServiceId field's value.
66268func (s *DescribeVpcEndpointServicePermissionsInput) SetServiceId(v string) *DescribeVpcEndpointServicePermissionsInput {
66269	s.ServiceId = &v
66270	return s
66271}
66272
66273type DescribeVpcEndpointServicePermissionsOutput struct {
66274	_ struct{} `type:"structure"`
66275
66276	// Information about one or more allowed principals.
66277	AllowedPrincipals []*AllowedPrincipal `locationName:"allowedPrincipals" locationNameList:"item" type:"list"`
66278
66279	// The token to use to retrieve the next page of results. This value is null
66280	// when there are no more results to return.
66281	NextToken *string `locationName:"nextToken" type:"string"`
66282}
66283
66284// String returns the string representation
66285func (s DescribeVpcEndpointServicePermissionsOutput) String() string {
66286	return awsutil.Prettify(s)
66287}
66288
66289// GoString returns the string representation
66290func (s DescribeVpcEndpointServicePermissionsOutput) GoString() string {
66291	return s.String()
66292}
66293
66294// SetAllowedPrincipals sets the AllowedPrincipals field's value.
66295func (s *DescribeVpcEndpointServicePermissionsOutput) SetAllowedPrincipals(v []*AllowedPrincipal) *DescribeVpcEndpointServicePermissionsOutput {
66296	s.AllowedPrincipals = v
66297	return s
66298}
66299
66300// SetNextToken sets the NextToken field's value.
66301func (s *DescribeVpcEndpointServicePermissionsOutput) SetNextToken(v string) *DescribeVpcEndpointServicePermissionsOutput {
66302	s.NextToken = &v
66303	return s
66304}
66305
66306// Contains the parameters for DescribeVpcEndpointServices.
66307type DescribeVpcEndpointServicesInput struct {
66308	_ struct{} `type:"structure"`
66309
66310	// Checks whether you have the required permissions for the action, without
66311	// actually making the request, and provides an error response. If you have
66312	// the required permissions, the error response is DryRunOperation. Otherwise,
66313	// it is UnauthorizedOperation.
66314	DryRun *bool `type:"boolean"`
66315
66316	// One or more filters.
66317	//
66318	//    * service-name: The name of the service.
66319	//
66320	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66321	//    Use the tag key in the filter name and the tag value as the filter value.
66322	//    For example, to find all resources that have a tag with the key Owner
66323	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66324	//    the filter value.
66325	//
66326	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66327	//    to find all resources assigned a tag with a specific key, regardless of
66328	//    the tag value.
66329	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66330
66331	// The maximum number of items to return for this request. The request returns
66332	// a token that you can specify in a subsequent call to get the next set of
66333	// results.
66334	//
66335	// Constraint: If the value is greater than 1000, we return only 1000 items.
66336	MaxResults *int64 `type:"integer"`
66337
66338	// The token for the next set of items to return. (You received this token from
66339	// a prior call.)
66340	NextToken *string `type:"string"`
66341
66342	// One or more service names.
66343	ServiceNames []*string `locationName:"ServiceName" locationNameList:"item" type:"list"`
66344}
66345
66346// String returns the string representation
66347func (s DescribeVpcEndpointServicesInput) String() string {
66348	return awsutil.Prettify(s)
66349}
66350
66351// GoString returns the string representation
66352func (s DescribeVpcEndpointServicesInput) GoString() string {
66353	return s.String()
66354}
66355
66356// SetDryRun sets the DryRun field's value.
66357func (s *DescribeVpcEndpointServicesInput) SetDryRun(v bool) *DescribeVpcEndpointServicesInput {
66358	s.DryRun = &v
66359	return s
66360}
66361
66362// SetFilters sets the Filters field's value.
66363func (s *DescribeVpcEndpointServicesInput) SetFilters(v []*Filter) *DescribeVpcEndpointServicesInput {
66364	s.Filters = v
66365	return s
66366}
66367
66368// SetMaxResults sets the MaxResults field's value.
66369func (s *DescribeVpcEndpointServicesInput) SetMaxResults(v int64) *DescribeVpcEndpointServicesInput {
66370	s.MaxResults = &v
66371	return s
66372}
66373
66374// SetNextToken sets the NextToken field's value.
66375func (s *DescribeVpcEndpointServicesInput) SetNextToken(v string) *DescribeVpcEndpointServicesInput {
66376	s.NextToken = &v
66377	return s
66378}
66379
66380// SetServiceNames sets the ServiceNames field's value.
66381func (s *DescribeVpcEndpointServicesInput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesInput {
66382	s.ServiceNames = v
66383	return s
66384}
66385
66386// Contains the output of DescribeVpcEndpointServices.
66387type DescribeVpcEndpointServicesOutput struct {
66388	_ struct{} `type:"structure"`
66389
66390	// The token to use when requesting the next set of items. If there are no additional
66391	// items to return, the string is empty.
66392	NextToken *string `locationName:"nextToken" type:"string"`
66393
66394	// Information about the service.
66395	ServiceDetails []*ServiceDetail `locationName:"serviceDetailSet" locationNameList:"item" type:"list"`
66396
66397	// A list of supported services.
66398	ServiceNames []*string `locationName:"serviceNameSet" locationNameList:"item" type:"list"`
66399}
66400
66401// String returns the string representation
66402func (s DescribeVpcEndpointServicesOutput) String() string {
66403	return awsutil.Prettify(s)
66404}
66405
66406// GoString returns the string representation
66407func (s DescribeVpcEndpointServicesOutput) GoString() string {
66408	return s.String()
66409}
66410
66411// SetNextToken sets the NextToken field's value.
66412func (s *DescribeVpcEndpointServicesOutput) SetNextToken(v string) *DescribeVpcEndpointServicesOutput {
66413	s.NextToken = &v
66414	return s
66415}
66416
66417// SetServiceDetails sets the ServiceDetails field's value.
66418func (s *DescribeVpcEndpointServicesOutput) SetServiceDetails(v []*ServiceDetail) *DescribeVpcEndpointServicesOutput {
66419	s.ServiceDetails = v
66420	return s
66421}
66422
66423// SetServiceNames sets the ServiceNames field's value.
66424func (s *DescribeVpcEndpointServicesOutput) SetServiceNames(v []*string) *DescribeVpcEndpointServicesOutput {
66425	s.ServiceNames = v
66426	return s
66427}
66428
66429// Contains the parameters for DescribeVpcEndpoints.
66430type DescribeVpcEndpointsInput struct {
66431	_ struct{} `type:"structure"`
66432
66433	// Checks whether you have the required permissions for the action, without
66434	// actually making the request, and provides an error response. If you have
66435	// the required permissions, the error response is DryRunOperation. Otherwise,
66436	// it is UnauthorizedOperation.
66437	DryRun *bool `type:"boolean"`
66438
66439	// One or more filters.
66440	//
66441	//    * service-name: The name of the service.
66442	//
66443	//    * vpc-id: The ID of the VPC in which the endpoint resides.
66444	//
66445	//    * vpc-endpoint-id: The ID of the endpoint.
66446	//
66447	//    * vpc-endpoint-state - The state of the endpoint (pendingAcceptance |
66448	//    pending | available | deleting | deleted | rejected | failed).
66449	//
66450	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66451	//    Use the tag key in the filter name and the tag value as the filter value.
66452	//    For example, to find all resources that have a tag with the key Owner
66453	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66454	//    the filter value.
66455	//
66456	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66457	//    to find all resources assigned a tag with a specific key, regardless of
66458	//    the tag value.
66459	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66460
66461	// The maximum number of items to return for this request. The request returns
66462	// a token that you can specify in a subsequent call to get the next set of
66463	// results.
66464	//
66465	// Constraint: If the value is greater than 1000, we return only 1000 items.
66466	MaxResults *int64 `type:"integer"`
66467
66468	// The token for the next set of items to return. (You received this token from
66469	// a prior call.)
66470	NextToken *string `type:"string"`
66471
66472	// One or more endpoint IDs.
66473	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list"`
66474}
66475
66476// String returns the string representation
66477func (s DescribeVpcEndpointsInput) String() string {
66478	return awsutil.Prettify(s)
66479}
66480
66481// GoString returns the string representation
66482func (s DescribeVpcEndpointsInput) GoString() string {
66483	return s.String()
66484}
66485
66486// SetDryRun sets the DryRun field's value.
66487func (s *DescribeVpcEndpointsInput) SetDryRun(v bool) *DescribeVpcEndpointsInput {
66488	s.DryRun = &v
66489	return s
66490}
66491
66492// SetFilters sets the Filters field's value.
66493func (s *DescribeVpcEndpointsInput) SetFilters(v []*Filter) *DescribeVpcEndpointsInput {
66494	s.Filters = v
66495	return s
66496}
66497
66498// SetMaxResults sets the MaxResults field's value.
66499func (s *DescribeVpcEndpointsInput) SetMaxResults(v int64) *DescribeVpcEndpointsInput {
66500	s.MaxResults = &v
66501	return s
66502}
66503
66504// SetNextToken sets the NextToken field's value.
66505func (s *DescribeVpcEndpointsInput) SetNextToken(v string) *DescribeVpcEndpointsInput {
66506	s.NextToken = &v
66507	return s
66508}
66509
66510// SetVpcEndpointIds sets the VpcEndpointIds field's value.
66511func (s *DescribeVpcEndpointsInput) SetVpcEndpointIds(v []*string) *DescribeVpcEndpointsInput {
66512	s.VpcEndpointIds = v
66513	return s
66514}
66515
66516// Contains the output of DescribeVpcEndpoints.
66517type DescribeVpcEndpointsOutput struct {
66518	_ struct{} `type:"structure"`
66519
66520	// The token to use when requesting the next set of items. If there are no additional
66521	// items to return, the string is empty.
66522	NextToken *string `locationName:"nextToken" type:"string"`
66523
66524	// Information about the endpoints.
66525	VpcEndpoints []*VpcEndpoint `locationName:"vpcEndpointSet" locationNameList:"item" type:"list"`
66526}
66527
66528// String returns the string representation
66529func (s DescribeVpcEndpointsOutput) String() string {
66530	return awsutil.Prettify(s)
66531}
66532
66533// GoString returns the string representation
66534func (s DescribeVpcEndpointsOutput) GoString() string {
66535	return s.String()
66536}
66537
66538// SetNextToken sets the NextToken field's value.
66539func (s *DescribeVpcEndpointsOutput) SetNextToken(v string) *DescribeVpcEndpointsOutput {
66540	s.NextToken = &v
66541	return s
66542}
66543
66544// SetVpcEndpoints sets the VpcEndpoints field's value.
66545func (s *DescribeVpcEndpointsOutput) SetVpcEndpoints(v []*VpcEndpoint) *DescribeVpcEndpointsOutput {
66546	s.VpcEndpoints = v
66547	return s
66548}
66549
66550type DescribeVpcPeeringConnectionsInput struct {
66551	_ struct{} `type:"structure"`
66552
66553	// Checks whether you have the required permissions for the action, without
66554	// actually making the request, and provides an error response. If you have
66555	// the required permissions, the error response is DryRunOperation. Otherwise,
66556	// it is UnauthorizedOperation.
66557	DryRun *bool `locationName:"dryRun" type:"boolean"`
66558
66559	// One or more filters.
66560	//
66561	//    * accepter-vpc-info.cidr-block - The IPv4 CIDR block of the accepter VPC.
66562	//
66563	//    * accepter-vpc-info.owner-id - The AWS account ID of the owner of the
66564	//    accepter VPC.
66565	//
66566	//    * accepter-vpc-info.vpc-id - The ID of the accepter VPC.
66567	//
66568	//    * expiration-time - The expiration date and time for the VPC peering connection.
66569	//
66570	//    * requester-vpc-info.cidr-block - The IPv4 CIDR block of the requester's
66571	//    VPC.
66572	//
66573	//    * requester-vpc-info.owner-id - The AWS account ID of the owner of the
66574	//    requester VPC.
66575	//
66576	//    * requester-vpc-info.vpc-id - The ID of the requester VPC.
66577	//
66578	//    * status-code - The status of the VPC peering connection (pending-acceptance
66579	//    | failed | expired | provisioning | active | deleting | deleted | rejected).
66580	//
66581	//    * status-message - A message that provides more information about the
66582	//    status of the VPC peering connection, if applicable.
66583	//
66584	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66585	//    Use the tag key in the filter name and the tag value as the filter value.
66586	//    For example, to find all resources that have a tag with the key Owner
66587	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66588	//    the filter value.
66589	//
66590	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66591	//    to find all resources assigned a tag with a specific key, regardless of
66592	//    the tag value.
66593	//
66594	//    * vpc-peering-connection-id - The ID of the VPC peering connection.
66595	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66596
66597	// The maximum number of results to return with a single call. To retrieve the
66598	// remaining results, make another call with the returned nextToken value.
66599	MaxResults *int64 `min:"5" type:"integer"`
66600
66601	// The token for the next page of results.
66602	NextToken *string `type:"string"`
66603
66604	// One or more VPC peering connection IDs.
66605	//
66606	// Default: Describes all your VPC peering connections.
66607	VpcPeeringConnectionIds []*string `locationName:"VpcPeeringConnectionId" locationNameList:"item" type:"list"`
66608}
66609
66610// String returns the string representation
66611func (s DescribeVpcPeeringConnectionsInput) String() string {
66612	return awsutil.Prettify(s)
66613}
66614
66615// GoString returns the string representation
66616func (s DescribeVpcPeeringConnectionsInput) GoString() string {
66617	return s.String()
66618}
66619
66620// Validate inspects the fields of the type to determine if they are valid.
66621func (s *DescribeVpcPeeringConnectionsInput) Validate() error {
66622	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcPeeringConnectionsInput"}
66623	if s.MaxResults != nil && *s.MaxResults < 5 {
66624		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66625	}
66626
66627	if invalidParams.Len() > 0 {
66628		return invalidParams
66629	}
66630	return nil
66631}
66632
66633// SetDryRun sets the DryRun field's value.
66634func (s *DescribeVpcPeeringConnectionsInput) SetDryRun(v bool) *DescribeVpcPeeringConnectionsInput {
66635	s.DryRun = &v
66636	return s
66637}
66638
66639// SetFilters sets the Filters field's value.
66640func (s *DescribeVpcPeeringConnectionsInput) SetFilters(v []*Filter) *DescribeVpcPeeringConnectionsInput {
66641	s.Filters = v
66642	return s
66643}
66644
66645// SetMaxResults sets the MaxResults field's value.
66646func (s *DescribeVpcPeeringConnectionsInput) SetMaxResults(v int64) *DescribeVpcPeeringConnectionsInput {
66647	s.MaxResults = &v
66648	return s
66649}
66650
66651// SetNextToken sets the NextToken field's value.
66652func (s *DescribeVpcPeeringConnectionsInput) SetNextToken(v string) *DescribeVpcPeeringConnectionsInput {
66653	s.NextToken = &v
66654	return s
66655}
66656
66657// SetVpcPeeringConnectionIds sets the VpcPeeringConnectionIds field's value.
66658func (s *DescribeVpcPeeringConnectionsInput) SetVpcPeeringConnectionIds(v []*string) *DescribeVpcPeeringConnectionsInput {
66659	s.VpcPeeringConnectionIds = v
66660	return s
66661}
66662
66663type DescribeVpcPeeringConnectionsOutput struct {
66664	_ struct{} `type:"structure"`
66665
66666	// The token to use to retrieve the next page of results. This value is null
66667	// when there are no more results to return.
66668	NextToken *string `locationName:"nextToken" type:"string"`
66669
66670	// Information about the VPC peering connections.
66671	VpcPeeringConnections []*VpcPeeringConnection `locationName:"vpcPeeringConnectionSet" locationNameList:"item" type:"list"`
66672}
66673
66674// String returns the string representation
66675func (s DescribeVpcPeeringConnectionsOutput) String() string {
66676	return awsutil.Prettify(s)
66677}
66678
66679// GoString returns the string representation
66680func (s DescribeVpcPeeringConnectionsOutput) GoString() string {
66681	return s.String()
66682}
66683
66684// SetNextToken sets the NextToken field's value.
66685func (s *DescribeVpcPeeringConnectionsOutput) SetNextToken(v string) *DescribeVpcPeeringConnectionsOutput {
66686	s.NextToken = &v
66687	return s
66688}
66689
66690// SetVpcPeeringConnections sets the VpcPeeringConnections field's value.
66691func (s *DescribeVpcPeeringConnectionsOutput) SetVpcPeeringConnections(v []*VpcPeeringConnection) *DescribeVpcPeeringConnectionsOutput {
66692	s.VpcPeeringConnections = v
66693	return s
66694}
66695
66696type DescribeVpcsInput struct {
66697	_ struct{} `type:"structure"`
66698
66699	// Checks whether you have the required permissions for the action, without
66700	// actually making the request, and provides an error response. If you have
66701	// the required permissions, the error response is DryRunOperation. Otherwise,
66702	// it is UnauthorizedOperation.
66703	DryRun *bool `locationName:"dryRun" type:"boolean"`
66704
66705	// One or more filters.
66706	//
66707	//    * cidr - The primary IPv4 CIDR block of the VPC. The CIDR block you specify
66708	//    must exactly match the VPC's CIDR block for information to be returned
66709	//    for the VPC. Must contain the slash followed by one or two digits (for
66710	//    example, /28).
66711	//
66712	//    * cidr-block-association.cidr-block - An IPv4 CIDR block associated with
66713	//    the VPC.
66714	//
66715	//    * cidr-block-association.association-id - The association ID for an IPv4
66716	//    CIDR block associated with the VPC.
66717	//
66718	//    * cidr-block-association.state - The state of an IPv4 CIDR block associated
66719	//    with the VPC.
66720	//
66721	//    * dhcp-options-id - The ID of a set of DHCP options.
66722	//
66723	//    * ipv6-cidr-block-association.ipv6-cidr-block - An IPv6 CIDR block associated
66724	//    with the VPC.
66725	//
66726	//    * ipv6-cidr-block-association.association-id - The association ID for
66727	//    an IPv6 CIDR block associated with the VPC.
66728	//
66729	//    * ipv6-cidr-block-association.state - The state of an IPv6 CIDR block
66730	//    associated with the VPC.
66731	//
66732	//    * isDefault - Indicates whether the VPC is the default VPC.
66733	//
66734	//    * owner-id - The ID of the AWS account that owns the VPC.
66735	//
66736	//    * state - The state of the VPC (pending | available).
66737	//
66738	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66739	//    Use the tag key in the filter name and the tag value as the filter value.
66740	//    For example, to find all resources that have a tag with the key Owner
66741	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66742	//    the filter value.
66743	//
66744	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66745	//    to find all resources assigned a tag with a specific key, regardless of
66746	//    the tag value.
66747	//
66748	//    * vpc-id - The ID of the VPC.
66749	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66750
66751	// The maximum number of results to return with a single call. To retrieve the
66752	// remaining results, make another call with the returned nextToken value.
66753	MaxResults *int64 `min:"5" type:"integer"`
66754
66755	// The token for the next page of results.
66756	NextToken *string `type:"string"`
66757
66758	// One or more VPC IDs.
66759	//
66760	// Default: Describes all your VPCs.
66761	VpcIds []*string `locationName:"VpcId" locationNameList:"VpcId" type:"list"`
66762}
66763
66764// String returns the string representation
66765func (s DescribeVpcsInput) String() string {
66766	return awsutil.Prettify(s)
66767}
66768
66769// GoString returns the string representation
66770func (s DescribeVpcsInput) GoString() string {
66771	return s.String()
66772}
66773
66774// Validate inspects the fields of the type to determine if they are valid.
66775func (s *DescribeVpcsInput) Validate() error {
66776	invalidParams := request.ErrInvalidParams{Context: "DescribeVpcsInput"}
66777	if s.MaxResults != nil && *s.MaxResults < 5 {
66778		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
66779	}
66780
66781	if invalidParams.Len() > 0 {
66782		return invalidParams
66783	}
66784	return nil
66785}
66786
66787// SetDryRun sets the DryRun field's value.
66788func (s *DescribeVpcsInput) SetDryRun(v bool) *DescribeVpcsInput {
66789	s.DryRun = &v
66790	return s
66791}
66792
66793// SetFilters sets the Filters field's value.
66794func (s *DescribeVpcsInput) SetFilters(v []*Filter) *DescribeVpcsInput {
66795	s.Filters = v
66796	return s
66797}
66798
66799// SetMaxResults sets the MaxResults field's value.
66800func (s *DescribeVpcsInput) SetMaxResults(v int64) *DescribeVpcsInput {
66801	s.MaxResults = &v
66802	return s
66803}
66804
66805// SetNextToken sets the NextToken field's value.
66806func (s *DescribeVpcsInput) SetNextToken(v string) *DescribeVpcsInput {
66807	s.NextToken = &v
66808	return s
66809}
66810
66811// SetVpcIds sets the VpcIds field's value.
66812func (s *DescribeVpcsInput) SetVpcIds(v []*string) *DescribeVpcsInput {
66813	s.VpcIds = v
66814	return s
66815}
66816
66817type DescribeVpcsOutput struct {
66818	_ struct{} `type:"structure"`
66819
66820	// The token to use to retrieve the next page of results. This value is null
66821	// when there are no more results to return.
66822	NextToken *string `locationName:"nextToken" type:"string"`
66823
66824	// Information about one or more VPCs.
66825	Vpcs []*Vpc `locationName:"vpcSet" locationNameList:"item" type:"list"`
66826}
66827
66828// String returns the string representation
66829func (s DescribeVpcsOutput) String() string {
66830	return awsutil.Prettify(s)
66831}
66832
66833// GoString returns the string representation
66834func (s DescribeVpcsOutput) GoString() string {
66835	return s.String()
66836}
66837
66838// SetNextToken sets the NextToken field's value.
66839func (s *DescribeVpcsOutput) SetNextToken(v string) *DescribeVpcsOutput {
66840	s.NextToken = &v
66841	return s
66842}
66843
66844// SetVpcs sets the Vpcs field's value.
66845func (s *DescribeVpcsOutput) SetVpcs(v []*Vpc) *DescribeVpcsOutput {
66846	s.Vpcs = v
66847	return s
66848}
66849
66850// Contains the parameters for DescribeVpnConnections.
66851type DescribeVpnConnectionsInput struct {
66852	_ struct{} `type:"structure"`
66853
66854	// Checks whether you have the required permissions for the action, without
66855	// actually making the request, and provides an error response. If you have
66856	// the required permissions, the error response is DryRunOperation. Otherwise,
66857	// it is UnauthorizedOperation.
66858	DryRun *bool `locationName:"dryRun" type:"boolean"`
66859
66860	// One or more filters.
66861	//
66862	//    * customer-gateway-configuration - The configuration information for the
66863	//    customer gateway.
66864	//
66865	//    * customer-gateway-id - The ID of a customer gateway associated with the
66866	//    VPN connection.
66867	//
66868	//    * state - The state of the VPN connection (pending | available | deleting
66869	//    | deleted).
66870	//
66871	//    * option.static-routes-only - Indicates whether the connection has static
66872	//    routes only. Used for devices that do not support Border Gateway Protocol
66873	//    (BGP).
66874	//
66875	//    * route.destination-cidr-block - The destination CIDR block. This corresponds
66876	//    to the subnet used in a customer data center.
66877	//
66878	//    * bgp-asn - The BGP Autonomous System Number (ASN) associated with a BGP
66879	//    device.
66880	//
66881	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66882	//    Use the tag key in the filter name and the tag value as the filter value.
66883	//    For example, to find all resources that have a tag with the key Owner
66884	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66885	//    the filter value.
66886	//
66887	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66888	//    to find all resources assigned a tag with a specific key, regardless of
66889	//    the tag value.
66890	//
66891	//    * type - The type of VPN connection. Currently the only supported type
66892	//    is ipsec.1.
66893	//
66894	//    * vpn-connection-id - The ID of the VPN connection.
66895	//
66896	//    * vpn-gateway-id - The ID of a virtual private gateway associated with
66897	//    the VPN connection.
66898	//
66899	//    * transit-gateway-id - The ID of a transit gateway associated with the
66900	//    VPN connection.
66901	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
66902
66903	// One or more VPN connection IDs.
66904	//
66905	// Default: Describes your VPN connections.
66906	VpnConnectionIds []*string `locationName:"VpnConnectionId" locationNameList:"VpnConnectionId" type:"list"`
66907}
66908
66909// String returns the string representation
66910func (s DescribeVpnConnectionsInput) String() string {
66911	return awsutil.Prettify(s)
66912}
66913
66914// GoString returns the string representation
66915func (s DescribeVpnConnectionsInput) GoString() string {
66916	return s.String()
66917}
66918
66919// SetDryRun sets the DryRun field's value.
66920func (s *DescribeVpnConnectionsInput) SetDryRun(v bool) *DescribeVpnConnectionsInput {
66921	s.DryRun = &v
66922	return s
66923}
66924
66925// SetFilters sets the Filters field's value.
66926func (s *DescribeVpnConnectionsInput) SetFilters(v []*Filter) *DescribeVpnConnectionsInput {
66927	s.Filters = v
66928	return s
66929}
66930
66931// SetVpnConnectionIds sets the VpnConnectionIds field's value.
66932func (s *DescribeVpnConnectionsInput) SetVpnConnectionIds(v []*string) *DescribeVpnConnectionsInput {
66933	s.VpnConnectionIds = v
66934	return s
66935}
66936
66937// Contains the output of DescribeVpnConnections.
66938type DescribeVpnConnectionsOutput struct {
66939	_ struct{} `type:"structure"`
66940
66941	// Information about one or more VPN connections.
66942	VpnConnections []*VpnConnection `locationName:"vpnConnectionSet" locationNameList:"item" type:"list"`
66943}
66944
66945// String returns the string representation
66946func (s DescribeVpnConnectionsOutput) String() string {
66947	return awsutil.Prettify(s)
66948}
66949
66950// GoString returns the string representation
66951func (s DescribeVpnConnectionsOutput) GoString() string {
66952	return s.String()
66953}
66954
66955// SetVpnConnections sets the VpnConnections field's value.
66956func (s *DescribeVpnConnectionsOutput) SetVpnConnections(v []*VpnConnection) *DescribeVpnConnectionsOutput {
66957	s.VpnConnections = v
66958	return s
66959}
66960
66961// Contains the parameters for DescribeVpnGateways.
66962type DescribeVpnGatewaysInput struct {
66963	_ struct{} `type:"structure"`
66964
66965	// Checks whether you have the required permissions for the action, without
66966	// actually making the request, and provides an error response. If you have
66967	// the required permissions, the error response is DryRunOperation. Otherwise,
66968	// it is UnauthorizedOperation.
66969	DryRun *bool `locationName:"dryRun" type:"boolean"`
66970
66971	// One or more filters.
66972	//
66973	//    * amazon-side-asn - The Autonomous System Number (ASN) for the Amazon
66974	//    side of the gateway.
66975	//
66976	//    * attachment.state - The current state of the attachment between the gateway
66977	//    and the VPC (attaching | attached | detaching | detached).
66978	//
66979	//    * attachment.vpc-id - The ID of an attached VPC.
66980	//
66981	//    * availability-zone - The Availability Zone for the virtual private gateway
66982	//    (if applicable).
66983	//
66984	//    * state - The state of the virtual private gateway (pending | available
66985	//    | deleting | deleted).
66986	//
66987	//    * tag:<key> - The key/value combination of a tag assigned to the resource.
66988	//    Use the tag key in the filter name and the tag value as the filter value.
66989	//    For example, to find all resources that have a tag with the key Owner
66990	//    and the value TeamA, specify tag:Owner for the filter name and TeamA for
66991	//    the filter value.
66992	//
66993	//    * tag-key - The key of a tag assigned to the resource. Use this filter
66994	//    to find all resources assigned a tag with a specific key, regardless of
66995	//    the tag value.
66996	//
66997	//    * type - The type of virtual private gateway. Currently the only supported
66998	//    type is ipsec.1.
66999	//
67000	//    * vpn-gateway-id - The ID of the virtual private gateway.
67001	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
67002
67003	// One or more virtual private gateway IDs.
67004	//
67005	// Default: Describes all your virtual private gateways.
67006	VpnGatewayIds []*string `locationName:"VpnGatewayId" locationNameList:"VpnGatewayId" type:"list"`
67007}
67008
67009// String returns the string representation
67010func (s DescribeVpnGatewaysInput) String() string {
67011	return awsutil.Prettify(s)
67012}
67013
67014// GoString returns the string representation
67015func (s DescribeVpnGatewaysInput) GoString() string {
67016	return s.String()
67017}
67018
67019// SetDryRun sets the DryRun field's value.
67020func (s *DescribeVpnGatewaysInput) SetDryRun(v bool) *DescribeVpnGatewaysInput {
67021	s.DryRun = &v
67022	return s
67023}
67024
67025// SetFilters sets the Filters field's value.
67026func (s *DescribeVpnGatewaysInput) SetFilters(v []*Filter) *DescribeVpnGatewaysInput {
67027	s.Filters = v
67028	return s
67029}
67030
67031// SetVpnGatewayIds sets the VpnGatewayIds field's value.
67032func (s *DescribeVpnGatewaysInput) SetVpnGatewayIds(v []*string) *DescribeVpnGatewaysInput {
67033	s.VpnGatewayIds = v
67034	return s
67035}
67036
67037// Contains the output of DescribeVpnGateways.
67038type DescribeVpnGatewaysOutput struct {
67039	_ struct{} `type:"structure"`
67040
67041	// Information about one or more virtual private gateways.
67042	VpnGateways []*VpnGateway `locationName:"vpnGatewaySet" locationNameList:"item" type:"list"`
67043}
67044
67045// String returns the string representation
67046func (s DescribeVpnGatewaysOutput) String() string {
67047	return awsutil.Prettify(s)
67048}
67049
67050// GoString returns the string representation
67051func (s DescribeVpnGatewaysOutput) GoString() string {
67052	return s.String()
67053}
67054
67055// SetVpnGateways sets the VpnGateways field's value.
67056func (s *DescribeVpnGatewaysOutput) SetVpnGateways(v []*VpnGateway) *DescribeVpnGatewaysOutput {
67057	s.VpnGateways = v
67058	return s
67059}
67060
67061type DetachClassicLinkVpcInput struct {
67062	_ struct{} `type:"structure"`
67063
67064	// Checks whether you have the required permissions for the action, without
67065	// actually making the request, and provides an error response. If you have
67066	// the required permissions, the error response is DryRunOperation. Otherwise,
67067	// it is UnauthorizedOperation.
67068	DryRun *bool `locationName:"dryRun" type:"boolean"`
67069
67070	// The ID of the instance to unlink from the VPC.
67071	//
67072	// InstanceId is a required field
67073	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
67074
67075	// The ID of the VPC to which the instance is linked.
67076	//
67077	// VpcId is a required field
67078	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
67079}
67080
67081// String returns the string representation
67082func (s DetachClassicLinkVpcInput) String() string {
67083	return awsutil.Prettify(s)
67084}
67085
67086// GoString returns the string representation
67087func (s DetachClassicLinkVpcInput) GoString() string {
67088	return s.String()
67089}
67090
67091// Validate inspects the fields of the type to determine if they are valid.
67092func (s *DetachClassicLinkVpcInput) Validate() error {
67093	invalidParams := request.ErrInvalidParams{Context: "DetachClassicLinkVpcInput"}
67094	if s.InstanceId == nil {
67095		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
67096	}
67097	if s.VpcId == nil {
67098		invalidParams.Add(request.NewErrParamRequired("VpcId"))
67099	}
67100
67101	if invalidParams.Len() > 0 {
67102		return invalidParams
67103	}
67104	return nil
67105}
67106
67107// SetDryRun sets the DryRun field's value.
67108func (s *DetachClassicLinkVpcInput) SetDryRun(v bool) *DetachClassicLinkVpcInput {
67109	s.DryRun = &v
67110	return s
67111}
67112
67113// SetInstanceId sets the InstanceId field's value.
67114func (s *DetachClassicLinkVpcInput) SetInstanceId(v string) *DetachClassicLinkVpcInput {
67115	s.InstanceId = &v
67116	return s
67117}
67118
67119// SetVpcId sets the VpcId field's value.
67120func (s *DetachClassicLinkVpcInput) SetVpcId(v string) *DetachClassicLinkVpcInput {
67121	s.VpcId = &v
67122	return s
67123}
67124
67125type DetachClassicLinkVpcOutput struct {
67126	_ struct{} `type:"structure"`
67127
67128	// Returns true if the request succeeds; otherwise, it returns an error.
67129	Return *bool `locationName:"return" type:"boolean"`
67130}
67131
67132// String returns the string representation
67133func (s DetachClassicLinkVpcOutput) String() string {
67134	return awsutil.Prettify(s)
67135}
67136
67137// GoString returns the string representation
67138func (s DetachClassicLinkVpcOutput) GoString() string {
67139	return s.String()
67140}
67141
67142// SetReturn sets the Return field's value.
67143func (s *DetachClassicLinkVpcOutput) SetReturn(v bool) *DetachClassicLinkVpcOutput {
67144	s.Return = &v
67145	return s
67146}
67147
67148type DetachInternetGatewayInput struct {
67149	_ struct{} `type:"structure"`
67150
67151	// Checks whether you have the required permissions for the action, without
67152	// actually making the request, and provides an error response. If you have
67153	// the required permissions, the error response is DryRunOperation. Otherwise,
67154	// it is UnauthorizedOperation.
67155	DryRun *bool `locationName:"dryRun" type:"boolean"`
67156
67157	// The ID of the internet gateway.
67158	//
67159	// InternetGatewayId is a required field
67160	InternetGatewayId *string `locationName:"internetGatewayId" type:"string" required:"true"`
67161
67162	// The ID of the VPC.
67163	//
67164	// VpcId is a required field
67165	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
67166}
67167
67168// String returns the string representation
67169func (s DetachInternetGatewayInput) String() string {
67170	return awsutil.Prettify(s)
67171}
67172
67173// GoString returns the string representation
67174func (s DetachInternetGatewayInput) GoString() string {
67175	return s.String()
67176}
67177
67178// Validate inspects the fields of the type to determine if they are valid.
67179func (s *DetachInternetGatewayInput) Validate() error {
67180	invalidParams := request.ErrInvalidParams{Context: "DetachInternetGatewayInput"}
67181	if s.InternetGatewayId == nil {
67182		invalidParams.Add(request.NewErrParamRequired("InternetGatewayId"))
67183	}
67184	if s.VpcId == nil {
67185		invalidParams.Add(request.NewErrParamRequired("VpcId"))
67186	}
67187
67188	if invalidParams.Len() > 0 {
67189		return invalidParams
67190	}
67191	return nil
67192}
67193
67194// SetDryRun sets the DryRun field's value.
67195func (s *DetachInternetGatewayInput) SetDryRun(v bool) *DetachInternetGatewayInput {
67196	s.DryRun = &v
67197	return s
67198}
67199
67200// SetInternetGatewayId sets the InternetGatewayId field's value.
67201func (s *DetachInternetGatewayInput) SetInternetGatewayId(v string) *DetachInternetGatewayInput {
67202	s.InternetGatewayId = &v
67203	return s
67204}
67205
67206// SetVpcId sets the VpcId field's value.
67207func (s *DetachInternetGatewayInput) SetVpcId(v string) *DetachInternetGatewayInput {
67208	s.VpcId = &v
67209	return s
67210}
67211
67212type DetachInternetGatewayOutput struct {
67213	_ struct{} `type:"structure"`
67214}
67215
67216// String returns the string representation
67217func (s DetachInternetGatewayOutput) String() string {
67218	return awsutil.Prettify(s)
67219}
67220
67221// GoString returns the string representation
67222func (s DetachInternetGatewayOutput) GoString() string {
67223	return s.String()
67224}
67225
67226// Contains the parameters for DetachNetworkInterface.
67227type DetachNetworkInterfaceInput struct {
67228	_ struct{} `type:"structure"`
67229
67230	// The ID of the attachment.
67231	//
67232	// AttachmentId is a required field
67233	AttachmentId *string `locationName:"attachmentId" type:"string" required:"true"`
67234
67235	// Checks whether you have the required permissions for the action, without
67236	// actually making the request, and provides an error response. If you have
67237	// the required permissions, the error response is DryRunOperation. Otherwise,
67238	// it is UnauthorizedOperation.
67239	DryRun *bool `locationName:"dryRun" type:"boolean"`
67240
67241	// Specifies whether to force a detachment.
67242	//
67243	//    * Use the Force parameter only as a last resort to detach a network interface
67244	//    from a failed instance.
67245	//
67246	//    * If you use the Force parameter to detach a network interface, you might
67247	//    not be able to attach a different network interface to the same index
67248	//    on the instance without first stopping and starting the instance.
67249	//
67250	//    * If you force the detachment of a network interface, the instance metadata
67251	//    (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)
67252	//    might not get updated. This means that the attributes associated with
67253	//    the detached network interface might still be visible. The instance metadata
67254	//    will get updated when you stop and start the instance.
67255	Force *bool `locationName:"force" type:"boolean"`
67256}
67257
67258// String returns the string representation
67259func (s DetachNetworkInterfaceInput) String() string {
67260	return awsutil.Prettify(s)
67261}
67262
67263// GoString returns the string representation
67264func (s DetachNetworkInterfaceInput) GoString() string {
67265	return s.String()
67266}
67267
67268// Validate inspects the fields of the type to determine if they are valid.
67269func (s *DetachNetworkInterfaceInput) Validate() error {
67270	invalidParams := request.ErrInvalidParams{Context: "DetachNetworkInterfaceInput"}
67271	if s.AttachmentId == nil {
67272		invalidParams.Add(request.NewErrParamRequired("AttachmentId"))
67273	}
67274
67275	if invalidParams.Len() > 0 {
67276		return invalidParams
67277	}
67278	return nil
67279}
67280
67281// SetAttachmentId sets the AttachmentId field's value.
67282func (s *DetachNetworkInterfaceInput) SetAttachmentId(v string) *DetachNetworkInterfaceInput {
67283	s.AttachmentId = &v
67284	return s
67285}
67286
67287// SetDryRun sets the DryRun field's value.
67288func (s *DetachNetworkInterfaceInput) SetDryRun(v bool) *DetachNetworkInterfaceInput {
67289	s.DryRun = &v
67290	return s
67291}
67292
67293// SetForce sets the Force field's value.
67294func (s *DetachNetworkInterfaceInput) SetForce(v bool) *DetachNetworkInterfaceInput {
67295	s.Force = &v
67296	return s
67297}
67298
67299type DetachNetworkInterfaceOutput struct {
67300	_ struct{} `type:"structure"`
67301}
67302
67303// String returns the string representation
67304func (s DetachNetworkInterfaceOutput) String() string {
67305	return awsutil.Prettify(s)
67306}
67307
67308// GoString returns the string representation
67309func (s DetachNetworkInterfaceOutput) GoString() string {
67310	return s.String()
67311}
67312
67313type DetachVolumeInput struct {
67314	_ struct{} `type:"structure"`
67315
67316	// The device name.
67317	Device *string `type:"string"`
67318
67319	// Checks whether you have the required permissions for the action, without
67320	// actually making the request, and provides an error response. If you have
67321	// the required permissions, the error response is DryRunOperation. Otherwise,
67322	// it is UnauthorizedOperation.
67323	DryRun *bool `locationName:"dryRun" type:"boolean"`
67324
67325	// Forces detachment if the previous detachment attempt did not occur cleanly
67326	// (for example, logging into an instance, unmounting the volume, and detaching
67327	// normally). This option can lead to data loss or a corrupted file system.
67328	// Use this option only as a last resort to detach a volume from a failed instance.
67329	// The instance won't have an opportunity to flush file system caches or file
67330	// system metadata. If you use this option, you must perform file system check
67331	// and repair procedures.
67332	Force *bool `type:"boolean"`
67333
67334	// The ID of the instance.
67335	InstanceId *string `type:"string"`
67336
67337	// The ID of the volume.
67338	//
67339	// VolumeId is a required field
67340	VolumeId *string `type:"string" required:"true"`
67341}
67342
67343// String returns the string representation
67344func (s DetachVolumeInput) String() string {
67345	return awsutil.Prettify(s)
67346}
67347
67348// GoString returns the string representation
67349func (s DetachVolumeInput) GoString() string {
67350	return s.String()
67351}
67352
67353// Validate inspects the fields of the type to determine if they are valid.
67354func (s *DetachVolumeInput) Validate() error {
67355	invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
67356	if s.VolumeId == nil {
67357		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
67358	}
67359
67360	if invalidParams.Len() > 0 {
67361		return invalidParams
67362	}
67363	return nil
67364}
67365
67366// SetDevice sets the Device field's value.
67367func (s *DetachVolumeInput) SetDevice(v string) *DetachVolumeInput {
67368	s.Device = &v
67369	return s
67370}
67371
67372// SetDryRun sets the DryRun field's value.
67373func (s *DetachVolumeInput) SetDryRun(v bool) *DetachVolumeInput {
67374	s.DryRun = &v
67375	return s
67376}
67377
67378// SetForce sets the Force field's value.
67379func (s *DetachVolumeInput) SetForce(v bool) *DetachVolumeInput {
67380	s.Force = &v
67381	return s
67382}
67383
67384// SetInstanceId sets the InstanceId field's value.
67385func (s *DetachVolumeInput) SetInstanceId(v string) *DetachVolumeInput {
67386	s.InstanceId = &v
67387	return s
67388}
67389
67390// SetVolumeId sets the VolumeId field's value.
67391func (s *DetachVolumeInput) SetVolumeId(v string) *DetachVolumeInput {
67392	s.VolumeId = &v
67393	return s
67394}
67395
67396// Contains the parameters for DetachVpnGateway.
67397type DetachVpnGatewayInput struct {
67398	_ struct{} `type:"structure"`
67399
67400	// Checks whether you have the required permissions for the action, without
67401	// actually making the request, and provides an error response. If you have
67402	// the required permissions, the error response is DryRunOperation. Otherwise,
67403	// it is UnauthorizedOperation.
67404	DryRun *bool `locationName:"dryRun" type:"boolean"`
67405
67406	// The ID of the VPC.
67407	//
67408	// VpcId is a required field
67409	VpcId *string `type:"string" required:"true"`
67410
67411	// The ID of the virtual private gateway.
67412	//
67413	// VpnGatewayId is a required field
67414	VpnGatewayId *string `type:"string" required:"true"`
67415}
67416
67417// String returns the string representation
67418func (s DetachVpnGatewayInput) String() string {
67419	return awsutil.Prettify(s)
67420}
67421
67422// GoString returns the string representation
67423func (s DetachVpnGatewayInput) GoString() string {
67424	return s.String()
67425}
67426
67427// Validate inspects the fields of the type to determine if they are valid.
67428func (s *DetachVpnGatewayInput) Validate() error {
67429	invalidParams := request.ErrInvalidParams{Context: "DetachVpnGatewayInput"}
67430	if s.VpcId == nil {
67431		invalidParams.Add(request.NewErrParamRequired("VpcId"))
67432	}
67433	if s.VpnGatewayId == nil {
67434		invalidParams.Add(request.NewErrParamRequired("VpnGatewayId"))
67435	}
67436
67437	if invalidParams.Len() > 0 {
67438		return invalidParams
67439	}
67440	return nil
67441}
67442
67443// SetDryRun sets the DryRun field's value.
67444func (s *DetachVpnGatewayInput) SetDryRun(v bool) *DetachVpnGatewayInput {
67445	s.DryRun = &v
67446	return s
67447}
67448
67449// SetVpcId sets the VpcId field's value.
67450func (s *DetachVpnGatewayInput) SetVpcId(v string) *DetachVpnGatewayInput {
67451	s.VpcId = &v
67452	return s
67453}
67454
67455// SetVpnGatewayId sets the VpnGatewayId field's value.
67456func (s *DetachVpnGatewayInput) SetVpnGatewayId(v string) *DetachVpnGatewayInput {
67457	s.VpnGatewayId = &v
67458	return s
67459}
67460
67461type DetachVpnGatewayOutput struct {
67462	_ struct{} `type:"structure"`
67463}
67464
67465// String returns the string representation
67466func (s DetachVpnGatewayOutput) String() string {
67467	return awsutil.Prettify(s)
67468}
67469
67470// GoString returns the string representation
67471func (s DetachVpnGatewayOutput) GoString() string {
67472	return s.String()
67473}
67474
67475// Describes a DHCP configuration option.
67476type DhcpConfiguration struct {
67477	_ struct{} `type:"structure"`
67478
67479	// The name of a DHCP option.
67480	Key *string `locationName:"key" type:"string"`
67481
67482	// One or more values for the DHCP option.
67483	Values []*AttributeValue `locationName:"valueSet" locationNameList:"item" type:"list"`
67484}
67485
67486// String returns the string representation
67487func (s DhcpConfiguration) String() string {
67488	return awsutil.Prettify(s)
67489}
67490
67491// GoString returns the string representation
67492func (s DhcpConfiguration) GoString() string {
67493	return s.String()
67494}
67495
67496// SetKey sets the Key field's value.
67497func (s *DhcpConfiguration) SetKey(v string) *DhcpConfiguration {
67498	s.Key = &v
67499	return s
67500}
67501
67502// SetValues sets the Values field's value.
67503func (s *DhcpConfiguration) SetValues(v []*AttributeValue) *DhcpConfiguration {
67504	s.Values = v
67505	return s
67506}
67507
67508// Describes a set of DHCP options.
67509type DhcpOptions struct {
67510	_ struct{} `type:"structure"`
67511
67512	// One or more DHCP options in the set.
67513	DhcpConfigurations []*DhcpConfiguration `locationName:"dhcpConfigurationSet" locationNameList:"item" type:"list"`
67514
67515	// The ID of the set of DHCP options.
67516	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
67517
67518	// The ID of the AWS account that owns the DHCP options set.
67519	OwnerId *string `locationName:"ownerId" type:"string"`
67520
67521	// Any tags assigned to the DHCP options set.
67522	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
67523}
67524
67525// String returns the string representation
67526func (s DhcpOptions) String() string {
67527	return awsutil.Prettify(s)
67528}
67529
67530// GoString returns the string representation
67531func (s DhcpOptions) GoString() string {
67532	return s.String()
67533}
67534
67535// SetDhcpConfigurations sets the DhcpConfigurations field's value.
67536func (s *DhcpOptions) SetDhcpConfigurations(v []*DhcpConfiguration) *DhcpOptions {
67537	s.DhcpConfigurations = v
67538	return s
67539}
67540
67541// SetDhcpOptionsId sets the DhcpOptionsId field's value.
67542func (s *DhcpOptions) SetDhcpOptionsId(v string) *DhcpOptions {
67543	s.DhcpOptionsId = &v
67544	return s
67545}
67546
67547// SetOwnerId sets the OwnerId field's value.
67548func (s *DhcpOptions) SetOwnerId(v string) *DhcpOptions {
67549	s.OwnerId = &v
67550	return s
67551}
67552
67553// SetTags sets the Tags field's value.
67554func (s *DhcpOptions) SetTags(v []*Tag) *DhcpOptions {
67555	s.Tags = v
67556	return s
67557}
67558
67559// Describes an Active Directory.
67560type DirectoryServiceAuthentication struct {
67561	_ struct{} `type:"structure"`
67562
67563	// The ID of the Active Directory used for authentication.
67564	DirectoryId *string `locationName:"directoryId" type:"string"`
67565}
67566
67567// String returns the string representation
67568func (s DirectoryServiceAuthentication) String() string {
67569	return awsutil.Prettify(s)
67570}
67571
67572// GoString returns the string representation
67573func (s DirectoryServiceAuthentication) GoString() string {
67574	return s.String()
67575}
67576
67577// SetDirectoryId sets the DirectoryId field's value.
67578func (s *DirectoryServiceAuthentication) SetDirectoryId(v string) *DirectoryServiceAuthentication {
67579	s.DirectoryId = &v
67580	return s
67581}
67582
67583// Describes the Active Directory to be used for client authentication.
67584type DirectoryServiceAuthenticationRequest struct {
67585	_ struct{} `type:"structure"`
67586
67587	// The ID of the Active Directory to be used for authentication.
67588	DirectoryId *string `type:"string"`
67589}
67590
67591// String returns the string representation
67592func (s DirectoryServiceAuthenticationRequest) String() string {
67593	return awsutil.Prettify(s)
67594}
67595
67596// GoString returns the string representation
67597func (s DirectoryServiceAuthenticationRequest) GoString() string {
67598	return s.String()
67599}
67600
67601// SetDirectoryId sets the DirectoryId field's value.
67602func (s *DirectoryServiceAuthenticationRequest) SetDirectoryId(v string) *DirectoryServiceAuthenticationRequest {
67603	s.DirectoryId = &v
67604	return s
67605}
67606
67607type DisableEbsEncryptionByDefaultInput struct {
67608	_ struct{} `type:"structure"`
67609
67610	// Checks whether you have the required permissions for the action, without
67611	// actually making the request, and provides an error response. If you have
67612	// the required permissions, the error response is DryRunOperation. Otherwise,
67613	// it is UnauthorizedOperation.
67614	DryRun *bool `type:"boolean"`
67615}
67616
67617// String returns the string representation
67618func (s DisableEbsEncryptionByDefaultInput) String() string {
67619	return awsutil.Prettify(s)
67620}
67621
67622// GoString returns the string representation
67623func (s DisableEbsEncryptionByDefaultInput) GoString() string {
67624	return s.String()
67625}
67626
67627// SetDryRun sets the DryRun field's value.
67628func (s *DisableEbsEncryptionByDefaultInput) SetDryRun(v bool) *DisableEbsEncryptionByDefaultInput {
67629	s.DryRun = &v
67630	return s
67631}
67632
67633type DisableEbsEncryptionByDefaultOutput struct {
67634	_ struct{} `type:"structure"`
67635
67636	// The updated status of encryption by default.
67637	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
67638}
67639
67640// String returns the string representation
67641func (s DisableEbsEncryptionByDefaultOutput) String() string {
67642	return awsutil.Prettify(s)
67643}
67644
67645// GoString returns the string representation
67646func (s DisableEbsEncryptionByDefaultOutput) GoString() string {
67647	return s.String()
67648}
67649
67650// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
67651func (s *DisableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *DisableEbsEncryptionByDefaultOutput {
67652	s.EbsEncryptionByDefault = &v
67653	return s
67654}
67655
67656// Contains information about the errors that occurred when disabling fast snapshot
67657// restores.
67658type DisableFastSnapshotRestoreErrorItem struct {
67659	_ struct{} `type:"structure"`
67660
67661	// The errors.
67662	FastSnapshotRestoreStateErrors []*DisableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
67663
67664	// The ID of the snapshot.
67665	SnapshotId *string `locationName:"snapshotId" type:"string"`
67666}
67667
67668// String returns the string representation
67669func (s DisableFastSnapshotRestoreErrorItem) String() string {
67670	return awsutil.Prettify(s)
67671}
67672
67673// GoString returns the string representation
67674func (s DisableFastSnapshotRestoreErrorItem) GoString() string {
67675	return s.String()
67676}
67677
67678// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
67679func (s *DisableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*DisableFastSnapshotRestoreStateErrorItem) *DisableFastSnapshotRestoreErrorItem {
67680	s.FastSnapshotRestoreStateErrors = v
67681	return s
67682}
67683
67684// SetSnapshotId sets the SnapshotId field's value.
67685func (s *DisableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreErrorItem {
67686	s.SnapshotId = &v
67687	return s
67688}
67689
67690// Describes an error that occurred when disabling fast snapshot restores.
67691type DisableFastSnapshotRestoreStateError struct {
67692	_ struct{} `type:"structure"`
67693
67694	// The error code.
67695	Code *string `locationName:"code" type:"string"`
67696
67697	// The error message.
67698	Message *string `locationName:"message" type:"string"`
67699}
67700
67701// String returns the string representation
67702func (s DisableFastSnapshotRestoreStateError) String() string {
67703	return awsutil.Prettify(s)
67704}
67705
67706// GoString returns the string representation
67707func (s DisableFastSnapshotRestoreStateError) GoString() string {
67708	return s.String()
67709}
67710
67711// SetCode sets the Code field's value.
67712func (s *DisableFastSnapshotRestoreStateError) SetCode(v string) *DisableFastSnapshotRestoreStateError {
67713	s.Code = &v
67714	return s
67715}
67716
67717// SetMessage sets the Message field's value.
67718func (s *DisableFastSnapshotRestoreStateError) SetMessage(v string) *DisableFastSnapshotRestoreStateError {
67719	s.Message = &v
67720	return s
67721}
67722
67723// Contains information about an error that occurred when disabling fast snapshot
67724// restores.
67725type DisableFastSnapshotRestoreStateErrorItem struct {
67726	_ struct{} `type:"structure"`
67727
67728	// The Availability Zone.
67729	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
67730
67731	// The error.
67732	Error *DisableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
67733}
67734
67735// String returns the string representation
67736func (s DisableFastSnapshotRestoreStateErrorItem) String() string {
67737	return awsutil.Prettify(s)
67738}
67739
67740// GoString returns the string representation
67741func (s DisableFastSnapshotRestoreStateErrorItem) GoString() string {
67742	return s.String()
67743}
67744
67745// SetAvailabilityZone sets the AvailabilityZone field's value.
67746func (s *DisableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreStateErrorItem {
67747	s.AvailabilityZone = &v
67748	return s
67749}
67750
67751// SetError sets the Error field's value.
67752func (s *DisableFastSnapshotRestoreStateErrorItem) SetError(v *DisableFastSnapshotRestoreStateError) *DisableFastSnapshotRestoreStateErrorItem {
67753	s.Error = v
67754	return s
67755}
67756
67757// Describes fast snapshot restores that were successfully disabled.
67758type DisableFastSnapshotRestoreSuccessItem struct {
67759	_ struct{} `type:"structure"`
67760
67761	// The Availability Zone.
67762	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
67763
67764	// The time at which fast snapshot restores entered the disabled state.
67765	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
67766
67767	// The time at which fast snapshot restores entered the disabling state.
67768	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
67769
67770	// The time at which fast snapshot restores entered the enabled state.
67771	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
67772
67773	// The time at which fast snapshot restores entered the enabling state.
67774	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
67775
67776	// The time at which fast snapshot restores entered the optimizing state.
67777	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
67778
67779	// The alias of the snapshot owner.
67780	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
67781
67782	// The ID of the AWS account that owns the snapshot.
67783	OwnerId *string `locationName:"ownerId" type:"string"`
67784
67785	// The ID of the snapshot.
67786	SnapshotId *string `locationName:"snapshotId" type:"string"`
67787
67788	// The state of fast snapshot restores for the snapshot.
67789	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
67790
67791	// The reason for the state transition. The possible values are as follows:
67792	//
67793	//    * Client.UserInitiated - The state successfully transitioned to enabling
67794	//    or disabling.
67795	//
67796	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
67797	//    transitioned to optimizing, enabled, or disabled.
67798	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
67799}
67800
67801// String returns the string representation
67802func (s DisableFastSnapshotRestoreSuccessItem) String() string {
67803	return awsutil.Prettify(s)
67804}
67805
67806// GoString returns the string representation
67807func (s DisableFastSnapshotRestoreSuccessItem) GoString() string {
67808	return s.String()
67809}
67810
67811// SetAvailabilityZone sets the AvailabilityZone field's value.
67812func (s *DisableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *DisableFastSnapshotRestoreSuccessItem {
67813	s.AvailabilityZone = &v
67814	return s
67815}
67816
67817// SetDisabledTime sets the DisabledTime field's value.
67818func (s *DisableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
67819	s.DisabledTime = &v
67820	return s
67821}
67822
67823// SetDisablingTime sets the DisablingTime field's value.
67824func (s *DisableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
67825	s.DisablingTime = &v
67826	return s
67827}
67828
67829// SetEnabledTime sets the EnabledTime field's value.
67830func (s *DisableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
67831	s.EnabledTime = &v
67832	return s
67833}
67834
67835// SetEnablingTime sets the EnablingTime field's value.
67836func (s *DisableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
67837	s.EnablingTime = &v
67838	return s
67839}
67840
67841// SetOptimizingTime sets the OptimizingTime field's value.
67842func (s *DisableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *DisableFastSnapshotRestoreSuccessItem {
67843	s.OptimizingTime = &v
67844	return s
67845}
67846
67847// SetOwnerAlias sets the OwnerAlias field's value.
67848func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *DisableFastSnapshotRestoreSuccessItem {
67849	s.OwnerAlias = &v
67850	return s
67851}
67852
67853// SetOwnerId sets the OwnerId field's value.
67854func (s *DisableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *DisableFastSnapshotRestoreSuccessItem {
67855	s.OwnerId = &v
67856	return s
67857}
67858
67859// SetSnapshotId sets the SnapshotId field's value.
67860func (s *DisableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *DisableFastSnapshotRestoreSuccessItem {
67861	s.SnapshotId = &v
67862	return s
67863}
67864
67865// SetState sets the State field's value.
67866func (s *DisableFastSnapshotRestoreSuccessItem) SetState(v string) *DisableFastSnapshotRestoreSuccessItem {
67867	s.State = &v
67868	return s
67869}
67870
67871// SetStateTransitionReason sets the StateTransitionReason field's value.
67872func (s *DisableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *DisableFastSnapshotRestoreSuccessItem {
67873	s.StateTransitionReason = &v
67874	return s
67875}
67876
67877type DisableFastSnapshotRestoresInput struct {
67878	_ struct{} `type:"structure"`
67879
67880	// One or more Availability Zones. For example, us-east-2a.
67881	//
67882	// AvailabilityZones is a required field
67883	AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
67884
67885	// Checks whether you have the required permissions for the action, without
67886	// actually making the request, and provides an error response. If you have
67887	// the required permissions, the error response is DryRunOperation. Otherwise,
67888	// it is UnauthorizedOperation.
67889	DryRun *bool `type:"boolean"`
67890
67891	// The IDs of one or more snapshots. For example, snap-1234567890abcdef0.
67892	//
67893	// SourceSnapshotIds is a required field
67894	SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
67895}
67896
67897// String returns the string representation
67898func (s DisableFastSnapshotRestoresInput) String() string {
67899	return awsutil.Prettify(s)
67900}
67901
67902// GoString returns the string representation
67903func (s DisableFastSnapshotRestoresInput) GoString() string {
67904	return s.String()
67905}
67906
67907// Validate inspects the fields of the type to determine if they are valid.
67908func (s *DisableFastSnapshotRestoresInput) Validate() error {
67909	invalidParams := request.ErrInvalidParams{Context: "DisableFastSnapshotRestoresInput"}
67910	if s.AvailabilityZones == nil {
67911		invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
67912	}
67913	if s.SourceSnapshotIds == nil {
67914		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
67915	}
67916
67917	if invalidParams.Len() > 0 {
67918		return invalidParams
67919	}
67920	return nil
67921}
67922
67923// SetAvailabilityZones sets the AvailabilityZones field's value.
67924func (s *DisableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *DisableFastSnapshotRestoresInput {
67925	s.AvailabilityZones = v
67926	return s
67927}
67928
67929// SetDryRun sets the DryRun field's value.
67930func (s *DisableFastSnapshotRestoresInput) SetDryRun(v bool) *DisableFastSnapshotRestoresInput {
67931	s.DryRun = &v
67932	return s
67933}
67934
67935// SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
67936func (s *DisableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *DisableFastSnapshotRestoresInput {
67937	s.SourceSnapshotIds = v
67938	return s
67939}
67940
67941type DisableFastSnapshotRestoresOutput struct {
67942	_ struct{} `type:"structure"`
67943
67944	// Information about the snapshots for which fast snapshot restores were successfully
67945	// disabled.
67946	Successful []*DisableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
67947
67948	// Information about the snapshots for which fast snapshot restores could not
67949	// be disabled.
67950	Unsuccessful []*DisableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
67951}
67952
67953// String returns the string representation
67954func (s DisableFastSnapshotRestoresOutput) String() string {
67955	return awsutil.Prettify(s)
67956}
67957
67958// GoString returns the string representation
67959func (s DisableFastSnapshotRestoresOutput) GoString() string {
67960	return s.String()
67961}
67962
67963// SetSuccessful sets the Successful field's value.
67964func (s *DisableFastSnapshotRestoresOutput) SetSuccessful(v []*DisableFastSnapshotRestoreSuccessItem) *DisableFastSnapshotRestoresOutput {
67965	s.Successful = v
67966	return s
67967}
67968
67969// SetUnsuccessful sets the Unsuccessful field's value.
67970func (s *DisableFastSnapshotRestoresOutput) SetUnsuccessful(v []*DisableFastSnapshotRestoreErrorItem) *DisableFastSnapshotRestoresOutput {
67971	s.Unsuccessful = v
67972	return s
67973}
67974
67975type DisableTransitGatewayRouteTablePropagationInput struct {
67976	_ struct{} `type:"structure"`
67977
67978	// Checks whether you have the required permissions for the action, without
67979	// actually making the request, and provides an error response. If you have
67980	// the required permissions, the error response is DryRunOperation. Otherwise,
67981	// it is UnauthorizedOperation.
67982	DryRun *bool `type:"boolean"`
67983
67984	// The ID of the attachment.
67985	//
67986	// TransitGatewayAttachmentId is a required field
67987	TransitGatewayAttachmentId *string `type:"string" required:"true"`
67988
67989	// The ID of the propagation route table.
67990	//
67991	// TransitGatewayRouteTableId is a required field
67992	TransitGatewayRouteTableId *string `type:"string" required:"true"`
67993}
67994
67995// String returns the string representation
67996func (s DisableTransitGatewayRouteTablePropagationInput) String() string {
67997	return awsutil.Prettify(s)
67998}
67999
68000// GoString returns the string representation
68001func (s DisableTransitGatewayRouteTablePropagationInput) GoString() string {
68002	return s.String()
68003}
68004
68005// Validate inspects the fields of the type to determine if they are valid.
68006func (s *DisableTransitGatewayRouteTablePropagationInput) Validate() error {
68007	invalidParams := request.ErrInvalidParams{Context: "DisableTransitGatewayRouteTablePropagationInput"}
68008	if s.TransitGatewayAttachmentId == nil {
68009		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
68010	}
68011	if s.TransitGatewayRouteTableId == nil {
68012		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
68013	}
68014
68015	if invalidParams.Len() > 0 {
68016		return invalidParams
68017	}
68018	return nil
68019}
68020
68021// SetDryRun sets the DryRun field's value.
68022func (s *DisableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *DisableTransitGatewayRouteTablePropagationInput {
68023	s.DryRun = &v
68024	return s
68025}
68026
68027// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
68028func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *DisableTransitGatewayRouteTablePropagationInput {
68029	s.TransitGatewayAttachmentId = &v
68030	return s
68031}
68032
68033// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
68034func (s *DisableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *DisableTransitGatewayRouteTablePropagationInput {
68035	s.TransitGatewayRouteTableId = &v
68036	return s
68037}
68038
68039type DisableTransitGatewayRouteTablePropagationOutput struct {
68040	_ struct{} `type:"structure"`
68041
68042	// Information about route propagation.
68043	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
68044}
68045
68046// String returns the string representation
68047func (s DisableTransitGatewayRouteTablePropagationOutput) String() string {
68048	return awsutil.Prettify(s)
68049}
68050
68051// GoString returns the string representation
68052func (s DisableTransitGatewayRouteTablePropagationOutput) GoString() string {
68053	return s.String()
68054}
68055
68056// SetPropagation sets the Propagation field's value.
68057func (s *DisableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *DisableTransitGatewayRouteTablePropagationOutput {
68058	s.Propagation = v
68059	return s
68060}
68061
68062// Contains the parameters for DisableVgwRoutePropagation.
68063type DisableVgwRoutePropagationInput struct {
68064	_ struct{} `type:"structure"`
68065
68066	// The ID of the virtual private gateway.
68067	//
68068	// GatewayId is a required field
68069	GatewayId *string `type:"string" required:"true"`
68070
68071	// The ID of the route table.
68072	//
68073	// RouteTableId is a required field
68074	RouteTableId *string `type:"string" required:"true"`
68075}
68076
68077// String returns the string representation
68078func (s DisableVgwRoutePropagationInput) String() string {
68079	return awsutil.Prettify(s)
68080}
68081
68082// GoString returns the string representation
68083func (s DisableVgwRoutePropagationInput) GoString() string {
68084	return s.String()
68085}
68086
68087// Validate inspects the fields of the type to determine if they are valid.
68088func (s *DisableVgwRoutePropagationInput) Validate() error {
68089	invalidParams := request.ErrInvalidParams{Context: "DisableVgwRoutePropagationInput"}
68090	if s.GatewayId == nil {
68091		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
68092	}
68093	if s.RouteTableId == nil {
68094		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
68095	}
68096
68097	if invalidParams.Len() > 0 {
68098		return invalidParams
68099	}
68100	return nil
68101}
68102
68103// SetGatewayId sets the GatewayId field's value.
68104func (s *DisableVgwRoutePropagationInput) SetGatewayId(v string) *DisableVgwRoutePropagationInput {
68105	s.GatewayId = &v
68106	return s
68107}
68108
68109// SetRouteTableId sets the RouteTableId field's value.
68110func (s *DisableVgwRoutePropagationInput) SetRouteTableId(v string) *DisableVgwRoutePropagationInput {
68111	s.RouteTableId = &v
68112	return s
68113}
68114
68115type DisableVgwRoutePropagationOutput struct {
68116	_ struct{} `type:"structure"`
68117}
68118
68119// String returns the string representation
68120func (s DisableVgwRoutePropagationOutput) String() string {
68121	return awsutil.Prettify(s)
68122}
68123
68124// GoString returns the string representation
68125func (s DisableVgwRoutePropagationOutput) GoString() string {
68126	return s.String()
68127}
68128
68129type DisableVpcClassicLinkDnsSupportInput struct {
68130	_ struct{} `type:"structure"`
68131
68132	// The ID of the VPC.
68133	VpcId *string `type:"string"`
68134}
68135
68136// String returns the string representation
68137func (s DisableVpcClassicLinkDnsSupportInput) String() string {
68138	return awsutil.Prettify(s)
68139}
68140
68141// GoString returns the string representation
68142func (s DisableVpcClassicLinkDnsSupportInput) GoString() string {
68143	return s.String()
68144}
68145
68146// SetVpcId sets the VpcId field's value.
68147func (s *DisableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *DisableVpcClassicLinkDnsSupportInput {
68148	s.VpcId = &v
68149	return s
68150}
68151
68152type DisableVpcClassicLinkDnsSupportOutput struct {
68153	_ struct{} `type:"structure"`
68154
68155	// Returns true if the request succeeds; otherwise, it returns an error.
68156	Return *bool `locationName:"return" type:"boolean"`
68157}
68158
68159// String returns the string representation
68160func (s DisableVpcClassicLinkDnsSupportOutput) String() string {
68161	return awsutil.Prettify(s)
68162}
68163
68164// GoString returns the string representation
68165func (s DisableVpcClassicLinkDnsSupportOutput) GoString() string {
68166	return s.String()
68167}
68168
68169// SetReturn sets the Return field's value.
68170func (s *DisableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *DisableVpcClassicLinkDnsSupportOutput {
68171	s.Return = &v
68172	return s
68173}
68174
68175type DisableVpcClassicLinkInput struct {
68176	_ struct{} `type:"structure"`
68177
68178	// Checks whether you have the required permissions for the action, without
68179	// actually making the request, and provides an error response. If you have
68180	// the required permissions, the error response is DryRunOperation. Otherwise,
68181	// it is UnauthorizedOperation.
68182	DryRun *bool `locationName:"dryRun" type:"boolean"`
68183
68184	// The ID of the VPC.
68185	//
68186	// VpcId is a required field
68187	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
68188}
68189
68190// String returns the string representation
68191func (s DisableVpcClassicLinkInput) String() string {
68192	return awsutil.Prettify(s)
68193}
68194
68195// GoString returns the string representation
68196func (s DisableVpcClassicLinkInput) GoString() string {
68197	return s.String()
68198}
68199
68200// Validate inspects the fields of the type to determine if they are valid.
68201func (s *DisableVpcClassicLinkInput) Validate() error {
68202	invalidParams := request.ErrInvalidParams{Context: "DisableVpcClassicLinkInput"}
68203	if s.VpcId == nil {
68204		invalidParams.Add(request.NewErrParamRequired("VpcId"))
68205	}
68206
68207	if invalidParams.Len() > 0 {
68208		return invalidParams
68209	}
68210	return nil
68211}
68212
68213// SetDryRun sets the DryRun field's value.
68214func (s *DisableVpcClassicLinkInput) SetDryRun(v bool) *DisableVpcClassicLinkInput {
68215	s.DryRun = &v
68216	return s
68217}
68218
68219// SetVpcId sets the VpcId field's value.
68220func (s *DisableVpcClassicLinkInput) SetVpcId(v string) *DisableVpcClassicLinkInput {
68221	s.VpcId = &v
68222	return s
68223}
68224
68225type DisableVpcClassicLinkOutput struct {
68226	_ struct{} `type:"structure"`
68227
68228	// Returns true if the request succeeds; otherwise, it returns an error.
68229	Return *bool `locationName:"return" type:"boolean"`
68230}
68231
68232// String returns the string representation
68233func (s DisableVpcClassicLinkOutput) String() string {
68234	return awsutil.Prettify(s)
68235}
68236
68237// GoString returns the string representation
68238func (s DisableVpcClassicLinkOutput) GoString() string {
68239	return s.String()
68240}
68241
68242// SetReturn sets the Return field's value.
68243func (s *DisableVpcClassicLinkOutput) SetReturn(v bool) *DisableVpcClassicLinkOutput {
68244	s.Return = &v
68245	return s
68246}
68247
68248type DisassociateAddressInput struct {
68249	_ struct{} `type:"structure"`
68250
68251	// [EC2-VPC] The association ID. Required for EC2-VPC.
68252	AssociationId *string `type:"string"`
68253
68254	// Checks whether you have the required permissions for the action, without
68255	// actually making the request, and provides an error response. If you have
68256	// the required permissions, the error response is DryRunOperation. Otherwise,
68257	// it is UnauthorizedOperation.
68258	DryRun *bool `locationName:"dryRun" type:"boolean"`
68259
68260	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
68261	PublicIp *string `type:"string"`
68262}
68263
68264// String returns the string representation
68265func (s DisassociateAddressInput) String() string {
68266	return awsutil.Prettify(s)
68267}
68268
68269// GoString returns the string representation
68270func (s DisassociateAddressInput) GoString() string {
68271	return s.String()
68272}
68273
68274// SetAssociationId sets the AssociationId field's value.
68275func (s *DisassociateAddressInput) SetAssociationId(v string) *DisassociateAddressInput {
68276	s.AssociationId = &v
68277	return s
68278}
68279
68280// SetDryRun sets the DryRun field's value.
68281func (s *DisassociateAddressInput) SetDryRun(v bool) *DisassociateAddressInput {
68282	s.DryRun = &v
68283	return s
68284}
68285
68286// SetPublicIp sets the PublicIp field's value.
68287func (s *DisassociateAddressInput) SetPublicIp(v string) *DisassociateAddressInput {
68288	s.PublicIp = &v
68289	return s
68290}
68291
68292type DisassociateAddressOutput struct {
68293	_ struct{} `type:"structure"`
68294}
68295
68296// String returns the string representation
68297func (s DisassociateAddressOutput) String() string {
68298	return awsutil.Prettify(s)
68299}
68300
68301// GoString returns the string representation
68302func (s DisassociateAddressOutput) GoString() string {
68303	return s.String()
68304}
68305
68306type DisassociateClientVpnTargetNetworkInput struct {
68307	_ struct{} `type:"structure"`
68308
68309	// The ID of the target network association.
68310	//
68311	// AssociationId is a required field
68312	AssociationId *string `type:"string" required:"true"`
68313
68314	// The ID of the Client VPN endpoint from which to disassociate the target network.
68315	//
68316	// ClientVpnEndpointId is a required field
68317	ClientVpnEndpointId *string `type:"string" required:"true"`
68318
68319	// Checks whether you have the required permissions for the action, without
68320	// actually making the request, and provides an error response. If you have
68321	// the required permissions, the error response is DryRunOperation. Otherwise,
68322	// it is UnauthorizedOperation.
68323	DryRun *bool `type:"boolean"`
68324}
68325
68326// String returns the string representation
68327func (s DisassociateClientVpnTargetNetworkInput) String() string {
68328	return awsutil.Prettify(s)
68329}
68330
68331// GoString returns the string representation
68332func (s DisassociateClientVpnTargetNetworkInput) GoString() string {
68333	return s.String()
68334}
68335
68336// Validate inspects the fields of the type to determine if they are valid.
68337func (s *DisassociateClientVpnTargetNetworkInput) Validate() error {
68338	invalidParams := request.ErrInvalidParams{Context: "DisassociateClientVpnTargetNetworkInput"}
68339	if s.AssociationId == nil {
68340		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
68341	}
68342	if s.ClientVpnEndpointId == nil {
68343		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
68344	}
68345
68346	if invalidParams.Len() > 0 {
68347		return invalidParams
68348	}
68349	return nil
68350}
68351
68352// SetAssociationId sets the AssociationId field's value.
68353func (s *DisassociateClientVpnTargetNetworkInput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkInput {
68354	s.AssociationId = &v
68355	return s
68356}
68357
68358// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
68359func (s *DisassociateClientVpnTargetNetworkInput) SetClientVpnEndpointId(v string) *DisassociateClientVpnTargetNetworkInput {
68360	s.ClientVpnEndpointId = &v
68361	return s
68362}
68363
68364// SetDryRun sets the DryRun field's value.
68365func (s *DisassociateClientVpnTargetNetworkInput) SetDryRun(v bool) *DisassociateClientVpnTargetNetworkInput {
68366	s.DryRun = &v
68367	return s
68368}
68369
68370type DisassociateClientVpnTargetNetworkOutput struct {
68371	_ struct{} `type:"structure"`
68372
68373	// The ID of the target network association.
68374	AssociationId *string `locationName:"associationId" type:"string"`
68375
68376	// The current state of the target network association.
68377	Status *AssociationStatus `locationName:"status" type:"structure"`
68378}
68379
68380// String returns the string representation
68381func (s DisassociateClientVpnTargetNetworkOutput) String() string {
68382	return awsutil.Prettify(s)
68383}
68384
68385// GoString returns the string representation
68386func (s DisassociateClientVpnTargetNetworkOutput) GoString() string {
68387	return s.String()
68388}
68389
68390// SetAssociationId sets the AssociationId field's value.
68391func (s *DisassociateClientVpnTargetNetworkOutput) SetAssociationId(v string) *DisassociateClientVpnTargetNetworkOutput {
68392	s.AssociationId = &v
68393	return s
68394}
68395
68396// SetStatus sets the Status field's value.
68397func (s *DisassociateClientVpnTargetNetworkOutput) SetStatus(v *AssociationStatus) *DisassociateClientVpnTargetNetworkOutput {
68398	s.Status = v
68399	return s
68400}
68401
68402type DisassociateIamInstanceProfileInput struct {
68403	_ struct{} `type:"structure"`
68404
68405	// The ID of the IAM instance profile association.
68406	//
68407	// AssociationId is a required field
68408	AssociationId *string `type:"string" required:"true"`
68409}
68410
68411// String returns the string representation
68412func (s DisassociateIamInstanceProfileInput) String() string {
68413	return awsutil.Prettify(s)
68414}
68415
68416// GoString returns the string representation
68417func (s DisassociateIamInstanceProfileInput) GoString() string {
68418	return s.String()
68419}
68420
68421// Validate inspects the fields of the type to determine if they are valid.
68422func (s *DisassociateIamInstanceProfileInput) Validate() error {
68423	invalidParams := request.ErrInvalidParams{Context: "DisassociateIamInstanceProfileInput"}
68424	if s.AssociationId == nil {
68425		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
68426	}
68427
68428	if invalidParams.Len() > 0 {
68429		return invalidParams
68430	}
68431	return nil
68432}
68433
68434// SetAssociationId sets the AssociationId field's value.
68435func (s *DisassociateIamInstanceProfileInput) SetAssociationId(v string) *DisassociateIamInstanceProfileInput {
68436	s.AssociationId = &v
68437	return s
68438}
68439
68440type DisassociateIamInstanceProfileOutput struct {
68441	_ struct{} `type:"structure"`
68442
68443	// Information about the IAM instance profile association.
68444	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
68445}
68446
68447// String returns the string representation
68448func (s DisassociateIamInstanceProfileOutput) String() string {
68449	return awsutil.Prettify(s)
68450}
68451
68452// GoString returns the string representation
68453func (s DisassociateIamInstanceProfileOutput) GoString() string {
68454	return s.String()
68455}
68456
68457// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
68458func (s *DisassociateIamInstanceProfileOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *DisassociateIamInstanceProfileOutput {
68459	s.IamInstanceProfileAssociation = v
68460	return s
68461}
68462
68463type DisassociateRouteTableInput struct {
68464	_ struct{} `type:"structure"`
68465
68466	// The association ID representing the current association between the route
68467	// table and subnet.
68468	//
68469	// AssociationId is a required field
68470	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
68471
68472	// Checks whether you have the required permissions for the action, without
68473	// actually making the request, and provides an error response. If you have
68474	// the required permissions, the error response is DryRunOperation. Otherwise,
68475	// it is UnauthorizedOperation.
68476	DryRun *bool `locationName:"dryRun" type:"boolean"`
68477}
68478
68479// String returns the string representation
68480func (s DisassociateRouteTableInput) String() string {
68481	return awsutil.Prettify(s)
68482}
68483
68484// GoString returns the string representation
68485func (s DisassociateRouteTableInput) GoString() string {
68486	return s.String()
68487}
68488
68489// Validate inspects the fields of the type to determine if they are valid.
68490func (s *DisassociateRouteTableInput) Validate() error {
68491	invalidParams := request.ErrInvalidParams{Context: "DisassociateRouteTableInput"}
68492	if s.AssociationId == nil {
68493		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
68494	}
68495
68496	if invalidParams.Len() > 0 {
68497		return invalidParams
68498	}
68499	return nil
68500}
68501
68502// SetAssociationId sets the AssociationId field's value.
68503func (s *DisassociateRouteTableInput) SetAssociationId(v string) *DisassociateRouteTableInput {
68504	s.AssociationId = &v
68505	return s
68506}
68507
68508// SetDryRun sets the DryRun field's value.
68509func (s *DisassociateRouteTableInput) SetDryRun(v bool) *DisassociateRouteTableInput {
68510	s.DryRun = &v
68511	return s
68512}
68513
68514type DisassociateRouteTableOutput struct {
68515	_ struct{} `type:"structure"`
68516}
68517
68518// String returns the string representation
68519func (s DisassociateRouteTableOutput) String() string {
68520	return awsutil.Prettify(s)
68521}
68522
68523// GoString returns the string representation
68524func (s DisassociateRouteTableOutput) GoString() string {
68525	return s.String()
68526}
68527
68528type DisassociateSubnetCidrBlockInput struct {
68529	_ struct{} `type:"structure"`
68530
68531	// The association ID for the CIDR block.
68532	//
68533	// AssociationId is a required field
68534	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
68535}
68536
68537// String returns the string representation
68538func (s DisassociateSubnetCidrBlockInput) String() string {
68539	return awsutil.Prettify(s)
68540}
68541
68542// GoString returns the string representation
68543func (s DisassociateSubnetCidrBlockInput) GoString() string {
68544	return s.String()
68545}
68546
68547// Validate inspects the fields of the type to determine if they are valid.
68548func (s *DisassociateSubnetCidrBlockInput) Validate() error {
68549	invalidParams := request.ErrInvalidParams{Context: "DisassociateSubnetCidrBlockInput"}
68550	if s.AssociationId == nil {
68551		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
68552	}
68553
68554	if invalidParams.Len() > 0 {
68555		return invalidParams
68556	}
68557	return nil
68558}
68559
68560// SetAssociationId sets the AssociationId field's value.
68561func (s *DisassociateSubnetCidrBlockInput) SetAssociationId(v string) *DisassociateSubnetCidrBlockInput {
68562	s.AssociationId = &v
68563	return s
68564}
68565
68566type DisassociateSubnetCidrBlockOutput struct {
68567	_ struct{} `type:"structure"`
68568
68569	// Information about the IPv6 CIDR block association.
68570	Ipv6CidrBlockAssociation *SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
68571
68572	// The ID of the subnet.
68573	SubnetId *string `locationName:"subnetId" type:"string"`
68574}
68575
68576// String returns the string representation
68577func (s DisassociateSubnetCidrBlockOutput) String() string {
68578	return awsutil.Prettify(s)
68579}
68580
68581// GoString returns the string representation
68582func (s DisassociateSubnetCidrBlockOutput) GoString() string {
68583	return s.String()
68584}
68585
68586// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
68587func (s *DisassociateSubnetCidrBlockOutput) SetIpv6CidrBlockAssociation(v *SubnetIpv6CidrBlockAssociation) *DisassociateSubnetCidrBlockOutput {
68588	s.Ipv6CidrBlockAssociation = v
68589	return s
68590}
68591
68592// SetSubnetId sets the SubnetId field's value.
68593func (s *DisassociateSubnetCidrBlockOutput) SetSubnetId(v string) *DisassociateSubnetCidrBlockOutput {
68594	s.SubnetId = &v
68595	return s
68596}
68597
68598type DisassociateTransitGatewayMulticastDomainInput struct {
68599	_ struct{} `type:"structure"`
68600
68601	// Checks whether you have the required permissions for the action, without
68602	// actually making the request, and provides an error response. If you have
68603	// the required permissions, the error response is DryRunOperation. Otherwise,
68604	// it is UnauthorizedOperation.
68605	DryRun *bool `type:"boolean"`
68606
68607	// The IDs of the subnets;
68608	SubnetIds []*string `locationNameList:"item" type:"list"`
68609
68610	// The ID of the attachment.
68611	TransitGatewayAttachmentId *string `type:"string"`
68612
68613	// The ID of the transit gateway multicast domain.
68614	TransitGatewayMulticastDomainId *string `type:"string"`
68615}
68616
68617// String returns the string representation
68618func (s DisassociateTransitGatewayMulticastDomainInput) String() string {
68619	return awsutil.Prettify(s)
68620}
68621
68622// GoString returns the string representation
68623func (s DisassociateTransitGatewayMulticastDomainInput) GoString() string {
68624	return s.String()
68625}
68626
68627// SetDryRun sets the DryRun field's value.
68628func (s *DisassociateTransitGatewayMulticastDomainInput) SetDryRun(v bool) *DisassociateTransitGatewayMulticastDomainInput {
68629	s.DryRun = &v
68630	return s
68631}
68632
68633// SetSubnetIds sets the SubnetIds field's value.
68634func (s *DisassociateTransitGatewayMulticastDomainInput) SetSubnetIds(v []*string) *DisassociateTransitGatewayMulticastDomainInput {
68635	s.SubnetIds = v
68636	return s
68637}
68638
68639// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
68640func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayMulticastDomainInput {
68641	s.TransitGatewayAttachmentId = &v
68642	return s
68643}
68644
68645// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
68646func (s *DisassociateTransitGatewayMulticastDomainInput) SetTransitGatewayMulticastDomainId(v string) *DisassociateTransitGatewayMulticastDomainInput {
68647	s.TransitGatewayMulticastDomainId = &v
68648	return s
68649}
68650
68651type DisassociateTransitGatewayMulticastDomainOutput struct {
68652	_ struct{} `type:"structure"`
68653
68654	// Information about the association.
68655	Associations *TransitGatewayMulticastDomainAssociations `locationName:"associations" type:"structure"`
68656}
68657
68658// String returns the string representation
68659func (s DisassociateTransitGatewayMulticastDomainOutput) String() string {
68660	return awsutil.Prettify(s)
68661}
68662
68663// GoString returns the string representation
68664func (s DisassociateTransitGatewayMulticastDomainOutput) GoString() string {
68665	return s.String()
68666}
68667
68668// SetAssociations sets the Associations field's value.
68669func (s *DisassociateTransitGatewayMulticastDomainOutput) SetAssociations(v *TransitGatewayMulticastDomainAssociations) *DisassociateTransitGatewayMulticastDomainOutput {
68670	s.Associations = v
68671	return s
68672}
68673
68674type DisassociateTransitGatewayRouteTableInput struct {
68675	_ struct{} `type:"structure"`
68676
68677	// Checks whether you have the required permissions for the action, without
68678	// actually making the request, and provides an error response. If you have
68679	// the required permissions, the error response is DryRunOperation. Otherwise,
68680	// it is UnauthorizedOperation.
68681	DryRun *bool `type:"boolean"`
68682
68683	// The ID of the attachment.
68684	//
68685	// TransitGatewayAttachmentId is a required field
68686	TransitGatewayAttachmentId *string `type:"string" required:"true"`
68687
68688	// The ID of the transit gateway route table.
68689	//
68690	// TransitGatewayRouteTableId is a required field
68691	TransitGatewayRouteTableId *string `type:"string" required:"true"`
68692}
68693
68694// String returns the string representation
68695func (s DisassociateTransitGatewayRouteTableInput) String() string {
68696	return awsutil.Prettify(s)
68697}
68698
68699// GoString returns the string representation
68700func (s DisassociateTransitGatewayRouteTableInput) GoString() string {
68701	return s.String()
68702}
68703
68704// Validate inspects the fields of the type to determine if they are valid.
68705func (s *DisassociateTransitGatewayRouteTableInput) Validate() error {
68706	invalidParams := request.ErrInvalidParams{Context: "DisassociateTransitGatewayRouteTableInput"}
68707	if s.TransitGatewayAttachmentId == nil {
68708		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
68709	}
68710	if s.TransitGatewayRouteTableId == nil {
68711		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
68712	}
68713
68714	if invalidParams.Len() > 0 {
68715		return invalidParams
68716	}
68717	return nil
68718}
68719
68720// SetDryRun sets the DryRun field's value.
68721func (s *DisassociateTransitGatewayRouteTableInput) SetDryRun(v bool) *DisassociateTransitGatewayRouteTableInput {
68722	s.DryRun = &v
68723	return s
68724}
68725
68726// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
68727func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayAttachmentId(v string) *DisassociateTransitGatewayRouteTableInput {
68728	s.TransitGatewayAttachmentId = &v
68729	return s
68730}
68731
68732// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
68733func (s *DisassociateTransitGatewayRouteTableInput) SetTransitGatewayRouteTableId(v string) *DisassociateTransitGatewayRouteTableInput {
68734	s.TransitGatewayRouteTableId = &v
68735	return s
68736}
68737
68738type DisassociateTransitGatewayRouteTableOutput struct {
68739	_ struct{} `type:"structure"`
68740
68741	// Information about the association.
68742	Association *TransitGatewayAssociation `locationName:"association" type:"structure"`
68743}
68744
68745// String returns the string representation
68746func (s DisassociateTransitGatewayRouteTableOutput) String() string {
68747	return awsutil.Prettify(s)
68748}
68749
68750// GoString returns the string representation
68751func (s DisassociateTransitGatewayRouteTableOutput) GoString() string {
68752	return s.String()
68753}
68754
68755// SetAssociation sets the Association field's value.
68756func (s *DisassociateTransitGatewayRouteTableOutput) SetAssociation(v *TransitGatewayAssociation) *DisassociateTransitGatewayRouteTableOutput {
68757	s.Association = v
68758	return s
68759}
68760
68761type DisassociateVpcCidrBlockInput struct {
68762	_ struct{} `type:"structure"`
68763
68764	// The association ID for the CIDR block.
68765	//
68766	// AssociationId is a required field
68767	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
68768}
68769
68770// String returns the string representation
68771func (s DisassociateVpcCidrBlockInput) String() string {
68772	return awsutil.Prettify(s)
68773}
68774
68775// GoString returns the string representation
68776func (s DisassociateVpcCidrBlockInput) GoString() string {
68777	return s.String()
68778}
68779
68780// Validate inspects the fields of the type to determine if they are valid.
68781func (s *DisassociateVpcCidrBlockInput) Validate() error {
68782	invalidParams := request.ErrInvalidParams{Context: "DisassociateVpcCidrBlockInput"}
68783	if s.AssociationId == nil {
68784		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
68785	}
68786
68787	if invalidParams.Len() > 0 {
68788		return invalidParams
68789	}
68790	return nil
68791}
68792
68793// SetAssociationId sets the AssociationId field's value.
68794func (s *DisassociateVpcCidrBlockInput) SetAssociationId(v string) *DisassociateVpcCidrBlockInput {
68795	s.AssociationId = &v
68796	return s
68797}
68798
68799type DisassociateVpcCidrBlockOutput struct {
68800	_ struct{} `type:"structure"`
68801
68802	// Information about the IPv4 CIDR block association.
68803	CidrBlockAssociation *VpcCidrBlockAssociation `locationName:"cidrBlockAssociation" type:"structure"`
68804
68805	// Information about the IPv6 CIDR block association.
68806	Ipv6CidrBlockAssociation *VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociation" type:"structure"`
68807
68808	// The ID of the VPC.
68809	VpcId *string `locationName:"vpcId" type:"string"`
68810}
68811
68812// String returns the string representation
68813func (s DisassociateVpcCidrBlockOutput) String() string {
68814	return awsutil.Prettify(s)
68815}
68816
68817// GoString returns the string representation
68818func (s DisassociateVpcCidrBlockOutput) GoString() string {
68819	return s.String()
68820}
68821
68822// SetCidrBlockAssociation sets the CidrBlockAssociation field's value.
68823func (s *DisassociateVpcCidrBlockOutput) SetCidrBlockAssociation(v *VpcCidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
68824	s.CidrBlockAssociation = v
68825	return s
68826}
68827
68828// SetIpv6CidrBlockAssociation sets the Ipv6CidrBlockAssociation field's value.
68829func (s *DisassociateVpcCidrBlockOutput) SetIpv6CidrBlockAssociation(v *VpcIpv6CidrBlockAssociation) *DisassociateVpcCidrBlockOutput {
68830	s.Ipv6CidrBlockAssociation = v
68831	return s
68832}
68833
68834// SetVpcId sets the VpcId field's value.
68835func (s *DisassociateVpcCidrBlockOutput) SetVpcId(v string) *DisassociateVpcCidrBlockOutput {
68836	s.VpcId = &v
68837	return s
68838}
68839
68840// Describes a disk image.
68841type DiskImage struct {
68842	_ struct{} `type:"structure"`
68843
68844	// A description of the disk image.
68845	Description *string `type:"string"`
68846
68847	// Information about the disk image.
68848	Image *DiskImageDetail `type:"structure"`
68849
68850	// Information about the volume.
68851	Volume *VolumeDetail `type:"structure"`
68852}
68853
68854// String returns the string representation
68855func (s DiskImage) String() string {
68856	return awsutil.Prettify(s)
68857}
68858
68859// GoString returns the string representation
68860func (s DiskImage) GoString() string {
68861	return s.String()
68862}
68863
68864// Validate inspects the fields of the type to determine if they are valid.
68865func (s *DiskImage) Validate() error {
68866	invalidParams := request.ErrInvalidParams{Context: "DiskImage"}
68867	if s.Image != nil {
68868		if err := s.Image.Validate(); err != nil {
68869			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
68870		}
68871	}
68872	if s.Volume != nil {
68873		if err := s.Volume.Validate(); err != nil {
68874			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
68875		}
68876	}
68877
68878	if invalidParams.Len() > 0 {
68879		return invalidParams
68880	}
68881	return nil
68882}
68883
68884// SetDescription sets the Description field's value.
68885func (s *DiskImage) SetDescription(v string) *DiskImage {
68886	s.Description = &v
68887	return s
68888}
68889
68890// SetImage sets the Image field's value.
68891func (s *DiskImage) SetImage(v *DiskImageDetail) *DiskImage {
68892	s.Image = v
68893	return s
68894}
68895
68896// SetVolume sets the Volume field's value.
68897func (s *DiskImage) SetVolume(v *VolumeDetail) *DiskImage {
68898	s.Volume = v
68899	return s
68900}
68901
68902// Describes a disk image.
68903type DiskImageDescription struct {
68904	_ struct{} `type:"structure"`
68905
68906	// The checksum computed for the disk image.
68907	Checksum *string `locationName:"checksum" type:"string"`
68908
68909	// The disk image format.
68910	Format *string `locationName:"format" type:"string" enum:"DiskImageFormat"`
68911
68912	// A presigned URL for the import manifest stored in Amazon S3. For information
68913	// about creating a presigned URL for an Amazon S3 object, read the "Query String
68914	// Request Authentication Alternative" section of the Authenticating REST Requests
68915	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
68916	// topic in the Amazon Simple Storage Service Developer Guide.
68917	//
68918	// For information about the import manifest referenced by this API action,
68919	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
68920	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string"`
68921
68922	// The size of the disk image, in GiB.
68923	Size *int64 `locationName:"size" type:"long"`
68924}
68925
68926// String returns the string representation
68927func (s DiskImageDescription) String() string {
68928	return awsutil.Prettify(s)
68929}
68930
68931// GoString returns the string representation
68932func (s DiskImageDescription) GoString() string {
68933	return s.String()
68934}
68935
68936// SetChecksum sets the Checksum field's value.
68937func (s *DiskImageDescription) SetChecksum(v string) *DiskImageDescription {
68938	s.Checksum = &v
68939	return s
68940}
68941
68942// SetFormat sets the Format field's value.
68943func (s *DiskImageDescription) SetFormat(v string) *DiskImageDescription {
68944	s.Format = &v
68945	return s
68946}
68947
68948// SetImportManifestUrl sets the ImportManifestUrl field's value.
68949func (s *DiskImageDescription) SetImportManifestUrl(v string) *DiskImageDescription {
68950	s.ImportManifestUrl = &v
68951	return s
68952}
68953
68954// SetSize sets the Size field's value.
68955func (s *DiskImageDescription) SetSize(v int64) *DiskImageDescription {
68956	s.Size = &v
68957	return s
68958}
68959
68960// Describes a disk image.
68961type DiskImageDetail struct {
68962	_ struct{} `type:"structure"`
68963
68964	// The size of the disk image, in GiB.
68965	//
68966	// Bytes is a required field
68967	Bytes *int64 `locationName:"bytes" type:"long" required:"true"`
68968
68969	// The disk image format.
68970	//
68971	// Format is a required field
68972	Format *string `locationName:"format" type:"string" required:"true" enum:"DiskImageFormat"`
68973
68974	// A presigned URL for the import manifest stored in Amazon S3 and presented
68975	// here as an Amazon S3 presigned URL. For information about creating a presigned
68976	// URL for an Amazon S3 object, read the "Query String Request Authentication
68977	// Alternative" section of the Authenticating REST Requests (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
68978	// topic in the Amazon Simple Storage Service Developer Guide.
68979	//
68980	// For information about the import manifest referenced by this API action,
68981	// see VM Import Manifest (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/manifest.html).
68982	//
68983	// ImportManifestUrl is a required field
68984	ImportManifestUrl *string `locationName:"importManifestUrl" type:"string" required:"true"`
68985}
68986
68987// String returns the string representation
68988func (s DiskImageDetail) String() string {
68989	return awsutil.Prettify(s)
68990}
68991
68992// GoString returns the string representation
68993func (s DiskImageDetail) GoString() string {
68994	return s.String()
68995}
68996
68997// Validate inspects the fields of the type to determine if they are valid.
68998func (s *DiskImageDetail) Validate() error {
68999	invalidParams := request.ErrInvalidParams{Context: "DiskImageDetail"}
69000	if s.Bytes == nil {
69001		invalidParams.Add(request.NewErrParamRequired("Bytes"))
69002	}
69003	if s.Format == nil {
69004		invalidParams.Add(request.NewErrParamRequired("Format"))
69005	}
69006	if s.ImportManifestUrl == nil {
69007		invalidParams.Add(request.NewErrParamRequired("ImportManifestUrl"))
69008	}
69009
69010	if invalidParams.Len() > 0 {
69011		return invalidParams
69012	}
69013	return nil
69014}
69015
69016// SetBytes sets the Bytes field's value.
69017func (s *DiskImageDetail) SetBytes(v int64) *DiskImageDetail {
69018	s.Bytes = &v
69019	return s
69020}
69021
69022// SetFormat sets the Format field's value.
69023func (s *DiskImageDetail) SetFormat(v string) *DiskImageDetail {
69024	s.Format = &v
69025	return s
69026}
69027
69028// SetImportManifestUrl sets the ImportManifestUrl field's value.
69029func (s *DiskImageDetail) SetImportManifestUrl(v string) *DiskImageDetail {
69030	s.ImportManifestUrl = &v
69031	return s
69032}
69033
69034// Describes a disk image volume.
69035type DiskImageVolumeDescription struct {
69036	_ struct{} `type:"structure"`
69037
69038	// The volume identifier.
69039	Id *string `locationName:"id" type:"string"`
69040
69041	// The size of the volume, in GiB.
69042	Size *int64 `locationName:"size" type:"long"`
69043}
69044
69045// String returns the string representation
69046func (s DiskImageVolumeDescription) String() string {
69047	return awsutil.Prettify(s)
69048}
69049
69050// GoString returns the string representation
69051func (s DiskImageVolumeDescription) GoString() string {
69052	return s.String()
69053}
69054
69055// SetId sets the Id field's value.
69056func (s *DiskImageVolumeDescription) SetId(v string) *DiskImageVolumeDescription {
69057	s.Id = &v
69058	return s
69059}
69060
69061// SetSize sets the Size field's value.
69062func (s *DiskImageVolumeDescription) SetSize(v int64) *DiskImageVolumeDescription {
69063	s.Size = &v
69064	return s
69065}
69066
69067// Describes the disk.
69068type DiskInfo struct {
69069	_ struct{} `type:"structure"`
69070
69071	// The number of disks with this configuration.
69072	Count *int64 `locationName:"count" type:"integer"`
69073
69074	// The size of the disk in GB.
69075	SizeInGB *int64 `locationName:"sizeInGB" type:"long"`
69076
69077	// The type of disk.
69078	Type *string `locationName:"type" type:"string" enum:"DiskType"`
69079}
69080
69081// String returns the string representation
69082func (s DiskInfo) String() string {
69083	return awsutil.Prettify(s)
69084}
69085
69086// GoString returns the string representation
69087func (s DiskInfo) GoString() string {
69088	return s.String()
69089}
69090
69091// SetCount sets the Count field's value.
69092func (s *DiskInfo) SetCount(v int64) *DiskInfo {
69093	s.Count = &v
69094	return s
69095}
69096
69097// SetSizeInGB sets the SizeInGB field's value.
69098func (s *DiskInfo) SetSizeInGB(v int64) *DiskInfo {
69099	s.SizeInGB = &v
69100	return s
69101}
69102
69103// SetType sets the Type field's value.
69104func (s *DiskInfo) SetType(v string) *DiskInfo {
69105	s.Type = &v
69106	return s
69107}
69108
69109// Describes a DNS entry.
69110type DnsEntry struct {
69111	_ struct{} `type:"structure"`
69112
69113	// The DNS name.
69114	DnsName *string `locationName:"dnsName" type:"string"`
69115
69116	// The ID of the private hosted zone.
69117	HostedZoneId *string `locationName:"hostedZoneId" type:"string"`
69118}
69119
69120// String returns the string representation
69121func (s DnsEntry) String() string {
69122	return awsutil.Prettify(s)
69123}
69124
69125// GoString returns the string representation
69126func (s DnsEntry) GoString() string {
69127	return s.String()
69128}
69129
69130// SetDnsName sets the DnsName field's value.
69131func (s *DnsEntry) SetDnsName(v string) *DnsEntry {
69132	s.DnsName = &v
69133	return s
69134}
69135
69136// SetHostedZoneId sets the HostedZoneId field's value.
69137func (s *DnsEntry) SetHostedZoneId(v string) *DnsEntry {
69138	s.HostedZoneId = &v
69139	return s
69140}
69141
69142// Information about the DNS server to be used.
69143type DnsServersOptionsModifyStructure struct {
69144	_ struct{} `type:"structure"`
69145
69146	// The IPv4 address range, in CIDR notation, of the DNS servers to be used.
69147	// You can specify up to two DNS servers. Ensure that the DNS servers can be
69148	// reached by the clients. The specified values overwrite the existing values.
69149	CustomDnsServers []*string `locationNameList:"item" type:"list"`
69150
69151	// Indicates whether DNS servers should be used. Specify False to delete the
69152	// existing DNS servers.
69153	Enabled *bool `type:"boolean"`
69154}
69155
69156// String returns the string representation
69157func (s DnsServersOptionsModifyStructure) String() string {
69158	return awsutil.Prettify(s)
69159}
69160
69161// GoString returns the string representation
69162func (s DnsServersOptionsModifyStructure) GoString() string {
69163	return s.String()
69164}
69165
69166// SetCustomDnsServers sets the CustomDnsServers field's value.
69167func (s *DnsServersOptionsModifyStructure) SetCustomDnsServers(v []*string) *DnsServersOptionsModifyStructure {
69168	s.CustomDnsServers = v
69169	return s
69170}
69171
69172// SetEnabled sets the Enabled field's value.
69173func (s *DnsServersOptionsModifyStructure) SetEnabled(v bool) *DnsServersOptionsModifyStructure {
69174	s.Enabled = &v
69175	return s
69176}
69177
69178// Describes a block device for an EBS volume.
69179type EbsBlockDevice struct {
69180	_ struct{} `type:"structure"`
69181
69182	// Indicates whether the EBS volume is deleted on instance termination. For
69183	// more information, see Preserving Amazon EBS Volumes on Instance Termination
69184	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination)
69185	// in the Amazon Elastic Compute Cloud User Guide.
69186	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
69187
69188	// Indicates whether the encryption state of an EBS volume is changed while
69189	// being restored from a backing snapshot. The effect of setting the encryption
69190	// state to true depends on the volume origin (new or from a snapshot), starting
69191	// encryption state, ownership, and whether encryption by default is enabled.
69192	// For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters)
69193	// in the Amazon Elastic Compute Cloud User Guide.
69194	//
69195	// In no case can you remove encryption from an encrypted volume.
69196	//
69197	// Encrypted volumes can only be attached to instances that support Amazon EBS
69198	// encryption. For more information, see Supported Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances).
69199	Encrypted *bool `locationName:"encrypted" type:"boolean"`
69200
69201	// The number of I/O operations per second (IOPS) that the volume supports.
69202	// For io1 volumes, this represents the number of IOPS that are provisioned
69203	// for the volume. For gp2 volumes, this represents the baseline performance
69204	// of the volume and the rate at which the volume accumulates I/O credits for
69205	// bursting. For more information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
69206	// in the Amazon Elastic Compute Cloud User Guide.
69207	//
69208	// Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
69209	// for io1 volumes in most Regions. Maximum io1 IOPS of 64,000 is guaranteed
69210	// only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
69211	// Other instance families guarantee performance up to 32,000 IOPS. For more
69212	// information, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
69213	// in the Amazon Elastic Compute Cloud User Guide.
69214	//
69215	// Condition: This parameter is required for requests to create io1 volumes;
69216	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
69217	Iops *int64 `locationName:"iops" type:"integer"`
69218
69219	// Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed
69220	// CMK under which the EBS volume is encrypted.
69221	//
69222	// This parameter is only supported on BlockDeviceMapping objects called by
69223	// RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html),
69224	// RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html),
69225	// and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).
69226	KmsKeyId *string `type:"string"`
69227
69228	// The ID of the snapshot.
69229	SnapshotId *string `locationName:"snapshotId" type:"string"`
69230
69231	// The size of the volume, in GiB.
69232	//
69233	// Default: If you're creating the volume from a snapshot and don't specify
69234	// a volume size, the default is the snapshot size.
69235	//
69236	// Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned
69237	// IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for
69238	// Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify
69239	// a snapshot, the volume size must be equal to or larger than the snapshot
69240	// size.
69241	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
69242
69243	// The volume type. If you set the type to io1, you must also specify the Iops
69244	// parameter. If you set the type to gp2, st1, sc1, or standard, you must omit
69245	// the Iops parameter.
69246	//
69247	// Default: gp2
69248	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
69249}
69250
69251// String returns the string representation
69252func (s EbsBlockDevice) String() string {
69253	return awsutil.Prettify(s)
69254}
69255
69256// GoString returns the string representation
69257func (s EbsBlockDevice) GoString() string {
69258	return s.String()
69259}
69260
69261// SetDeleteOnTermination sets the DeleteOnTermination field's value.
69262func (s *EbsBlockDevice) SetDeleteOnTermination(v bool) *EbsBlockDevice {
69263	s.DeleteOnTermination = &v
69264	return s
69265}
69266
69267// SetEncrypted sets the Encrypted field's value.
69268func (s *EbsBlockDevice) SetEncrypted(v bool) *EbsBlockDevice {
69269	s.Encrypted = &v
69270	return s
69271}
69272
69273// SetIops sets the Iops field's value.
69274func (s *EbsBlockDevice) SetIops(v int64) *EbsBlockDevice {
69275	s.Iops = &v
69276	return s
69277}
69278
69279// SetKmsKeyId sets the KmsKeyId field's value.
69280func (s *EbsBlockDevice) SetKmsKeyId(v string) *EbsBlockDevice {
69281	s.KmsKeyId = &v
69282	return s
69283}
69284
69285// SetSnapshotId sets the SnapshotId field's value.
69286func (s *EbsBlockDevice) SetSnapshotId(v string) *EbsBlockDevice {
69287	s.SnapshotId = &v
69288	return s
69289}
69290
69291// SetVolumeSize sets the VolumeSize field's value.
69292func (s *EbsBlockDevice) SetVolumeSize(v int64) *EbsBlockDevice {
69293	s.VolumeSize = &v
69294	return s
69295}
69296
69297// SetVolumeType sets the VolumeType field's value.
69298func (s *EbsBlockDevice) SetVolumeType(v string) *EbsBlockDevice {
69299	s.VolumeType = &v
69300	return s
69301}
69302
69303// Describes the Amazon EBS features supported by the instance type.
69304type EbsInfo struct {
69305	_ struct{} `type:"structure"`
69306
69307	// Indicates that the instance type is Amazon EBS-optimized. For more information,
69308	// see Amazon EBS-Optimized Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html)
69309	// in Amazon EC2 User Guide for Linux Instances.
69310	EbsOptimizedSupport *string `locationName:"ebsOptimizedSupport" type:"string" enum:"EbsOptimizedSupport"`
69311
69312	// Indicates whether Amazon EBS encryption is supported.
69313	EncryptionSupport *string `locationName:"encryptionSupport" type:"string" enum:"EbsEncryptionSupport"`
69314}
69315
69316// String returns the string representation
69317func (s EbsInfo) String() string {
69318	return awsutil.Prettify(s)
69319}
69320
69321// GoString returns the string representation
69322func (s EbsInfo) GoString() string {
69323	return s.String()
69324}
69325
69326// SetEbsOptimizedSupport sets the EbsOptimizedSupport field's value.
69327func (s *EbsInfo) SetEbsOptimizedSupport(v string) *EbsInfo {
69328	s.EbsOptimizedSupport = &v
69329	return s
69330}
69331
69332// SetEncryptionSupport sets the EncryptionSupport field's value.
69333func (s *EbsInfo) SetEncryptionSupport(v string) *EbsInfo {
69334	s.EncryptionSupport = &v
69335	return s
69336}
69337
69338// Describes a parameter used to set up an EBS volume in a block device mapping.
69339type EbsInstanceBlockDevice struct {
69340	_ struct{} `type:"structure"`
69341
69342	// The time stamp when the attachment initiated.
69343	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
69344
69345	// Indicates whether the volume is deleted on instance termination.
69346	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
69347
69348	// The attachment state.
69349	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
69350
69351	// The ID of the EBS volume.
69352	VolumeId *string `locationName:"volumeId" type:"string"`
69353}
69354
69355// String returns the string representation
69356func (s EbsInstanceBlockDevice) String() string {
69357	return awsutil.Prettify(s)
69358}
69359
69360// GoString returns the string representation
69361func (s EbsInstanceBlockDevice) GoString() string {
69362	return s.String()
69363}
69364
69365// SetAttachTime sets the AttachTime field's value.
69366func (s *EbsInstanceBlockDevice) SetAttachTime(v time.Time) *EbsInstanceBlockDevice {
69367	s.AttachTime = &v
69368	return s
69369}
69370
69371// SetDeleteOnTermination sets the DeleteOnTermination field's value.
69372func (s *EbsInstanceBlockDevice) SetDeleteOnTermination(v bool) *EbsInstanceBlockDevice {
69373	s.DeleteOnTermination = &v
69374	return s
69375}
69376
69377// SetStatus sets the Status field's value.
69378func (s *EbsInstanceBlockDevice) SetStatus(v string) *EbsInstanceBlockDevice {
69379	s.Status = &v
69380	return s
69381}
69382
69383// SetVolumeId sets the VolumeId field's value.
69384func (s *EbsInstanceBlockDevice) SetVolumeId(v string) *EbsInstanceBlockDevice {
69385	s.VolumeId = &v
69386	return s
69387}
69388
69389// Describes information used to set up an EBS volume specified in a block device
69390// mapping.
69391type EbsInstanceBlockDeviceSpecification struct {
69392	_ struct{} `type:"structure"`
69393
69394	// Indicates whether the volume is deleted on instance termination.
69395	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
69396
69397	// The ID of the EBS volume.
69398	VolumeId *string `locationName:"volumeId" type:"string"`
69399}
69400
69401// String returns the string representation
69402func (s EbsInstanceBlockDeviceSpecification) String() string {
69403	return awsutil.Prettify(s)
69404}
69405
69406// GoString returns the string representation
69407func (s EbsInstanceBlockDeviceSpecification) GoString() string {
69408	return s.String()
69409}
69410
69411// SetDeleteOnTermination sets the DeleteOnTermination field's value.
69412func (s *EbsInstanceBlockDeviceSpecification) SetDeleteOnTermination(v bool) *EbsInstanceBlockDeviceSpecification {
69413	s.DeleteOnTermination = &v
69414	return s
69415}
69416
69417// SetVolumeId sets the VolumeId field's value.
69418func (s *EbsInstanceBlockDeviceSpecification) SetVolumeId(v string) *EbsInstanceBlockDeviceSpecification {
69419	s.VolumeId = &v
69420	return s
69421}
69422
69423// Describes an egress-only internet gateway.
69424type EgressOnlyInternetGateway struct {
69425	_ struct{} `type:"structure"`
69426
69427	// Information about the attachment of the egress-only internet gateway.
69428	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
69429
69430	// The ID of the egress-only internet gateway.
69431	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
69432}
69433
69434// String returns the string representation
69435func (s EgressOnlyInternetGateway) String() string {
69436	return awsutil.Prettify(s)
69437}
69438
69439// GoString returns the string representation
69440func (s EgressOnlyInternetGateway) GoString() string {
69441	return s.String()
69442}
69443
69444// SetAttachments sets the Attachments field's value.
69445func (s *EgressOnlyInternetGateway) SetAttachments(v []*InternetGatewayAttachment) *EgressOnlyInternetGateway {
69446	s.Attachments = v
69447	return s
69448}
69449
69450// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
69451func (s *EgressOnlyInternetGateway) SetEgressOnlyInternetGatewayId(v string) *EgressOnlyInternetGateway {
69452	s.EgressOnlyInternetGatewayId = &v
69453	return s
69454}
69455
69456// Describes the association between an instance and an Elastic Graphics accelerator.
69457type ElasticGpuAssociation struct {
69458	_ struct{} `type:"structure"`
69459
69460	// The ID of the association.
69461	ElasticGpuAssociationId *string `locationName:"elasticGpuAssociationId" type:"string"`
69462
69463	// The state of the association between the instance and the Elastic Graphics
69464	// accelerator.
69465	ElasticGpuAssociationState *string `locationName:"elasticGpuAssociationState" type:"string"`
69466
69467	// The time the Elastic Graphics accelerator was associated with the instance.
69468	ElasticGpuAssociationTime *string `locationName:"elasticGpuAssociationTime" type:"string"`
69469
69470	// The ID of the Elastic Graphics accelerator.
69471	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
69472}
69473
69474// String returns the string representation
69475func (s ElasticGpuAssociation) String() string {
69476	return awsutil.Prettify(s)
69477}
69478
69479// GoString returns the string representation
69480func (s ElasticGpuAssociation) GoString() string {
69481	return s.String()
69482}
69483
69484// SetElasticGpuAssociationId sets the ElasticGpuAssociationId field's value.
69485func (s *ElasticGpuAssociation) SetElasticGpuAssociationId(v string) *ElasticGpuAssociation {
69486	s.ElasticGpuAssociationId = &v
69487	return s
69488}
69489
69490// SetElasticGpuAssociationState sets the ElasticGpuAssociationState field's value.
69491func (s *ElasticGpuAssociation) SetElasticGpuAssociationState(v string) *ElasticGpuAssociation {
69492	s.ElasticGpuAssociationState = &v
69493	return s
69494}
69495
69496// SetElasticGpuAssociationTime sets the ElasticGpuAssociationTime field's value.
69497func (s *ElasticGpuAssociation) SetElasticGpuAssociationTime(v string) *ElasticGpuAssociation {
69498	s.ElasticGpuAssociationTime = &v
69499	return s
69500}
69501
69502// SetElasticGpuId sets the ElasticGpuId field's value.
69503func (s *ElasticGpuAssociation) SetElasticGpuId(v string) *ElasticGpuAssociation {
69504	s.ElasticGpuId = &v
69505	return s
69506}
69507
69508// Describes the status of an Elastic Graphics accelerator.
69509type ElasticGpuHealth struct {
69510	_ struct{} `type:"structure"`
69511
69512	// The health status.
69513	Status *string `locationName:"status" type:"string" enum:"ElasticGpuStatus"`
69514}
69515
69516// String returns the string representation
69517func (s ElasticGpuHealth) String() string {
69518	return awsutil.Prettify(s)
69519}
69520
69521// GoString returns the string representation
69522func (s ElasticGpuHealth) GoString() string {
69523	return s.String()
69524}
69525
69526// SetStatus sets the Status field's value.
69527func (s *ElasticGpuHealth) SetStatus(v string) *ElasticGpuHealth {
69528	s.Status = &v
69529	return s
69530}
69531
69532// A specification for an Elastic Graphics accelerator.
69533type ElasticGpuSpecification struct {
69534	_ struct{} `type:"structure"`
69535
69536	// The type of Elastic Graphics accelerator. For more information about the
69537	// values to specify for Type, see Elastic Graphics Basics (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html#elastic-graphics-basics),
69538	// specifically the Elastic Graphics accelerator column, in the Amazon Elastic
69539	// Compute Cloud User Guide for Windows Instances.
69540	//
69541	// Type is a required field
69542	Type *string `type:"string" required:"true"`
69543}
69544
69545// String returns the string representation
69546func (s ElasticGpuSpecification) String() string {
69547	return awsutil.Prettify(s)
69548}
69549
69550// GoString returns the string representation
69551func (s ElasticGpuSpecification) GoString() string {
69552	return s.String()
69553}
69554
69555// Validate inspects the fields of the type to determine if they are valid.
69556func (s *ElasticGpuSpecification) Validate() error {
69557	invalidParams := request.ErrInvalidParams{Context: "ElasticGpuSpecification"}
69558	if s.Type == nil {
69559		invalidParams.Add(request.NewErrParamRequired("Type"))
69560	}
69561
69562	if invalidParams.Len() > 0 {
69563		return invalidParams
69564	}
69565	return nil
69566}
69567
69568// SetType sets the Type field's value.
69569func (s *ElasticGpuSpecification) SetType(v string) *ElasticGpuSpecification {
69570	s.Type = &v
69571	return s
69572}
69573
69574// Describes an elastic GPU.
69575type ElasticGpuSpecificationResponse struct {
69576	_ struct{} `type:"structure"`
69577
69578	// The elastic GPU type.
69579	Type *string `locationName:"type" type:"string"`
69580}
69581
69582// String returns the string representation
69583func (s ElasticGpuSpecificationResponse) String() string {
69584	return awsutil.Prettify(s)
69585}
69586
69587// GoString returns the string representation
69588func (s ElasticGpuSpecificationResponse) GoString() string {
69589	return s.String()
69590}
69591
69592// SetType sets the Type field's value.
69593func (s *ElasticGpuSpecificationResponse) SetType(v string) *ElasticGpuSpecificationResponse {
69594	s.Type = &v
69595	return s
69596}
69597
69598// Describes an Elastic Graphics accelerator.
69599type ElasticGpus struct {
69600	_ struct{} `type:"structure"`
69601
69602	// The Availability Zone in the which the Elastic Graphics accelerator resides.
69603	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
69604
69605	// The status of the Elastic Graphics accelerator.
69606	ElasticGpuHealth *ElasticGpuHealth `locationName:"elasticGpuHealth" type:"structure"`
69607
69608	// The ID of the Elastic Graphics accelerator.
69609	ElasticGpuId *string `locationName:"elasticGpuId" type:"string"`
69610
69611	// The state of the Elastic Graphics accelerator.
69612	ElasticGpuState *string `locationName:"elasticGpuState" type:"string" enum:"ElasticGpuState"`
69613
69614	// The type of Elastic Graphics accelerator.
69615	ElasticGpuType *string `locationName:"elasticGpuType" type:"string"`
69616
69617	// The ID of the instance to which the Elastic Graphics accelerator is attached.
69618	InstanceId *string `locationName:"instanceId" type:"string"`
69619
69620	// The tags assigned to the Elastic Graphics accelerator.
69621	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
69622}
69623
69624// String returns the string representation
69625func (s ElasticGpus) String() string {
69626	return awsutil.Prettify(s)
69627}
69628
69629// GoString returns the string representation
69630func (s ElasticGpus) GoString() string {
69631	return s.String()
69632}
69633
69634// SetAvailabilityZone sets the AvailabilityZone field's value.
69635func (s *ElasticGpus) SetAvailabilityZone(v string) *ElasticGpus {
69636	s.AvailabilityZone = &v
69637	return s
69638}
69639
69640// SetElasticGpuHealth sets the ElasticGpuHealth field's value.
69641func (s *ElasticGpus) SetElasticGpuHealth(v *ElasticGpuHealth) *ElasticGpus {
69642	s.ElasticGpuHealth = v
69643	return s
69644}
69645
69646// SetElasticGpuId sets the ElasticGpuId field's value.
69647func (s *ElasticGpus) SetElasticGpuId(v string) *ElasticGpus {
69648	s.ElasticGpuId = &v
69649	return s
69650}
69651
69652// SetElasticGpuState sets the ElasticGpuState field's value.
69653func (s *ElasticGpus) SetElasticGpuState(v string) *ElasticGpus {
69654	s.ElasticGpuState = &v
69655	return s
69656}
69657
69658// SetElasticGpuType sets the ElasticGpuType field's value.
69659func (s *ElasticGpus) SetElasticGpuType(v string) *ElasticGpus {
69660	s.ElasticGpuType = &v
69661	return s
69662}
69663
69664// SetInstanceId sets the InstanceId field's value.
69665func (s *ElasticGpus) SetInstanceId(v string) *ElasticGpus {
69666	s.InstanceId = &v
69667	return s
69668}
69669
69670// SetTags sets the Tags field's value.
69671func (s *ElasticGpus) SetTags(v []*Tag) *ElasticGpus {
69672	s.Tags = v
69673	return s
69674}
69675
69676// Describes an elastic inference accelerator.
69677type ElasticInferenceAccelerator struct {
69678	_ struct{} `type:"structure"`
69679
69680	// The number of elastic inference accelerators to attach to the instance.
69681	//
69682	// Default: 1
69683	Count *int64 `min:"1" type:"integer"`
69684
69685	// The type of elastic inference accelerator. The possible values are eia1.medium,
69686	// eia1.large, and eia1.xlarge.
69687	//
69688	// Type is a required field
69689	Type *string `type:"string" required:"true"`
69690}
69691
69692// String returns the string representation
69693func (s ElasticInferenceAccelerator) String() string {
69694	return awsutil.Prettify(s)
69695}
69696
69697// GoString returns the string representation
69698func (s ElasticInferenceAccelerator) GoString() string {
69699	return s.String()
69700}
69701
69702// Validate inspects the fields of the type to determine if they are valid.
69703func (s *ElasticInferenceAccelerator) Validate() error {
69704	invalidParams := request.ErrInvalidParams{Context: "ElasticInferenceAccelerator"}
69705	if s.Count != nil && *s.Count < 1 {
69706		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
69707	}
69708	if s.Type == nil {
69709		invalidParams.Add(request.NewErrParamRequired("Type"))
69710	}
69711
69712	if invalidParams.Len() > 0 {
69713		return invalidParams
69714	}
69715	return nil
69716}
69717
69718// SetCount sets the Count field's value.
69719func (s *ElasticInferenceAccelerator) SetCount(v int64) *ElasticInferenceAccelerator {
69720	s.Count = &v
69721	return s
69722}
69723
69724// SetType sets the Type field's value.
69725func (s *ElasticInferenceAccelerator) SetType(v string) *ElasticInferenceAccelerator {
69726	s.Type = &v
69727	return s
69728}
69729
69730// Describes the association between an instance and an elastic inference accelerator.
69731type ElasticInferenceAcceleratorAssociation struct {
69732	_ struct{} `type:"structure"`
69733
69734	// The Amazon Resource Name (ARN) of the elastic inference accelerator.
69735	ElasticInferenceAcceleratorArn *string `locationName:"elasticInferenceAcceleratorArn" type:"string"`
69736
69737	// The ID of the association.
69738	ElasticInferenceAcceleratorAssociationId *string `locationName:"elasticInferenceAcceleratorAssociationId" type:"string"`
69739
69740	// The state of the elastic inference accelerator.
69741	ElasticInferenceAcceleratorAssociationState *string `locationName:"elasticInferenceAcceleratorAssociationState" type:"string"`
69742
69743	// The time at which the elastic inference accelerator is associated with an
69744	// instance.
69745	ElasticInferenceAcceleratorAssociationTime *time.Time `locationName:"elasticInferenceAcceleratorAssociationTime" type:"timestamp"`
69746}
69747
69748// String returns the string representation
69749func (s ElasticInferenceAcceleratorAssociation) String() string {
69750	return awsutil.Prettify(s)
69751}
69752
69753// GoString returns the string representation
69754func (s ElasticInferenceAcceleratorAssociation) GoString() string {
69755	return s.String()
69756}
69757
69758// SetElasticInferenceAcceleratorArn sets the ElasticInferenceAcceleratorArn field's value.
69759func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorArn(v string) *ElasticInferenceAcceleratorAssociation {
69760	s.ElasticInferenceAcceleratorArn = &v
69761	return s
69762}
69763
69764// SetElasticInferenceAcceleratorAssociationId sets the ElasticInferenceAcceleratorAssociationId field's value.
69765func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationId(v string) *ElasticInferenceAcceleratorAssociation {
69766	s.ElasticInferenceAcceleratorAssociationId = &v
69767	return s
69768}
69769
69770// SetElasticInferenceAcceleratorAssociationState sets the ElasticInferenceAcceleratorAssociationState field's value.
69771func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationState(v string) *ElasticInferenceAcceleratorAssociation {
69772	s.ElasticInferenceAcceleratorAssociationState = &v
69773	return s
69774}
69775
69776// SetElasticInferenceAcceleratorAssociationTime sets the ElasticInferenceAcceleratorAssociationTime field's value.
69777func (s *ElasticInferenceAcceleratorAssociation) SetElasticInferenceAcceleratorAssociationTime(v time.Time) *ElasticInferenceAcceleratorAssociation {
69778	s.ElasticInferenceAcceleratorAssociationTime = &v
69779	return s
69780}
69781
69782type EnableEbsEncryptionByDefaultInput struct {
69783	_ struct{} `type:"structure"`
69784
69785	// Checks whether you have the required permissions for the action, without
69786	// actually making the request, and provides an error response. If you have
69787	// the required permissions, the error response is DryRunOperation. Otherwise,
69788	// it is UnauthorizedOperation.
69789	DryRun *bool `type:"boolean"`
69790}
69791
69792// String returns the string representation
69793func (s EnableEbsEncryptionByDefaultInput) String() string {
69794	return awsutil.Prettify(s)
69795}
69796
69797// GoString returns the string representation
69798func (s EnableEbsEncryptionByDefaultInput) GoString() string {
69799	return s.String()
69800}
69801
69802// SetDryRun sets the DryRun field's value.
69803func (s *EnableEbsEncryptionByDefaultInput) SetDryRun(v bool) *EnableEbsEncryptionByDefaultInput {
69804	s.DryRun = &v
69805	return s
69806}
69807
69808type EnableEbsEncryptionByDefaultOutput struct {
69809	_ struct{} `type:"structure"`
69810
69811	// The updated status of encryption by default.
69812	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
69813}
69814
69815// String returns the string representation
69816func (s EnableEbsEncryptionByDefaultOutput) String() string {
69817	return awsutil.Prettify(s)
69818}
69819
69820// GoString returns the string representation
69821func (s EnableEbsEncryptionByDefaultOutput) GoString() string {
69822	return s.String()
69823}
69824
69825// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
69826func (s *EnableEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *EnableEbsEncryptionByDefaultOutput {
69827	s.EbsEncryptionByDefault = &v
69828	return s
69829}
69830
69831// Contains information about the errors that occurred when enabling fast snapshot
69832// restores.
69833type EnableFastSnapshotRestoreErrorItem struct {
69834	_ struct{} `type:"structure"`
69835
69836	// The errors.
69837	FastSnapshotRestoreStateErrors []*EnableFastSnapshotRestoreStateErrorItem `locationName:"fastSnapshotRestoreStateErrorSet" locationNameList:"item" type:"list"`
69838
69839	// The ID of the snapshot.
69840	SnapshotId *string `locationName:"snapshotId" type:"string"`
69841}
69842
69843// String returns the string representation
69844func (s EnableFastSnapshotRestoreErrorItem) String() string {
69845	return awsutil.Prettify(s)
69846}
69847
69848// GoString returns the string representation
69849func (s EnableFastSnapshotRestoreErrorItem) GoString() string {
69850	return s.String()
69851}
69852
69853// SetFastSnapshotRestoreStateErrors sets the FastSnapshotRestoreStateErrors field's value.
69854func (s *EnableFastSnapshotRestoreErrorItem) SetFastSnapshotRestoreStateErrors(v []*EnableFastSnapshotRestoreStateErrorItem) *EnableFastSnapshotRestoreErrorItem {
69855	s.FastSnapshotRestoreStateErrors = v
69856	return s
69857}
69858
69859// SetSnapshotId sets the SnapshotId field's value.
69860func (s *EnableFastSnapshotRestoreErrorItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreErrorItem {
69861	s.SnapshotId = &v
69862	return s
69863}
69864
69865// Describes an error that occurred when enabling fast snapshot restores.
69866type EnableFastSnapshotRestoreStateError struct {
69867	_ struct{} `type:"structure"`
69868
69869	// The error code.
69870	Code *string `locationName:"code" type:"string"`
69871
69872	// The error message.
69873	Message *string `locationName:"message" type:"string"`
69874}
69875
69876// String returns the string representation
69877func (s EnableFastSnapshotRestoreStateError) String() string {
69878	return awsutil.Prettify(s)
69879}
69880
69881// GoString returns the string representation
69882func (s EnableFastSnapshotRestoreStateError) GoString() string {
69883	return s.String()
69884}
69885
69886// SetCode sets the Code field's value.
69887func (s *EnableFastSnapshotRestoreStateError) SetCode(v string) *EnableFastSnapshotRestoreStateError {
69888	s.Code = &v
69889	return s
69890}
69891
69892// SetMessage sets the Message field's value.
69893func (s *EnableFastSnapshotRestoreStateError) SetMessage(v string) *EnableFastSnapshotRestoreStateError {
69894	s.Message = &v
69895	return s
69896}
69897
69898// Contains information about an error that occurred when enabling fast snapshot
69899// restores.
69900type EnableFastSnapshotRestoreStateErrorItem struct {
69901	_ struct{} `type:"structure"`
69902
69903	// The Availability Zone.
69904	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
69905
69906	// The error.
69907	Error *EnableFastSnapshotRestoreStateError `locationName:"error" type:"structure"`
69908}
69909
69910// String returns the string representation
69911func (s EnableFastSnapshotRestoreStateErrorItem) String() string {
69912	return awsutil.Prettify(s)
69913}
69914
69915// GoString returns the string representation
69916func (s EnableFastSnapshotRestoreStateErrorItem) GoString() string {
69917	return s.String()
69918}
69919
69920// SetAvailabilityZone sets the AvailabilityZone field's value.
69921func (s *EnableFastSnapshotRestoreStateErrorItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreStateErrorItem {
69922	s.AvailabilityZone = &v
69923	return s
69924}
69925
69926// SetError sets the Error field's value.
69927func (s *EnableFastSnapshotRestoreStateErrorItem) SetError(v *EnableFastSnapshotRestoreStateError) *EnableFastSnapshotRestoreStateErrorItem {
69928	s.Error = v
69929	return s
69930}
69931
69932// Describes fast snapshot restores that were successfully enabled.
69933type EnableFastSnapshotRestoreSuccessItem struct {
69934	_ struct{} `type:"structure"`
69935
69936	// The Availability Zone.
69937	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
69938
69939	// The time at which fast snapshot restores entered the disabled state.
69940	DisabledTime *time.Time `locationName:"disabledTime" type:"timestamp"`
69941
69942	// The time at which fast snapshot restores entered the disabling state.
69943	DisablingTime *time.Time `locationName:"disablingTime" type:"timestamp"`
69944
69945	// The time at which fast snapshot restores entered the enabled state.
69946	EnabledTime *time.Time `locationName:"enabledTime" type:"timestamp"`
69947
69948	// The time at which fast snapshot restores entered the enabling state.
69949	EnablingTime *time.Time `locationName:"enablingTime" type:"timestamp"`
69950
69951	// The time at which fast snapshot restores entered the optimizing state.
69952	OptimizingTime *time.Time `locationName:"optimizingTime" type:"timestamp"`
69953
69954	// The alias of the snapshot owner.
69955	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
69956
69957	// The ID of the AWS account that owns the snapshot.
69958	OwnerId *string `locationName:"ownerId" type:"string"`
69959
69960	// The ID of the snapshot.
69961	SnapshotId *string `locationName:"snapshotId" type:"string"`
69962
69963	// The state of fast snapshot restores.
69964	State *string `locationName:"state" type:"string" enum:"FastSnapshotRestoreStateCode"`
69965
69966	// The reason for the state transition. The possible values are as follows:
69967	//
69968	//    * Client.UserInitiated - The state successfully transitioned to enabling
69969	//    or disabling.
69970	//
69971	//    * Client.UserInitiated - Lifecycle state transition - The state successfully
69972	//    transitioned to optimizing, enabled, or disabled.
69973	StateTransitionReason *string `locationName:"stateTransitionReason" type:"string"`
69974}
69975
69976// String returns the string representation
69977func (s EnableFastSnapshotRestoreSuccessItem) String() string {
69978	return awsutil.Prettify(s)
69979}
69980
69981// GoString returns the string representation
69982func (s EnableFastSnapshotRestoreSuccessItem) GoString() string {
69983	return s.String()
69984}
69985
69986// SetAvailabilityZone sets the AvailabilityZone field's value.
69987func (s *EnableFastSnapshotRestoreSuccessItem) SetAvailabilityZone(v string) *EnableFastSnapshotRestoreSuccessItem {
69988	s.AvailabilityZone = &v
69989	return s
69990}
69991
69992// SetDisabledTime sets the DisabledTime field's value.
69993func (s *EnableFastSnapshotRestoreSuccessItem) SetDisabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
69994	s.DisabledTime = &v
69995	return s
69996}
69997
69998// SetDisablingTime sets the DisablingTime field's value.
69999func (s *EnableFastSnapshotRestoreSuccessItem) SetDisablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
70000	s.DisablingTime = &v
70001	return s
70002}
70003
70004// SetEnabledTime sets the EnabledTime field's value.
70005func (s *EnableFastSnapshotRestoreSuccessItem) SetEnabledTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
70006	s.EnabledTime = &v
70007	return s
70008}
70009
70010// SetEnablingTime sets the EnablingTime field's value.
70011func (s *EnableFastSnapshotRestoreSuccessItem) SetEnablingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
70012	s.EnablingTime = &v
70013	return s
70014}
70015
70016// SetOptimizingTime sets the OptimizingTime field's value.
70017func (s *EnableFastSnapshotRestoreSuccessItem) SetOptimizingTime(v time.Time) *EnableFastSnapshotRestoreSuccessItem {
70018	s.OptimizingTime = &v
70019	return s
70020}
70021
70022// SetOwnerAlias sets the OwnerAlias field's value.
70023func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerAlias(v string) *EnableFastSnapshotRestoreSuccessItem {
70024	s.OwnerAlias = &v
70025	return s
70026}
70027
70028// SetOwnerId sets the OwnerId field's value.
70029func (s *EnableFastSnapshotRestoreSuccessItem) SetOwnerId(v string) *EnableFastSnapshotRestoreSuccessItem {
70030	s.OwnerId = &v
70031	return s
70032}
70033
70034// SetSnapshotId sets the SnapshotId field's value.
70035func (s *EnableFastSnapshotRestoreSuccessItem) SetSnapshotId(v string) *EnableFastSnapshotRestoreSuccessItem {
70036	s.SnapshotId = &v
70037	return s
70038}
70039
70040// SetState sets the State field's value.
70041func (s *EnableFastSnapshotRestoreSuccessItem) SetState(v string) *EnableFastSnapshotRestoreSuccessItem {
70042	s.State = &v
70043	return s
70044}
70045
70046// SetStateTransitionReason sets the StateTransitionReason field's value.
70047func (s *EnableFastSnapshotRestoreSuccessItem) SetStateTransitionReason(v string) *EnableFastSnapshotRestoreSuccessItem {
70048	s.StateTransitionReason = &v
70049	return s
70050}
70051
70052type EnableFastSnapshotRestoresInput struct {
70053	_ struct{} `type:"structure"`
70054
70055	// One or more Availability Zones. For example, us-east-2a.
70056	//
70057	// AvailabilityZones is a required field
70058	AvailabilityZones []*string `locationName:"AvailabilityZone" locationNameList:"AvailabilityZone" type:"list" required:"true"`
70059
70060	// Checks whether you have the required permissions for the action, without
70061	// actually making the request, and provides an error response. If you have
70062	// the required permissions, the error response is DryRunOperation. Otherwise,
70063	// it is UnauthorizedOperation.
70064	DryRun *bool `type:"boolean"`
70065
70066	// The IDs of one or more snapshots. For example, snap-1234567890abcdef0. You
70067	// can specify a snapshot that was shared with you from another AWS account.
70068	//
70069	// SourceSnapshotIds is a required field
70070	SourceSnapshotIds []*string `locationName:"SourceSnapshotId" locationNameList:"SnapshotId" type:"list" required:"true"`
70071}
70072
70073// String returns the string representation
70074func (s EnableFastSnapshotRestoresInput) String() string {
70075	return awsutil.Prettify(s)
70076}
70077
70078// GoString returns the string representation
70079func (s EnableFastSnapshotRestoresInput) GoString() string {
70080	return s.String()
70081}
70082
70083// Validate inspects the fields of the type to determine if they are valid.
70084func (s *EnableFastSnapshotRestoresInput) Validate() error {
70085	invalidParams := request.ErrInvalidParams{Context: "EnableFastSnapshotRestoresInput"}
70086	if s.AvailabilityZones == nil {
70087		invalidParams.Add(request.NewErrParamRequired("AvailabilityZones"))
70088	}
70089	if s.SourceSnapshotIds == nil {
70090		invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIds"))
70091	}
70092
70093	if invalidParams.Len() > 0 {
70094		return invalidParams
70095	}
70096	return nil
70097}
70098
70099// SetAvailabilityZones sets the AvailabilityZones field's value.
70100func (s *EnableFastSnapshotRestoresInput) SetAvailabilityZones(v []*string) *EnableFastSnapshotRestoresInput {
70101	s.AvailabilityZones = v
70102	return s
70103}
70104
70105// SetDryRun sets the DryRun field's value.
70106func (s *EnableFastSnapshotRestoresInput) SetDryRun(v bool) *EnableFastSnapshotRestoresInput {
70107	s.DryRun = &v
70108	return s
70109}
70110
70111// SetSourceSnapshotIds sets the SourceSnapshotIds field's value.
70112func (s *EnableFastSnapshotRestoresInput) SetSourceSnapshotIds(v []*string) *EnableFastSnapshotRestoresInput {
70113	s.SourceSnapshotIds = v
70114	return s
70115}
70116
70117type EnableFastSnapshotRestoresOutput struct {
70118	_ struct{} `type:"structure"`
70119
70120	// Information about the snapshots for which fast snapshot restores were successfully
70121	// enabled.
70122	Successful []*EnableFastSnapshotRestoreSuccessItem `locationName:"successful" locationNameList:"item" type:"list"`
70123
70124	// Information about the snapshots for which fast snapshot restores could not
70125	// be enabled.
70126	Unsuccessful []*EnableFastSnapshotRestoreErrorItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
70127}
70128
70129// String returns the string representation
70130func (s EnableFastSnapshotRestoresOutput) String() string {
70131	return awsutil.Prettify(s)
70132}
70133
70134// GoString returns the string representation
70135func (s EnableFastSnapshotRestoresOutput) GoString() string {
70136	return s.String()
70137}
70138
70139// SetSuccessful sets the Successful field's value.
70140func (s *EnableFastSnapshotRestoresOutput) SetSuccessful(v []*EnableFastSnapshotRestoreSuccessItem) *EnableFastSnapshotRestoresOutput {
70141	s.Successful = v
70142	return s
70143}
70144
70145// SetUnsuccessful sets the Unsuccessful field's value.
70146func (s *EnableFastSnapshotRestoresOutput) SetUnsuccessful(v []*EnableFastSnapshotRestoreErrorItem) *EnableFastSnapshotRestoresOutput {
70147	s.Unsuccessful = v
70148	return s
70149}
70150
70151type EnableTransitGatewayRouteTablePropagationInput struct {
70152	_ struct{} `type:"structure"`
70153
70154	// Checks whether you have the required permissions for the action, without
70155	// actually making the request, and provides an error response. If you have
70156	// the required permissions, the error response is DryRunOperation. Otherwise,
70157	// it is UnauthorizedOperation.
70158	DryRun *bool `type:"boolean"`
70159
70160	// The ID of the attachment.
70161	//
70162	// TransitGatewayAttachmentId is a required field
70163	TransitGatewayAttachmentId *string `type:"string" required:"true"`
70164
70165	// The ID of the propagation route table.
70166	//
70167	// TransitGatewayRouteTableId is a required field
70168	TransitGatewayRouteTableId *string `type:"string" required:"true"`
70169}
70170
70171// String returns the string representation
70172func (s EnableTransitGatewayRouteTablePropagationInput) String() string {
70173	return awsutil.Prettify(s)
70174}
70175
70176// GoString returns the string representation
70177func (s EnableTransitGatewayRouteTablePropagationInput) GoString() string {
70178	return s.String()
70179}
70180
70181// Validate inspects the fields of the type to determine if they are valid.
70182func (s *EnableTransitGatewayRouteTablePropagationInput) Validate() error {
70183	invalidParams := request.ErrInvalidParams{Context: "EnableTransitGatewayRouteTablePropagationInput"}
70184	if s.TransitGatewayAttachmentId == nil {
70185		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
70186	}
70187	if s.TransitGatewayRouteTableId == nil {
70188		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
70189	}
70190
70191	if invalidParams.Len() > 0 {
70192		return invalidParams
70193	}
70194	return nil
70195}
70196
70197// SetDryRun sets the DryRun field's value.
70198func (s *EnableTransitGatewayRouteTablePropagationInput) SetDryRun(v bool) *EnableTransitGatewayRouteTablePropagationInput {
70199	s.DryRun = &v
70200	return s
70201}
70202
70203// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
70204func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayAttachmentId(v string) *EnableTransitGatewayRouteTablePropagationInput {
70205	s.TransitGatewayAttachmentId = &v
70206	return s
70207}
70208
70209// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
70210func (s *EnableTransitGatewayRouteTablePropagationInput) SetTransitGatewayRouteTableId(v string) *EnableTransitGatewayRouteTablePropagationInput {
70211	s.TransitGatewayRouteTableId = &v
70212	return s
70213}
70214
70215type EnableTransitGatewayRouteTablePropagationOutput struct {
70216	_ struct{} `type:"structure"`
70217
70218	// Information about route propagation.
70219	Propagation *TransitGatewayPropagation `locationName:"propagation" type:"structure"`
70220}
70221
70222// String returns the string representation
70223func (s EnableTransitGatewayRouteTablePropagationOutput) String() string {
70224	return awsutil.Prettify(s)
70225}
70226
70227// GoString returns the string representation
70228func (s EnableTransitGatewayRouteTablePropagationOutput) GoString() string {
70229	return s.String()
70230}
70231
70232// SetPropagation sets the Propagation field's value.
70233func (s *EnableTransitGatewayRouteTablePropagationOutput) SetPropagation(v *TransitGatewayPropagation) *EnableTransitGatewayRouteTablePropagationOutput {
70234	s.Propagation = v
70235	return s
70236}
70237
70238// Contains the parameters for EnableVgwRoutePropagation.
70239type EnableVgwRoutePropagationInput struct {
70240	_ struct{} `type:"structure"`
70241
70242	// The ID of the virtual private gateway that is attached to a VPC. The virtual
70243	// private gateway must be attached to the same VPC that the routing tables
70244	// are associated with.
70245	//
70246	// GatewayId is a required field
70247	GatewayId *string `type:"string" required:"true"`
70248
70249	// The ID of the route table. The routing table must be associated with the
70250	// same VPC that the virtual private gateway is attached to.
70251	//
70252	// RouteTableId is a required field
70253	RouteTableId *string `type:"string" required:"true"`
70254}
70255
70256// String returns the string representation
70257func (s EnableVgwRoutePropagationInput) String() string {
70258	return awsutil.Prettify(s)
70259}
70260
70261// GoString returns the string representation
70262func (s EnableVgwRoutePropagationInput) GoString() string {
70263	return s.String()
70264}
70265
70266// Validate inspects the fields of the type to determine if they are valid.
70267func (s *EnableVgwRoutePropagationInput) Validate() error {
70268	invalidParams := request.ErrInvalidParams{Context: "EnableVgwRoutePropagationInput"}
70269	if s.GatewayId == nil {
70270		invalidParams.Add(request.NewErrParamRequired("GatewayId"))
70271	}
70272	if s.RouteTableId == nil {
70273		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
70274	}
70275
70276	if invalidParams.Len() > 0 {
70277		return invalidParams
70278	}
70279	return nil
70280}
70281
70282// SetGatewayId sets the GatewayId field's value.
70283func (s *EnableVgwRoutePropagationInput) SetGatewayId(v string) *EnableVgwRoutePropagationInput {
70284	s.GatewayId = &v
70285	return s
70286}
70287
70288// SetRouteTableId sets the RouteTableId field's value.
70289func (s *EnableVgwRoutePropagationInput) SetRouteTableId(v string) *EnableVgwRoutePropagationInput {
70290	s.RouteTableId = &v
70291	return s
70292}
70293
70294type EnableVgwRoutePropagationOutput struct {
70295	_ struct{} `type:"structure"`
70296}
70297
70298// String returns the string representation
70299func (s EnableVgwRoutePropagationOutput) String() string {
70300	return awsutil.Prettify(s)
70301}
70302
70303// GoString returns the string representation
70304func (s EnableVgwRoutePropagationOutput) GoString() string {
70305	return s.String()
70306}
70307
70308type EnableVolumeIOInput struct {
70309	_ struct{} `type:"structure"`
70310
70311	// Checks whether you have the required permissions for the action, without
70312	// actually making the request, and provides an error response. If you have
70313	// the required permissions, the error response is DryRunOperation. Otherwise,
70314	// it is UnauthorizedOperation.
70315	DryRun *bool `locationName:"dryRun" type:"boolean"`
70316
70317	// The ID of the volume.
70318	//
70319	// VolumeId is a required field
70320	VolumeId *string `locationName:"volumeId" type:"string" required:"true"`
70321}
70322
70323// String returns the string representation
70324func (s EnableVolumeIOInput) String() string {
70325	return awsutil.Prettify(s)
70326}
70327
70328// GoString returns the string representation
70329func (s EnableVolumeIOInput) GoString() string {
70330	return s.String()
70331}
70332
70333// Validate inspects the fields of the type to determine if they are valid.
70334func (s *EnableVolumeIOInput) Validate() error {
70335	invalidParams := request.ErrInvalidParams{Context: "EnableVolumeIOInput"}
70336	if s.VolumeId == nil {
70337		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
70338	}
70339
70340	if invalidParams.Len() > 0 {
70341		return invalidParams
70342	}
70343	return nil
70344}
70345
70346// SetDryRun sets the DryRun field's value.
70347func (s *EnableVolumeIOInput) SetDryRun(v bool) *EnableVolumeIOInput {
70348	s.DryRun = &v
70349	return s
70350}
70351
70352// SetVolumeId sets the VolumeId field's value.
70353func (s *EnableVolumeIOInput) SetVolumeId(v string) *EnableVolumeIOInput {
70354	s.VolumeId = &v
70355	return s
70356}
70357
70358type EnableVolumeIOOutput struct {
70359	_ struct{} `type:"structure"`
70360}
70361
70362// String returns the string representation
70363func (s EnableVolumeIOOutput) String() string {
70364	return awsutil.Prettify(s)
70365}
70366
70367// GoString returns the string representation
70368func (s EnableVolumeIOOutput) GoString() string {
70369	return s.String()
70370}
70371
70372type EnableVpcClassicLinkDnsSupportInput struct {
70373	_ struct{} `type:"structure"`
70374
70375	// The ID of the VPC.
70376	VpcId *string `type:"string"`
70377}
70378
70379// String returns the string representation
70380func (s EnableVpcClassicLinkDnsSupportInput) String() string {
70381	return awsutil.Prettify(s)
70382}
70383
70384// GoString returns the string representation
70385func (s EnableVpcClassicLinkDnsSupportInput) GoString() string {
70386	return s.String()
70387}
70388
70389// SetVpcId sets the VpcId field's value.
70390func (s *EnableVpcClassicLinkDnsSupportInput) SetVpcId(v string) *EnableVpcClassicLinkDnsSupportInput {
70391	s.VpcId = &v
70392	return s
70393}
70394
70395type EnableVpcClassicLinkDnsSupportOutput struct {
70396	_ struct{} `type:"structure"`
70397
70398	// Returns true if the request succeeds; otherwise, it returns an error.
70399	Return *bool `locationName:"return" type:"boolean"`
70400}
70401
70402// String returns the string representation
70403func (s EnableVpcClassicLinkDnsSupportOutput) String() string {
70404	return awsutil.Prettify(s)
70405}
70406
70407// GoString returns the string representation
70408func (s EnableVpcClassicLinkDnsSupportOutput) GoString() string {
70409	return s.String()
70410}
70411
70412// SetReturn sets the Return field's value.
70413func (s *EnableVpcClassicLinkDnsSupportOutput) SetReturn(v bool) *EnableVpcClassicLinkDnsSupportOutput {
70414	s.Return = &v
70415	return s
70416}
70417
70418type EnableVpcClassicLinkInput struct {
70419	_ struct{} `type:"structure"`
70420
70421	// Checks whether you have the required permissions for the action, without
70422	// actually making the request, and provides an error response. If you have
70423	// the required permissions, the error response is DryRunOperation. Otherwise,
70424	// it is UnauthorizedOperation.
70425	DryRun *bool `locationName:"dryRun" type:"boolean"`
70426
70427	// The ID of the VPC.
70428	//
70429	// VpcId is a required field
70430	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
70431}
70432
70433// String returns the string representation
70434func (s EnableVpcClassicLinkInput) String() string {
70435	return awsutil.Prettify(s)
70436}
70437
70438// GoString returns the string representation
70439func (s EnableVpcClassicLinkInput) GoString() string {
70440	return s.String()
70441}
70442
70443// Validate inspects the fields of the type to determine if they are valid.
70444func (s *EnableVpcClassicLinkInput) Validate() error {
70445	invalidParams := request.ErrInvalidParams{Context: "EnableVpcClassicLinkInput"}
70446	if s.VpcId == nil {
70447		invalidParams.Add(request.NewErrParamRequired("VpcId"))
70448	}
70449
70450	if invalidParams.Len() > 0 {
70451		return invalidParams
70452	}
70453	return nil
70454}
70455
70456// SetDryRun sets the DryRun field's value.
70457func (s *EnableVpcClassicLinkInput) SetDryRun(v bool) *EnableVpcClassicLinkInput {
70458	s.DryRun = &v
70459	return s
70460}
70461
70462// SetVpcId sets the VpcId field's value.
70463func (s *EnableVpcClassicLinkInput) SetVpcId(v string) *EnableVpcClassicLinkInput {
70464	s.VpcId = &v
70465	return s
70466}
70467
70468type EnableVpcClassicLinkOutput struct {
70469	_ struct{} `type:"structure"`
70470
70471	// Returns true if the request succeeds; otherwise, it returns an error.
70472	Return *bool `locationName:"return" type:"boolean"`
70473}
70474
70475// String returns the string representation
70476func (s EnableVpcClassicLinkOutput) String() string {
70477	return awsutil.Prettify(s)
70478}
70479
70480// GoString returns the string representation
70481func (s EnableVpcClassicLinkOutput) GoString() string {
70482	return s.String()
70483}
70484
70485// SetReturn sets the Return field's value.
70486func (s *EnableVpcClassicLinkOutput) SetReturn(v bool) *EnableVpcClassicLinkOutput {
70487	s.Return = &v
70488	return s
70489}
70490
70491// Describes an EC2 Fleet or Spot Fleet event.
70492type EventInformation struct {
70493	_ struct{} `type:"structure"`
70494
70495	// The description of the event.
70496	EventDescription *string `locationName:"eventDescription" type:"string"`
70497
70498	// The event.
70499	//
70500	// The following are the error events:
70501	//
70502	//    * iamFleetRoleInvalid - The EC2 Fleet or Spot Fleet did not have the required
70503	//    permissions either to launch or terminate an instance.
70504	//
70505	//    * spotFleetRequestConfigurationInvalid - The configuration is not valid.
70506	//    For more information, see the description of the event.
70507	//
70508	//    * spotInstanceCountLimitExceeded - You've reached the limit on the number
70509	//    of Spot Instances that you can launch.
70510	//
70511	// The following are the fleetRequestChange events:
70512	//
70513	//    * active - The EC2 Fleet or Spot Fleet request has been validated and
70514	//    Amazon EC2 is attempting to maintain the target number of running Spot
70515	//    Instances.
70516	//
70517	//    * cancelled - The EC2 Fleet or Spot Fleet request is canceled and has
70518	//    no running Spot Instances. The EC2 Fleet or Spot Fleet will be deleted
70519	//    two days after its instances were terminated.
70520	//
70521	//    * cancelled_running - The EC2 Fleet or Spot Fleet request is canceled
70522	//    and does not launch additional Spot Instances. Existing Spot Instances
70523	//    continue to run until they are interrupted or terminated.
70524	//
70525	//    * cancelled_terminating - The EC2 Fleet or Spot Fleet request is canceled
70526	//    and its Spot Instances are terminating.
70527	//
70528	//    * expired - The EC2 Fleet or Spot Fleet request has expired. A subsequent
70529	//    event indicates that the instances were terminated, if the request was
70530	//    created with TerminateInstancesWithExpiration set.
70531	//
70532	//    * modify_in_progress - A request to modify the EC2 Fleet or Spot Fleet
70533	//    request was accepted and is in progress.
70534	//
70535	//    * modify_successful - The EC2 Fleet or Spot Fleet request was modified.
70536	//
70537	//    * price_update - The price for a launch configuration was adjusted because
70538	//    it was too high. This change is permanent.
70539	//
70540	//    * submitted - The EC2 Fleet or Spot Fleet request is being evaluated and
70541	//    Amazon EC2 is preparing to launch the target number of Spot Instances.
70542	//
70543	// The following are the instanceChange events:
70544	//
70545	//    * launched - A request was fulfilled and a new instance was launched.
70546	//
70547	//    * terminated - An instance was terminated by the user.
70548	//
70549	// The following are the Information events:
70550	//
70551	//    * launchSpecTemporarilyBlacklisted - The configuration is not valid and
70552	//    several attempts to launch instances have failed. For more information,
70553	//    see the description of the event.
70554	//
70555	//    * launchSpecUnusable - The price in a launch specification is not valid
70556	//    because it is below the Spot price or the Spot price is above the On-Demand
70557	//    price.
70558	//
70559	//    * fleetProgressHalted - The price in every launch specification is not
70560	//    valid. A launch specification might become valid if the Spot price changes.
70561	EventSubType *string `locationName:"eventSubType" type:"string"`
70562
70563	// The ID of the instance. This information is available only for instanceChange
70564	// events.
70565	InstanceId *string `locationName:"instanceId" type:"string"`
70566}
70567
70568// String returns the string representation
70569func (s EventInformation) String() string {
70570	return awsutil.Prettify(s)
70571}
70572
70573// GoString returns the string representation
70574func (s EventInformation) GoString() string {
70575	return s.String()
70576}
70577
70578// SetEventDescription sets the EventDescription field's value.
70579func (s *EventInformation) SetEventDescription(v string) *EventInformation {
70580	s.EventDescription = &v
70581	return s
70582}
70583
70584// SetEventSubType sets the EventSubType field's value.
70585func (s *EventInformation) SetEventSubType(v string) *EventInformation {
70586	s.EventSubType = &v
70587	return s
70588}
70589
70590// SetInstanceId sets the InstanceId field's value.
70591func (s *EventInformation) SetInstanceId(v string) *EventInformation {
70592	s.InstanceId = &v
70593	return s
70594}
70595
70596type ExportClientVpnClientCertificateRevocationListInput struct {
70597	_ struct{} `type:"structure"`
70598
70599	// The ID of the Client VPN endpoint.
70600	//
70601	// ClientVpnEndpointId is a required field
70602	ClientVpnEndpointId *string `type:"string" required:"true"`
70603
70604	// Checks whether you have the required permissions for the action, without
70605	// actually making the request, and provides an error response. If you have
70606	// the required permissions, the error response is DryRunOperation. Otherwise,
70607	// it is UnauthorizedOperation.
70608	DryRun *bool `type:"boolean"`
70609}
70610
70611// String returns the string representation
70612func (s ExportClientVpnClientCertificateRevocationListInput) String() string {
70613	return awsutil.Prettify(s)
70614}
70615
70616// GoString returns the string representation
70617func (s ExportClientVpnClientCertificateRevocationListInput) GoString() string {
70618	return s.String()
70619}
70620
70621// Validate inspects the fields of the type to determine if they are valid.
70622func (s *ExportClientVpnClientCertificateRevocationListInput) Validate() error {
70623	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientCertificateRevocationListInput"}
70624	if s.ClientVpnEndpointId == nil {
70625		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
70626	}
70627
70628	if invalidParams.Len() > 0 {
70629		return invalidParams
70630	}
70631	return nil
70632}
70633
70634// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
70635func (s *ExportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientCertificateRevocationListInput {
70636	s.ClientVpnEndpointId = &v
70637	return s
70638}
70639
70640// SetDryRun sets the DryRun field's value.
70641func (s *ExportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ExportClientVpnClientCertificateRevocationListInput {
70642	s.DryRun = &v
70643	return s
70644}
70645
70646type ExportClientVpnClientCertificateRevocationListOutput struct {
70647	_ struct{} `type:"structure"`
70648
70649	// Information about the client certificate revocation list.
70650	CertificateRevocationList *string `locationName:"certificateRevocationList" type:"string"`
70651
70652	// The current state of the client certificate revocation list.
70653	Status *ClientCertificateRevocationListStatus `locationName:"status" type:"structure"`
70654}
70655
70656// String returns the string representation
70657func (s ExportClientVpnClientCertificateRevocationListOutput) String() string {
70658	return awsutil.Prettify(s)
70659}
70660
70661// GoString returns the string representation
70662func (s ExportClientVpnClientCertificateRevocationListOutput) GoString() string {
70663	return s.String()
70664}
70665
70666// SetCertificateRevocationList sets the CertificateRevocationList field's value.
70667func (s *ExportClientVpnClientCertificateRevocationListOutput) SetCertificateRevocationList(v string) *ExportClientVpnClientCertificateRevocationListOutput {
70668	s.CertificateRevocationList = &v
70669	return s
70670}
70671
70672// SetStatus sets the Status field's value.
70673func (s *ExportClientVpnClientCertificateRevocationListOutput) SetStatus(v *ClientCertificateRevocationListStatus) *ExportClientVpnClientCertificateRevocationListOutput {
70674	s.Status = v
70675	return s
70676}
70677
70678type ExportClientVpnClientConfigurationInput struct {
70679	_ struct{} `type:"structure"`
70680
70681	// The ID of the Client VPN endpoint.
70682	//
70683	// ClientVpnEndpointId is a required field
70684	ClientVpnEndpointId *string `type:"string" required:"true"`
70685
70686	// Checks whether you have the required permissions for the action, without
70687	// actually making the request, and provides an error response. If you have
70688	// the required permissions, the error response is DryRunOperation. Otherwise,
70689	// it is UnauthorizedOperation.
70690	DryRun *bool `type:"boolean"`
70691}
70692
70693// String returns the string representation
70694func (s ExportClientVpnClientConfigurationInput) String() string {
70695	return awsutil.Prettify(s)
70696}
70697
70698// GoString returns the string representation
70699func (s ExportClientVpnClientConfigurationInput) GoString() string {
70700	return s.String()
70701}
70702
70703// Validate inspects the fields of the type to determine if they are valid.
70704func (s *ExportClientVpnClientConfigurationInput) Validate() error {
70705	invalidParams := request.ErrInvalidParams{Context: "ExportClientVpnClientConfigurationInput"}
70706	if s.ClientVpnEndpointId == nil {
70707		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
70708	}
70709
70710	if invalidParams.Len() > 0 {
70711		return invalidParams
70712	}
70713	return nil
70714}
70715
70716// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
70717func (s *ExportClientVpnClientConfigurationInput) SetClientVpnEndpointId(v string) *ExportClientVpnClientConfigurationInput {
70718	s.ClientVpnEndpointId = &v
70719	return s
70720}
70721
70722// SetDryRun sets the DryRun field's value.
70723func (s *ExportClientVpnClientConfigurationInput) SetDryRun(v bool) *ExportClientVpnClientConfigurationInput {
70724	s.DryRun = &v
70725	return s
70726}
70727
70728type ExportClientVpnClientConfigurationOutput struct {
70729	_ struct{} `type:"structure"`
70730
70731	// The contents of the Client VPN endpoint configuration file.
70732	ClientConfiguration *string `locationName:"clientConfiguration" type:"string"`
70733}
70734
70735// String returns the string representation
70736func (s ExportClientVpnClientConfigurationOutput) String() string {
70737	return awsutil.Prettify(s)
70738}
70739
70740// GoString returns the string representation
70741func (s ExportClientVpnClientConfigurationOutput) GoString() string {
70742	return s.String()
70743}
70744
70745// SetClientConfiguration sets the ClientConfiguration field's value.
70746func (s *ExportClientVpnClientConfigurationOutput) SetClientConfiguration(v string) *ExportClientVpnClientConfigurationOutput {
70747	s.ClientConfiguration = &v
70748	return s
70749}
70750
70751type ExportImageInput struct {
70752	_ struct{} `type:"structure"`
70753
70754	// Token to enable idempotency for export image requests.
70755	ClientToken *string `type:"string" idempotencyToken:"true"`
70756
70757	// A description of the image being exported. The maximum length is 255 bytes.
70758	Description *string `type:"string"`
70759
70760	// The disk image format.
70761	//
70762	// DiskImageFormat is a required field
70763	DiskImageFormat *string `type:"string" required:"true" enum:"DiskImageFormat"`
70764
70765	// Checks whether you have the required permissions for the action, without
70766	// actually making the request, and provides an error response. If you have
70767	// the required permissions, the error response is DryRunOperation. Otherwise,
70768	// it is UnauthorizedOperation.
70769	DryRun *bool `type:"boolean"`
70770
70771	// The ID of the image.
70772	//
70773	// ImageId is a required field
70774	ImageId *string `type:"string" required:"true"`
70775
70776	// The name of the role that grants VM Import/Export permission to export images
70777	// to your S3 bucket. If this parameter is not specified, the default role is
70778	// named 'vmimport'.
70779	RoleName *string `type:"string"`
70780
70781	// Information about the destination S3 bucket. The bucket must exist and grant
70782	// WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
70783	//
70784	// S3ExportLocation is a required field
70785	S3ExportLocation *ExportTaskS3LocationRequest `type:"structure" required:"true"`
70786}
70787
70788// String returns the string representation
70789func (s ExportImageInput) String() string {
70790	return awsutil.Prettify(s)
70791}
70792
70793// GoString returns the string representation
70794func (s ExportImageInput) GoString() string {
70795	return s.String()
70796}
70797
70798// Validate inspects the fields of the type to determine if they are valid.
70799func (s *ExportImageInput) Validate() error {
70800	invalidParams := request.ErrInvalidParams{Context: "ExportImageInput"}
70801	if s.DiskImageFormat == nil {
70802		invalidParams.Add(request.NewErrParamRequired("DiskImageFormat"))
70803	}
70804	if s.ImageId == nil {
70805		invalidParams.Add(request.NewErrParamRequired("ImageId"))
70806	}
70807	if s.S3ExportLocation == nil {
70808		invalidParams.Add(request.NewErrParamRequired("S3ExportLocation"))
70809	}
70810	if s.S3ExportLocation != nil {
70811		if err := s.S3ExportLocation.Validate(); err != nil {
70812			invalidParams.AddNested("S3ExportLocation", err.(request.ErrInvalidParams))
70813		}
70814	}
70815
70816	if invalidParams.Len() > 0 {
70817		return invalidParams
70818	}
70819	return nil
70820}
70821
70822// SetClientToken sets the ClientToken field's value.
70823func (s *ExportImageInput) SetClientToken(v string) *ExportImageInput {
70824	s.ClientToken = &v
70825	return s
70826}
70827
70828// SetDescription sets the Description field's value.
70829func (s *ExportImageInput) SetDescription(v string) *ExportImageInput {
70830	s.Description = &v
70831	return s
70832}
70833
70834// SetDiskImageFormat sets the DiskImageFormat field's value.
70835func (s *ExportImageInput) SetDiskImageFormat(v string) *ExportImageInput {
70836	s.DiskImageFormat = &v
70837	return s
70838}
70839
70840// SetDryRun sets the DryRun field's value.
70841func (s *ExportImageInput) SetDryRun(v bool) *ExportImageInput {
70842	s.DryRun = &v
70843	return s
70844}
70845
70846// SetImageId sets the ImageId field's value.
70847func (s *ExportImageInput) SetImageId(v string) *ExportImageInput {
70848	s.ImageId = &v
70849	return s
70850}
70851
70852// SetRoleName sets the RoleName field's value.
70853func (s *ExportImageInput) SetRoleName(v string) *ExportImageInput {
70854	s.RoleName = &v
70855	return s
70856}
70857
70858// SetS3ExportLocation sets the S3ExportLocation field's value.
70859func (s *ExportImageInput) SetS3ExportLocation(v *ExportTaskS3LocationRequest) *ExportImageInput {
70860	s.S3ExportLocation = v
70861	return s
70862}
70863
70864type ExportImageOutput struct {
70865	_ struct{} `type:"structure"`
70866
70867	// A description of the image being exported.
70868	Description *string `locationName:"description" type:"string"`
70869
70870	// The disk image format for the exported image.
70871	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
70872
70873	// The ID of the export image task.
70874	ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
70875
70876	// The ID of the image.
70877	ImageId *string `locationName:"imageId" type:"string"`
70878
70879	// The percent complete of the export image task.
70880	Progress *string `locationName:"progress" type:"string"`
70881
70882	// The name of the role that grants VM Import/Export permission to export images
70883	// to your S3 bucket.
70884	RoleName *string `locationName:"roleName" type:"string"`
70885
70886	// Information about the destination S3 bucket.
70887	S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
70888
70889	// The status of the export image task. The possible values are active, completed,
70890	// deleting, and deleted.
70891	Status *string `locationName:"status" type:"string"`
70892
70893	// The status message for the export image task.
70894	StatusMessage *string `locationName:"statusMessage" type:"string"`
70895}
70896
70897// String returns the string representation
70898func (s ExportImageOutput) String() string {
70899	return awsutil.Prettify(s)
70900}
70901
70902// GoString returns the string representation
70903func (s ExportImageOutput) GoString() string {
70904	return s.String()
70905}
70906
70907// SetDescription sets the Description field's value.
70908func (s *ExportImageOutput) SetDescription(v string) *ExportImageOutput {
70909	s.Description = &v
70910	return s
70911}
70912
70913// SetDiskImageFormat sets the DiskImageFormat field's value.
70914func (s *ExportImageOutput) SetDiskImageFormat(v string) *ExportImageOutput {
70915	s.DiskImageFormat = &v
70916	return s
70917}
70918
70919// SetExportImageTaskId sets the ExportImageTaskId field's value.
70920func (s *ExportImageOutput) SetExportImageTaskId(v string) *ExportImageOutput {
70921	s.ExportImageTaskId = &v
70922	return s
70923}
70924
70925// SetImageId sets the ImageId field's value.
70926func (s *ExportImageOutput) SetImageId(v string) *ExportImageOutput {
70927	s.ImageId = &v
70928	return s
70929}
70930
70931// SetProgress sets the Progress field's value.
70932func (s *ExportImageOutput) SetProgress(v string) *ExportImageOutput {
70933	s.Progress = &v
70934	return s
70935}
70936
70937// SetRoleName sets the RoleName field's value.
70938func (s *ExportImageOutput) SetRoleName(v string) *ExportImageOutput {
70939	s.RoleName = &v
70940	return s
70941}
70942
70943// SetS3ExportLocation sets the S3ExportLocation field's value.
70944func (s *ExportImageOutput) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageOutput {
70945	s.S3ExportLocation = v
70946	return s
70947}
70948
70949// SetStatus sets the Status field's value.
70950func (s *ExportImageOutput) SetStatus(v string) *ExportImageOutput {
70951	s.Status = &v
70952	return s
70953}
70954
70955// SetStatusMessage sets the StatusMessage field's value.
70956func (s *ExportImageOutput) SetStatusMessage(v string) *ExportImageOutput {
70957	s.StatusMessage = &v
70958	return s
70959}
70960
70961// Describes an export image task.
70962type ExportImageTask struct {
70963	_ struct{} `type:"structure"`
70964
70965	// A description of the image being exported.
70966	Description *string `locationName:"description" type:"string"`
70967
70968	// The ID of the export image task.
70969	ExportImageTaskId *string `locationName:"exportImageTaskId" type:"string"`
70970
70971	// The ID of the image.
70972	ImageId *string `locationName:"imageId" type:"string"`
70973
70974	// The percent complete of the export image task.
70975	Progress *string `locationName:"progress" type:"string"`
70976
70977	// Information about the destination S3 bucket.
70978	S3ExportLocation *ExportTaskS3Location `locationName:"s3ExportLocation" type:"structure"`
70979
70980	// The status of the export image task. The possible values are active, completed,
70981	// deleting, and deleted.
70982	Status *string `locationName:"status" type:"string"`
70983
70984	// The status message for the export image task.
70985	StatusMessage *string `locationName:"statusMessage" type:"string"`
70986}
70987
70988// String returns the string representation
70989func (s ExportImageTask) String() string {
70990	return awsutil.Prettify(s)
70991}
70992
70993// GoString returns the string representation
70994func (s ExportImageTask) GoString() string {
70995	return s.String()
70996}
70997
70998// SetDescription sets the Description field's value.
70999func (s *ExportImageTask) SetDescription(v string) *ExportImageTask {
71000	s.Description = &v
71001	return s
71002}
71003
71004// SetExportImageTaskId sets the ExportImageTaskId field's value.
71005func (s *ExportImageTask) SetExportImageTaskId(v string) *ExportImageTask {
71006	s.ExportImageTaskId = &v
71007	return s
71008}
71009
71010// SetImageId sets the ImageId field's value.
71011func (s *ExportImageTask) SetImageId(v string) *ExportImageTask {
71012	s.ImageId = &v
71013	return s
71014}
71015
71016// SetProgress sets the Progress field's value.
71017func (s *ExportImageTask) SetProgress(v string) *ExportImageTask {
71018	s.Progress = &v
71019	return s
71020}
71021
71022// SetS3ExportLocation sets the S3ExportLocation field's value.
71023func (s *ExportImageTask) SetS3ExportLocation(v *ExportTaskS3Location) *ExportImageTask {
71024	s.S3ExportLocation = v
71025	return s
71026}
71027
71028// SetStatus sets the Status field's value.
71029func (s *ExportImageTask) SetStatus(v string) *ExportImageTask {
71030	s.Status = &v
71031	return s
71032}
71033
71034// SetStatusMessage sets the StatusMessage field's value.
71035func (s *ExportImageTask) SetStatusMessage(v string) *ExportImageTask {
71036	s.StatusMessage = &v
71037	return s
71038}
71039
71040// Describes an instance export task.
71041type ExportTask struct {
71042	_ struct{} `type:"structure"`
71043
71044	// A description of the resource being exported.
71045	Description *string `locationName:"description" type:"string"`
71046
71047	// The ID of the export task.
71048	ExportTaskId *string `locationName:"exportTaskId" type:"string"`
71049
71050	// Information about the export task.
71051	ExportToS3Task *ExportToS3Task `locationName:"exportToS3" type:"structure"`
71052
71053	// Information about the instance to export.
71054	InstanceExportDetails *InstanceExportDetails `locationName:"instanceExport" type:"structure"`
71055
71056	// The state of the export task.
71057	State *string `locationName:"state" type:"string" enum:"ExportTaskState"`
71058
71059	// The status message related to the export task.
71060	StatusMessage *string `locationName:"statusMessage" type:"string"`
71061
71062	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
71063}
71064
71065// String returns the string representation
71066func (s ExportTask) String() string {
71067	return awsutil.Prettify(s)
71068}
71069
71070// GoString returns the string representation
71071func (s ExportTask) GoString() string {
71072	return s.String()
71073}
71074
71075// SetDescription sets the Description field's value.
71076func (s *ExportTask) SetDescription(v string) *ExportTask {
71077	s.Description = &v
71078	return s
71079}
71080
71081// SetExportTaskId sets the ExportTaskId field's value.
71082func (s *ExportTask) SetExportTaskId(v string) *ExportTask {
71083	s.ExportTaskId = &v
71084	return s
71085}
71086
71087// SetExportToS3Task sets the ExportToS3Task field's value.
71088func (s *ExportTask) SetExportToS3Task(v *ExportToS3Task) *ExportTask {
71089	s.ExportToS3Task = v
71090	return s
71091}
71092
71093// SetInstanceExportDetails sets the InstanceExportDetails field's value.
71094func (s *ExportTask) SetInstanceExportDetails(v *InstanceExportDetails) *ExportTask {
71095	s.InstanceExportDetails = v
71096	return s
71097}
71098
71099// SetState sets the State field's value.
71100func (s *ExportTask) SetState(v string) *ExportTask {
71101	s.State = &v
71102	return s
71103}
71104
71105// SetStatusMessage sets the StatusMessage field's value.
71106func (s *ExportTask) SetStatusMessage(v string) *ExportTask {
71107	s.StatusMessage = &v
71108	return s
71109}
71110
71111// SetTags sets the Tags field's value.
71112func (s *ExportTask) SetTags(v []*Tag) *ExportTask {
71113	s.Tags = v
71114	return s
71115}
71116
71117// Describes the destination for an export image task.
71118type ExportTaskS3Location struct {
71119	_ struct{} `type:"structure"`
71120
71121	// The destination S3 bucket.
71122	S3Bucket *string `locationName:"s3Bucket" type:"string"`
71123
71124	// The prefix (logical hierarchy) in the bucket.
71125	S3Prefix *string `locationName:"s3Prefix" type:"string"`
71126}
71127
71128// String returns the string representation
71129func (s ExportTaskS3Location) String() string {
71130	return awsutil.Prettify(s)
71131}
71132
71133// GoString returns the string representation
71134func (s ExportTaskS3Location) GoString() string {
71135	return s.String()
71136}
71137
71138// SetS3Bucket sets the S3Bucket field's value.
71139func (s *ExportTaskS3Location) SetS3Bucket(v string) *ExportTaskS3Location {
71140	s.S3Bucket = &v
71141	return s
71142}
71143
71144// SetS3Prefix sets the S3Prefix field's value.
71145func (s *ExportTaskS3Location) SetS3Prefix(v string) *ExportTaskS3Location {
71146	s.S3Prefix = &v
71147	return s
71148}
71149
71150// Describes the destination for an export image task.
71151type ExportTaskS3LocationRequest struct {
71152	_ struct{} `type:"structure"`
71153
71154	// The destination S3 bucket.
71155	//
71156	// S3Bucket is a required field
71157	S3Bucket *string `type:"string" required:"true"`
71158
71159	// The prefix (logical hierarchy) in the bucket.
71160	S3Prefix *string `type:"string"`
71161}
71162
71163// String returns the string representation
71164func (s ExportTaskS3LocationRequest) String() string {
71165	return awsutil.Prettify(s)
71166}
71167
71168// GoString returns the string representation
71169func (s ExportTaskS3LocationRequest) GoString() string {
71170	return s.String()
71171}
71172
71173// Validate inspects the fields of the type to determine if they are valid.
71174func (s *ExportTaskS3LocationRequest) Validate() error {
71175	invalidParams := request.ErrInvalidParams{Context: "ExportTaskS3LocationRequest"}
71176	if s.S3Bucket == nil {
71177		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
71178	}
71179
71180	if invalidParams.Len() > 0 {
71181		return invalidParams
71182	}
71183	return nil
71184}
71185
71186// SetS3Bucket sets the S3Bucket field's value.
71187func (s *ExportTaskS3LocationRequest) SetS3Bucket(v string) *ExportTaskS3LocationRequest {
71188	s.S3Bucket = &v
71189	return s
71190}
71191
71192// SetS3Prefix sets the S3Prefix field's value.
71193func (s *ExportTaskS3LocationRequest) SetS3Prefix(v string) *ExportTaskS3LocationRequest {
71194	s.S3Prefix = &v
71195	return s
71196}
71197
71198// Describes the format and location for an instance export task.
71199type ExportToS3Task struct {
71200	_ struct{} `type:"structure"`
71201
71202	// The container format used to combine disk images with metadata (such as OVF).
71203	// If absent, only the disk image is exported.
71204	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
71205
71206	// The format for the exported image.
71207	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
71208
71209	// The S3 bucket for the destination image. The destination bucket must exist
71210	// and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
71211	S3Bucket *string `locationName:"s3Bucket" type:"string"`
71212
71213	// The encryption key for your S3 bucket.
71214	S3Key *string `locationName:"s3Key" type:"string"`
71215}
71216
71217// String returns the string representation
71218func (s ExportToS3Task) String() string {
71219	return awsutil.Prettify(s)
71220}
71221
71222// GoString returns the string representation
71223func (s ExportToS3Task) GoString() string {
71224	return s.String()
71225}
71226
71227// SetContainerFormat sets the ContainerFormat field's value.
71228func (s *ExportToS3Task) SetContainerFormat(v string) *ExportToS3Task {
71229	s.ContainerFormat = &v
71230	return s
71231}
71232
71233// SetDiskImageFormat sets the DiskImageFormat field's value.
71234func (s *ExportToS3Task) SetDiskImageFormat(v string) *ExportToS3Task {
71235	s.DiskImageFormat = &v
71236	return s
71237}
71238
71239// SetS3Bucket sets the S3Bucket field's value.
71240func (s *ExportToS3Task) SetS3Bucket(v string) *ExportToS3Task {
71241	s.S3Bucket = &v
71242	return s
71243}
71244
71245// SetS3Key sets the S3Key field's value.
71246func (s *ExportToS3Task) SetS3Key(v string) *ExportToS3Task {
71247	s.S3Key = &v
71248	return s
71249}
71250
71251// Describes an instance export task.
71252type ExportToS3TaskSpecification struct {
71253	_ struct{} `type:"structure"`
71254
71255	// The container format used to combine disk images with metadata (such as OVF).
71256	// If absent, only the disk image is exported.
71257	ContainerFormat *string `locationName:"containerFormat" type:"string" enum:"ContainerFormat"`
71258
71259	// The format for the exported image.
71260	DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"`
71261
71262	// The S3 bucket for the destination image. The destination bucket must exist
71263	// and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.
71264	S3Bucket *string `locationName:"s3Bucket" type:"string"`
71265
71266	// The image is written to a single object in the S3 bucket at the S3 key s3prefix
71267	// + exportTaskId + '.' + diskImageFormat.
71268	S3Prefix *string `locationName:"s3Prefix" type:"string"`
71269}
71270
71271// String returns the string representation
71272func (s ExportToS3TaskSpecification) String() string {
71273	return awsutil.Prettify(s)
71274}
71275
71276// GoString returns the string representation
71277func (s ExportToS3TaskSpecification) GoString() string {
71278	return s.String()
71279}
71280
71281// SetContainerFormat sets the ContainerFormat field's value.
71282func (s *ExportToS3TaskSpecification) SetContainerFormat(v string) *ExportToS3TaskSpecification {
71283	s.ContainerFormat = &v
71284	return s
71285}
71286
71287// SetDiskImageFormat sets the DiskImageFormat field's value.
71288func (s *ExportToS3TaskSpecification) SetDiskImageFormat(v string) *ExportToS3TaskSpecification {
71289	s.DiskImageFormat = &v
71290	return s
71291}
71292
71293// SetS3Bucket sets the S3Bucket field's value.
71294func (s *ExportToS3TaskSpecification) SetS3Bucket(v string) *ExportToS3TaskSpecification {
71295	s.S3Bucket = &v
71296	return s
71297}
71298
71299// SetS3Prefix sets the S3Prefix field's value.
71300func (s *ExportToS3TaskSpecification) SetS3Prefix(v string) *ExportToS3TaskSpecification {
71301	s.S3Prefix = &v
71302	return s
71303}
71304
71305type ExportTransitGatewayRoutesInput struct {
71306	_ struct{} `type:"structure"`
71307
71308	// Checks whether you have the required permissions for the action, without
71309	// actually making the request, and provides an error response. If you have
71310	// the required permissions, the error response is DryRunOperation. Otherwise,
71311	// it is UnauthorizedOperation.
71312	DryRun *bool `type:"boolean"`
71313
71314	// One or more filters. The possible values are:
71315	//
71316	//    * attachment.transit-gateway-attachment-id - The id of the transit gateway
71317	//    attachment.
71318	//
71319	//    * attachment.resource-id - The resource id of the transit gateway attachment.
71320	//
71321	//    * route-search.exact-match - The exact match of the specified filter.
71322	//
71323	//    * route-search.longest-prefix-match - The longest prefix that matches
71324	//    the route.
71325	//
71326	//    * route-search.subnet-of-match - The routes with a subnet that match the
71327	//    specified CIDR filter.
71328	//
71329	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
71330	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
71331	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
71332	//    then the result returns 10.0.1.0/29.
71333	//
71334	//    * state - The state of the attachment (available | deleted | deleting
71335	//    | failed | modifying | pendingAcceptance | pending | rollingBack | rejected
71336	//    | rejecting).
71337	//
71338	//    * transit-gateway-route-destination-cidr-block - The CIDR range.
71339	//
71340	//    * type - The type of route (active | blackhole).
71341	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
71342
71343	// The name of the S3 bucket.
71344	//
71345	// S3Bucket is a required field
71346	S3Bucket *string `type:"string" required:"true"`
71347
71348	// The ID of the route table.
71349	//
71350	// TransitGatewayRouteTableId is a required field
71351	TransitGatewayRouteTableId *string `type:"string" required:"true"`
71352}
71353
71354// String returns the string representation
71355func (s ExportTransitGatewayRoutesInput) String() string {
71356	return awsutil.Prettify(s)
71357}
71358
71359// GoString returns the string representation
71360func (s ExportTransitGatewayRoutesInput) GoString() string {
71361	return s.String()
71362}
71363
71364// Validate inspects the fields of the type to determine if they are valid.
71365func (s *ExportTransitGatewayRoutesInput) Validate() error {
71366	invalidParams := request.ErrInvalidParams{Context: "ExportTransitGatewayRoutesInput"}
71367	if s.S3Bucket == nil {
71368		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
71369	}
71370	if s.TransitGatewayRouteTableId == nil {
71371		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
71372	}
71373
71374	if invalidParams.Len() > 0 {
71375		return invalidParams
71376	}
71377	return nil
71378}
71379
71380// SetDryRun sets the DryRun field's value.
71381func (s *ExportTransitGatewayRoutesInput) SetDryRun(v bool) *ExportTransitGatewayRoutesInput {
71382	s.DryRun = &v
71383	return s
71384}
71385
71386// SetFilters sets the Filters field's value.
71387func (s *ExportTransitGatewayRoutesInput) SetFilters(v []*Filter) *ExportTransitGatewayRoutesInput {
71388	s.Filters = v
71389	return s
71390}
71391
71392// SetS3Bucket sets the S3Bucket field's value.
71393func (s *ExportTransitGatewayRoutesInput) SetS3Bucket(v string) *ExportTransitGatewayRoutesInput {
71394	s.S3Bucket = &v
71395	return s
71396}
71397
71398// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
71399func (s *ExportTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *ExportTransitGatewayRoutesInput {
71400	s.TransitGatewayRouteTableId = &v
71401	return s
71402}
71403
71404type ExportTransitGatewayRoutesOutput struct {
71405	_ struct{} `type:"structure"`
71406
71407	// The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.
71408	S3Location *string `locationName:"s3Location" type:"string"`
71409}
71410
71411// String returns the string representation
71412func (s ExportTransitGatewayRoutesOutput) String() string {
71413	return awsutil.Prettify(s)
71414}
71415
71416// GoString returns the string representation
71417func (s ExportTransitGatewayRoutesOutput) GoString() string {
71418	return s.String()
71419}
71420
71421// SetS3Location sets the S3Location field's value.
71422func (s *ExportTransitGatewayRoutesOutput) SetS3Location(v string) *ExportTransitGatewayRoutesOutput {
71423	s.S3Location = &v
71424	return s
71425}
71426
71427// Describes a Reserved Instance whose queued purchase was not deleted.
71428type FailedQueuedPurchaseDeletion struct {
71429	_ struct{} `type:"structure"`
71430
71431	// The error.
71432	Error *DeleteQueuedReservedInstancesError `locationName:"error" type:"structure"`
71433
71434	// The ID of the Reserved Instance.
71435	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
71436}
71437
71438// String returns the string representation
71439func (s FailedQueuedPurchaseDeletion) String() string {
71440	return awsutil.Prettify(s)
71441}
71442
71443// GoString returns the string representation
71444func (s FailedQueuedPurchaseDeletion) GoString() string {
71445	return s.String()
71446}
71447
71448// SetError sets the Error field's value.
71449func (s *FailedQueuedPurchaseDeletion) SetError(v *DeleteQueuedReservedInstancesError) *FailedQueuedPurchaseDeletion {
71450	s.Error = v
71451	return s
71452}
71453
71454// SetReservedInstancesId sets the ReservedInstancesId field's value.
71455func (s *FailedQueuedPurchaseDeletion) SetReservedInstancesId(v string) *FailedQueuedPurchaseDeletion {
71456	s.ReservedInstancesId = &v
71457	return s
71458}
71459
71460// A filter name and value pair that is used to return a more specific list
71461// of results from a describe operation. Filters can be used to match a set
71462// of resources by specific criteria, such as tags, attributes, or IDs. The
71463// filters supported by a describe operation are documented with the describe
71464// operation. For example:
71465//
71466//    * DescribeAvailabilityZones
71467//
71468//    * DescribeImages
71469//
71470//    * DescribeInstances
71471//
71472//    * DescribeKeyPairs
71473//
71474//    * DescribeSecurityGroups
71475//
71476//    * DescribeSnapshots
71477//
71478//    * DescribeSubnets
71479//
71480//    * DescribeTags
71481//
71482//    * DescribeVolumes
71483//
71484//    * DescribeVpcs
71485type Filter struct {
71486	_ struct{} `type:"structure"`
71487
71488	// The name of the filter. Filter names are case-sensitive.
71489	Name *string `type:"string"`
71490
71491	// The filter values. Filter values are case-sensitive.
71492	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
71493}
71494
71495// String returns the string representation
71496func (s Filter) String() string {
71497	return awsutil.Prettify(s)
71498}
71499
71500// GoString returns the string representation
71501func (s Filter) GoString() string {
71502	return s.String()
71503}
71504
71505// SetName sets the Name field's value.
71506func (s *Filter) SetName(v string) *Filter {
71507	s.Name = &v
71508	return s
71509}
71510
71511// SetValues sets the Values field's value.
71512func (s *Filter) SetValues(v []*string) *Filter {
71513	s.Values = v
71514	return s
71515}
71516
71517// Describes an EC2 Fleet.
71518type FleetData struct {
71519	_ struct{} `type:"structure"`
71520
71521	// The progress of the EC2 Fleet. If there is an error, the status is error.
71522	// After all requests are placed, the status is pending_fulfillment. If the
71523	// size of the EC2 Fleet is equal to or greater than its target capacity, the
71524	// status is fulfilled. If the size of the EC2 Fleet is decreased, the status
71525	// is pending_termination while instances are terminating.
71526	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"FleetActivityStatus"`
71527
71528	// Unique, case-sensitive identifier that you provide to ensure the idempotency
71529	// of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
71530	//
71531	// Constraints: Maximum 64 ASCII characters
71532	ClientToken *string `locationName:"clientToken" type:"string"`
71533
71534	// The creation date and time of the EC2 Fleet.
71535	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
71536
71537	// Information about the instances that could not be launched by the fleet.
71538	// Valid only when Type is set to instant.
71539	Errors []*DescribeFleetError `locationName:"errorSet" locationNameList:"item" type:"list"`
71540
71541	// Indicates whether running instances should be terminated if the target capacity
71542	// of the EC2 Fleet is decreased below the current size of the EC2 Fleet.
71543	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
71544
71545	// The ID of the EC2 Fleet.
71546	FleetId *string `locationName:"fleetId" type:"string"`
71547
71548	// The state of the EC2 Fleet.
71549	FleetState *string `locationName:"fleetState" type:"string" enum:"FleetStateCode"`
71550
71551	// The number of units fulfilled by this request compared to the set target
71552	// capacity.
71553	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
71554
71555	// The number of units fulfilled by this request compared to the set target
71556	// On-Demand capacity.
71557	FulfilledOnDemandCapacity *float64 `locationName:"fulfilledOnDemandCapacity" type:"double"`
71558
71559	// Information about the instances that were launched by the fleet. Valid only
71560	// when Type is set to instant.
71561	Instances []*DescribeFleetsInstances `locationName:"fleetInstanceSet" locationNameList:"item" type:"list"`
71562
71563	// The launch template and overrides.
71564	LaunchTemplateConfigs []*FleetLaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
71565
71566	// The allocation strategy of On-Demand Instances in an EC2 Fleet.
71567	OnDemandOptions *OnDemandOptions `locationName:"onDemandOptions" type:"structure"`
71568
71569	// Indicates whether EC2 Fleet should replace unhealthy instances.
71570	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
71571
71572	// The configuration of Spot Instances in an EC2 Fleet.
71573	SpotOptions *SpotOptions `locationName:"spotOptions" type:"structure"`
71574
71575	// The tags for an EC2 Fleet resource.
71576	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
71577
71578	// The number of units to request. You can choose to set the target capacity
71579	// in terms of instances or a performance characteristic that is important to
71580	// your application workload, such as vCPUs, memory, or I/O. If the request
71581	// type is maintain, you can specify a target capacity of 0 and add capacity
71582	// later.
71583	TargetCapacitySpecification *TargetCapacitySpecification `locationName:"targetCapacitySpecification" type:"structure"`
71584
71585	// Indicates whether running instances should be terminated when the EC2 Fleet
71586	// expires.
71587	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
71588
71589	// The type of request. Indicates whether the EC2 Fleet only requests the target
71590	// capacity, or also attempts to maintain it. If you request a certain target
71591	// capacity, EC2 Fleet only places the required requests; it does not attempt
71592	// to replenish instances if capacity is diminished, and it does not submit
71593	// requests in alternative capacity pools if capacity is unavailable. To maintain
71594	// a certain target capacity, EC2 Fleet places the required requests to meet
71595	// this target capacity. It also automatically replenishes any interrupted Spot
71596	// Instances. Default: maintain.
71597	Type *string `locationName:"type" type:"string" enum:"FleetType"`
71598
71599	// The start date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
71600	// The default is to start fulfilling the request immediately.
71601	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
71602
71603	// The end date and time of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
71604	// At this point, no new instance requests are placed or able to fulfill the
71605	// request. The default end date is 7 days from the current date.
71606	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
71607}
71608
71609// String returns the string representation
71610func (s FleetData) String() string {
71611	return awsutil.Prettify(s)
71612}
71613
71614// GoString returns the string representation
71615func (s FleetData) GoString() string {
71616	return s.String()
71617}
71618
71619// SetActivityStatus sets the ActivityStatus field's value.
71620func (s *FleetData) SetActivityStatus(v string) *FleetData {
71621	s.ActivityStatus = &v
71622	return s
71623}
71624
71625// SetClientToken sets the ClientToken field's value.
71626func (s *FleetData) SetClientToken(v string) *FleetData {
71627	s.ClientToken = &v
71628	return s
71629}
71630
71631// SetCreateTime sets the CreateTime field's value.
71632func (s *FleetData) SetCreateTime(v time.Time) *FleetData {
71633	s.CreateTime = &v
71634	return s
71635}
71636
71637// SetErrors sets the Errors field's value.
71638func (s *FleetData) SetErrors(v []*DescribeFleetError) *FleetData {
71639	s.Errors = v
71640	return s
71641}
71642
71643// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
71644func (s *FleetData) SetExcessCapacityTerminationPolicy(v string) *FleetData {
71645	s.ExcessCapacityTerminationPolicy = &v
71646	return s
71647}
71648
71649// SetFleetId sets the FleetId field's value.
71650func (s *FleetData) SetFleetId(v string) *FleetData {
71651	s.FleetId = &v
71652	return s
71653}
71654
71655// SetFleetState sets the FleetState field's value.
71656func (s *FleetData) SetFleetState(v string) *FleetData {
71657	s.FleetState = &v
71658	return s
71659}
71660
71661// SetFulfilledCapacity sets the FulfilledCapacity field's value.
71662func (s *FleetData) SetFulfilledCapacity(v float64) *FleetData {
71663	s.FulfilledCapacity = &v
71664	return s
71665}
71666
71667// SetFulfilledOnDemandCapacity sets the FulfilledOnDemandCapacity field's value.
71668func (s *FleetData) SetFulfilledOnDemandCapacity(v float64) *FleetData {
71669	s.FulfilledOnDemandCapacity = &v
71670	return s
71671}
71672
71673// SetInstances sets the Instances field's value.
71674func (s *FleetData) SetInstances(v []*DescribeFleetsInstances) *FleetData {
71675	s.Instances = v
71676	return s
71677}
71678
71679// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
71680func (s *FleetData) SetLaunchTemplateConfigs(v []*FleetLaunchTemplateConfig) *FleetData {
71681	s.LaunchTemplateConfigs = v
71682	return s
71683}
71684
71685// SetOnDemandOptions sets the OnDemandOptions field's value.
71686func (s *FleetData) SetOnDemandOptions(v *OnDemandOptions) *FleetData {
71687	s.OnDemandOptions = v
71688	return s
71689}
71690
71691// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
71692func (s *FleetData) SetReplaceUnhealthyInstances(v bool) *FleetData {
71693	s.ReplaceUnhealthyInstances = &v
71694	return s
71695}
71696
71697// SetSpotOptions sets the SpotOptions field's value.
71698func (s *FleetData) SetSpotOptions(v *SpotOptions) *FleetData {
71699	s.SpotOptions = v
71700	return s
71701}
71702
71703// SetTags sets the Tags field's value.
71704func (s *FleetData) SetTags(v []*Tag) *FleetData {
71705	s.Tags = v
71706	return s
71707}
71708
71709// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
71710func (s *FleetData) SetTargetCapacitySpecification(v *TargetCapacitySpecification) *FleetData {
71711	s.TargetCapacitySpecification = v
71712	return s
71713}
71714
71715// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
71716func (s *FleetData) SetTerminateInstancesWithExpiration(v bool) *FleetData {
71717	s.TerminateInstancesWithExpiration = &v
71718	return s
71719}
71720
71721// SetType sets the Type field's value.
71722func (s *FleetData) SetType(v string) *FleetData {
71723	s.Type = &v
71724	return s
71725}
71726
71727// SetValidFrom sets the ValidFrom field's value.
71728func (s *FleetData) SetValidFrom(v time.Time) *FleetData {
71729	s.ValidFrom = &v
71730	return s
71731}
71732
71733// SetValidUntil sets the ValidUntil field's value.
71734func (s *FleetData) SetValidUntil(v time.Time) *FleetData {
71735	s.ValidUntil = &v
71736	return s
71737}
71738
71739// Describes a launch template and overrides.
71740type FleetLaunchTemplateConfig struct {
71741	_ struct{} `type:"structure"`
71742
71743	// The launch template.
71744	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
71745
71746	// Any parameters that you specify override the same parameters in the launch
71747	// template.
71748	Overrides []*FleetLaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
71749}
71750
71751// String returns the string representation
71752func (s FleetLaunchTemplateConfig) String() string {
71753	return awsutil.Prettify(s)
71754}
71755
71756// GoString returns the string representation
71757func (s FleetLaunchTemplateConfig) GoString() string {
71758	return s.String()
71759}
71760
71761// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
71762func (s *FleetLaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *FleetLaunchTemplateConfig {
71763	s.LaunchTemplateSpecification = v
71764	return s
71765}
71766
71767// SetOverrides sets the Overrides field's value.
71768func (s *FleetLaunchTemplateConfig) SetOverrides(v []*FleetLaunchTemplateOverrides) *FleetLaunchTemplateConfig {
71769	s.Overrides = v
71770	return s
71771}
71772
71773// Describes a launch template and overrides.
71774type FleetLaunchTemplateConfigRequest struct {
71775	_ struct{} `type:"structure"`
71776
71777	// The launch template to use. You must specify either the launch template ID
71778	// or launch template name in the request.
71779	LaunchTemplateSpecification *FleetLaunchTemplateSpecificationRequest `type:"structure"`
71780
71781	// Any parameters that you specify override the same parameters in the launch
71782	// template.
71783	Overrides []*FleetLaunchTemplateOverridesRequest `locationNameList:"item" type:"list"`
71784}
71785
71786// String returns the string representation
71787func (s FleetLaunchTemplateConfigRequest) String() string {
71788	return awsutil.Prettify(s)
71789}
71790
71791// GoString returns the string representation
71792func (s FleetLaunchTemplateConfigRequest) GoString() string {
71793	return s.String()
71794}
71795
71796// Validate inspects the fields of the type to determine if they are valid.
71797func (s *FleetLaunchTemplateConfigRequest) Validate() error {
71798	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateConfigRequest"}
71799	if s.LaunchTemplateSpecification != nil {
71800		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
71801			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
71802		}
71803	}
71804
71805	if invalidParams.Len() > 0 {
71806		return invalidParams
71807	}
71808	return nil
71809}
71810
71811// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
71812func (s *FleetLaunchTemplateConfigRequest) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecificationRequest) *FleetLaunchTemplateConfigRequest {
71813	s.LaunchTemplateSpecification = v
71814	return s
71815}
71816
71817// SetOverrides sets the Overrides field's value.
71818func (s *FleetLaunchTemplateConfigRequest) SetOverrides(v []*FleetLaunchTemplateOverridesRequest) *FleetLaunchTemplateConfigRequest {
71819	s.Overrides = v
71820	return s
71821}
71822
71823// Describes overrides for a launch template.
71824type FleetLaunchTemplateOverrides struct {
71825	_ struct{} `type:"structure"`
71826
71827	// The Availability Zone in which to launch the instances.
71828	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
71829
71830	// The instance type.
71831	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
71832
71833	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
71834	MaxPrice *string `locationName:"maxPrice" type:"string"`
71835
71836	// The location where the instance launched, if applicable.
71837	Placement *PlacementResponse `locationName:"placement" type:"structure"`
71838
71839	// The priority for the launch template override. If AllocationStrategy is set
71840	// to prioritized, EC2 Fleet uses priority to determine which launch template
71841	// override to use first in fulfilling On-Demand capacity. The highest priority
71842	// is launched first. Valid values are whole numbers starting at 0. The lower
71843	// the number, the higher the priority. If no number is set, the override has
71844	// the lowest priority.
71845	Priority *float64 `locationName:"priority" type:"double"`
71846
71847	// The ID of the subnet in which to launch the instances.
71848	SubnetId *string `locationName:"subnetId" type:"string"`
71849
71850	// The number of units provided by the specified instance type.
71851	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
71852}
71853
71854// String returns the string representation
71855func (s FleetLaunchTemplateOverrides) String() string {
71856	return awsutil.Prettify(s)
71857}
71858
71859// GoString returns the string representation
71860func (s FleetLaunchTemplateOverrides) GoString() string {
71861	return s.String()
71862}
71863
71864// SetAvailabilityZone sets the AvailabilityZone field's value.
71865func (s *FleetLaunchTemplateOverrides) SetAvailabilityZone(v string) *FleetLaunchTemplateOverrides {
71866	s.AvailabilityZone = &v
71867	return s
71868}
71869
71870// SetInstanceType sets the InstanceType field's value.
71871func (s *FleetLaunchTemplateOverrides) SetInstanceType(v string) *FleetLaunchTemplateOverrides {
71872	s.InstanceType = &v
71873	return s
71874}
71875
71876// SetMaxPrice sets the MaxPrice field's value.
71877func (s *FleetLaunchTemplateOverrides) SetMaxPrice(v string) *FleetLaunchTemplateOverrides {
71878	s.MaxPrice = &v
71879	return s
71880}
71881
71882// SetPlacement sets the Placement field's value.
71883func (s *FleetLaunchTemplateOverrides) SetPlacement(v *PlacementResponse) *FleetLaunchTemplateOverrides {
71884	s.Placement = v
71885	return s
71886}
71887
71888// SetPriority sets the Priority field's value.
71889func (s *FleetLaunchTemplateOverrides) SetPriority(v float64) *FleetLaunchTemplateOverrides {
71890	s.Priority = &v
71891	return s
71892}
71893
71894// SetSubnetId sets the SubnetId field's value.
71895func (s *FleetLaunchTemplateOverrides) SetSubnetId(v string) *FleetLaunchTemplateOverrides {
71896	s.SubnetId = &v
71897	return s
71898}
71899
71900// SetWeightedCapacity sets the WeightedCapacity field's value.
71901func (s *FleetLaunchTemplateOverrides) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverrides {
71902	s.WeightedCapacity = &v
71903	return s
71904}
71905
71906// Describes overrides for a launch template.
71907type FleetLaunchTemplateOverridesRequest struct {
71908	_ struct{} `type:"structure"`
71909
71910	// The Availability Zone in which to launch the instances.
71911	AvailabilityZone *string `type:"string"`
71912
71913	// The instance type.
71914	InstanceType *string `type:"string" enum:"InstanceType"`
71915
71916	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
71917	MaxPrice *string `type:"string"`
71918
71919	// The location where the instance launched, if applicable.
71920	Placement *Placement `type:"structure"`
71921
71922	// The priority for the launch template override. If AllocationStrategy is set
71923	// to prioritized, EC2 Fleet uses priority to determine which launch template
71924	// override to use first in fulfilling On-Demand capacity. The highest priority
71925	// is launched first. Valid values are whole numbers starting at 0. The lower
71926	// the number, the higher the priority. If no number is set, the launch template
71927	// override has the lowest priority.
71928	Priority *float64 `type:"double"`
71929
71930	// The ID of the subnet in which to launch the instances.
71931	SubnetId *string `type:"string"`
71932
71933	// The number of units provided by the specified instance type.
71934	WeightedCapacity *float64 `type:"double"`
71935}
71936
71937// String returns the string representation
71938func (s FleetLaunchTemplateOverridesRequest) String() string {
71939	return awsutil.Prettify(s)
71940}
71941
71942// GoString returns the string representation
71943func (s FleetLaunchTemplateOverridesRequest) GoString() string {
71944	return s.String()
71945}
71946
71947// SetAvailabilityZone sets the AvailabilityZone field's value.
71948func (s *FleetLaunchTemplateOverridesRequest) SetAvailabilityZone(v string) *FleetLaunchTemplateOverridesRequest {
71949	s.AvailabilityZone = &v
71950	return s
71951}
71952
71953// SetInstanceType sets the InstanceType field's value.
71954func (s *FleetLaunchTemplateOverridesRequest) SetInstanceType(v string) *FleetLaunchTemplateOverridesRequest {
71955	s.InstanceType = &v
71956	return s
71957}
71958
71959// SetMaxPrice sets the MaxPrice field's value.
71960func (s *FleetLaunchTemplateOverridesRequest) SetMaxPrice(v string) *FleetLaunchTemplateOverridesRequest {
71961	s.MaxPrice = &v
71962	return s
71963}
71964
71965// SetPlacement sets the Placement field's value.
71966func (s *FleetLaunchTemplateOverridesRequest) SetPlacement(v *Placement) *FleetLaunchTemplateOverridesRequest {
71967	s.Placement = v
71968	return s
71969}
71970
71971// SetPriority sets the Priority field's value.
71972func (s *FleetLaunchTemplateOverridesRequest) SetPriority(v float64) *FleetLaunchTemplateOverridesRequest {
71973	s.Priority = &v
71974	return s
71975}
71976
71977// SetSubnetId sets the SubnetId field's value.
71978func (s *FleetLaunchTemplateOverridesRequest) SetSubnetId(v string) *FleetLaunchTemplateOverridesRequest {
71979	s.SubnetId = &v
71980	return s
71981}
71982
71983// SetWeightedCapacity sets the WeightedCapacity field's value.
71984func (s *FleetLaunchTemplateOverridesRequest) SetWeightedCapacity(v float64) *FleetLaunchTemplateOverridesRequest {
71985	s.WeightedCapacity = &v
71986	return s
71987}
71988
71989// Describes a launch template.
71990type FleetLaunchTemplateSpecification struct {
71991	_ struct{} `type:"structure"`
71992
71993	// The ID of the launch template. You must specify either a template ID or a
71994	// template name.
71995	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
71996
71997	// The name of the launch template. You must specify either a template name
71998	// or a template ID.
71999	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
72000
72001	// The version number of the launch template. You must specify a version number.
72002	Version *string `locationName:"version" type:"string"`
72003}
72004
72005// String returns the string representation
72006func (s FleetLaunchTemplateSpecification) String() string {
72007	return awsutil.Prettify(s)
72008}
72009
72010// GoString returns the string representation
72011func (s FleetLaunchTemplateSpecification) GoString() string {
72012	return s.String()
72013}
72014
72015// Validate inspects the fields of the type to determine if they are valid.
72016func (s *FleetLaunchTemplateSpecification) Validate() error {
72017	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecification"}
72018	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
72019		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
72020	}
72021
72022	if invalidParams.Len() > 0 {
72023		return invalidParams
72024	}
72025	return nil
72026}
72027
72028// SetLaunchTemplateId sets the LaunchTemplateId field's value.
72029func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecification {
72030	s.LaunchTemplateId = &v
72031	return s
72032}
72033
72034// SetLaunchTemplateName sets the LaunchTemplateName field's value.
72035func (s *FleetLaunchTemplateSpecification) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecification {
72036	s.LaunchTemplateName = &v
72037	return s
72038}
72039
72040// SetVersion sets the Version field's value.
72041func (s *FleetLaunchTemplateSpecification) SetVersion(v string) *FleetLaunchTemplateSpecification {
72042	s.Version = &v
72043	return s
72044}
72045
72046// The launch template to use. You must specify either the launch template ID
72047// or launch template name in the request.
72048type FleetLaunchTemplateSpecificationRequest struct {
72049	_ struct{} `type:"structure"`
72050
72051	// The ID of the launch template.
72052	LaunchTemplateId *string `type:"string"`
72053
72054	// The name of the launch template.
72055	LaunchTemplateName *string `min:"3" type:"string"`
72056
72057	// The version number of the launch template. Note: This is a required parameter
72058	// and will be updated soon.
72059	Version *string `type:"string"`
72060}
72061
72062// String returns the string representation
72063func (s FleetLaunchTemplateSpecificationRequest) String() string {
72064	return awsutil.Prettify(s)
72065}
72066
72067// GoString returns the string representation
72068func (s FleetLaunchTemplateSpecificationRequest) GoString() string {
72069	return s.String()
72070}
72071
72072// Validate inspects the fields of the type to determine if they are valid.
72073func (s *FleetLaunchTemplateSpecificationRequest) Validate() error {
72074	invalidParams := request.ErrInvalidParams{Context: "FleetLaunchTemplateSpecificationRequest"}
72075	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
72076		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
72077	}
72078
72079	if invalidParams.Len() > 0 {
72080		return invalidParams
72081	}
72082	return nil
72083}
72084
72085// SetLaunchTemplateId sets the LaunchTemplateId field's value.
72086func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateId(v string) *FleetLaunchTemplateSpecificationRequest {
72087	s.LaunchTemplateId = &v
72088	return s
72089}
72090
72091// SetLaunchTemplateName sets the LaunchTemplateName field's value.
72092func (s *FleetLaunchTemplateSpecificationRequest) SetLaunchTemplateName(v string) *FleetLaunchTemplateSpecificationRequest {
72093	s.LaunchTemplateName = &v
72094	return s
72095}
72096
72097// SetVersion sets the Version field's value.
72098func (s *FleetLaunchTemplateSpecificationRequest) SetVersion(v string) *FleetLaunchTemplateSpecificationRequest {
72099	s.Version = &v
72100	return s
72101}
72102
72103// Describes a flow log.
72104type FlowLog struct {
72105	_ struct{} `type:"structure"`
72106
72107	// The date and time the flow log was created.
72108	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
72109
72110	// Information about the error that occurred. Rate limited indicates that CloudWatch
72111	// Logs throttling has been applied for one or more network interfaces, or that
72112	// you've reached the limit on the number of log groups that you can create.
72113	// Access error indicates that the IAM role associated with the flow log does
72114	// not have sufficient permissions to publish to CloudWatch Logs. Unknown error
72115	// indicates an internal error.
72116	DeliverLogsErrorMessage *string `locationName:"deliverLogsErrorMessage" type:"string"`
72117
72118	// The ARN of the IAM role that posts logs to CloudWatch Logs.
72119	DeliverLogsPermissionArn *string `locationName:"deliverLogsPermissionArn" type:"string"`
72120
72121	// The status of the logs delivery (SUCCESS | FAILED).
72122	DeliverLogsStatus *string `locationName:"deliverLogsStatus" type:"string"`
72123
72124	// The flow log ID.
72125	FlowLogId *string `locationName:"flowLogId" type:"string"`
72126
72127	// The status of the flow log (ACTIVE).
72128	FlowLogStatus *string `locationName:"flowLogStatus" type:"string"`
72129
72130	// Specifies the destination to which the flow log data is published. Flow log
72131	// data can be published to an CloudWatch Logs log group or an Amazon S3 bucket.
72132	// If the flow log publishes to CloudWatch Logs, this element indicates the
72133	// Amazon Resource Name (ARN) of the CloudWatch Logs log group to which the
72134	// data is published. If the flow log publishes to Amazon S3, this element indicates
72135	// the ARN of the Amazon S3 bucket to which the data is published.
72136	LogDestination *string `locationName:"logDestination" type:"string"`
72137
72138	// Specifies the type of destination to which the flow log data is published.
72139	// Flow log data can be published to CloudWatch Logs or Amazon S3.
72140	LogDestinationType *string `locationName:"logDestinationType" type:"string" enum:"LogDestinationType"`
72141
72142	// The format of the flow log record.
72143	LogFormat *string `locationName:"logFormat" type:"string"`
72144
72145	// The name of the flow log group.
72146	LogGroupName *string `locationName:"logGroupName" type:"string"`
72147
72148	// The ID of the resource on which the flow log was created.
72149	ResourceId *string `locationName:"resourceId" type:"string"`
72150
72151	// The type of traffic captured for the flow log.
72152	TrafficType *string `locationName:"trafficType" type:"string" enum:"TrafficType"`
72153}
72154
72155// String returns the string representation
72156func (s FlowLog) String() string {
72157	return awsutil.Prettify(s)
72158}
72159
72160// GoString returns the string representation
72161func (s FlowLog) GoString() string {
72162	return s.String()
72163}
72164
72165// SetCreationTime sets the CreationTime field's value.
72166func (s *FlowLog) SetCreationTime(v time.Time) *FlowLog {
72167	s.CreationTime = &v
72168	return s
72169}
72170
72171// SetDeliverLogsErrorMessage sets the DeliverLogsErrorMessage field's value.
72172func (s *FlowLog) SetDeliverLogsErrorMessage(v string) *FlowLog {
72173	s.DeliverLogsErrorMessage = &v
72174	return s
72175}
72176
72177// SetDeliverLogsPermissionArn sets the DeliverLogsPermissionArn field's value.
72178func (s *FlowLog) SetDeliverLogsPermissionArn(v string) *FlowLog {
72179	s.DeliverLogsPermissionArn = &v
72180	return s
72181}
72182
72183// SetDeliverLogsStatus sets the DeliverLogsStatus field's value.
72184func (s *FlowLog) SetDeliverLogsStatus(v string) *FlowLog {
72185	s.DeliverLogsStatus = &v
72186	return s
72187}
72188
72189// SetFlowLogId sets the FlowLogId field's value.
72190func (s *FlowLog) SetFlowLogId(v string) *FlowLog {
72191	s.FlowLogId = &v
72192	return s
72193}
72194
72195// SetFlowLogStatus sets the FlowLogStatus field's value.
72196func (s *FlowLog) SetFlowLogStatus(v string) *FlowLog {
72197	s.FlowLogStatus = &v
72198	return s
72199}
72200
72201// SetLogDestination sets the LogDestination field's value.
72202func (s *FlowLog) SetLogDestination(v string) *FlowLog {
72203	s.LogDestination = &v
72204	return s
72205}
72206
72207// SetLogDestinationType sets the LogDestinationType field's value.
72208func (s *FlowLog) SetLogDestinationType(v string) *FlowLog {
72209	s.LogDestinationType = &v
72210	return s
72211}
72212
72213// SetLogFormat sets the LogFormat field's value.
72214func (s *FlowLog) SetLogFormat(v string) *FlowLog {
72215	s.LogFormat = &v
72216	return s
72217}
72218
72219// SetLogGroupName sets the LogGroupName field's value.
72220func (s *FlowLog) SetLogGroupName(v string) *FlowLog {
72221	s.LogGroupName = &v
72222	return s
72223}
72224
72225// SetResourceId sets the ResourceId field's value.
72226func (s *FlowLog) SetResourceId(v string) *FlowLog {
72227	s.ResourceId = &v
72228	return s
72229}
72230
72231// SetTrafficType sets the TrafficType field's value.
72232func (s *FlowLog) SetTrafficType(v string) *FlowLog {
72233	s.TrafficType = &v
72234	return s
72235}
72236
72237// Describes the FPGA accelerator for the instance type.
72238type FpgaDeviceInfo struct {
72239	_ struct{} `type:"structure"`
72240
72241	// The count of FPGA accelerators for the instance type.
72242	Count *int64 `locationName:"count" type:"integer"`
72243
72244	// The manufacturer of the FPGA accelerator.
72245	Manufacturer *string `locationName:"manufacturer" type:"string"`
72246
72247	// Describes the memory for the FPGA accelerator for the instance type.
72248	MemoryInfo *FpgaDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
72249
72250	// The name of the FPGA accelerator.
72251	Name *string `locationName:"name" type:"string"`
72252}
72253
72254// String returns the string representation
72255func (s FpgaDeviceInfo) String() string {
72256	return awsutil.Prettify(s)
72257}
72258
72259// GoString returns the string representation
72260func (s FpgaDeviceInfo) GoString() string {
72261	return s.String()
72262}
72263
72264// SetCount sets the Count field's value.
72265func (s *FpgaDeviceInfo) SetCount(v int64) *FpgaDeviceInfo {
72266	s.Count = &v
72267	return s
72268}
72269
72270// SetManufacturer sets the Manufacturer field's value.
72271func (s *FpgaDeviceInfo) SetManufacturer(v string) *FpgaDeviceInfo {
72272	s.Manufacturer = &v
72273	return s
72274}
72275
72276// SetMemoryInfo sets the MemoryInfo field's value.
72277func (s *FpgaDeviceInfo) SetMemoryInfo(v *FpgaDeviceMemoryInfo) *FpgaDeviceInfo {
72278	s.MemoryInfo = v
72279	return s
72280}
72281
72282// SetName sets the Name field's value.
72283func (s *FpgaDeviceInfo) SetName(v string) *FpgaDeviceInfo {
72284	s.Name = &v
72285	return s
72286}
72287
72288// Describes the memory for the FPGA accelerator for the instance type.
72289type FpgaDeviceMemoryInfo struct {
72290	_ struct{} `type:"structure"`
72291
72292	// The size (in MiB) for the memory available to the FPGA accelerator.
72293	SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
72294}
72295
72296// String returns the string representation
72297func (s FpgaDeviceMemoryInfo) String() string {
72298	return awsutil.Prettify(s)
72299}
72300
72301// GoString returns the string representation
72302func (s FpgaDeviceMemoryInfo) GoString() string {
72303	return s.String()
72304}
72305
72306// SetSizeInMiB sets the SizeInMiB field's value.
72307func (s *FpgaDeviceMemoryInfo) SetSizeInMiB(v int64) *FpgaDeviceMemoryInfo {
72308	s.SizeInMiB = &v
72309	return s
72310}
72311
72312// Describes an Amazon FPGA image (AFI).
72313type FpgaImage struct {
72314	_ struct{} `type:"structure"`
72315
72316	// The date and time the AFI was created.
72317	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
72318
72319	// Indicates whether data retention support is enabled for the AFI.
72320	DataRetentionSupport *bool `locationName:"dataRetentionSupport" type:"boolean"`
72321
72322	// The description of the AFI.
72323	Description *string `locationName:"description" type:"string"`
72324
72325	// The global FPGA image identifier (AGFI ID).
72326	FpgaImageGlobalId *string `locationName:"fpgaImageGlobalId" type:"string"`
72327
72328	// The FPGA image identifier (AFI ID).
72329	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
72330
72331	// The name of the AFI.
72332	Name *string `locationName:"name" type:"string"`
72333
72334	// The alias of the AFI owner. Possible values include self, amazon, and aws-marketplace.
72335	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
72336
72337	// The AWS account ID of the AFI owner.
72338	OwnerId *string `locationName:"ownerId" type:"string"`
72339
72340	// Information about the PCI bus.
72341	PciId *PciId `locationName:"pciId" type:"structure"`
72342
72343	// The product codes for the AFI.
72344	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
72345
72346	// Indicates whether the AFI is public.
72347	Public *bool `locationName:"public" type:"boolean"`
72348
72349	// The version of the AWS Shell that was used to create the bitstream.
72350	ShellVersion *string `locationName:"shellVersion" type:"string"`
72351
72352	// Information about the state of the AFI.
72353	State *FpgaImageState `locationName:"state" type:"structure"`
72354
72355	// Any tags assigned to the AFI.
72356	Tags []*Tag `locationName:"tags" locationNameList:"item" type:"list"`
72357
72358	// The time of the most recent update to the AFI.
72359	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
72360}
72361
72362// String returns the string representation
72363func (s FpgaImage) String() string {
72364	return awsutil.Prettify(s)
72365}
72366
72367// GoString returns the string representation
72368func (s FpgaImage) GoString() string {
72369	return s.String()
72370}
72371
72372// SetCreateTime sets the CreateTime field's value.
72373func (s *FpgaImage) SetCreateTime(v time.Time) *FpgaImage {
72374	s.CreateTime = &v
72375	return s
72376}
72377
72378// SetDataRetentionSupport sets the DataRetentionSupport field's value.
72379func (s *FpgaImage) SetDataRetentionSupport(v bool) *FpgaImage {
72380	s.DataRetentionSupport = &v
72381	return s
72382}
72383
72384// SetDescription sets the Description field's value.
72385func (s *FpgaImage) SetDescription(v string) *FpgaImage {
72386	s.Description = &v
72387	return s
72388}
72389
72390// SetFpgaImageGlobalId sets the FpgaImageGlobalId field's value.
72391func (s *FpgaImage) SetFpgaImageGlobalId(v string) *FpgaImage {
72392	s.FpgaImageGlobalId = &v
72393	return s
72394}
72395
72396// SetFpgaImageId sets the FpgaImageId field's value.
72397func (s *FpgaImage) SetFpgaImageId(v string) *FpgaImage {
72398	s.FpgaImageId = &v
72399	return s
72400}
72401
72402// SetName sets the Name field's value.
72403func (s *FpgaImage) SetName(v string) *FpgaImage {
72404	s.Name = &v
72405	return s
72406}
72407
72408// SetOwnerAlias sets the OwnerAlias field's value.
72409func (s *FpgaImage) SetOwnerAlias(v string) *FpgaImage {
72410	s.OwnerAlias = &v
72411	return s
72412}
72413
72414// SetOwnerId sets the OwnerId field's value.
72415func (s *FpgaImage) SetOwnerId(v string) *FpgaImage {
72416	s.OwnerId = &v
72417	return s
72418}
72419
72420// SetPciId sets the PciId field's value.
72421func (s *FpgaImage) SetPciId(v *PciId) *FpgaImage {
72422	s.PciId = v
72423	return s
72424}
72425
72426// SetProductCodes sets the ProductCodes field's value.
72427func (s *FpgaImage) SetProductCodes(v []*ProductCode) *FpgaImage {
72428	s.ProductCodes = v
72429	return s
72430}
72431
72432// SetPublic sets the Public field's value.
72433func (s *FpgaImage) SetPublic(v bool) *FpgaImage {
72434	s.Public = &v
72435	return s
72436}
72437
72438// SetShellVersion sets the ShellVersion field's value.
72439func (s *FpgaImage) SetShellVersion(v string) *FpgaImage {
72440	s.ShellVersion = &v
72441	return s
72442}
72443
72444// SetState sets the State field's value.
72445func (s *FpgaImage) SetState(v *FpgaImageState) *FpgaImage {
72446	s.State = v
72447	return s
72448}
72449
72450// SetTags sets the Tags field's value.
72451func (s *FpgaImage) SetTags(v []*Tag) *FpgaImage {
72452	s.Tags = v
72453	return s
72454}
72455
72456// SetUpdateTime sets the UpdateTime field's value.
72457func (s *FpgaImage) SetUpdateTime(v time.Time) *FpgaImage {
72458	s.UpdateTime = &v
72459	return s
72460}
72461
72462// Describes an Amazon FPGA image (AFI) attribute.
72463type FpgaImageAttribute struct {
72464	_ struct{} `type:"structure"`
72465
72466	// The description of the AFI.
72467	Description *string `locationName:"description" type:"string"`
72468
72469	// The ID of the AFI.
72470	FpgaImageId *string `locationName:"fpgaImageId" type:"string"`
72471
72472	// The load permissions.
72473	LoadPermissions []*LoadPermission `locationName:"loadPermissions" locationNameList:"item" type:"list"`
72474
72475	// The name of the AFI.
72476	Name *string `locationName:"name" type:"string"`
72477
72478	// The product codes.
72479	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
72480}
72481
72482// String returns the string representation
72483func (s FpgaImageAttribute) String() string {
72484	return awsutil.Prettify(s)
72485}
72486
72487// GoString returns the string representation
72488func (s FpgaImageAttribute) GoString() string {
72489	return s.String()
72490}
72491
72492// SetDescription sets the Description field's value.
72493func (s *FpgaImageAttribute) SetDescription(v string) *FpgaImageAttribute {
72494	s.Description = &v
72495	return s
72496}
72497
72498// SetFpgaImageId sets the FpgaImageId field's value.
72499func (s *FpgaImageAttribute) SetFpgaImageId(v string) *FpgaImageAttribute {
72500	s.FpgaImageId = &v
72501	return s
72502}
72503
72504// SetLoadPermissions sets the LoadPermissions field's value.
72505func (s *FpgaImageAttribute) SetLoadPermissions(v []*LoadPermission) *FpgaImageAttribute {
72506	s.LoadPermissions = v
72507	return s
72508}
72509
72510// SetName sets the Name field's value.
72511func (s *FpgaImageAttribute) SetName(v string) *FpgaImageAttribute {
72512	s.Name = &v
72513	return s
72514}
72515
72516// SetProductCodes sets the ProductCodes field's value.
72517func (s *FpgaImageAttribute) SetProductCodes(v []*ProductCode) *FpgaImageAttribute {
72518	s.ProductCodes = v
72519	return s
72520}
72521
72522// Describes the state of the bitstream generation process for an Amazon FPGA
72523// image (AFI).
72524type FpgaImageState struct {
72525	_ struct{} `type:"structure"`
72526
72527	// The state. The following are the possible values:
72528	//
72529	//    * pending - AFI bitstream generation is in progress.
72530	//
72531	//    * available - The AFI is available for use.
72532	//
72533	//    * failed - AFI bitstream generation failed.
72534	//
72535	//    * unavailable - The AFI is no longer available for use.
72536	Code *string `locationName:"code" type:"string" enum:"FpgaImageStateCode"`
72537
72538	// If the state is failed, this is the error message.
72539	Message *string `locationName:"message" type:"string"`
72540}
72541
72542// String returns the string representation
72543func (s FpgaImageState) String() string {
72544	return awsutil.Prettify(s)
72545}
72546
72547// GoString returns the string representation
72548func (s FpgaImageState) GoString() string {
72549	return s.String()
72550}
72551
72552// SetCode sets the Code field's value.
72553func (s *FpgaImageState) SetCode(v string) *FpgaImageState {
72554	s.Code = &v
72555	return s
72556}
72557
72558// SetMessage sets the Message field's value.
72559func (s *FpgaImageState) SetMessage(v string) *FpgaImageState {
72560	s.Message = &v
72561	return s
72562}
72563
72564// Describes the FPGAs for the instance type.
72565type FpgaInfo struct {
72566	_ struct{} `type:"structure"`
72567
72568	// Describes the FPGAs for the instance type.
72569	Fpgas []*FpgaDeviceInfo `locationName:"fpgas" locationNameList:"item" type:"list"`
72570
72571	// The total memory of all FPGA accelerators for the instance type.
72572	TotalFpgaMemoryInMiB *int64 `locationName:"totalFpgaMemoryInMiB" type:"integer"`
72573}
72574
72575// String returns the string representation
72576func (s FpgaInfo) String() string {
72577	return awsutil.Prettify(s)
72578}
72579
72580// GoString returns the string representation
72581func (s FpgaInfo) GoString() string {
72582	return s.String()
72583}
72584
72585// SetFpgas sets the Fpgas field's value.
72586func (s *FpgaInfo) SetFpgas(v []*FpgaDeviceInfo) *FpgaInfo {
72587	s.Fpgas = v
72588	return s
72589}
72590
72591// SetTotalFpgaMemoryInMiB sets the TotalFpgaMemoryInMiB field's value.
72592func (s *FpgaInfo) SetTotalFpgaMemoryInMiB(v int64) *FpgaInfo {
72593	s.TotalFpgaMemoryInMiB = &v
72594	return s
72595}
72596
72597type GetCapacityReservationUsageInput struct {
72598	_ struct{} `type:"structure"`
72599
72600	// The ID of the Capacity Reservation.
72601	//
72602	// CapacityReservationId is a required field
72603	CapacityReservationId *string `type:"string" required:"true"`
72604
72605	// Checks whether you have the required permissions for the action, without
72606	// actually making the request, and provides an error response. If you have
72607	// the required permissions, the error response is DryRunOperation. Otherwise,
72608	// it is UnauthorizedOperation.
72609	DryRun *bool `type:"boolean"`
72610
72611	// The maximum number of results to return for the request in a single page.
72612	// The remaining results can be seen by sending another request with the returned
72613	// nextToken value.
72614	//
72615	// Valid range: Minimum value of 1. Maximum value of 1000.
72616	MaxResults *int64 `min:"1" type:"integer"`
72617
72618	// The token to retrieve the next page of results.
72619	NextToken *string `type:"string"`
72620}
72621
72622// String returns the string representation
72623func (s GetCapacityReservationUsageInput) String() string {
72624	return awsutil.Prettify(s)
72625}
72626
72627// GoString returns the string representation
72628func (s GetCapacityReservationUsageInput) GoString() string {
72629	return s.String()
72630}
72631
72632// Validate inspects the fields of the type to determine if they are valid.
72633func (s *GetCapacityReservationUsageInput) Validate() error {
72634	invalidParams := request.ErrInvalidParams{Context: "GetCapacityReservationUsageInput"}
72635	if s.CapacityReservationId == nil {
72636		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
72637	}
72638	if s.MaxResults != nil && *s.MaxResults < 1 {
72639		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
72640	}
72641
72642	if invalidParams.Len() > 0 {
72643		return invalidParams
72644	}
72645	return nil
72646}
72647
72648// SetCapacityReservationId sets the CapacityReservationId field's value.
72649func (s *GetCapacityReservationUsageInput) SetCapacityReservationId(v string) *GetCapacityReservationUsageInput {
72650	s.CapacityReservationId = &v
72651	return s
72652}
72653
72654// SetDryRun sets the DryRun field's value.
72655func (s *GetCapacityReservationUsageInput) SetDryRun(v bool) *GetCapacityReservationUsageInput {
72656	s.DryRun = &v
72657	return s
72658}
72659
72660// SetMaxResults sets the MaxResults field's value.
72661func (s *GetCapacityReservationUsageInput) SetMaxResults(v int64) *GetCapacityReservationUsageInput {
72662	s.MaxResults = &v
72663	return s
72664}
72665
72666// SetNextToken sets the NextToken field's value.
72667func (s *GetCapacityReservationUsageInput) SetNextToken(v string) *GetCapacityReservationUsageInput {
72668	s.NextToken = &v
72669	return s
72670}
72671
72672type GetCapacityReservationUsageOutput struct {
72673	_ struct{} `type:"structure"`
72674
72675	// The remaining capacity. Indicates the number of instances that can be launched
72676	// in the Capacity Reservation.
72677	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
72678
72679	// The ID of the Capacity Reservation.
72680	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
72681
72682	// The type of instance for which the Capacity Reservation reserves capacity.
72683	InstanceType *string `locationName:"instanceType" type:"string"`
72684
72685	// Information about the Capacity Reservation usage.
72686	InstanceUsages []*InstanceUsage `locationName:"instanceUsageSet" locationNameList:"item" type:"list"`
72687
72688	// The token to use to retrieve the next page of results. This value is null
72689	// when there are no more results to return.
72690	NextToken *string `locationName:"nextToken" type:"string"`
72691
72692	// The current state of the Capacity Reservation. A Capacity Reservation can
72693	// be in one of the following states:
72694	//
72695	//    * active - The Capacity Reservation is active and the capacity is available
72696	//    for your use.
72697	//
72698	//    * expired - The Capacity Reservation expired automatically at the date
72699	//    and time specified in your request. The reserved capacity is no longer
72700	//    available for your use.
72701	//
72702	//    * cancelled - The Capacity Reservation was manually cancelled. The reserved
72703	//    capacity is no longer available for your use.
72704	//
72705	//    * pending - The Capacity Reservation request was successful but the capacity
72706	//    provisioning is still pending.
72707	//
72708	//    * failed - The Capacity Reservation request has failed. A request might
72709	//    fail due to invalid request parameters, capacity constraints, or instance
72710	//    limit constraints. Failed requests are retained for 60 minutes.
72711	State *string `locationName:"state" type:"string" enum:"CapacityReservationState"`
72712
72713	// The number of instances for which the Capacity Reservation reserves capacity.
72714	TotalInstanceCount *int64 `locationName:"totalInstanceCount" type:"integer"`
72715}
72716
72717// String returns the string representation
72718func (s GetCapacityReservationUsageOutput) String() string {
72719	return awsutil.Prettify(s)
72720}
72721
72722// GoString returns the string representation
72723func (s GetCapacityReservationUsageOutput) GoString() string {
72724	return s.String()
72725}
72726
72727// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
72728func (s *GetCapacityReservationUsageOutput) SetAvailableInstanceCount(v int64) *GetCapacityReservationUsageOutput {
72729	s.AvailableInstanceCount = &v
72730	return s
72731}
72732
72733// SetCapacityReservationId sets the CapacityReservationId field's value.
72734func (s *GetCapacityReservationUsageOutput) SetCapacityReservationId(v string) *GetCapacityReservationUsageOutput {
72735	s.CapacityReservationId = &v
72736	return s
72737}
72738
72739// SetInstanceType sets the InstanceType field's value.
72740func (s *GetCapacityReservationUsageOutput) SetInstanceType(v string) *GetCapacityReservationUsageOutput {
72741	s.InstanceType = &v
72742	return s
72743}
72744
72745// SetInstanceUsages sets the InstanceUsages field's value.
72746func (s *GetCapacityReservationUsageOutput) SetInstanceUsages(v []*InstanceUsage) *GetCapacityReservationUsageOutput {
72747	s.InstanceUsages = v
72748	return s
72749}
72750
72751// SetNextToken sets the NextToken field's value.
72752func (s *GetCapacityReservationUsageOutput) SetNextToken(v string) *GetCapacityReservationUsageOutput {
72753	s.NextToken = &v
72754	return s
72755}
72756
72757// SetState sets the State field's value.
72758func (s *GetCapacityReservationUsageOutput) SetState(v string) *GetCapacityReservationUsageOutput {
72759	s.State = &v
72760	return s
72761}
72762
72763// SetTotalInstanceCount sets the TotalInstanceCount field's value.
72764func (s *GetCapacityReservationUsageOutput) SetTotalInstanceCount(v int64) *GetCapacityReservationUsageOutput {
72765	s.TotalInstanceCount = &v
72766	return s
72767}
72768
72769type GetCoipPoolUsageInput struct {
72770	_ struct{} `type:"structure"`
72771
72772	// Checks whether you have the required permissions for the action, without
72773	// actually making the request, and provides an error response. If you have
72774	// the required permissions, the error response is DryRunOperation. Otherwise,
72775	// it is UnauthorizedOperation.
72776	DryRun *bool `type:"boolean"`
72777
72778	// The filters. The following are the possible values:
72779	//
72780	//    * coip-address-usage.allocation-id
72781	//
72782	//    * coip-address-usage.aws-account-id
72783	//
72784	//    * coip-address-usage.aws-service
72785	//
72786	//    * coip-address-usage.co-ip
72787	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
72788
72789	// The maximum number of results to return with a single call. To retrieve the
72790	// remaining results, make another call with the returned nextToken value.
72791	MaxResults *int64 `min:"5" type:"integer"`
72792
72793	// The token for the next page of results.
72794	NextToken *string `type:"string"`
72795
72796	// The ID of the address pool.
72797	//
72798	// PoolId is a required field
72799	PoolId *string `type:"string" required:"true"`
72800}
72801
72802// String returns the string representation
72803func (s GetCoipPoolUsageInput) String() string {
72804	return awsutil.Prettify(s)
72805}
72806
72807// GoString returns the string representation
72808func (s GetCoipPoolUsageInput) GoString() string {
72809	return s.String()
72810}
72811
72812// Validate inspects the fields of the type to determine if they are valid.
72813func (s *GetCoipPoolUsageInput) Validate() error {
72814	invalidParams := request.ErrInvalidParams{Context: "GetCoipPoolUsageInput"}
72815	if s.MaxResults != nil && *s.MaxResults < 5 {
72816		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
72817	}
72818	if s.PoolId == nil {
72819		invalidParams.Add(request.NewErrParamRequired("PoolId"))
72820	}
72821
72822	if invalidParams.Len() > 0 {
72823		return invalidParams
72824	}
72825	return nil
72826}
72827
72828// SetDryRun sets the DryRun field's value.
72829func (s *GetCoipPoolUsageInput) SetDryRun(v bool) *GetCoipPoolUsageInput {
72830	s.DryRun = &v
72831	return s
72832}
72833
72834// SetFilters sets the Filters field's value.
72835func (s *GetCoipPoolUsageInput) SetFilters(v []*Filter) *GetCoipPoolUsageInput {
72836	s.Filters = v
72837	return s
72838}
72839
72840// SetMaxResults sets the MaxResults field's value.
72841func (s *GetCoipPoolUsageInput) SetMaxResults(v int64) *GetCoipPoolUsageInput {
72842	s.MaxResults = &v
72843	return s
72844}
72845
72846// SetNextToken sets the NextToken field's value.
72847func (s *GetCoipPoolUsageInput) SetNextToken(v string) *GetCoipPoolUsageInput {
72848	s.NextToken = &v
72849	return s
72850}
72851
72852// SetPoolId sets the PoolId field's value.
72853func (s *GetCoipPoolUsageInput) SetPoolId(v string) *GetCoipPoolUsageInput {
72854	s.PoolId = &v
72855	return s
72856}
72857
72858type GetCoipPoolUsageOutput struct {
72859	_ struct{} `type:"structure"`
72860
72861	// Information about the address usage.
72862	CoipAddressUsages []*CoipAddressUsage `locationName:"coipAddressUsageSet" locationNameList:"item" type:"list"`
72863
72864	// The ID of the customer-owned address pool.
72865	CoipPoolId *string `locationName:"coipPoolId" type:"string"`
72866
72867	// The ID of the local gateway route table.
72868	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
72869}
72870
72871// String returns the string representation
72872func (s GetCoipPoolUsageOutput) String() string {
72873	return awsutil.Prettify(s)
72874}
72875
72876// GoString returns the string representation
72877func (s GetCoipPoolUsageOutput) GoString() string {
72878	return s.String()
72879}
72880
72881// SetCoipAddressUsages sets the CoipAddressUsages field's value.
72882func (s *GetCoipPoolUsageOutput) SetCoipAddressUsages(v []*CoipAddressUsage) *GetCoipPoolUsageOutput {
72883	s.CoipAddressUsages = v
72884	return s
72885}
72886
72887// SetCoipPoolId sets the CoipPoolId field's value.
72888func (s *GetCoipPoolUsageOutput) SetCoipPoolId(v string) *GetCoipPoolUsageOutput {
72889	s.CoipPoolId = &v
72890	return s
72891}
72892
72893// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
72894func (s *GetCoipPoolUsageOutput) SetLocalGatewayRouteTableId(v string) *GetCoipPoolUsageOutput {
72895	s.LocalGatewayRouteTableId = &v
72896	return s
72897}
72898
72899type GetConsoleOutputInput struct {
72900	_ struct{} `type:"structure"`
72901
72902	// Checks whether you have the required permissions for the action, without
72903	// actually making the request, and provides an error response. If you have
72904	// the required permissions, the error response is DryRunOperation. Otherwise,
72905	// it is UnauthorizedOperation.
72906	DryRun *bool `locationName:"dryRun" type:"boolean"`
72907
72908	// The ID of the instance.
72909	//
72910	// InstanceId is a required field
72911	InstanceId *string `type:"string" required:"true"`
72912
72913	// When enabled, retrieves the latest console output for the instance.
72914	//
72915	// Default: disabled (false)
72916	Latest *bool `type:"boolean"`
72917}
72918
72919// String returns the string representation
72920func (s GetConsoleOutputInput) String() string {
72921	return awsutil.Prettify(s)
72922}
72923
72924// GoString returns the string representation
72925func (s GetConsoleOutputInput) GoString() string {
72926	return s.String()
72927}
72928
72929// Validate inspects the fields of the type to determine if they are valid.
72930func (s *GetConsoleOutputInput) Validate() error {
72931	invalidParams := request.ErrInvalidParams{Context: "GetConsoleOutputInput"}
72932	if s.InstanceId == nil {
72933		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
72934	}
72935
72936	if invalidParams.Len() > 0 {
72937		return invalidParams
72938	}
72939	return nil
72940}
72941
72942// SetDryRun sets the DryRun field's value.
72943func (s *GetConsoleOutputInput) SetDryRun(v bool) *GetConsoleOutputInput {
72944	s.DryRun = &v
72945	return s
72946}
72947
72948// SetInstanceId sets the InstanceId field's value.
72949func (s *GetConsoleOutputInput) SetInstanceId(v string) *GetConsoleOutputInput {
72950	s.InstanceId = &v
72951	return s
72952}
72953
72954// SetLatest sets the Latest field's value.
72955func (s *GetConsoleOutputInput) SetLatest(v bool) *GetConsoleOutputInput {
72956	s.Latest = &v
72957	return s
72958}
72959
72960type GetConsoleOutputOutput struct {
72961	_ struct{} `type:"structure"`
72962
72963	// The ID of the instance.
72964	InstanceId *string `locationName:"instanceId" type:"string"`
72965
72966	// The console output, base64-encoded. If you are using a command line tool,
72967	// the tool decodes the output for you.
72968	Output *string `locationName:"output" type:"string"`
72969
72970	// The time at which the output was last updated.
72971	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
72972}
72973
72974// String returns the string representation
72975func (s GetConsoleOutputOutput) String() string {
72976	return awsutil.Prettify(s)
72977}
72978
72979// GoString returns the string representation
72980func (s GetConsoleOutputOutput) GoString() string {
72981	return s.String()
72982}
72983
72984// SetInstanceId sets the InstanceId field's value.
72985func (s *GetConsoleOutputOutput) SetInstanceId(v string) *GetConsoleOutputOutput {
72986	s.InstanceId = &v
72987	return s
72988}
72989
72990// SetOutput sets the Output field's value.
72991func (s *GetConsoleOutputOutput) SetOutput(v string) *GetConsoleOutputOutput {
72992	s.Output = &v
72993	return s
72994}
72995
72996// SetTimestamp sets the Timestamp field's value.
72997func (s *GetConsoleOutputOutput) SetTimestamp(v time.Time) *GetConsoleOutputOutput {
72998	s.Timestamp = &v
72999	return s
73000}
73001
73002type GetConsoleScreenshotInput struct {
73003	_ struct{} `type:"structure"`
73004
73005	// Checks whether you have the required permissions for the action, without
73006	// actually making the request, and provides an error response. If you have
73007	// the required permissions, the error response is DryRunOperation. Otherwise,
73008	// it is UnauthorizedOperation.
73009	DryRun *bool `type:"boolean"`
73010
73011	// The ID of the instance.
73012	//
73013	// InstanceId is a required field
73014	InstanceId *string `type:"string" required:"true"`
73015
73016	// When set to true, acts as keystroke input and wakes up an instance that's
73017	// in standby or "sleep" mode.
73018	WakeUp *bool `type:"boolean"`
73019}
73020
73021// String returns the string representation
73022func (s GetConsoleScreenshotInput) String() string {
73023	return awsutil.Prettify(s)
73024}
73025
73026// GoString returns the string representation
73027func (s GetConsoleScreenshotInput) GoString() string {
73028	return s.String()
73029}
73030
73031// Validate inspects the fields of the type to determine if they are valid.
73032func (s *GetConsoleScreenshotInput) Validate() error {
73033	invalidParams := request.ErrInvalidParams{Context: "GetConsoleScreenshotInput"}
73034	if s.InstanceId == nil {
73035		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
73036	}
73037
73038	if invalidParams.Len() > 0 {
73039		return invalidParams
73040	}
73041	return nil
73042}
73043
73044// SetDryRun sets the DryRun field's value.
73045func (s *GetConsoleScreenshotInput) SetDryRun(v bool) *GetConsoleScreenshotInput {
73046	s.DryRun = &v
73047	return s
73048}
73049
73050// SetInstanceId sets the InstanceId field's value.
73051func (s *GetConsoleScreenshotInput) SetInstanceId(v string) *GetConsoleScreenshotInput {
73052	s.InstanceId = &v
73053	return s
73054}
73055
73056// SetWakeUp sets the WakeUp field's value.
73057func (s *GetConsoleScreenshotInput) SetWakeUp(v bool) *GetConsoleScreenshotInput {
73058	s.WakeUp = &v
73059	return s
73060}
73061
73062type GetConsoleScreenshotOutput struct {
73063	_ struct{} `type:"structure"`
73064
73065	// The data that comprises the image.
73066	ImageData *string `locationName:"imageData" type:"string"`
73067
73068	// The ID of the instance.
73069	InstanceId *string `locationName:"instanceId" type:"string"`
73070}
73071
73072// String returns the string representation
73073func (s GetConsoleScreenshotOutput) String() string {
73074	return awsutil.Prettify(s)
73075}
73076
73077// GoString returns the string representation
73078func (s GetConsoleScreenshotOutput) GoString() string {
73079	return s.String()
73080}
73081
73082// SetImageData sets the ImageData field's value.
73083func (s *GetConsoleScreenshotOutput) SetImageData(v string) *GetConsoleScreenshotOutput {
73084	s.ImageData = &v
73085	return s
73086}
73087
73088// SetInstanceId sets the InstanceId field's value.
73089func (s *GetConsoleScreenshotOutput) SetInstanceId(v string) *GetConsoleScreenshotOutput {
73090	s.InstanceId = &v
73091	return s
73092}
73093
73094type GetDefaultCreditSpecificationInput struct {
73095	_ struct{} `type:"structure"`
73096
73097	// Checks whether you have the required permissions for the action, without
73098	// actually making the request, and provides an error response. If you have
73099	// the required permissions, the error response is DryRunOperation. Otherwise,
73100	// it is UnauthorizedOperation.
73101	DryRun *bool `type:"boolean"`
73102
73103	// The instance family.
73104	//
73105	// InstanceFamily is a required field
73106	InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
73107}
73108
73109// String returns the string representation
73110func (s GetDefaultCreditSpecificationInput) String() string {
73111	return awsutil.Prettify(s)
73112}
73113
73114// GoString returns the string representation
73115func (s GetDefaultCreditSpecificationInput) GoString() string {
73116	return s.String()
73117}
73118
73119// Validate inspects the fields of the type to determine if they are valid.
73120func (s *GetDefaultCreditSpecificationInput) Validate() error {
73121	invalidParams := request.ErrInvalidParams{Context: "GetDefaultCreditSpecificationInput"}
73122	if s.InstanceFamily == nil {
73123		invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
73124	}
73125
73126	if invalidParams.Len() > 0 {
73127		return invalidParams
73128	}
73129	return nil
73130}
73131
73132// SetDryRun sets the DryRun field's value.
73133func (s *GetDefaultCreditSpecificationInput) SetDryRun(v bool) *GetDefaultCreditSpecificationInput {
73134	s.DryRun = &v
73135	return s
73136}
73137
73138// SetInstanceFamily sets the InstanceFamily field's value.
73139func (s *GetDefaultCreditSpecificationInput) SetInstanceFamily(v string) *GetDefaultCreditSpecificationInput {
73140	s.InstanceFamily = &v
73141	return s
73142}
73143
73144type GetDefaultCreditSpecificationOutput struct {
73145	_ struct{} `type:"structure"`
73146
73147	// The default credit option for CPU usage of the instance family.
73148	InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
73149}
73150
73151// String returns the string representation
73152func (s GetDefaultCreditSpecificationOutput) String() string {
73153	return awsutil.Prettify(s)
73154}
73155
73156// GoString returns the string representation
73157func (s GetDefaultCreditSpecificationOutput) GoString() string {
73158	return s.String()
73159}
73160
73161// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
73162func (s *GetDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *GetDefaultCreditSpecificationOutput {
73163	s.InstanceFamilyCreditSpecification = v
73164	return s
73165}
73166
73167type GetEbsDefaultKmsKeyIdInput struct {
73168	_ struct{} `type:"structure"`
73169
73170	// Checks whether you have the required permissions for the action, without
73171	// actually making the request, and provides an error response. If you have
73172	// the required permissions, the error response is DryRunOperation. Otherwise,
73173	// it is UnauthorizedOperation.
73174	DryRun *bool `type:"boolean"`
73175}
73176
73177// String returns the string representation
73178func (s GetEbsDefaultKmsKeyIdInput) String() string {
73179	return awsutil.Prettify(s)
73180}
73181
73182// GoString returns the string representation
73183func (s GetEbsDefaultKmsKeyIdInput) GoString() string {
73184	return s.String()
73185}
73186
73187// SetDryRun sets the DryRun field's value.
73188func (s *GetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *GetEbsDefaultKmsKeyIdInput {
73189	s.DryRun = &v
73190	return s
73191}
73192
73193type GetEbsDefaultKmsKeyIdOutput struct {
73194	_ struct{} `type:"structure"`
73195
73196	// The Amazon Resource Name (ARN) of the default CMK for encryption by default.
73197	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
73198}
73199
73200// String returns the string representation
73201func (s GetEbsDefaultKmsKeyIdOutput) String() string {
73202	return awsutil.Prettify(s)
73203}
73204
73205// GoString returns the string representation
73206func (s GetEbsDefaultKmsKeyIdOutput) GoString() string {
73207	return s.String()
73208}
73209
73210// SetKmsKeyId sets the KmsKeyId field's value.
73211func (s *GetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *GetEbsDefaultKmsKeyIdOutput {
73212	s.KmsKeyId = &v
73213	return s
73214}
73215
73216type GetEbsEncryptionByDefaultInput struct {
73217	_ struct{} `type:"structure"`
73218
73219	// Checks whether you have the required permissions for the action, without
73220	// actually making the request, and provides an error response. If you have
73221	// the required permissions, the error response is DryRunOperation. Otherwise,
73222	// it is UnauthorizedOperation.
73223	DryRun *bool `type:"boolean"`
73224}
73225
73226// String returns the string representation
73227func (s GetEbsEncryptionByDefaultInput) String() string {
73228	return awsutil.Prettify(s)
73229}
73230
73231// GoString returns the string representation
73232func (s GetEbsEncryptionByDefaultInput) GoString() string {
73233	return s.String()
73234}
73235
73236// SetDryRun sets the DryRun field's value.
73237func (s *GetEbsEncryptionByDefaultInput) SetDryRun(v bool) *GetEbsEncryptionByDefaultInput {
73238	s.DryRun = &v
73239	return s
73240}
73241
73242type GetEbsEncryptionByDefaultOutput struct {
73243	_ struct{} `type:"structure"`
73244
73245	// Indicates whether encryption by default is enabled.
73246	EbsEncryptionByDefault *bool `locationName:"ebsEncryptionByDefault" type:"boolean"`
73247}
73248
73249// String returns the string representation
73250func (s GetEbsEncryptionByDefaultOutput) String() string {
73251	return awsutil.Prettify(s)
73252}
73253
73254// GoString returns the string representation
73255func (s GetEbsEncryptionByDefaultOutput) GoString() string {
73256	return s.String()
73257}
73258
73259// SetEbsEncryptionByDefault sets the EbsEncryptionByDefault field's value.
73260func (s *GetEbsEncryptionByDefaultOutput) SetEbsEncryptionByDefault(v bool) *GetEbsEncryptionByDefaultOutput {
73261	s.EbsEncryptionByDefault = &v
73262	return s
73263}
73264
73265type GetHostReservationPurchasePreviewInput struct {
73266	_ struct{} `type:"structure"`
73267
73268	// The IDs of the Dedicated Hosts with which the reservation is associated.
73269	//
73270	// HostIdSet is a required field
73271	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
73272
73273	// The offering ID of the reservation.
73274	//
73275	// OfferingId is a required field
73276	OfferingId *string `type:"string" required:"true"`
73277}
73278
73279// String returns the string representation
73280func (s GetHostReservationPurchasePreviewInput) String() string {
73281	return awsutil.Prettify(s)
73282}
73283
73284// GoString returns the string representation
73285func (s GetHostReservationPurchasePreviewInput) GoString() string {
73286	return s.String()
73287}
73288
73289// Validate inspects the fields of the type to determine if they are valid.
73290func (s *GetHostReservationPurchasePreviewInput) Validate() error {
73291	invalidParams := request.ErrInvalidParams{Context: "GetHostReservationPurchasePreviewInput"}
73292	if s.HostIdSet == nil {
73293		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
73294	}
73295	if s.OfferingId == nil {
73296		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
73297	}
73298
73299	if invalidParams.Len() > 0 {
73300		return invalidParams
73301	}
73302	return nil
73303}
73304
73305// SetHostIdSet sets the HostIdSet field's value.
73306func (s *GetHostReservationPurchasePreviewInput) SetHostIdSet(v []*string) *GetHostReservationPurchasePreviewInput {
73307	s.HostIdSet = v
73308	return s
73309}
73310
73311// SetOfferingId sets the OfferingId field's value.
73312func (s *GetHostReservationPurchasePreviewInput) SetOfferingId(v string) *GetHostReservationPurchasePreviewInput {
73313	s.OfferingId = &v
73314	return s
73315}
73316
73317type GetHostReservationPurchasePreviewOutput struct {
73318	_ struct{} `type:"structure"`
73319
73320	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
73321	// are specified. At this time, the only supported currency is USD.
73322	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
73323
73324	// The purchase information of the Dedicated Host reservation and the Dedicated
73325	// Hosts associated with it.
73326	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
73327
73328	// The potential total hourly price of the reservation per hour.
73329	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
73330
73331	// The potential total upfront price. This is billed immediately.
73332	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
73333}
73334
73335// String returns the string representation
73336func (s GetHostReservationPurchasePreviewOutput) String() string {
73337	return awsutil.Prettify(s)
73338}
73339
73340// GoString returns the string representation
73341func (s GetHostReservationPurchasePreviewOutput) GoString() string {
73342	return s.String()
73343}
73344
73345// SetCurrencyCode sets the CurrencyCode field's value.
73346func (s *GetHostReservationPurchasePreviewOutput) SetCurrencyCode(v string) *GetHostReservationPurchasePreviewOutput {
73347	s.CurrencyCode = &v
73348	return s
73349}
73350
73351// SetPurchase sets the Purchase field's value.
73352func (s *GetHostReservationPurchasePreviewOutput) SetPurchase(v []*Purchase) *GetHostReservationPurchasePreviewOutput {
73353	s.Purchase = v
73354	return s
73355}
73356
73357// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
73358func (s *GetHostReservationPurchasePreviewOutput) SetTotalHourlyPrice(v string) *GetHostReservationPurchasePreviewOutput {
73359	s.TotalHourlyPrice = &v
73360	return s
73361}
73362
73363// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
73364func (s *GetHostReservationPurchasePreviewOutput) SetTotalUpfrontPrice(v string) *GetHostReservationPurchasePreviewOutput {
73365	s.TotalUpfrontPrice = &v
73366	return s
73367}
73368
73369type GetLaunchTemplateDataInput struct {
73370	_ struct{} `type:"structure"`
73371
73372	// Checks whether you have the required permissions for the action, without
73373	// actually making the request, and provides an error response. If you have
73374	// the required permissions, the error response is DryRunOperation. Otherwise,
73375	// it is UnauthorizedOperation.
73376	DryRun *bool `type:"boolean"`
73377
73378	// The ID of the instance.
73379	//
73380	// InstanceId is a required field
73381	InstanceId *string `type:"string" required:"true"`
73382}
73383
73384// String returns the string representation
73385func (s GetLaunchTemplateDataInput) String() string {
73386	return awsutil.Prettify(s)
73387}
73388
73389// GoString returns the string representation
73390func (s GetLaunchTemplateDataInput) GoString() string {
73391	return s.String()
73392}
73393
73394// Validate inspects the fields of the type to determine if they are valid.
73395func (s *GetLaunchTemplateDataInput) Validate() error {
73396	invalidParams := request.ErrInvalidParams{Context: "GetLaunchTemplateDataInput"}
73397	if s.InstanceId == nil {
73398		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
73399	}
73400
73401	if invalidParams.Len() > 0 {
73402		return invalidParams
73403	}
73404	return nil
73405}
73406
73407// SetDryRun sets the DryRun field's value.
73408func (s *GetLaunchTemplateDataInput) SetDryRun(v bool) *GetLaunchTemplateDataInput {
73409	s.DryRun = &v
73410	return s
73411}
73412
73413// SetInstanceId sets the InstanceId field's value.
73414func (s *GetLaunchTemplateDataInput) SetInstanceId(v string) *GetLaunchTemplateDataInput {
73415	s.InstanceId = &v
73416	return s
73417}
73418
73419type GetLaunchTemplateDataOutput struct {
73420	_ struct{} `type:"structure"`
73421
73422	// The instance data.
73423	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
73424}
73425
73426// String returns the string representation
73427func (s GetLaunchTemplateDataOutput) String() string {
73428	return awsutil.Prettify(s)
73429}
73430
73431// GoString returns the string representation
73432func (s GetLaunchTemplateDataOutput) GoString() string {
73433	return s.String()
73434}
73435
73436// SetLaunchTemplateData sets the LaunchTemplateData field's value.
73437func (s *GetLaunchTemplateDataOutput) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *GetLaunchTemplateDataOutput {
73438	s.LaunchTemplateData = v
73439	return s
73440}
73441
73442type GetPasswordDataInput struct {
73443	_ struct{} `type:"structure"`
73444
73445	// Checks whether you have the required permissions for the action, without
73446	// actually making the request, and provides an error response. If you have
73447	// the required permissions, the error response is DryRunOperation. Otherwise,
73448	// it is UnauthorizedOperation.
73449	DryRun *bool `locationName:"dryRun" type:"boolean"`
73450
73451	// The ID of the Windows instance.
73452	//
73453	// InstanceId is a required field
73454	InstanceId *string `type:"string" required:"true"`
73455}
73456
73457// String returns the string representation
73458func (s GetPasswordDataInput) String() string {
73459	return awsutil.Prettify(s)
73460}
73461
73462// GoString returns the string representation
73463func (s GetPasswordDataInput) GoString() string {
73464	return s.String()
73465}
73466
73467// Validate inspects the fields of the type to determine if they are valid.
73468func (s *GetPasswordDataInput) Validate() error {
73469	invalidParams := request.ErrInvalidParams{Context: "GetPasswordDataInput"}
73470	if s.InstanceId == nil {
73471		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
73472	}
73473
73474	if invalidParams.Len() > 0 {
73475		return invalidParams
73476	}
73477	return nil
73478}
73479
73480// SetDryRun sets the DryRun field's value.
73481func (s *GetPasswordDataInput) SetDryRun(v bool) *GetPasswordDataInput {
73482	s.DryRun = &v
73483	return s
73484}
73485
73486// SetInstanceId sets the InstanceId field's value.
73487func (s *GetPasswordDataInput) SetInstanceId(v string) *GetPasswordDataInput {
73488	s.InstanceId = &v
73489	return s
73490}
73491
73492type GetPasswordDataOutput struct {
73493	_ struct{} `type:"structure"`
73494
73495	// The ID of the Windows instance.
73496	InstanceId *string `locationName:"instanceId" type:"string"`
73497
73498	// The password of the instance. Returns an empty string if the password is
73499	// not available.
73500	PasswordData *string `locationName:"passwordData" type:"string"`
73501
73502	// The time the data was last updated.
73503	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
73504}
73505
73506// String returns the string representation
73507func (s GetPasswordDataOutput) String() string {
73508	return awsutil.Prettify(s)
73509}
73510
73511// GoString returns the string representation
73512func (s GetPasswordDataOutput) GoString() string {
73513	return s.String()
73514}
73515
73516// SetInstanceId sets the InstanceId field's value.
73517func (s *GetPasswordDataOutput) SetInstanceId(v string) *GetPasswordDataOutput {
73518	s.InstanceId = &v
73519	return s
73520}
73521
73522// SetPasswordData sets the PasswordData field's value.
73523func (s *GetPasswordDataOutput) SetPasswordData(v string) *GetPasswordDataOutput {
73524	s.PasswordData = &v
73525	return s
73526}
73527
73528// SetTimestamp sets the Timestamp field's value.
73529func (s *GetPasswordDataOutput) SetTimestamp(v time.Time) *GetPasswordDataOutput {
73530	s.Timestamp = &v
73531	return s
73532}
73533
73534// Contains the parameters for GetReservedInstanceExchangeQuote.
73535type GetReservedInstancesExchangeQuoteInput struct {
73536	_ struct{} `type:"structure"`
73537
73538	// Checks whether you have the required permissions for the action, without
73539	// actually making the request, and provides an error response. If you have
73540	// the required permissions, the error response is DryRunOperation. Otherwise,
73541	// it is UnauthorizedOperation.
73542	DryRun *bool `type:"boolean"`
73543
73544	// The IDs of the Convertible Reserved Instances to exchange.
73545	//
73546	// ReservedInstanceIds is a required field
73547	ReservedInstanceIds []*string `locationName:"ReservedInstanceId" locationNameList:"ReservedInstanceId" type:"list" required:"true"`
73548
73549	// The configuration of the target Convertible Reserved Instance to exchange
73550	// for your current Convertible Reserved Instances.
73551	TargetConfigurations []*TargetConfigurationRequest `locationName:"TargetConfiguration" locationNameList:"TargetConfigurationRequest" type:"list"`
73552}
73553
73554// String returns the string representation
73555func (s GetReservedInstancesExchangeQuoteInput) String() string {
73556	return awsutil.Prettify(s)
73557}
73558
73559// GoString returns the string representation
73560func (s GetReservedInstancesExchangeQuoteInput) GoString() string {
73561	return s.String()
73562}
73563
73564// Validate inspects the fields of the type to determine if they are valid.
73565func (s *GetReservedInstancesExchangeQuoteInput) Validate() error {
73566	invalidParams := request.ErrInvalidParams{Context: "GetReservedInstancesExchangeQuoteInput"}
73567	if s.ReservedInstanceIds == nil {
73568		invalidParams.Add(request.NewErrParamRequired("ReservedInstanceIds"))
73569	}
73570	if s.TargetConfigurations != nil {
73571		for i, v := range s.TargetConfigurations {
73572			if v == nil {
73573				continue
73574			}
73575			if err := v.Validate(); err != nil {
73576				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TargetConfigurations", i), err.(request.ErrInvalidParams))
73577			}
73578		}
73579	}
73580
73581	if invalidParams.Len() > 0 {
73582		return invalidParams
73583	}
73584	return nil
73585}
73586
73587// SetDryRun sets the DryRun field's value.
73588func (s *GetReservedInstancesExchangeQuoteInput) SetDryRun(v bool) *GetReservedInstancesExchangeQuoteInput {
73589	s.DryRun = &v
73590	return s
73591}
73592
73593// SetReservedInstanceIds sets the ReservedInstanceIds field's value.
73594func (s *GetReservedInstancesExchangeQuoteInput) SetReservedInstanceIds(v []*string) *GetReservedInstancesExchangeQuoteInput {
73595	s.ReservedInstanceIds = v
73596	return s
73597}
73598
73599// SetTargetConfigurations sets the TargetConfigurations field's value.
73600func (s *GetReservedInstancesExchangeQuoteInput) SetTargetConfigurations(v []*TargetConfigurationRequest) *GetReservedInstancesExchangeQuoteInput {
73601	s.TargetConfigurations = v
73602	return s
73603}
73604
73605// Contains the output of GetReservedInstancesExchangeQuote.
73606type GetReservedInstancesExchangeQuoteOutput struct {
73607	_ struct{} `type:"structure"`
73608
73609	// The currency of the transaction.
73610	CurrencyCode *string `locationName:"currencyCode" type:"string"`
73611
73612	// If true, the exchange is valid. If false, the exchange cannot be completed.
73613	IsValidExchange *bool `locationName:"isValidExchange" type:"boolean"`
73614
73615	// The new end date of the reservation term.
73616	OutputReservedInstancesWillExpireAt *time.Time `locationName:"outputReservedInstancesWillExpireAt" type:"timestamp"`
73617
73618	// The total true upfront charge for the exchange.
73619	PaymentDue *string `locationName:"paymentDue" type:"string"`
73620
73621	// The cost associated with the Reserved Instance.
73622	ReservedInstanceValueRollup *ReservationValue `locationName:"reservedInstanceValueRollup" type:"structure"`
73623
73624	// The configuration of your Convertible Reserved Instances.
73625	ReservedInstanceValueSet []*ReservedInstanceReservationValue `locationName:"reservedInstanceValueSet" locationNameList:"item" type:"list"`
73626
73627	// The cost associated with the Reserved Instance.
73628	TargetConfigurationValueRollup *ReservationValue `locationName:"targetConfigurationValueRollup" type:"structure"`
73629
73630	// The values of the target Convertible Reserved Instances.
73631	TargetConfigurationValueSet []*TargetReservationValue `locationName:"targetConfigurationValueSet" locationNameList:"item" type:"list"`
73632
73633	// Describes the reason why the exchange cannot be completed.
73634	ValidationFailureReason *string `locationName:"validationFailureReason" type:"string"`
73635}
73636
73637// String returns the string representation
73638func (s GetReservedInstancesExchangeQuoteOutput) String() string {
73639	return awsutil.Prettify(s)
73640}
73641
73642// GoString returns the string representation
73643func (s GetReservedInstancesExchangeQuoteOutput) GoString() string {
73644	return s.String()
73645}
73646
73647// SetCurrencyCode sets the CurrencyCode field's value.
73648func (s *GetReservedInstancesExchangeQuoteOutput) SetCurrencyCode(v string) *GetReservedInstancesExchangeQuoteOutput {
73649	s.CurrencyCode = &v
73650	return s
73651}
73652
73653// SetIsValidExchange sets the IsValidExchange field's value.
73654func (s *GetReservedInstancesExchangeQuoteOutput) SetIsValidExchange(v bool) *GetReservedInstancesExchangeQuoteOutput {
73655	s.IsValidExchange = &v
73656	return s
73657}
73658
73659// SetOutputReservedInstancesWillExpireAt sets the OutputReservedInstancesWillExpireAt field's value.
73660func (s *GetReservedInstancesExchangeQuoteOutput) SetOutputReservedInstancesWillExpireAt(v time.Time) *GetReservedInstancesExchangeQuoteOutput {
73661	s.OutputReservedInstancesWillExpireAt = &v
73662	return s
73663}
73664
73665// SetPaymentDue sets the PaymentDue field's value.
73666func (s *GetReservedInstancesExchangeQuoteOutput) SetPaymentDue(v string) *GetReservedInstancesExchangeQuoteOutput {
73667	s.PaymentDue = &v
73668	return s
73669}
73670
73671// SetReservedInstanceValueRollup sets the ReservedInstanceValueRollup field's value.
73672func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
73673	s.ReservedInstanceValueRollup = v
73674	return s
73675}
73676
73677// SetReservedInstanceValueSet sets the ReservedInstanceValueSet field's value.
73678func (s *GetReservedInstancesExchangeQuoteOutput) SetReservedInstanceValueSet(v []*ReservedInstanceReservationValue) *GetReservedInstancesExchangeQuoteOutput {
73679	s.ReservedInstanceValueSet = v
73680	return s
73681}
73682
73683// SetTargetConfigurationValueRollup sets the TargetConfigurationValueRollup field's value.
73684func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueRollup(v *ReservationValue) *GetReservedInstancesExchangeQuoteOutput {
73685	s.TargetConfigurationValueRollup = v
73686	return s
73687}
73688
73689// SetTargetConfigurationValueSet sets the TargetConfigurationValueSet field's value.
73690func (s *GetReservedInstancesExchangeQuoteOutput) SetTargetConfigurationValueSet(v []*TargetReservationValue) *GetReservedInstancesExchangeQuoteOutput {
73691	s.TargetConfigurationValueSet = v
73692	return s
73693}
73694
73695// SetValidationFailureReason sets the ValidationFailureReason field's value.
73696func (s *GetReservedInstancesExchangeQuoteOutput) SetValidationFailureReason(v string) *GetReservedInstancesExchangeQuoteOutput {
73697	s.ValidationFailureReason = &v
73698	return s
73699}
73700
73701type GetTransitGatewayAttachmentPropagationsInput struct {
73702	_ struct{} `type:"structure"`
73703
73704	// Checks whether you have the required permissions for the action, without
73705	// actually making the request, and provides an error response. If you have
73706	// the required permissions, the error response is DryRunOperation. Otherwise,
73707	// it is UnauthorizedOperation.
73708	DryRun *bool `type:"boolean"`
73709
73710	// One or more filters. The possible values are:
73711	//
73712	//    * transit-gateway-route-table-id - The ID of the transit gateway route
73713	//    table.
73714	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73715
73716	// The maximum number of results to return with a single call. To retrieve the
73717	// remaining results, make another call with the returned nextToken value.
73718	MaxResults *int64 `min:"5" type:"integer"`
73719
73720	// The token for the next page of results.
73721	NextToken *string `type:"string"`
73722
73723	// The ID of the attachment.
73724	//
73725	// TransitGatewayAttachmentId is a required field
73726	TransitGatewayAttachmentId *string `type:"string" required:"true"`
73727}
73728
73729// String returns the string representation
73730func (s GetTransitGatewayAttachmentPropagationsInput) String() string {
73731	return awsutil.Prettify(s)
73732}
73733
73734// GoString returns the string representation
73735func (s GetTransitGatewayAttachmentPropagationsInput) GoString() string {
73736	return s.String()
73737}
73738
73739// Validate inspects the fields of the type to determine if they are valid.
73740func (s *GetTransitGatewayAttachmentPropagationsInput) Validate() error {
73741	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayAttachmentPropagationsInput"}
73742	if s.MaxResults != nil && *s.MaxResults < 5 {
73743		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
73744	}
73745	if s.TransitGatewayAttachmentId == nil {
73746		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
73747	}
73748
73749	if invalidParams.Len() > 0 {
73750		return invalidParams
73751	}
73752	return nil
73753}
73754
73755// SetDryRun sets the DryRun field's value.
73756func (s *GetTransitGatewayAttachmentPropagationsInput) SetDryRun(v bool) *GetTransitGatewayAttachmentPropagationsInput {
73757	s.DryRun = &v
73758	return s
73759}
73760
73761// SetFilters sets the Filters field's value.
73762func (s *GetTransitGatewayAttachmentPropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayAttachmentPropagationsInput {
73763	s.Filters = v
73764	return s
73765}
73766
73767// SetMaxResults sets the MaxResults field's value.
73768func (s *GetTransitGatewayAttachmentPropagationsInput) SetMaxResults(v int64) *GetTransitGatewayAttachmentPropagationsInput {
73769	s.MaxResults = &v
73770	return s
73771}
73772
73773// SetNextToken sets the NextToken field's value.
73774func (s *GetTransitGatewayAttachmentPropagationsInput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsInput {
73775	s.NextToken = &v
73776	return s
73777}
73778
73779// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
73780func (s *GetTransitGatewayAttachmentPropagationsInput) SetTransitGatewayAttachmentId(v string) *GetTransitGatewayAttachmentPropagationsInput {
73781	s.TransitGatewayAttachmentId = &v
73782	return s
73783}
73784
73785type GetTransitGatewayAttachmentPropagationsOutput struct {
73786	_ struct{} `type:"structure"`
73787
73788	// The token to use to retrieve the next page of results. This value is null
73789	// when there are no more results to return.
73790	NextToken *string `locationName:"nextToken" type:"string"`
73791
73792	// Information about the propagation route tables.
73793	TransitGatewayAttachmentPropagations []*TransitGatewayAttachmentPropagation `locationName:"transitGatewayAttachmentPropagations" locationNameList:"item" type:"list"`
73794}
73795
73796// String returns the string representation
73797func (s GetTransitGatewayAttachmentPropagationsOutput) String() string {
73798	return awsutil.Prettify(s)
73799}
73800
73801// GoString returns the string representation
73802func (s GetTransitGatewayAttachmentPropagationsOutput) GoString() string {
73803	return s.String()
73804}
73805
73806// SetNextToken sets the NextToken field's value.
73807func (s *GetTransitGatewayAttachmentPropagationsOutput) SetNextToken(v string) *GetTransitGatewayAttachmentPropagationsOutput {
73808	s.NextToken = &v
73809	return s
73810}
73811
73812// SetTransitGatewayAttachmentPropagations sets the TransitGatewayAttachmentPropagations field's value.
73813func (s *GetTransitGatewayAttachmentPropagationsOutput) SetTransitGatewayAttachmentPropagations(v []*TransitGatewayAttachmentPropagation) *GetTransitGatewayAttachmentPropagationsOutput {
73814	s.TransitGatewayAttachmentPropagations = v
73815	return s
73816}
73817
73818type GetTransitGatewayMulticastDomainAssociationsInput struct {
73819	_ struct{} `type:"structure"`
73820
73821	// Checks whether you have the required permissions for the action, without
73822	// actually making the request, and provides an error response. If you have
73823	// the required permissions, the error response is DryRunOperation. Otherwise,
73824	// it is UnauthorizedOperation.
73825	DryRun *bool `type:"boolean"`
73826
73827	// One or more filters. The possible values are:
73828	//
73829	//    * resource-id - The ID of the resource.
73830	//
73831	//    * resource-type - The type of resource. The valid value is: vpc.
73832	//
73833	//    * state - The state of the subnet association. Valid values are associated
73834	//    | associating | disassociated | disassociating.
73835	//
73836	//    * subnet-id - The ID of the subnet.
73837	//
73838	//    * transit-gateway-attachment-id - The id of the transit gateway attachment.
73839	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73840
73841	// The maximum number of results to return with a single call. To retrieve the
73842	// remaining results, make another call with the returned nextToken value.
73843	MaxResults *int64 `min:"5" type:"integer"`
73844
73845	// The token for the next page of results.
73846	NextToken *string `type:"string"`
73847
73848	// The ID of the transit gateway multicast domain.
73849	TransitGatewayMulticastDomainId *string `type:"string"`
73850}
73851
73852// String returns the string representation
73853func (s GetTransitGatewayMulticastDomainAssociationsInput) String() string {
73854	return awsutil.Prettify(s)
73855}
73856
73857// GoString returns the string representation
73858func (s GetTransitGatewayMulticastDomainAssociationsInput) GoString() string {
73859	return s.String()
73860}
73861
73862// Validate inspects the fields of the type to determine if they are valid.
73863func (s *GetTransitGatewayMulticastDomainAssociationsInput) Validate() error {
73864	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayMulticastDomainAssociationsInput"}
73865	if s.MaxResults != nil && *s.MaxResults < 5 {
73866		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
73867	}
73868
73869	if invalidParams.Len() > 0 {
73870		return invalidParams
73871	}
73872	return nil
73873}
73874
73875// SetDryRun sets the DryRun field's value.
73876func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetDryRun(v bool) *GetTransitGatewayMulticastDomainAssociationsInput {
73877	s.DryRun = &v
73878	return s
73879}
73880
73881// SetFilters sets the Filters field's value.
73882func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayMulticastDomainAssociationsInput {
73883	s.Filters = v
73884	return s
73885}
73886
73887// SetMaxResults sets the MaxResults field's value.
73888func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayMulticastDomainAssociationsInput {
73889	s.MaxResults = &v
73890	return s
73891}
73892
73893// SetNextToken sets the NextToken field's value.
73894func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
73895	s.NextToken = &v
73896	return s
73897}
73898
73899// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
73900func (s *GetTransitGatewayMulticastDomainAssociationsInput) SetTransitGatewayMulticastDomainId(v string) *GetTransitGatewayMulticastDomainAssociationsInput {
73901	s.TransitGatewayMulticastDomainId = &v
73902	return s
73903}
73904
73905type GetTransitGatewayMulticastDomainAssociationsOutput struct {
73906	_ struct{} `type:"structure"`
73907
73908	// Information about the multicast domain associations.
73909	MulticastDomainAssociations []*TransitGatewayMulticastDomainAssociation `locationName:"multicastDomainAssociations" locationNameList:"item" type:"list"`
73910
73911	// The token to use to retrieve the next page of results. This value is null
73912	// when there are no more results to return.
73913	NextToken *string `locationName:"nextToken" type:"string"`
73914}
73915
73916// String returns the string representation
73917func (s GetTransitGatewayMulticastDomainAssociationsOutput) String() string {
73918	return awsutil.Prettify(s)
73919}
73920
73921// GoString returns the string representation
73922func (s GetTransitGatewayMulticastDomainAssociationsOutput) GoString() string {
73923	return s.String()
73924}
73925
73926// SetMulticastDomainAssociations sets the MulticastDomainAssociations field's value.
73927func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetMulticastDomainAssociations(v []*TransitGatewayMulticastDomainAssociation) *GetTransitGatewayMulticastDomainAssociationsOutput {
73928	s.MulticastDomainAssociations = v
73929	return s
73930}
73931
73932// SetNextToken sets the NextToken field's value.
73933func (s *GetTransitGatewayMulticastDomainAssociationsOutput) SetNextToken(v string) *GetTransitGatewayMulticastDomainAssociationsOutput {
73934	s.NextToken = &v
73935	return s
73936}
73937
73938type GetTransitGatewayRouteTableAssociationsInput struct {
73939	_ struct{} `type:"structure"`
73940
73941	// Checks whether you have the required permissions for the action, without
73942	// actually making the request, and provides an error response. If you have
73943	// the required permissions, the error response is DryRunOperation. Otherwise,
73944	// it is UnauthorizedOperation.
73945	DryRun *bool `type:"boolean"`
73946
73947	// One or more filters. The possible values are:
73948	//
73949	//    * resource-id - The ID of the resource.
73950	//
73951	//    * resource-type - The resource type (vpc | vpn).
73952	//
73953	//    * transit-gateway-attachment-id - The ID of the attachment.
73954	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
73955
73956	// The maximum number of results to return with a single call. To retrieve the
73957	// remaining results, make another call with the returned nextToken value.
73958	MaxResults *int64 `min:"5" type:"integer"`
73959
73960	// The token for the next page of results.
73961	NextToken *string `type:"string"`
73962
73963	// The ID of the transit gateway route table.
73964	//
73965	// TransitGatewayRouteTableId is a required field
73966	TransitGatewayRouteTableId *string `type:"string" required:"true"`
73967}
73968
73969// String returns the string representation
73970func (s GetTransitGatewayRouteTableAssociationsInput) String() string {
73971	return awsutil.Prettify(s)
73972}
73973
73974// GoString returns the string representation
73975func (s GetTransitGatewayRouteTableAssociationsInput) GoString() string {
73976	return s.String()
73977}
73978
73979// Validate inspects the fields of the type to determine if they are valid.
73980func (s *GetTransitGatewayRouteTableAssociationsInput) Validate() error {
73981	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTableAssociationsInput"}
73982	if s.MaxResults != nil && *s.MaxResults < 5 {
73983		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
73984	}
73985	if s.TransitGatewayRouteTableId == nil {
73986		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
73987	}
73988
73989	if invalidParams.Len() > 0 {
73990		return invalidParams
73991	}
73992	return nil
73993}
73994
73995// SetDryRun sets the DryRun field's value.
73996func (s *GetTransitGatewayRouteTableAssociationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTableAssociationsInput {
73997	s.DryRun = &v
73998	return s
73999}
74000
74001// SetFilters sets the Filters field's value.
74002func (s *GetTransitGatewayRouteTableAssociationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTableAssociationsInput {
74003	s.Filters = v
74004	return s
74005}
74006
74007// SetMaxResults sets the MaxResults field's value.
74008func (s *GetTransitGatewayRouteTableAssociationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTableAssociationsInput {
74009	s.MaxResults = &v
74010	return s
74011}
74012
74013// SetNextToken sets the NextToken field's value.
74014func (s *GetTransitGatewayRouteTableAssociationsInput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsInput {
74015	s.NextToken = &v
74016	return s
74017}
74018
74019// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
74020func (s *GetTransitGatewayRouteTableAssociationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTableAssociationsInput {
74021	s.TransitGatewayRouteTableId = &v
74022	return s
74023}
74024
74025type GetTransitGatewayRouteTableAssociationsOutput struct {
74026	_ struct{} `type:"structure"`
74027
74028	// Information about the associations.
74029	Associations []*TransitGatewayRouteTableAssociation `locationName:"associations" locationNameList:"item" type:"list"`
74030
74031	// The token to use to retrieve the next page of results. This value is null
74032	// when there are no more results to return.
74033	NextToken *string `locationName:"nextToken" type:"string"`
74034}
74035
74036// String returns the string representation
74037func (s GetTransitGatewayRouteTableAssociationsOutput) String() string {
74038	return awsutil.Prettify(s)
74039}
74040
74041// GoString returns the string representation
74042func (s GetTransitGatewayRouteTableAssociationsOutput) GoString() string {
74043	return s.String()
74044}
74045
74046// SetAssociations sets the Associations field's value.
74047func (s *GetTransitGatewayRouteTableAssociationsOutput) SetAssociations(v []*TransitGatewayRouteTableAssociation) *GetTransitGatewayRouteTableAssociationsOutput {
74048	s.Associations = v
74049	return s
74050}
74051
74052// SetNextToken sets the NextToken field's value.
74053func (s *GetTransitGatewayRouteTableAssociationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTableAssociationsOutput {
74054	s.NextToken = &v
74055	return s
74056}
74057
74058type GetTransitGatewayRouteTablePropagationsInput struct {
74059	_ struct{} `type:"structure"`
74060
74061	// Checks whether you have the required permissions for the action, without
74062	// actually making the request, and provides an error response. If you have
74063	// the required permissions, the error response is DryRunOperation. Otherwise,
74064	// it is UnauthorizedOperation.
74065	DryRun *bool `type:"boolean"`
74066
74067	// One or more filters. The possible values are:
74068	//
74069	//    * resource-id - The ID of the resource.
74070	//
74071	//    * resource-type - The resource type (vpc | vpn).
74072	//
74073	//    * transit-gateway-attachment-id - The ID of the attachment.
74074	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
74075
74076	// The maximum number of results to return with a single call. To retrieve the
74077	// remaining results, make another call with the returned nextToken value.
74078	MaxResults *int64 `min:"5" type:"integer"`
74079
74080	// The token for the next page of results.
74081	NextToken *string `type:"string"`
74082
74083	// The ID of the transit gateway route table.
74084	//
74085	// TransitGatewayRouteTableId is a required field
74086	TransitGatewayRouteTableId *string `type:"string" required:"true"`
74087}
74088
74089// String returns the string representation
74090func (s GetTransitGatewayRouteTablePropagationsInput) String() string {
74091	return awsutil.Prettify(s)
74092}
74093
74094// GoString returns the string representation
74095func (s GetTransitGatewayRouteTablePropagationsInput) GoString() string {
74096	return s.String()
74097}
74098
74099// Validate inspects the fields of the type to determine if they are valid.
74100func (s *GetTransitGatewayRouteTablePropagationsInput) Validate() error {
74101	invalidParams := request.ErrInvalidParams{Context: "GetTransitGatewayRouteTablePropagationsInput"}
74102	if s.MaxResults != nil && *s.MaxResults < 5 {
74103		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
74104	}
74105	if s.TransitGatewayRouteTableId == nil {
74106		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
74107	}
74108
74109	if invalidParams.Len() > 0 {
74110		return invalidParams
74111	}
74112	return nil
74113}
74114
74115// SetDryRun sets the DryRun field's value.
74116func (s *GetTransitGatewayRouteTablePropagationsInput) SetDryRun(v bool) *GetTransitGatewayRouteTablePropagationsInput {
74117	s.DryRun = &v
74118	return s
74119}
74120
74121// SetFilters sets the Filters field's value.
74122func (s *GetTransitGatewayRouteTablePropagationsInput) SetFilters(v []*Filter) *GetTransitGatewayRouteTablePropagationsInput {
74123	s.Filters = v
74124	return s
74125}
74126
74127// SetMaxResults sets the MaxResults field's value.
74128func (s *GetTransitGatewayRouteTablePropagationsInput) SetMaxResults(v int64) *GetTransitGatewayRouteTablePropagationsInput {
74129	s.MaxResults = &v
74130	return s
74131}
74132
74133// SetNextToken sets the NextToken field's value.
74134func (s *GetTransitGatewayRouteTablePropagationsInput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsInput {
74135	s.NextToken = &v
74136	return s
74137}
74138
74139// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
74140func (s *GetTransitGatewayRouteTablePropagationsInput) SetTransitGatewayRouteTableId(v string) *GetTransitGatewayRouteTablePropagationsInput {
74141	s.TransitGatewayRouteTableId = &v
74142	return s
74143}
74144
74145type GetTransitGatewayRouteTablePropagationsOutput struct {
74146	_ struct{} `type:"structure"`
74147
74148	// The token to use to retrieve the next page of results. This value is null
74149	// when there are no more results to return.
74150	NextToken *string `locationName:"nextToken" type:"string"`
74151
74152	// Information about the route table propagations.
74153	TransitGatewayRouteTablePropagations []*TransitGatewayRouteTablePropagation `locationName:"transitGatewayRouteTablePropagations" locationNameList:"item" type:"list"`
74154}
74155
74156// String returns the string representation
74157func (s GetTransitGatewayRouteTablePropagationsOutput) String() string {
74158	return awsutil.Prettify(s)
74159}
74160
74161// GoString returns the string representation
74162func (s GetTransitGatewayRouteTablePropagationsOutput) GoString() string {
74163	return s.String()
74164}
74165
74166// SetNextToken sets the NextToken field's value.
74167func (s *GetTransitGatewayRouteTablePropagationsOutput) SetNextToken(v string) *GetTransitGatewayRouteTablePropagationsOutput {
74168	s.NextToken = &v
74169	return s
74170}
74171
74172// SetTransitGatewayRouteTablePropagations sets the TransitGatewayRouteTablePropagations field's value.
74173func (s *GetTransitGatewayRouteTablePropagationsOutput) SetTransitGatewayRouteTablePropagations(v []*TransitGatewayRouteTablePropagation) *GetTransitGatewayRouteTablePropagationsOutput {
74174	s.TransitGatewayRouteTablePropagations = v
74175	return s
74176}
74177
74178// Describes the GPU accelerators for the instance type.
74179type GpuDeviceInfo struct {
74180	_ struct{} `type:"structure"`
74181
74182	// The number of GPUs for the instance type.
74183	Count *int64 `locationName:"count" type:"integer"`
74184
74185	// The manufacturer of the GPU accelerator.
74186	Manufacturer *string `locationName:"manufacturer" type:"string"`
74187
74188	// Describes the memory available to the GPU accelerator.
74189	MemoryInfo *GpuDeviceMemoryInfo `locationName:"memoryInfo" type:"structure"`
74190
74191	// The name of the GPU accelerator.
74192	Name *string `locationName:"name" type:"string"`
74193}
74194
74195// String returns the string representation
74196func (s GpuDeviceInfo) String() string {
74197	return awsutil.Prettify(s)
74198}
74199
74200// GoString returns the string representation
74201func (s GpuDeviceInfo) GoString() string {
74202	return s.String()
74203}
74204
74205// SetCount sets the Count field's value.
74206func (s *GpuDeviceInfo) SetCount(v int64) *GpuDeviceInfo {
74207	s.Count = &v
74208	return s
74209}
74210
74211// SetManufacturer sets the Manufacturer field's value.
74212func (s *GpuDeviceInfo) SetManufacturer(v string) *GpuDeviceInfo {
74213	s.Manufacturer = &v
74214	return s
74215}
74216
74217// SetMemoryInfo sets the MemoryInfo field's value.
74218func (s *GpuDeviceInfo) SetMemoryInfo(v *GpuDeviceMemoryInfo) *GpuDeviceInfo {
74219	s.MemoryInfo = v
74220	return s
74221}
74222
74223// SetName sets the Name field's value.
74224func (s *GpuDeviceInfo) SetName(v string) *GpuDeviceInfo {
74225	s.Name = &v
74226	return s
74227}
74228
74229// Describes the memory available to the GPU accelerator.
74230type GpuDeviceMemoryInfo struct {
74231	_ struct{} `type:"structure"`
74232
74233	// The size (in MiB) for the memory available to the GPU accelerator.
74234	SizeInMiB *int64 `locationName:"sizeInMiB" type:"integer"`
74235}
74236
74237// String returns the string representation
74238func (s GpuDeviceMemoryInfo) String() string {
74239	return awsutil.Prettify(s)
74240}
74241
74242// GoString returns the string representation
74243func (s GpuDeviceMemoryInfo) GoString() string {
74244	return s.String()
74245}
74246
74247// SetSizeInMiB sets the SizeInMiB field's value.
74248func (s *GpuDeviceMemoryInfo) SetSizeInMiB(v int64) *GpuDeviceMemoryInfo {
74249	s.SizeInMiB = &v
74250	return s
74251}
74252
74253// Describes the GPU accelerators for the instance type.
74254type GpuInfo struct {
74255	_ struct{} `type:"structure"`
74256
74257	// Describes the GPU accelerators for the instance type.
74258	Gpus []*GpuDeviceInfo `locationName:"gpus" locationNameList:"item" type:"list"`
74259
74260	// The total size of the memory for the GPU accelerators for the instance type.
74261	TotalGpuMemoryInMiB *int64 `locationName:"totalGpuMemoryInMiB" type:"integer"`
74262}
74263
74264// String returns the string representation
74265func (s GpuInfo) String() string {
74266	return awsutil.Prettify(s)
74267}
74268
74269// GoString returns the string representation
74270func (s GpuInfo) GoString() string {
74271	return s.String()
74272}
74273
74274// SetGpus sets the Gpus field's value.
74275func (s *GpuInfo) SetGpus(v []*GpuDeviceInfo) *GpuInfo {
74276	s.Gpus = v
74277	return s
74278}
74279
74280// SetTotalGpuMemoryInMiB sets the TotalGpuMemoryInMiB field's value.
74281func (s *GpuInfo) SetTotalGpuMemoryInMiB(v int64) *GpuInfo {
74282	s.TotalGpuMemoryInMiB = &v
74283	return s
74284}
74285
74286// Describes a security group.
74287type GroupIdentifier struct {
74288	_ struct{} `type:"structure"`
74289
74290	// The ID of the security group.
74291	GroupId *string `locationName:"groupId" type:"string"`
74292
74293	// The name of the security group.
74294	GroupName *string `locationName:"groupName" type:"string"`
74295}
74296
74297// String returns the string representation
74298func (s GroupIdentifier) String() string {
74299	return awsutil.Prettify(s)
74300}
74301
74302// GoString returns the string representation
74303func (s GroupIdentifier) GoString() string {
74304	return s.String()
74305}
74306
74307// SetGroupId sets the GroupId field's value.
74308func (s *GroupIdentifier) SetGroupId(v string) *GroupIdentifier {
74309	s.GroupId = &v
74310	return s
74311}
74312
74313// SetGroupName sets the GroupName field's value.
74314func (s *GroupIdentifier) SetGroupName(v string) *GroupIdentifier {
74315	s.GroupName = &v
74316	return s
74317}
74318
74319// Indicates whether your instance is configured for hibernation. This parameter
74320// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
74321// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
74322// in the Amazon Elastic Compute Cloud User Guide.
74323type HibernationOptions struct {
74324	_ struct{} `type:"structure"`
74325
74326	// If this parameter is set to true, your instance is enabled for hibernation;
74327	// otherwise, it is not enabled for hibernation.
74328	Configured *bool `locationName:"configured" type:"boolean"`
74329}
74330
74331// String returns the string representation
74332func (s HibernationOptions) String() string {
74333	return awsutil.Prettify(s)
74334}
74335
74336// GoString returns the string representation
74337func (s HibernationOptions) GoString() string {
74338	return s.String()
74339}
74340
74341// SetConfigured sets the Configured field's value.
74342func (s *HibernationOptions) SetConfigured(v bool) *HibernationOptions {
74343	s.Configured = &v
74344	return s
74345}
74346
74347// Indicates whether your instance is configured for hibernation. This parameter
74348// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
74349// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
74350// in the Amazon Elastic Compute Cloud User Guide.
74351type HibernationOptionsRequest struct {
74352	_ struct{} `type:"structure"`
74353
74354	// If you set this parameter to true, your instance is enabled for hibernation.
74355	//
74356	// Default: false
74357	Configured *bool `type:"boolean"`
74358}
74359
74360// String returns the string representation
74361func (s HibernationOptionsRequest) String() string {
74362	return awsutil.Prettify(s)
74363}
74364
74365// GoString returns the string representation
74366func (s HibernationOptionsRequest) GoString() string {
74367	return s.String()
74368}
74369
74370// SetConfigured sets the Configured field's value.
74371func (s *HibernationOptionsRequest) SetConfigured(v bool) *HibernationOptionsRequest {
74372	s.Configured = &v
74373	return s
74374}
74375
74376// Describes an event in the history of the Spot Fleet request.
74377type HistoryRecord struct {
74378	_ struct{} `type:"structure"`
74379
74380	// Information about the event.
74381	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
74382
74383	// The event type.
74384	//
74385	//    * error - An error with the Spot Fleet request.
74386	//
74387	//    * fleetRequestChange - A change in the status or configuration of the
74388	//    Spot Fleet request.
74389	//
74390	//    * instanceChange - An instance was launched or terminated.
74391	//
74392	//    * Information - An informational event.
74393	EventType *string `locationName:"eventType" type:"string" enum:"EventType"`
74394
74395	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
74396	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
74397}
74398
74399// String returns the string representation
74400func (s HistoryRecord) String() string {
74401	return awsutil.Prettify(s)
74402}
74403
74404// GoString returns the string representation
74405func (s HistoryRecord) GoString() string {
74406	return s.String()
74407}
74408
74409// SetEventInformation sets the EventInformation field's value.
74410func (s *HistoryRecord) SetEventInformation(v *EventInformation) *HistoryRecord {
74411	s.EventInformation = v
74412	return s
74413}
74414
74415// SetEventType sets the EventType field's value.
74416func (s *HistoryRecord) SetEventType(v string) *HistoryRecord {
74417	s.EventType = &v
74418	return s
74419}
74420
74421// SetTimestamp sets the Timestamp field's value.
74422func (s *HistoryRecord) SetTimestamp(v time.Time) *HistoryRecord {
74423	s.Timestamp = &v
74424	return s
74425}
74426
74427// Describes an event in the history of an EC2 Fleet.
74428type HistoryRecordEntry struct {
74429	_ struct{} `type:"structure"`
74430
74431	// Information about the event.
74432	EventInformation *EventInformation `locationName:"eventInformation" type:"structure"`
74433
74434	// The event type.
74435	EventType *string `locationName:"eventType" type:"string" enum:"FleetEventType"`
74436
74437	// The date and time of the event, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
74438	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
74439}
74440
74441// String returns the string representation
74442func (s HistoryRecordEntry) String() string {
74443	return awsutil.Prettify(s)
74444}
74445
74446// GoString returns the string representation
74447func (s HistoryRecordEntry) GoString() string {
74448	return s.String()
74449}
74450
74451// SetEventInformation sets the EventInformation field's value.
74452func (s *HistoryRecordEntry) SetEventInformation(v *EventInformation) *HistoryRecordEntry {
74453	s.EventInformation = v
74454	return s
74455}
74456
74457// SetEventType sets the EventType field's value.
74458func (s *HistoryRecordEntry) SetEventType(v string) *HistoryRecordEntry {
74459	s.EventType = &v
74460	return s
74461}
74462
74463// SetTimestamp sets the Timestamp field's value.
74464func (s *HistoryRecordEntry) SetTimestamp(v time.Time) *HistoryRecordEntry {
74465	s.Timestamp = &v
74466	return s
74467}
74468
74469// Describes the properties of the Dedicated Host.
74470type Host struct {
74471	_ struct{} `type:"structure"`
74472
74473	// The time that the Dedicated Host was allocated.
74474	AllocationTime *time.Time `locationName:"allocationTime" type:"timestamp"`
74475
74476	// Indicates whether the Dedicated Host supports multiple instance types of
74477	// the same instance family, or a specific instance type only. one indicates
74478	// that the Dedicated Host supports multiple instance types in the instance
74479	// family. off indicates that the Dedicated Host supports a single instance
74480	// type only.
74481	AllowsMultipleInstanceTypes *string `locationName:"allowsMultipleInstanceTypes" type:"string" enum:"AllowsMultipleInstanceTypes"`
74482
74483	// Whether auto-placement is on or off.
74484	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
74485
74486	// The Availability Zone of the Dedicated Host.
74487	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
74488
74489	// The ID of the Availability Zone in which the Dedicated Host is allocated.
74490	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
74491
74492	// Information about the instances running on the Dedicated Host.
74493	AvailableCapacity *AvailableCapacity `locationName:"availableCapacity" type:"structure"`
74494
74495	// Unique, case-sensitive identifier that you provide to ensure the idempotency
74496	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
74497	ClientToken *string `locationName:"clientToken" type:"string"`
74498
74499	// The ID of the Dedicated Host.
74500	HostId *string `locationName:"hostId" type:"string"`
74501
74502	// The hardware specifications of the Dedicated Host.
74503	HostProperties *HostProperties `locationName:"hostProperties" type:"structure"`
74504
74505	// Indicates whether host recovery is enabled or disabled for the Dedicated
74506	// Host.
74507	HostRecovery *string `locationName:"hostRecovery" type:"string" enum:"HostRecovery"`
74508
74509	// The reservation ID of the Dedicated Host. This returns a null response if
74510	// the Dedicated Host doesn't have an associated reservation.
74511	HostReservationId *string `locationName:"hostReservationId" type:"string"`
74512
74513	// The IDs and instance type that are currently running on the Dedicated Host.
74514	Instances []*HostInstance `locationName:"instances" locationNameList:"item" type:"list"`
74515
74516	// Indicates whether the Dedicated Host is in a host resource group. If memberOfServiceLinkedResourceGroup
74517	// is true, the host is in a host resource group; otherwise, it is not.
74518	MemberOfServiceLinkedResourceGroup *bool `locationName:"memberOfServiceLinkedResourceGroup" type:"boolean"`
74519
74520	// The ID of the AWS account that owns the Dedicated Host.
74521	OwnerId *string `locationName:"ownerId" type:"string"`
74522
74523	// The time that the Dedicated Host was released.
74524	ReleaseTime *time.Time `locationName:"releaseTime" type:"timestamp"`
74525
74526	// The Dedicated Host's state.
74527	State *string `locationName:"state" type:"string" enum:"AllocationState"`
74528
74529	// Any tags assigned to the Dedicated Host.
74530	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
74531}
74532
74533// String returns the string representation
74534func (s Host) String() string {
74535	return awsutil.Prettify(s)
74536}
74537
74538// GoString returns the string representation
74539func (s Host) GoString() string {
74540	return s.String()
74541}
74542
74543// SetAllocationTime sets the AllocationTime field's value.
74544func (s *Host) SetAllocationTime(v time.Time) *Host {
74545	s.AllocationTime = &v
74546	return s
74547}
74548
74549// SetAllowsMultipleInstanceTypes sets the AllowsMultipleInstanceTypes field's value.
74550func (s *Host) SetAllowsMultipleInstanceTypes(v string) *Host {
74551	s.AllowsMultipleInstanceTypes = &v
74552	return s
74553}
74554
74555// SetAutoPlacement sets the AutoPlacement field's value.
74556func (s *Host) SetAutoPlacement(v string) *Host {
74557	s.AutoPlacement = &v
74558	return s
74559}
74560
74561// SetAvailabilityZone sets the AvailabilityZone field's value.
74562func (s *Host) SetAvailabilityZone(v string) *Host {
74563	s.AvailabilityZone = &v
74564	return s
74565}
74566
74567// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
74568func (s *Host) SetAvailabilityZoneId(v string) *Host {
74569	s.AvailabilityZoneId = &v
74570	return s
74571}
74572
74573// SetAvailableCapacity sets the AvailableCapacity field's value.
74574func (s *Host) SetAvailableCapacity(v *AvailableCapacity) *Host {
74575	s.AvailableCapacity = v
74576	return s
74577}
74578
74579// SetClientToken sets the ClientToken field's value.
74580func (s *Host) SetClientToken(v string) *Host {
74581	s.ClientToken = &v
74582	return s
74583}
74584
74585// SetHostId sets the HostId field's value.
74586func (s *Host) SetHostId(v string) *Host {
74587	s.HostId = &v
74588	return s
74589}
74590
74591// SetHostProperties sets the HostProperties field's value.
74592func (s *Host) SetHostProperties(v *HostProperties) *Host {
74593	s.HostProperties = v
74594	return s
74595}
74596
74597// SetHostRecovery sets the HostRecovery field's value.
74598func (s *Host) SetHostRecovery(v string) *Host {
74599	s.HostRecovery = &v
74600	return s
74601}
74602
74603// SetHostReservationId sets the HostReservationId field's value.
74604func (s *Host) SetHostReservationId(v string) *Host {
74605	s.HostReservationId = &v
74606	return s
74607}
74608
74609// SetInstances sets the Instances field's value.
74610func (s *Host) SetInstances(v []*HostInstance) *Host {
74611	s.Instances = v
74612	return s
74613}
74614
74615// SetMemberOfServiceLinkedResourceGroup sets the MemberOfServiceLinkedResourceGroup field's value.
74616func (s *Host) SetMemberOfServiceLinkedResourceGroup(v bool) *Host {
74617	s.MemberOfServiceLinkedResourceGroup = &v
74618	return s
74619}
74620
74621// SetOwnerId sets the OwnerId field's value.
74622func (s *Host) SetOwnerId(v string) *Host {
74623	s.OwnerId = &v
74624	return s
74625}
74626
74627// SetReleaseTime sets the ReleaseTime field's value.
74628func (s *Host) SetReleaseTime(v time.Time) *Host {
74629	s.ReleaseTime = &v
74630	return s
74631}
74632
74633// SetState sets the State field's value.
74634func (s *Host) SetState(v string) *Host {
74635	s.State = &v
74636	return s
74637}
74638
74639// SetTags sets the Tags field's value.
74640func (s *Host) SetTags(v []*Tag) *Host {
74641	s.Tags = v
74642	return s
74643}
74644
74645// Describes an instance running on a Dedicated Host.
74646type HostInstance struct {
74647	_ struct{} `type:"structure"`
74648
74649	// The ID of instance that is running on the Dedicated Host.
74650	InstanceId *string `locationName:"instanceId" type:"string"`
74651
74652	// The instance type (for example, m3.medium) of the running instance.
74653	InstanceType *string `locationName:"instanceType" type:"string"`
74654
74655	// The ID of the AWS account that owns the instance.
74656	OwnerId *string `locationName:"ownerId" type:"string"`
74657}
74658
74659// String returns the string representation
74660func (s HostInstance) String() string {
74661	return awsutil.Prettify(s)
74662}
74663
74664// GoString returns the string representation
74665func (s HostInstance) GoString() string {
74666	return s.String()
74667}
74668
74669// SetInstanceId sets the InstanceId field's value.
74670func (s *HostInstance) SetInstanceId(v string) *HostInstance {
74671	s.InstanceId = &v
74672	return s
74673}
74674
74675// SetInstanceType sets the InstanceType field's value.
74676func (s *HostInstance) SetInstanceType(v string) *HostInstance {
74677	s.InstanceType = &v
74678	return s
74679}
74680
74681// SetOwnerId sets the OwnerId field's value.
74682func (s *HostInstance) SetOwnerId(v string) *HostInstance {
74683	s.OwnerId = &v
74684	return s
74685}
74686
74687// Details about the Dedicated Host Reservation offering.
74688type HostOffering struct {
74689	_ struct{} `type:"structure"`
74690
74691	// The currency of the offering.
74692	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
74693
74694	// The duration of the offering (in seconds).
74695	Duration *int64 `locationName:"duration" type:"integer"`
74696
74697	// The hourly price of the offering.
74698	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
74699
74700	// The instance family of the offering.
74701	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
74702
74703	// The ID of the offering.
74704	OfferingId *string `locationName:"offeringId" type:"string"`
74705
74706	// The available payment option.
74707	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
74708
74709	// The upfront price of the offering. Does not apply to No Upfront offerings.
74710	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
74711}
74712
74713// String returns the string representation
74714func (s HostOffering) String() string {
74715	return awsutil.Prettify(s)
74716}
74717
74718// GoString returns the string representation
74719func (s HostOffering) GoString() string {
74720	return s.String()
74721}
74722
74723// SetCurrencyCode sets the CurrencyCode field's value.
74724func (s *HostOffering) SetCurrencyCode(v string) *HostOffering {
74725	s.CurrencyCode = &v
74726	return s
74727}
74728
74729// SetDuration sets the Duration field's value.
74730func (s *HostOffering) SetDuration(v int64) *HostOffering {
74731	s.Duration = &v
74732	return s
74733}
74734
74735// SetHourlyPrice sets the HourlyPrice field's value.
74736func (s *HostOffering) SetHourlyPrice(v string) *HostOffering {
74737	s.HourlyPrice = &v
74738	return s
74739}
74740
74741// SetInstanceFamily sets the InstanceFamily field's value.
74742func (s *HostOffering) SetInstanceFamily(v string) *HostOffering {
74743	s.InstanceFamily = &v
74744	return s
74745}
74746
74747// SetOfferingId sets the OfferingId field's value.
74748func (s *HostOffering) SetOfferingId(v string) *HostOffering {
74749	s.OfferingId = &v
74750	return s
74751}
74752
74753// SetPaymentOption sets the PaymentOption field's value.
74754func (s *HostOffering) SetPaymentOption(v string) *HostOffering {
74755	s.PaymentOption = &v
74756	return s
74757}
74758
74759// SetUpfrontPrice sets the UpfrontPrice field's value.
74760func (s *HostOffering) SetUpfrontPrice(v string) *HostOffering {
74761	s.UpfrontPrice = &v
74762	return s
74763}
74764
74765// Describes the properties of a Dedicated Host.
74766type HostProperties struct {
74767	_ struct{} `type:"structure"`
74768
74769	// The number of cores on the Dedicated Host.
74770	Cores *int64 `locationName:"cores" type:"integer"`
74771
74772	// The instance family supported by the Dedicated Host. For example, m5.
74773	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
74774
74775	// The instance type supported by the Dedicated Host. For example, m5.large.
74776	// If the host supports multiple instance types, no instanceType is returned.
74777	InstanceType *string `locationName:"instanceType" type:"string"`
74778
74779	// The number of sockets on the Dedicated Host.
74780	Sockets *int64 `locationName:"sockets" type:"integer"`
74781
74782	// The total number of vCPUs on the Dedicated Host.
74783	TotalVCpus *int64 `locationName:"totalVCpus" type:"integer"`
74784}
74785
74786// String returns the string representation
74787func (s HostProperties) String() string {
74788	return awsutil.Prettify(s)
74789}
74790
74791// GoString returns the string representation
74792func (s HostProperties) GoString() string {
74793	return s.String()
74794}
74795
74796// SetCores sets the Cores field's value.
74797func (s *HostProperties) SetCores(v int64) *HostProperties {
74798	s.Cores = &v
74799	return s
74800}
74801
74802// SetInstanceFamily sets the InstanceFamily field's value.
74803func (s *HostProperties) SetInstanceFamily(v string) *HostProperties {
74804	s.InstanceFamily = &v
74805	return s
74806}
74807
74808// SetInstanceType sets the InstanceType field's value.
74809func (s *HostProperties) SetInstanceType(v string) *HostProperties {
74810	s.InstanceType = &v
74811	return s
74812}
74813
74814// SetSockets sets the Sockets field's value.
74815func (s *HostProperties) SetSockets(v int64) *HostProperties {
74816	s.Sockets = &v
74817	return s
74818}
74819
74820// SetTotalVCpus sets the TotalVCpus field's value.
74821func (s *HostProperties) SetTotalVCpus(v int64) *HostProperties {
74822	s.TotalVCpus = &v
74823	return s
74824}
74825
74826// Details about the Dedicated Host Reservation and associated Dedicated Hosts.
74827type HostReservation struct {
74828	_ struct{} `type:"structure"`
74829
74830	// The number of Dedicated Hosts the reservation is associated with.
74831	Count *int64 `locationName:"count" type:"integer"`
74832
74833	// The currency in which the upfrontPrice and hourlyPrice amounts are specified.
74834	// At this time, the only supported currency is USD.
74835	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
74836
74837	// The length of the reservation's term, specified in seconds. Can be 31536000
74838	// (1 year) | 94608000 (3 years).
74839	Duration *int64 `locationName:"duration" type:"integer"`
74840
74841	// The date and time that the reservation ends.
74842	End *time.Time `locationName:"end" type:"timestamp"`
74843
74844	// The IDs of the Dedicated Hosts associated with the reservation.
74845	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
74846
74847	// The ID of the reservation that specifies the associated Dedicated Hosts.
74848	HostReservationId *string `locationName:"hostReservationId" type:"string"`
74849
74850	// The hourly price of the reservation.
74851	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
74852
74853	// The instance family of the Dedicated Host Reservation. The instance family
74854	// on the Dedicated Host must be the same in order for it to benefit from the
74855	// reservation.
74856	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
74857
74858	// The ID of the reservation. This remains the same regardless of which Dedicated
74859	// Hosts are associated with it.
74860	OfferingId *string `locationName:"offeringId" type:"string"`
74861
74862	// The payment option selected for this reservation.
74863	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
74864
74865	// The date and time that the reservation started.
74866	Start *time.Time `locationName:"start" type:"timestamp"`
74867
74868	// The state of the reservation.
74869	State *string `locationName:"state" type:"string" enum:"ReservationState"`
74870
74871	// Any tags assigned to the Dedicated Host Reservation.
74872	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
74873
74874	// The upfront price of the reservation.
74875	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
74876}
74877
74878// String returns the string representation
74879func (s HostReservation) String() string {
74880	return awsutil.Prettify(s)
74881}
74882
74883// GoString returns the string representation
74884func (s HostReservation) GoString() string {
74885	return s.String()
74886}
74887
74888// SetCount sets the Count field's value.
74889func (s *HostReservation) SetCount(v int64) *HostReservation {
74890	s.Count = &v
74891	return s
74892}
74893
74894// SetCurrencyCode sets the CurrencyCode field's value.
74895func (s *HostReservation) SetCurrencyCode(v string) *HostReservation {
74896	s.CurrencyCode = &v
74897	return s
74898}
74899
74900// SetDuration sets the Duration field's value.
74901func (s *HostReservation) SetDuration(v int64) *HostReservation {
74902	s.Duration = &v
74903	return s
74904}
74905
74906// SetEnd sets the End field's value.
74907func (s *HostReservation) SetEnd(v time.Time) *HostReservation {
74908	s.End = &v
74909	return s
74910}
74911
74912// SetHostIdSet sets the HostIdSet field's value.
74913func (s *HostReservation) SetHostIdSet(v []*string) *HostReservation {
74914	s.HostIdSet = v
74915	return s
74916}
74917
74918// SetHostReservationId sets the HostReservationId field's value.
74919func (s *HostReservation) SetHostReservationId(v string) *HostReservation {
74920	s.HostReservationId = &v
74921	return s
74922}
74923
74924// SetHourlyPrice sets the HourlyPrice field's value.
74925func (s *HostReservation) SetHourlyPrice(v string) *HostReservation {
74926	s.HourlyPrice = &v
74927	return s
74928}
74929
74930// SetInstanceFamily sets the InstanceFamily field's value.
74931func (s *HostReservation) SetInstanceFamily(v string) *HostReservation {
74932	s.InstanceFamily = &v
74933	return s
74934}
74935
74936// SetOfferingId sets the OfferingId field's value.
74937func (s *HostReservation) SetOfferingId(v string) *HostReservation {
74938	s.OfferingId = &v
74939	return s
74940}
74941
74942// SetPaymentOption sets the PaymentOption field's value.
74943func (s *HostReservation) SetPaymentOption(v string) *HostReservation {
74944	s.PaymentOption = &v
74945	return s
74946}
74947
74948// SetStart sets the Start field's value.
74949func (s *HostReservation) SetStart(v time.Time) *HostReservation {
74950	s.Start = &v
74951	return s
74952}
74953
74954// SetState sets the State field's value.
74955func (s *HostReservation) SetState(v string) *HostReservation {
74956	s.State = &v
74957	return s
74958}
74959
74960// SetTags sets the Tags field's value.
74961func (s *HostReservation) SetTags(v []*Tag) *HostReservation {
74962	s.Tags = v
74963	return s
74964}
74965
74966// SetUpfrontPrice sets the UpfrontPrice field's value.
74967func (s *HostReservation) SetUpfrontPrice(v string) *HostReservation {
74968	s.UpfrontPrice = &v
74969	return s
74970}
74971
74972// The internet key exchange (IKE) version permitted for the VPN tunnel.
74973type IKEVersionsListValue struct {
74974	_ struct{} `type:"structure"`
74975
74976	// The IKE version.
74977	Value *string `locationName:"value" type:"string"`
74978}
74979
74980// String returns the string representation
74981func (s IKEVersionsListValue) String() string {
74982	return awsutil.Prettify(s)
74983}
74984
74985// GoString returns the string representation
74986func (s IKEVersionsListValue) GoString() string {
74987	return s.String()
74988}
74989
74990// SetValue sets the Value field's value.
74991func (s *IKEVersionsListValue) SetValue(v string) *IKEVersionsListValue {
74992	s.Value = &v
74993	return s
74994}
74995
74996// The IKE version that is permitted for the VPN tunnel.
74997type IKEVersionsRequestListValue struct {
74998	_ struct{} `type:"structure"`
74999
75000	// The IKE version.
75001	Value *string `type:"string"`
75002}
75003
75004// String returns the string representation
75005func (s IKEVersionsRequestListValue) String() string {
75006	return awsutil.Prettify(s)
75007}
75008
75009// GoString returns the string representation
75010func (s IKEVersionsRequestListValue) GoString() string {
75011	return s.String()
75012}
75013
75014// SetValue sets the Value field's value.
75015func (s *IKEVersionsRequestListValue) SetValue(v string) *IKEVersionsRequestListValue {
75016	s.Value = &v
75017	return s
75018}
75019
75020// Describes an IAM instance profile.
75021type IamInstanceProfile struct {
75022	_ struct{} `type:"structure"`
75023
75024	// The Amazon Resource Name (ARN) of the instance profile.
75025	Arn *string `locationName:"arn" type:"string"`
75026
75027	// The ID of the instance profile.
75028	Id *string `locationName:"id" type:"string"`
75029}
75030
75031// String returns the string representation
75032func (s IamInstanceProfile) String() string {
75033	return awsutil.Prettify(s)
75034}
75035
75036// GoString returns the string representation
75037func (s IamInstanceProfile) GoString() string {
75038	return s.String()
75039}
75040
75041// SetArn sets the Arn field's value.
75042func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
75043	s.Arn = &v
75044	return s
75045}
75046
75047// SetId sets the Id field's value.
75048func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
75049	s.Id = &v
75050	return s
75051}
75052
75053// Describes an association between an IAM instance profile and an instance.
75054type IamInstanceProfileAssociation struct {
75055	_ struct{} `type:"structure"`
75056
75057	// The ID of the association.
75058	AssociationId *string `locationName:"associationId" type:"string"`
75059
75060	// The IAM instance profile.
75061	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
75062
75063	// The ID of the instance.
75064	InstanceId *string `locationName:"instanceId" type:"string"`
75065
75066	// The state of the association.
75067	State *string `locationName:"state" type:"string" enum:"IamInstanceProfileAssociationState"`
75068
75069	// The time the IAM instance profile was associated with the instance.
75070	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
75071}
75072
75073// String returns the string representation
75074func (s IamInstanceProfileAssociation) String() string {
75075	return awsutil.Prettify(s)
75076}
75077
75078// GoString returns the string representation
75079func (s IamInstanceProfileAssociation) GoString() string {
75080	return s.String()
75081}
75082
75083// SetAssociationId sets the AssociationId field's value.
75084func (s *IamInstanceProfileAssociation) SetAssociationId(v string) *IamInstanceProfileAssociation {
75085	s.AssociationId = &v
75086	return s
75087}
75088
75089// SetIamInstanceProfile sets the IamInstanceProfile field's value.
75090func (s *IamInstanceProfileAssociation) SetIamInstanceProfile(v *IamInstanceProfile) *IamInstanceProfileAssociation {
75091	s.IamInstanceProfile = v
75092	return s
75093}
75094
75095// SetInstanceId sets the InstanceId field's value.
75096func (s *IamInstanceProfileAssociation) SetInstanceId(v string) *IamInstanceProfileAssociation {
75097	s.InstanceId = &v
75098	return s
75099}
75100
75101// SetState sets the State field's value.
75102func (s *IamInstanceProfileAssociation) SetState(v string) *IamInstanceProfileAssociation {
75103	s.State = &v
75104	return s
75105}
75106
75107// SetTimestamp sets the Timestamp field's value.
75108func (s *IamInstanceProfileAssociation) SetTimestamp(v time.Time) *IamInstanceProfileAssociation {
75109	s.Timestamp = &v
75110	return s
75111}
75112
75113// Describes an IAM instance profile.
75114type IamInstanceProfileSpecification struct {
75115	_ struct{} `type:"structure"`
75116
75117	// The Amazon Resource Name (ARN) of the instance profile.
75118	Arn *string `locationName:"arn" type:"string"`
75119
75120	// The name of the instance profile.
75121	Name *string `locationName:"name" type:"string"`
75122}
75123
75124// String returns the string representation
75125func (s IamInstanceProfileSpecification) String() string {
75126	return awsutil.Prettify(s)
75127}
75128
75129// GoString returns the string representation
75130func (s IamInstanceProfileSpecification) GoString() string {
75131	return s.String()
75132}
75133
75134// SetArn sets the Arn field's value.
75135func (s *IamInstanceProfileSpecification) SetArn(v string) *IamInstanceProfileSpecification {
75136	s.Arn = &v
75137	return s
75138}
75139
75140// SetName sets the Name field's value.
75141func (s *IamInstanceProfileSpecification) SetName(v string) *IamInstanceProfileSpecification {
75142	s.Name = &v
75143	return s
75144}
75145
75146// Describes the ICMP type and code.
75147type IcmpTypeCode struct {
75148	_ struct{} `type:"structure"`
75149
75150	// The ICMP code. A value of -1 means all codes for the specified ICMP type.
75151	Code *int64 `locationName:"code" type:"integer"`
75152
75153	// The ICMP type. A value of -1 means all types.
75154	Type *int64 `locationName:"type" type:"integer"`
75155}
75156
75157// String returns the string representation
75158func (s IcmpTypeCode) String() string {
75159	return awsutil.Prettify(s)
75160}
75161
75162// GoString returns the string representation
75163func (s IcmpTypeCode) GoString() string {
75164	return s.String()
75165}
75166
75167// SetCode sets the Code field's value.
75168func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
75169	s.Code = &v
75170	return s
75171}
75172
75173// SetType sets the Type field's value.
75174func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
75175	s.Type = &v
75176	return s
75177}
75178
75179// Describes the ID format for a resource.
75180type IdFormat struct {
75181	_ struct{} `type:"structure"`
75182
75183	// The date in UTC at which you are permanently switched over to using longer
75184	// IDs. If a deadline is not yet available for this resource type, this field
75185	// is not returned.
75186	Deadline *time.Time `locationName:"deadline" type:"timestamp"`
75187
75188	// The type of resource.
75189	Resource *string `locationName:"resource" type:"string"`
75190
75191	// Indicates whether longer IDs (17-character IDs) are enabled for the resource.
75192	UseLongIds *bool `locationName:"useLongIds" type:"boolean"`
75193}
75194
75195// String returns the string representation
75196func (s IdFormat) String() string {
75197	return awsutil.Prettify(s)
75198}
75199
75200// GoString returns the string representation
75201func (s IdFormat) GoString() string {
75202	return s.String()
75203}
75204
75205// SetDeadline sets the Deadline field's value.
75206func (s *IdFormat) SetDeadline(v time.Time) *IdFormat {
75207	s.Deadline = &v
75208	return s
75209}
75210
75211// SetResource sets the Resource field's value.
75212func (s *IdFormat) SetResource(v string) *IdFormat {
75213	s.Resource = &v
75214	return s
75215}
75216
75217// SetUseLongIds sets the UseLongIds field's value.
75218func (s *IdFormat) SetUseLongIds(v bool) *IdFormat {
75219	s.UseLongIds = &v
75220	return s
75221}
75222
75223// Describes an image.
75224type Image struct {
75225	_ struct{} `type:"structure"`
75226
75227	// The architecture of the image.
75228	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
75229
75230	// Any block device mapping entries.
75231	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
75232
75233	// The date and time the image was created.
75234	CreationDate *string `locationName:"creationDate" type:"string"`
75235
75236	// The description of the AMI that was provided during image creation.
75237	Description *string `locationName:"description" type:"string"`
75238
75239	// Specifies whether enhanced networking with ENA is enabled.
75240	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
75241
75242	// The hypervisor type of the image.
75243	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
75244
75245	// The ID of the AMI.
75246	ImageId *string `locationName:"imageId" type:"string"`
75247
75248	// The location of the AMI.
75249	ImageLocation *string `locationName:"imageLocation" type:"string"`
75250
75251	// The AWS account alias (for example, amazon, self) or the AWS account ID of
75252	// the AMI owner.
75253	ImageOwnerAlias *string `locationName:"imageOwnerAlias" type:"string"`
75254
75255	// The type of image.
75256	ImageType *string `locationName:"imageType" type:"string" enum:"ImageTypeValues"`
75257
75258	// The kernel associated with the image, if any. Only applicable for machine
75259	// images.
75260	KernelId *string `locationName:"kernelId" type:"string"`
75261
75262	// The name of the AMI that was provided during image creation.
75263	Name *string `locationName:"name" type:"string"`
75264
75265	// The AWS account ID of the image owner.
75266	OwnerId *string `locationName:"imageOwnerId" type:"string"`
75267
75268	// This value is set to windows for Windows AMIs; otherwise, it is blank.
75269	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
75270
75271	// Any product codes associated with the AMI.
75272	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
75273
75274	// Indicates whether the image has public launch permissions. The value is true
75275	// if this image has public launch permissions or false if it has only implicit
75276	// and explicit launch permissions.
75277	Public *bool `locationName:"isPublic" type:"boolean"`
75278
75279	// The RAM disk associated with the image, if any. Only applicable for machine
75280	// images.
75281	RamdiskId *string `locationName:"ramdiskId" type:"string"`
75282
75283	// The device name of the root device volume (for example, /dev/sda1).
75284	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
75285
75286	// The type of root device used by the AMI. The AMI can use an EBS volume or
75287	// an instance store volume.
75288	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
75289
75290	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
75291	// interface is enabled.
75292	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
75293
75294	// The current state of the AMI. If the state is available, the image is successfully
75295	// registered and can be used to launch an instance.
75296	State *string `locationName:"imageState" type:"string" enum:"ImageState"`
75297
75298	// The reason for the state change.
75299	StateReason *StateReason `locationName:"stateReason" type:"structure"`
75300
75301	// Any tags assigned to the image.
75302	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
75303
75304	// The type of virtualization of the AMI.
75305	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
75306}
75307
75308// String returns the string representation
75309func (s Image) String() string {
75310	return awsutil.Prettify(s)
75311}
75312
75313// GoString returns the string representation
75314func (s Image) GoString() string {
75315	return s.String()
75316}
75317
75318// SetArchitecture sets the Architecture field's value.
75319func (s *Image) SetArchitecture(v string) *Image {
75320	s.Architecture = &v
75321	return s
75322}
75323
75324// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
75325func (s *Image) SetBlockDeviceMappings(v []*BlockDeviceMapping) *Image {
75326	s.BlockDeviceMappings = v
75327	return s
75328}
75329
75330// SetCreationDate sets the CreationDate field's value.
75331func (s *Image) SetCreationDate(v string) *Image {
75332	s.CreationDate = &v
75333	return s
75334}
75335
75336// SetDescription sets the Description field's value.
75337func (s *Image) SetDescription(v string) *Image {
75338	s.Description = &v
75339	return s
75340}
75341
75342// SetEnaSupport sets the EnaSupport field's value.
75343func (s *Image) SetEnaSupport(v bool) *Image {
75344	s.EnaSupport = &v
75345	return s
75346}
75347
75348// SetHypervisor sets the Hypervisor field's value.
75349func (s *Image) SetHypervisor(v string) *Image {
75350	s.Hypervisor = &v
75351	return s
75352}
75353
75354// SetImageId sets the ImageId field's value.
75355func (s *Image) SetImageId(v string) *Image {
75356	s.ImageId = &v
75357	return s
75358}
75359
75360// SetImageLocation sets the ImageLocation field's value.
75361func (s *Image) SetImageLocation(v string) *Image {
75362	s.ImageLocation = &v
75363	return s
75364}
75365
75366// SetImageOwnerAlias sets the ImageOwnerAlias field's value.
75367func (s *Image) SetImageOwnerAlias(v string) *Image {
75368	s.ImageOwnerAlias = &v
75369	return s
75370}
75371
75372// SetImageType sets the ImageType field's value.
75373func (s *Image) SetImageType(v string) *Image {
75374	s.ImageType = &v
75375	return s
75376}
75377
75378// SetKernelId sets the KernelId field's value.
75379func (s *Image) SetKernelId(v string) *Image {
75380	s.KernelId = &v
75381	return s
75382}
75383
75384// SetName sets the Name field's value.
75385func (s *Image) SetName(v string) *Image {
75386	s.Name = &v
75387	return s
75388}
75389
75390// SetOwnerId sets the OwnerId field's value.
75391func (s *Image) SetOwnerId(v string) *Image {
75392	s.OwnerId = &v
75393	return s
75394}
75395
75396// SetPlatform sets the Platform field's value.
75397func (s *Image) SetPlatform(v string) *Image {
75398	s.Platform = &v
75399	return s
75400}
75401
75402// SetProductCodes sets the ProductCodes field's value.
75403func (s *Image) SetProductCodes(v []*ProductCode) *Image {
75404	s.ProductCodes = v
75405	return s
75406}
75407
75408// SetPublic sets the Public field's value.
75409func (s *Image) SetPublic(v bool) *Image {
75410	s.Public = &v
75411	return s
75412}
75413
75414// SetRamdiskId sets the RamdiskId field's value.
75415func (s *Image) SetRamdiskId(v string) *Image {
75416	s.RamdiskId = &v
75417	return s
75418}
75419
75420// SetRootDeviceName sets the RootDeviceName field's value.
75421func (s *Image) SetRootDeviceName(v string) *Image {
75422	s.RootDeviceName = &v
75423	return s
75424}
75425
75426// SetRootDeviceType sets the RootDeviceType field's value.
75427func (s *Image) SetRootDeviceType(v string) *Image {
75428	s.RootDeviceType = &v
75429	return s
75430}
75431
75432// SetSriovNetSupport sets the SriovNetSupport field's value.
75433func (s *Image) SetSriovNetSupport(v string) *Image {
75434	s.SriovNetSupport = &v
75435	return s
75436}
75437
75438// SetState sets the State field's value.
75439func (s *Image) SetState(v string) *Image {
75440	s.State = &v
75441	return s
75442}
75443
75444// SetStateReason sets the StateReason field's value.
75445func (s *Image) SetStateReason(v *StateReason) *Image {
75446	s.StateReason = v
75447	return s
75448}
75449
75450// SetTags sets the Tags field's value.
75451func (s *Image) SetTags(v []*Tag) *Image {
75452	s.Tags = v
75453	return s
75454}
75455
75456// SetVirtualizationType sets the VirtualizationType field's value.
75457func (s *Image) SetVirtualizationType(v string) *Image {
75458	s.VirtualizationType = &v
75459	return s
75460}
75461
75462// Describes the disk container object for an import image task.
75463type ImageDiskContainer struct {
75464	_ struct{} `type:"structure"`
75465
75466	// The description of the disk image.
75467	Description *string `type:"string"`
75468
75469	// The block device mapping for the disk.
75470	DeviceName *string `type:"string"`
75471
75472	// The format of the disk image being imported.
75473	//
75474	// Valid values: VHD | VMDK | OVA
75475	Format *string `type:"string"`
75476
75477	// The ID of the EBS snapshot to be used for importing the snapshot.
75478	SnapshotId *string `type:"string"`
75479
75480	// The URL to the Amazon S3-based disk image being imported. The URL can either
75481	// be a https URL (https://..) or an Amazon S3 URL (s3://..)
75482	Url *string `type:"string"`
75483
75484	// The S3 bucket for the disk image.
75485	UserBucket *UserBucket `type:"structure"`
75486}
75487
75488// String returns the string representation
75489func (s ImageDiskContainer) String() string {
75490	return awsutil.Prettify(s)
75491}
75492
75493// GoString returns the string representation
75494func (s ImageDiskContainer) GoString() string {
75495	return s.String()
75496}
75497
75498// SetDescription sets the Description field's value.
75499func (s *ImageDiskContainer) SetDescription(v string) *ImageDiskContainer {
75500	s.Description = &v
75501	return s
75502}
75503
75504// SetDeviceName sets the DeviceName field's value.
75505func (s *ImageDiskContainer) SetDeviceName(v string) *ImageDiskContainer {
75506	s.DeviceName = &v
75507	return s
75508}
75509
75510// SetFormat sets the Format field's value.
75511func (s *ImageDiskContainer) SetFormat(v string) *ImageDiskContainer {
75512	s.Format = &v
75513	return s
75514}
75515
75516// SetSnapshotId sets the SnapshotId field's value.
75517func (s *ImageDiskContainer) SetSnapshotId(v string) *ImageDiskContainer {
75518	s.SnapshotId = &v
75519	return s
75520}
75521
75522// SetUrl sets the Url field's value.
75523func (s *ImageDiskContainer) SetUrl(v string) *ImageDiskContainer {
75524	s.Url = &v
75525	return s
75526}
75527
75528// SetUserBucket sets the UserBucket field's value.
75529func (s *ImageDiskContainer) SetUserBucket(v *UserBucket) *ImageDiskContainer {
75530	s.UserBucket = v
75531	return s
75532}
75533
75534type ImportClientVpnClientCertificateRevocationListInput struct {
75535	_ struct{} `type:"structure"`
75536
75537	// The client certificate revocation list file. For more information, see Generate
75538	// a Client Certificate Revocation List (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/cvpn-working-certificates.html#cvpn-working-certificates-generate)
75539	// in the AWS Client VPN Administrator Guide.
75540	//
75541	// CertificateRevocationList is a required field
75542	CertificateRevocationList *string `type:"string" required:"true"`
75543
75544	// The ID of the Client VPN endpoint to which the client certificate revocation
75545	// list applies.
75546	//
75547	// ClientVpnEndpointId is a required field
75548	ClientVpnEndpointId *string `type:"string" required:"true"`
75549
75550	// Checks whether you have the required permissions for the action, without
75551	// actually making the request, and provides an error response. If you have
75552	// the required permissions, the error response is DryRunOperation. Otherwise,
75553	// it is UnauthorizedOperation.
75554	DryRun *bool `type:"boolean"`
75555}
75556
75557// String returns the string representation
75558func (s ImportClientVpnClientCertificateRevocationListInput) String() string {
75559	return awsutil.Prettify(s)
75560}
75561
75562// GoString returns the string representation
75563func (s ImportClientVpnClientCertificateRevocationListInput) GoString() string {
75564	return s.String()
75565}
75566
75567// Validate inspects the fields of the type to determine if they are valid.
75568func (s *ImportClientVpnClientCertificateRevocationListInput) Validate() error {
75569	invalidParams := request.ErrInvalidParams{Context: "ImportClientVpnClientCertificateRevocationListInput"}
75570	if s.CertificateRevocationList == nil {
75571		invalidParams.Add(request.NewErrParamRequired("CertificateRevocationList"))
75572	}
75573	if s.ClientVpnEndpointId == nil {
75574		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
75575	}
75576
75577	if invalidParams.Len() > 0 {
75578		return invalidParams
75579	}
75580	return nil
75581}
75582
75583// SetCertificateRevocationList sets the CertificateRevocationList field's value.
75584func (s *ImportClientVpnClientCertificateRevocationListInput) SetCertificateRevocationList(v string) *ImportClientVpnClientCertificateRevocationListInput {
75585	s.CertificateRevocationList = &v
75586	return s
75587}
75588
75589// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
75590func (s *ImportClientVpnClientCertificateRevocationListInput) SetClientVpnEndpointId(v string) *ImportClientVpnClientCertificateRevocationListInput {
75591	s.ClientVpnEndpointId = &v
75592	return s
75593}
75594
75595// SetDryRun sets the DryRun field's value.
75596func (s *ImportClientVpnClientCertificateRevocationListInput) SetDryRun(v bool) *ImportClientVpnClientCertificateRevocationListInput {
75597	s.DryRun = &v
75598	return s
75599}
75600
75601type ImportClientVpnClientCertificateRevocationListOutput struct {
75602	_ struct{} `type:"structure"`
75603
75604	// Returns true if the request succeeds; otherwise, it returns an error.
75605	Return *bool `locationName:"return" type:"boolean"`
75606}
75607
75608// String returns the string representation
75609func (s ImportClientVpnClientCertificateRevocationListOutput) String() string {
75610	return awsutil.Prettify(s)
75611}
75612
75613// GoString returns the string representation
75614func (s ImportClientVpnClientCertificateRevocationListOutput) GoString() string {
75615	return s.String()
75616}
75617
75618// SetReturn sets the Return field's value.
75619func (s *ImportClientVpnClientCertificateRevocationListOutput) SetReturn(v bool) *ImportClientVpnClientCertificateRevocationListOutput {
75620	s.Return = &v
75621	return s
75622}
75623
75624type ImportImageInput struct {
75625	_ struct{} `type:"structure"`
75626
75627	// The architecture of the virtual machine.
75628	//
75629	// Valid values: i386 | x86_64 | arm64
75630	Architecture *string `type:"string"`
75631
75632	// The client-specific data.
75633	ClientData *ClientData `type:"structure"`
75634
75635	// The token to enable idempotency for VM import requests.
75636	ClientToken *string `type:"string"`
75637
75638	// A description string for the import image task.
75639	Description *string `type:"string"`
75640
75641	// Information about the disk containers.
75642	DiskContainers []*ImageDiskContainer `locationName:"DiskContainer" locationNameList:"item" type:"list"`
75643
75644	// Checks whether you have the required permissions for the action, without
75645	// actually making the request, and provides an error response. If you have
75646	// the required permissions, the error response is DryRunOperation. Otherwise,
75647	// it is UnauthorizedOperation.
75648	DryRun *bool `type:"boolean"`
75649
75650	// Specifies whether the destination AMI of the imported image should be encrypted.
75651	// The default CMK for EBS is used unless you specify a non-default AWS Key
75652	// Management Service (AWS KMS) CMK using KmsKeyId. For more information, see
75653	// Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
75654	// in the Amazon Elastic Compute Cloud User Guide.
75655	Encrypted *bool `type:"boolean"`
75656
75657	// The target hypervisor platform.
75658	//
75659	// Valid values: xen
75660	Hypervisor *string `type:"string"`
75661
75662	// An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
75663	// master key (CMK) to use when creating the encrypted AMI. This parameter is
75664	// only required if you want to use a non-default CMK; if this parameter is
75665	// not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
75666	// the Encrypted flag must also be set.
75667	//
75668	// The CMK identifier may be provided in any of the following formats:
75669	//
75670	//    * Key ID
75671	//
75672	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
75673	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
75674	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
75675	//
75676	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
75677	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
75678	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
75679	//
75680	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
75681	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
75682	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
75683	//
75684	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
75685	// appear to complete even though you provided an invalid identifier. This action
75686	// will eventually report failure.
75687	//
75688	// The specified CMK must exist in the Region that the AMI is being copied to.
75689	//
75690	// Amazon EBS does not support asymmetric CMKs.
75691	KmsKeyId *string `type:"string"`
75692
75693	// The ARNs of the license configurations.
75694	LicenseSpecifications []*ImportImageLicenseConfigurationRequest `locationNameList:"item" type:"list"`
75695
75696	// The license type to be used for the Amazon Machine Image (AMI) after importing.
75697	//
75698	// By default, we detect the source-system operating system (OS) and apply the
75699	// appropriate license. Specify AWS to replace the source-system license with
75700	// an AWS license, if appropriate. Specify BYOL to retain the source-system
75701	// license, if appropriate.
75702	//
75703	// To use BYOL, you must have existing licenses with rights to use these licenses
75704	// in a third party cloud, such as AWS. For more information, see Prerequisites
75705	// (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image)
75706	// in the VM Import/Export User Guide.
75707	LicenseType *string `type:"string"`
75708
75709	// The operating system of the virtual machine.
75710	//
75711	// Valid values: Windows | Linux
75712	Platform *string `type:"string"`
75713
75714	// The name of the role to use when not using the default role, 'vmimport'.
75715	RoleName *string `type:"string"`
75716}
75717
75718// String returns the string representation
75719func (s ImportImageInput) String() string {
75720	return awsutil.Prettify(s)
75721}
75722
75723// GoString returns the string representation
75724func (s ImportImageInput) GoString() string {
75725	return s.String()
75726}
75727
75728// SetArchitecture sets the Architecture field's value.
75729func (s *ImportImageInput) SetArchitecture(v string) *ImportImageInput {
75730	s.Architecture = &v
75731	return s
75732}
75733
75734// SetClientData sets the ClientData field's value.
75735func (s *ImportImageInput) SetClientData(v *ClientData) *ImportImageInput {
75736	s.ClientData = v
75737	return s
75738}
75739
75740// SetClientToken sets the ClientToken field's value.
75741func (s *ImportImageInput) SetClientToken(v string) *ImportImageInput {
75742	s.ClientToken = &v
75743	return s
75744}
75745
75746// SetDescription sets the Description field's value.
75747func (s *ImportImageInput) SetDescription(v string) *ImportImageInput {
75748	s.Description = &v
75749	return s
75750}
75751
75752// SetDiskContainers sets the DiskContainers field's value.
75753func (s *ImportImageInput) SetDiskContainers(v []*ImageDiskContainer) *ImportImageInput {
75754	s.DiskContainers = v
75755	return s
75756}
75757
75758// SetDryRun sets the DryRun field's value.
75759func (s *ImportImageInput) SetDryRun(v bool) *ImportImageInput {
75760	s.DryRun = &v
75761	return s
75762}
75763
75764// SetEncrypted sets the Encrypted field's value.
75765func (s *ImportImageInput) SetEncrypted(v bool) *ImportImageInput {
75766	s.Encrypted = &v
75767	return s
75768}
75769
75770// SetHypervisor sets the Hypervisor field's value.
75771func (s *ImportImageInput) SetHypervisor(v string) *ImportImageInput {
75772	s.Hypervisor = &v
75773	return s
75774}
75775
75776// SetKmsKeyId sets the KmsKeyId field's value.
75777func (s *ImportImageInput) SetKmsKeyId(v string) *ImportImageInput {
75778	s.KmsKeyId = &v
75779	return s
75780}
75781
75782// SetLicenseSpecifications sets the LicenseSpecifications field's value.
75783func (s *ImportImageInput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationRequest) *ImportImageInput {
75784	s.LicenseSpecifications = v
75785	return s
75786}
75787
75788// SetLicenseType sets the LicenseType field's value.
75789func (s *ImportImageInput) SetLicenseType(v string) *ImportImageInput {
75790	s.LicenseType = &v
75791	return s
75792}
75793
75794// SetPlatform sets the Platform field's value.
75795func (s *ImportImageInput) SetPlatform(v string) *ImportImageInput {
75796	s.Platform = &v
75797	return s
75798}
75799
75800// SetRoleName sets the RoleName field's value.
75801func (s *ImportImageInput) SetRoleName(v string) *ImportImageInput {
75802	s.RoleName = &v
75803	return s
75804}
75805
75806// The request information of license configurations.
75807type ImportImageLicenseConfigurationRequest struct {
75808	_ struct{} `type:"structure"`
75809
75810	// The ARN of a license configuration.
75811	LicenseConfigurationArn *string `type:"string"`
75812}
75813
75814// String returns the string representation
75815func (s ImportImageLicenseConfigurationRequest) String() string {
75816	return awsutil.Prettify(s)
75817}
75818
75819// GoString returns the string representation
75820func (s ImportImageLicenseConfigurationRequest) GoString() string {
75821	return s.String()
75822}
75823
75824// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
75825func (s *ImportImageLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationRequest {
75826	s.LicenseConfigurationArn = &v
75827	return s
75828}
75829
75830// The response information for license configurations.
75831type ImportImageLicenseConfigurationResponse struct {
75832	_ struct{} `type:"structure"`
75833
75834	// The ARN of a license configuration.
75835	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
75836}
75837
75838// String returns the string representation
75839func (s ImportImageLicenseConfigurationResponse) String() string {
75840	return awsutil.Prettify(s)
75841}
75842
75843// GoString returns the string representation
75844func (s ImportImageLicenseConfigurationResponse) GoString() string {
75845	return s.String()
75846}
75847
75848// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
75849func (s *ImportImageLicenseConfigurationResponse) SetLicenseConfigurationArn(v string) *ImportImageLicenseConfigurationResponse {
75850	s.LicenseConfigurationArn = &v
75851	return s
75852}
75853
75854type ImportImageOutput struct {
75855	_ struct{} `type:"structure"`
75856
75857	// The architecture of the virtual machine.
75858	Architecture *string `locationName:"architecture" type:"string"`
75859
75860	// A description of the import task.
75861	Description *string `locationName:"description" type:"string"`
75862
75863	// Indicates whether the AMI is encypted.
75864	Encrypted *bool `locationName:"encrypted" type:"boolean"`
75865
75866	// The target hypervisor of the import task.
75867	Hypervisor *string `locationName:"hypervisor" type:"string"`
75868
75869	// The ID of the Amazon Machine Image (AMI) created by the import task.
75870	ImageId *string `locationName:"imageId" type:"string"`
75871
75872	// The task ID of the import image task.
75873	ImportTaskId *string `locationName:"importTaskId" type:"string"`
75874
75875	// The identifier for the symmetric AWS Key Management Service (AWS KMS) customer
75876	// master key (CMK) that was used to create the encrypted AMI.
75877	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
75878
75879	// The ARNs of the license configurations.
75880	LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
75881
75882	// The license type of the virtual machine.
75883	LicenseType *string `locationName:"licenseType" type:"string"`
75884
75885	// The operating system of the virtual machine.
75886	Platform *string `locationName:"platform" type:"string"`
75887
75888	// The progress of the task.
75889	Progress *string `locationName:"progress" type:"string"`
75890
75891	// Information about the snapshots.
75892	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
75893
75894	// A brief status of the task.
75895	Status *string `locationName:"status" type:"string"`
75896
75897	// A detailed status message of the import task.
75898	StatusMessage *string `locationName:"statusMessage" type:"string"`
75899}
75900
75901// String returns the string representation
75902func (s ImportImageOutput) String() string {
75903	return awsutil.Prettify(s)
75904}
75905
75906// GoString returns the string representation
75907func (s ImportImageOutput) GoString() string {
75908	return s.String()
75909}
75910
75911// SetArchitecture sets the Architecture field's value.
75912func (s *ImportImageOutput) SetArchitecture(v string) *ImportImageOutput {
75913	s.Architecture = &v
75914	return s
75915}
75916
75917// SetDescription sets the Description field's value.
75918func (s *ImportImageOutput) SetDescription(v string) *ImportImageOutput {
75919	s.Description = &v
75920	return s
75921}
75922
75923// SetEncrypted sets the Encrypted field's value.
75924func (s *ImportImageOutput) SetEncrypted(v bool) *ImportImageOutput {
75925	s.Encrypted = &v
75926	return s
75927}
75928
75929// SetHypervisor sets the Hypervisor field's value.
75930func (s *ImportImageOutput) SetHypervisor(v string) *ImportImageOutput {
75931	s.Hypervisor = &v
75932	return s
75933}
75934
75935// SetImageId sets the ImageId field's value.
75936func (s *ImportImageOutput) SetImageId(v string) *ImportImageOutput {
75937	s.ImageId = &v
75938	return s
75939}
75940
75941// SetImportTaskId sets the ImportTaskId field's value.
75942func (s *ImportImageOutput) SetImportTaskId(v string) *ImportImageOutput {
75943	s.ImportTaskId = &v
75944	return s
75945}
75946
75947// SetKmsKeyId sets the KmsKeyId field's value.
75948func (s *ImportImageOutput) SetKmsKeyId(v string) *ImportImageOutput {
75949	s.KmsKeyId = &v
75950	return s
75951}
75952
75953// SetLicenseSpecifications sets the LicenseSpecifications field's value.
75954func (s *ImportImageOutput) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageOutput {
75955	s.LicenseSpecifications = v
75956	return s
75957}
75958
75959// SetLicenseType sets the LicenseType field's value.
75960func (s *ImportImageOutput) SetLicenseType(v string) *ImportImageOutput {
75961	s.LicenseType = &v
75962	return s
75963}
75964
75965// SetPlatform sets the Platform field's value.
75966func (s *ImportImageOutput) SetPlatform(v string) *ImportImageOutput {
75967	s.Platform = &v
75968	return s
75969}
75970
75971// SetProgress sets the Progress field's value.
75972func (s *ImportImageOutput) SetProgress(v string) *ImportImageOutput {
75973	s.Progress = &v
75974	return s
75975}
75976
75977// SetSnapshotDetails sets the SnapshotDetails field's value.
75978func (s *ImportImageOutput) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageOutput {
75979	s.SnapshotDetails = v
75980	return s
75981}
75982
75983// SetStatus sets the Status field's value.
75984func (s *ImportImageOutput) SetStatus(v string) *ImportImageOutput {
75985	s.Status = &v
75986	return s
75987}
75988
75989// SetStatusMessage sets the StatusMessage field's value.
75990func (s *ImportImageOutput) SetStatusMessage(v string) *ImportImageOutput {
75991	s.StatusMessage = &v
75992	return s
75993}
75994
75995// Describes an import image task.
75996type ImportImageTask struct {
75997	_ struct{} `type:"structure"`
75998
75999	// The architecture of the virtual machine.
76000	//
76001	// Valid values: i386 | x86_64 | arm64
76002	Architecture *string `locationName:"architecture" type:"string"`
76003
76004	// A description of the import task.
76005	Description *string `locationName:"description" type:"string"`
76006
76007	// Indicates whether the image is encrypted.
76008	Encrypted *bool `locationName:"encrypted" type:"boolean"`
76009
76010	// The target hypervisor for the import task.
76011	//
76012	// Valid values: xen
76013	Hypervisor *string `locationName:"hypervisor" type:"string"`
76014
76015	// The ID of the Amazon Machine Image (AMI) of the imported virtual machine.
76016	ImageId *string `locationName:"imageId" type:"string"`
76017
76018	// The ID of the import image task.
76019	ImportTaskId *string `locationName:"importTaskId" type:"string"`
76020
76021	// The identifier for the AWS Key Management Service (AWS KMS) customer master
76022	// key (CMK) that was used to create the encrypted image.
76023	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
76024
76025	// The ARNs of the license configurations that are associated with the import
76026	// image task.
76027	LicenseSpecifications []*ImportImageLicenseConfigurationResponse `locationName:"licenseSpecifications" locationNameList:"item" type:"list"`
76028
76029	// The license type of the virtual machine.
76030	LicenseType *string `locationName:"licenseType" type:"string"`
76031
76032	// The description string for the import image task.
76033	Platform *string `locationName:"platform" type:"string"`
76034
76035	// The percentage of progress of the import image task.
76036	Progress *string `locationName:"progress" type:"string"`
76037
76038	// Information about the snapshots.
76039	SnapshotDetails []*SnapshotDetail `locationName:"snapshotDetailSet" locationNameList:"item" type:"list"`
76040
76041	// A brief status for the import image task.
76042	Status *string `locationName:"status" type:"string"`
76043
76044	// A descriptive status message for the import image task.
76045	StatusMessage *string `locationName:"statusMessage" type:"string"`
76046
76047	// Any tags applied to the import image task.
76048	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
76049}
76050
76051// String returns the string representation
76052func (s ImportImageTask) String() string {
76053	return awsutil.Prettify(s)
76054}
76055
76056// GoString returns the string representation
76057func (s ImportImageTask) GoString() string {
76058	return s.String()
76059}
76060
76061// SetArchitecture sets the Architecture field's value.
76062func (s *ImportImageTask) SetArchitecture(v string) *ImportImageTask {
76063	s.Architecture = &v
76064	return s
76065}
76066
76067// SetDescription sets the Description field's value.
76068func (s *ImportImageTask) SetDescription(v string) *ImportImageTask {
76069	s.Description = &v
76070	return s
76071}
76072
76073// SetEncrypted sets the Encrypted field's value.
76074func (s *ImportImageTask) SetEncrypted(v bool) *ImportImageTask {
76075	s.Encrypted = &v
76076	return s
76077}
76078
76079// SetHypervisor sets the Hypervisor field's value.
76080func (s *ImportImageTask) SetHypervisor(v string) *ImportImageTask {
76081	s.Hypervisor = &v
76082	return s
76083}
76084
76085// SetImageId sets the ImageId field's value.
76086func (s *ImportImageTask) SetImageId(v string) *ImportImageTask {
76087	s.ImageId = &v
76088	return s
76089}
76090
76091// SetImportTaskId sets the ImportTaskId field's value.
76092func (s *ImportImageTask) SetImportTaskId(v string) *ImportImageTask {
76093	s.ImportTaskId = &v
76094	return s
76095}
76096
76097// SetKmsKeyId sets the KmsKeyId field's value.
76098func (s *ImportImageTask) SetKmsKeyId(v string) *ImportImageTask {
76099	s.KmsKeyId = &v
76100	return s
76101}
76102
76103// SetLicenseSpecifications sets the LicenseSpecifications field's value.
76104func (s *ImportImageTask) SetLicenseSpecifications(v []*ImportImageLicenseConfigurationResponse) *ImportImageTask {
76105	s.LicenseSpecifications = v
76106	return s
76107}
76108
76109// SetLicenseType sets the LicenseType field's value.
76110func (s *ImportImageTask) SetLicenseType(v string) *ImportImageTask {
76111	s.LicenseType = &v
76112	return s
76113}
76114
76115// SetPlatform sets the Platform field's value.
76116func (s *ImportImageTask) SetPlatform(v string) *ImportImageTask {
76117	s.Platform = &v
76118	return s
76119}
76120
76121// SetProgress sets the Progress field's value.
76122func (s *ImportImageTask) SetProgress(v string) *ImportImageTask {
76123	s.Progress = &v
76124	return s
76125}
76126
76127// SetSnapshotDetails sets the SnapshotDetails field's value.
76128func (s *ImportImageTask) SetSnapshotDetails(v []*SnapshotDetail) *ImportImageTask {
76129	s.SnapshotDetails = v
76130	return s
76131}
76132
76133// SetStatus sets the Status field's value.
76134func (s *ImportImageTask) SetStatus(v string) *ImportImageTask {
76135	s.Status = &v
76136	return s
76137}
76138
76139// SetStatusMessage sets the StatusMessage field's value.
76140func (s *ImportImageTask) SetStatusMessage(v string) *ImportImageTask {
76141	s.StatusMessage = &v
76142	return s
76143}
76144
76145// SetTags sets the Tags field's value.
76146func (s *ImportImageTask) SetTags(v []*Tag) *ImportImageTask {
76147	s.Tags = v
76148	return s
76149}
76150
76151type ImportInstanceInput struct {
76152	_ struct{} `type:"structure"`
76153
76154	// A description for the instance being imported.
76155	Description *string `locationName:"description" type:"string"`
76156
76157	// The disk image.
76158	DiskImages []*DiskImage `locationName:"diskImage" type:"list"`
76159
76160	// Checks whether you have the required permissions for the action, without
76161	// actually making the request, and provides an error response. If you have
76162	// the required permissions, the error response is DryRunOperation. Otherwise,
76163	// it is UnauthorizedOperation.
76164	DryRun *bool `locationName:"dryRun" type:"boolean"`
76165
76166	// The launch specification.
76167	LaunchSpecification *ImportInstanceLaunchSpecification `locationName:"launchSpecification" type:"structure"`
76168
76169	// The instance operating system.
76170	//
76171	// Platform is a required field
76172	Platform *string `locationName:"platform" type:"string" required:"true" enum:"PlatformValues"`
76173}
76174
76175// String returns the string representation
76176func (s ImportInstanceInput) String() string {
76177	return awsutil.Prettify(s)
76178}
76179
76180// GoString returns the string representation
76181func (s ImportInstanceInput) GoString() string {
76182	return s.String()
76183}
76184
76185// Validate inspects the fields of the type to determine if they are valid.
76186func (s *ImportInstanceInput) Validate() error {
76187	invalidParams := request.ErrInvalidParams{Context: "ImportInstanceInput"}
76188	if s.Platform == nil {
76189		invalidParams.Add(request.NewErrParamRequired("Platform"))
76190	}
76191	if s.DiskImages != nil {
76192		for i, v := range s.DiskImages {
76193			if v == nil {
76194				continue
76195			}
76196			if err := v.Validate(); err != nil {
76197				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DiskImages", i), err.(request.ErrInvalidParams))
76198			}
76199		}
76200	}
76201
76202	if invalidParams.Len() > 0 {
76203		return invalidParams
76204	}
76205	return nil
76206}
76207
76208// SetDescription sets the Description field's value.
76209func (s *ImportInstanceInput) SetDescription(v string) *ImportInstanceInput {
76210	s.Description = &v
76211	return s
76212}
76213
76214// SetDiskImages sets the DiskImages field's value.
76215func (s *ImportInstanceInput) SetDiskImages(v []*DiskImage) *ImportInstanceInput {
76216	s.DiskImages = v
76217	return s
76218}
76219
76220// SetDryRun sets the DryRun field's value.
76221func (s *ImportInstanceInput) SetDryRun(v bool) *ImportInstanceInput {
76222	s.DryRun = &v
76223	return s
76224}
76225
76226// SetLaunchSpecification sets the LaunchSpecification field's value.
76227func (s *ImportInstanceInput) SetLaunchSpecification(v *ImportInstanceLaunchSpecification) *ImportInstanceInput {
76228	s.LaunchSpecification = v
76229	return s
76230}
76231
76232// SetPlatform sets the Platform field's value.
76233func (s *ImportInstanceInput) SetPlatform(v string) *ImportInstanceInput {
76234	s.Platform = &v
76235	return s
76236}
76237
76238// Describes the launch specification for VM import.
76239type ImportInstanceLaunchSpecification struct {
76240	_ struct{} `type:"structure"`
76241
76242	// Reserved.
76243	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
76244
76245	// The architecture of the instance.
76246	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
76247
76248	// The security group IDs.
76249	GroupIds []*string `locationName:"GroupId" locationNameList:"SecurityGroupId" type:"list"`
76250
76251	// The security group names.
76252	GroupNames []*string `locationName:"GroupName" locationNameList:"SecurityGroup" type:"list"`
76253
76254	// Indicates whether an instance stops or terminates when you initiate shutdown
76255	// from the instance (using the operating system command for system shutdown).
76256	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
76257
76258	// The instance type. For more information about the instance types that you
76259	// can import, see Instance Types (https://docs.aws.amazon.com/vm-import/latest/userguide/vmie_prereqs.html#vmimport-instance-types)
76260	// in the VM Import/Export User Guide.
76261	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
76262
76263	// Indicates whether monitoring is enabled.
76264	Monitoring *bool `locationName:"monitoring" type:"boolean"`
76265
76266	// The placement information for the instance.
76267	Placement *Placement `locationName:"placement" type:"structure"`
76268
76269	// [EC2-VPC] An available IP address from the IP address range of the subnet.
76270	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
76271
76272	// [EC2-VPC] The ID of the subnet in which to launch the instance.
76273	SubnetId *string `locationName:"subnetId" type:"string"`
76274
76275	// The Base64-encoded user data to make available to the instance.
76276	UserData *UserData `locationName:"userData" type:"structure" sensitive:"true"`
76277}
76278
76279// String returns the string representation
76280func (s ImportInstanceLaunchSpecification) String() string {
76281	return awsutil.Prettify(s)
76282}
76283
76284// GoString returns the string representation
76285func (s ImportInstanceLaunchSpecification) GoString() string {
76286	return s.String()
76287}
76288
76289// SetAdditionalInfo sets the AdditionalInfo field's value.
76290func (s *ImportInstanceLaunchSpecification) SetAdditionalInfo(v string) *ImportInstanceLaunchSpecification {
76291	s.AdditionalInfo = &v
76292	return s
76293}
76294
76295// SetArchitecture sets the Architecture field's value.
76296func (s *ImportInstanceLaunchSpecification) SetArchitecture(v string) *ImportInstanceLaunchSpecification {
76297	s.Architecture = &v
76298	return s
76299}
76300
76301// SetGroupIds sets the GroupIds field's value.
76302func (s *ImportInstanceLaunchSpecification) SetGroupIds(v []*string) *ImportInstanceLaunchSpecification {
76303	s.GroupIds = v
76304	return s
76305}
76306
76307// SetGroupNames sets the GroupNames field's value.
76308func (s *ImportInstanceLaunchSpecification) SetGroupNames(v []*string) *ImportInstanceLaunchSpecification {
76309	s.GroupNames = v
76310	return s
76311}
76312
76313// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
76314func (s *ImportInstanceLaunchSpecification) SetInstanceInitiatedShutdownBehavior(v string) *ImportInstanceLaunchSpecification {
76315	s.InstanceInitiatedShutdownBehavior = &v
76316	return s
76317}
76318
76319// SetInstanceType sets the InstanceType field's value.
76320func (s *ImportInstanceLaunchSpecification) SetInstanceType(v string) *ImportInstanceLaunchSpecification {
76321	s.InstanceType = &v
76322	return s
76323}
76324
76325// SetMonitoring sets the Monitoring field's value.
76326func (s *ImportInstanceLaunchSpecification) SetMonitoring(v bool) *ImportInstanceLaunchSpecification {
76327	s.Monitoring = &v
76328	return s
76329}
76330
76331// SetPlacement sets the Placement field's value.
76332func (s *ImportInstanceLaunchSpecification) SetPlacement(v *Placement) *ImportInstanceLaunchSpecification {
76333	s.Placement = v
76334	return s
76335}
76336
76337// SetPrivateIpAddress sets the PrivateIpAddress field's value.
76338func (s *ImportInstanceLaunchSpecification) SetPrivateIpAddress(v string) *ImportInstanceLaunchSpecification {
76339	s.PrivateIpAddress = &v
76340	return s
76341}
76342
76343// SetSubnetId sets the SubnetId field's value.
76344func (s *ImportInstanceLaunchSpecification) SetSubnetId(v string) *ImportInstanceLaunchSpecification {
76345	s.SubnetId = &v
76346	return s
76347}
76348
76349// SetUserData sets the UserData field's value.
76350func (s *ImportInstanceLaunchSpecification) SetUserData(v *UserData) *ImportInstanceLaunchSpecification {
76351	s.UserData = v
76352	return s
76353}
76354
76355type ImportInstanceOutput struct {
76356	_ struct{} `type:"structure"`
76357
76358	// Information about the conversion task.
76359	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
76360}
76361
76362// String returns the string representation
76363func (s ImportInstanceOutput) String() string {
76364	return awsutil.Prettify(s)
76365}
76366
76367// GoString returns the string representation
76368func (s ImportInstanceOutput) GoString() string {
76369	return s.String()
76370}
76371
76372// SetConversionTask sets the ConversionTask field's value.
76373func (s *ImportInstanceOutput) SetConversionTask(v *ConversionTask) *ImportInstanceOutput {
76374	s.ConversionTask = v
76375	return s
76376}
76377
76378// Describes an import instance task.
76379type ImportInstanceTaskDetails struct {
76380	_ struct{} `type:"structure"`
76381
76382	// A description of the task.
76383	Description *string `locationName:"description" type:"string"`
76384
76385	// The ID of the instance.
76386	InstanceId *string `locationName:"instanceId" type:"string"`
76387
76388	// The instance operating system.
76389	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
76390
76391	// The volumes.
76392	Volumes []*ImportInstanceVolumeDetailItem `locationName:"volumes" locationNameList:"item" type:"list"`
76393}
76394
76395// String returns the string representation
76396func (s ImportInstanceTaskDetails) String() string {
76397	return awsutil.Prettify(s)
76398}
76399
76400// GoString returns the string representation
76401func (s ImportInstanceTaskDetails) GoString() string {
76402	return s.String()
76403}
76404
76405// SetDescription sets the Description field's value.
76406func (s *ImportInstanceTaskDetails) SetDescription(v string) *ImportInstanceTaskDetails {
76407	s.Description = &v
76408	return s
76409}
76410
76411// SetInstanceId sets the InstanceId field's value.
76412func (s *ImportInstanceTaskDetails) SetInstanceId(v string) *ImportInstanceTaskDetails {
76413	s.InstanceId = &v
76414	return s
76415}
76416
76417// SetPlatform sets the Platform field's value.
76418func (s *ImportInstanceTaskDetails) SetPlatform(v string) *ImportInstanceTaskDetails {
76419	s.Platform = &v
76420	return s
76421}
76422
76423// SetVolumes sets the Volumes field's value.
76424func (s *ImportInstanceTaskDetails) SetVolumes(v []*ImportInstanceVolumeDetailItem) *ImportInstanceTaskDetails {
76425	s.Volumes = v
76426	return s
76427}
76428
76429// Describes an import volume task.
76430type ImportInstanceVolumeDetailItem struct {
76431	_ struct{} `type:"structure"`
76432
76433	// The Availability Zone where the resulting instance will reside.
76434	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
76435
76436	// The number of bytes converted so far.
76437	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
76438
76439	// A description of the task.
76440	Description *string `locationName:"description" type:"string"`
76441
76442	// The image.
76443	Image *DiskImageDescription `locationName:"image" type:"structure"`
76444
76445	// The status of the import of this particular disk image.
76446	Status *string `locationName:"status" type:"string"`
76447
76448	// The status information or errors related to the disk image.
76449	StatusMessage *string `locationName:"statusMessage" type:"string"`
76450
76451	// The volume.
76452	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
76453}
76454
76455// String returns the string representation
76456func (s ImportInstanceVolumeDetailItem) String() string {
76457	return awsutil.Prettify(s)
76458}
76459
76460// GoString returns the string representation
76461func (s ImportInstanceVolumeDetailItem) GoString() string {
76462	return s.String()
76463}
76464
76465// SetAvailabilityZone sets the AvailabilityZone field's value.
76466func (s *ImportInstanceVolumeDetailItem) SetAvailabilityZone(v string) *ImportInstanceVolumeDetailItem {
76467	s.AvailabilityZone = &v
76468	return s
76469}
76470
76471// SetBytesConverted sets the BytesConverted field's value.
76472func (s *ImportInstanceVolumeDetailItem) SetBytesConverted(v int64) *ImportInstanceVolumeDetailItem {
76473	s.BytesConverted = &v
76474	return s
76475}
76476
76477// SetDescription sets the Description field's value.
76478func (s *ImportInstanceVolumeDetailItem) SetDescription(v string) *ImportInstanceVolumeDetailItem {
76479	s.Description = &v
76480	return s
76481}
76482
76483// SetImage sets the Image field's value.
76484func (s *ImportInstanceVolumeDetailItem) SetImage(v *DiskImageDescription) *ImportInstanceVolumeDetailItem {
76485	s.Image = v
76486	return s
76487}
76488
76489// SetStatus sets the Status field's value.
76490func (s *ImportInstanceVolumeDetailItem) SetStatus(v string) *ImportInstanceVolumeDetailItem {
76491	s.Status = &v
76492	return s
76493}
76494
76495// SetStatusMessage sets the StatusMessage field's value.
76496func (s *ImportInstanceVolumeDetailItem) SetStatusMessage(v string) *ImportInstanceVolumeDetailItem {
76497	s.StatusMessage = &v
76498	return s
76499}
76500
76501// SetVolume sets the Volume field's value.
76502func (s *ImportInstanceVolumeDetailItem) SetVolume(v *DiskImageVolumeDescription) *ImportInstanceVolumeDetailItem {
76503	s.Volume = v
76504	return s
76505}
76506
76507type ImportKeyPairInput struct {
76508	_ struct{} `type:"structure"`
76509
76510	// Checks whether you have the required permissions for the action, without
76511	// actually making the request, and provides an error response. If you have
76512	// the required permissions, the error response is DryRunOperation. Otherwise,
76513	// it is UnauthorizedOperation.
76514	DryRun *bool `locationName:"dryRun" type:"boolean"`
76515
76516	// A unique name for the key pair.
76517	//
76518	// KeyName is a required field
76519	KeyName *string `locationName:"keyName" type:"string" required:"true"`
76520
76521	// The public key. For API calls, the text must be base64-encoded. For command
76522	// line tools, base64 encoding is performed for you.
76523	//
76524	// PublicKeyMaterial is automatically base64 encoded/decoded by the SDK.
76525	//
76526	// PublicKeyMaterial is a required field
76527	PublicKeyMaterial []byte `locationName:"publicKeyMaterial" type:"blob" required:"true"`
76528}
76529
76530// String returns the string representation
76531func (s ImportKeyPairInput) String() string {
76532	return awsutil.Prettify(s)
76533}
76534
76535// GoString returns the string representation
76536func (s ImportKeyPairInput) GoString() string {
76537	return s.String()
76538}
76539
76540// Validate inspects the fields of the type to determine if they are valid.
76541func (s *ImportKeyPairInput) Validate() error {
76542	invalidParams := request.ErrInvalidParams{Context: "ImportKeyPairInput"}
76543	if s.KeyName == nil {
76544		invalidParams.Add(request.NewErrParamRequired("KeyName"))
76545	}
76546	if s.PublicKeyMaterial == nil {
76547		invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial"))
76548	}
76549
76550	if invalidParams.Len() > 0 {
76551		return invalidParams
76552	}
76553	return nil
76554}
76555
76556// SetDryRun sets the DryRun field's value.
76557func (s *ImportKeyPairInput) SetDryRun(v bool) *ImportKeyPairInput {
76558	s.DryRun = &v
76559	return s
76560}
76561
76562// SetKeyName sets the KeyName field's value.
76563func (s *ImportKeyPairInput) SetKeyName(v string) *ImportKeyPairInput {
76564	s.KeyName = &v
76565	return s
76566}
76567
76568// SetPublicKeyMaterial sets the PublicKeyMaterial field's value.
76569func (s *ImportKeyPairInput) SetPublicKeyMaterial(v []byte) *ImportKeyPairInput {
76570	s.PublicKeyMaterial = v
76571	return s
76572}
76573
76574type ImportKeyPairOutput struct {
76575	_ struct{} `type:"structure"`
76576
76577	// The MD5 public key fingerprint as specified in section 4 of RFC 4716.
76578	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
76579
76580	// The key pair name you provided.
76581	KeyName *string `locationName:"keyName" type:"string"`
76582}
76583
76584// String returns the string representation
76585func (s ImportKeyPairOutput) String() string {
76586	return awsutil.Prettify(s)
76587}
76588
76589// GoString returns the string representation
76590func (s ImportKeyPairOutput) GoString() string {
76591	return s.String()
76592}
76593
76594// SetKeyFingerprint sets the KeyFingerprint field's value.
76595func (s *ImportKeyPairOutput) SetKeyFingerprint(v string) *ImportKeyPairOutput {
76596	s.KeyFingerprint = &v
76597	return s
76598}
76599
76600// SetKeyName sets the KeyName field's value.
76601func (s *ImportKeyPairOutput) SetKeyName(v string) *ImportKeyPairOutput {
76602	s.KeyName = &v
76603	return s
76604}
76605
76606type ImportSnapshotInput struct {
76607	_ struct{} `type:"structure"`
76608
76609	// The client-specific data.
76610	ClientData *ClientData `type:"structure"`
76611
76612	// Token to enable idempotency for VM import requests.
76613	ClientToken *string `type:"string"`
76614
76615	// The description string for the import snapshot task.
76616	Description *string `type:"string"`
76617
76618	// Information about the disk container.
76619	DiskContainer *SnapshotDiskContainer `type:"structure"`
76620
76621	// Checks whether you have the required permissions for the action, without
76622	// actually making the request, and provides an error response. If you have
76623	// the required permissions, the error response is DryRunOperation. Otherwise,
76624	// it is UnauthorizedOperation.
76625	DryRun *bool `type:"boolean"`
76626
76627	// Specifies whether the destination snapshot of the imported image should be
76628	// encrypted. The default CMK for EBS is used unless you specify a non-default
76629	// AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information,
76630	// see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html)
76631	// in the Amazon Elastic Compute Cloud User Guide.
76632	Encrypted *bool `type:"boolean"`
76633
76634	// An identifier for the symmetric AWS Key Management Service (AWS KMS) customer
76635	// master key (CMK) to use when creating the encrypted snapshot. This parameter
76636	// is only required if you want to use a non-default CMK; if this parameter
76637	// is not specified, the default CMK for EBS is used. If a KmsKeyId is specified,
76638	// the Encrypted flag must also be set.
76639	//
76640	// The CMK identifier may be provided in any of the following formats:
76641	//
76642	//    * Key ID
76643	//
76644	//    * Key alias. The alias ARN contains the arn:aws:kms namespace, followed
76645	//    by the Region of the CMK, the AWS account ID of the CMK owner, the alias
76646	//    namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
76647	//
76648	//    * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed
76649	//    by the Region of the CMK, the AWS account ID of the CMK owner, the key
76650	//    namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
76651	//
76652	//    * ARN using key alias. The alias ARN contains the arn:aws:kms namespace,
76653	//    followed by the Region of the CMK, the AWS account ID of the CMK owner,
76654	//    the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
76655	//
76656	// AWS parses KmsKeyId asynchronously, meaning that the action you call may
76657	// appear to complete even though you provided an invalid identifier. This action
76658	// will eventually report failure.
76659	//
76660	// The specified CMK must exist in the Region that the snapshot is being copied
76661	// to.
76662	//
76663	// Amazon EBS does not support asymmetric CMKs.
76664	KmsKeyId *string `type:"string"`
76665
76666	// The name of the role to use when not using the default role, 'vmimport'.
76667	RoleName *string `type:"string"`
76668}
76669
76670// String returns the string representation
76671func (s ImportSnapshotInput) String() string {
76672	return awsutil.Prettify(s)
76673}
76674
76675// GoString returns the string representation
76676func (s ImportSnapshotInput) GoString() string {
76677	return s.String()
76678}
76679
76680// SetClientData sets the ClientData field's value.
76681func (s *ImportSnapshotInput) SetClientData(v *ClientData) *ImportSnapshotInput {
76682	s.ClientData = v
76683	return s
76684}
76685
76686// SetClientToken sets the ClientToken field's value.
76687func (s *ImportSnapshotInput) SetClientToken(v string) *ImportSnapshotInput {
76688	s.ClientToken = &v
76689	return s
76690}
76691
76692// SetDescription sets the Description field's value.
76693func (s *ImportSnapshotInput) SetDescription(v string) *ImportSnapshotInput {
76694	s.Description = &v
76695	return s
76696}
76697
76698// SetDiskContainer sets the DiskContainer field's value.
76699func (s *ImportSnapshotInput) SetDiskContainer(v *SnapshotDiskContainer) *ImportSnapshotInput {
76700	s.DiskContainer = v
76701	return s
76702}
76703
76704// SetDryRun sets the DryRun field's value.
76705func (s *ImportSnapshotInput) SetDryRun(v bool) *ImportSnapshotInput {
76706	s.DryRun = &v
76707	return s
76708}
76709
76710// SetEncrypted sets the Encrypted field's value.
76711func (s *ImportSnapshotInput) SetEncrypted(v bool) *ImportSnapshotInput {
76712	s.Encrypted = &v
76713	return s
76714}
76715
76716// SetKmsKeyId sets the KmsKeyId field's value.
76717func (s *ImportSnapshotInput) SetKmsKeyId(v string) *ImportSnapshotInput {
76718	s.KmsKeyId = &v
76719	return s
76720}
76721
76722// SetRoleName sets the RoleName field's value.
76723func (s *ImportSnapshotInput) SetRoleName(v string) *ImportSnapshotInput {
76724	s.RoleName = &v
76725	return s
76726}
76727
76728type ImportSnapshotOutput struct {
76729	_ struct{} `type:"structure"`
76730
76731	// A description of the import snapshot task.
76732	Description *string `locationName:"description" type:"string"`
76733
76734	// The ID of the import snapshot task.
76735	ImportTaskId *string `locationName:"importTaskId" type:"string"`
76736
76737	// Information about the import snapshot task.
76738	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
76739}
76740
76741// String returns the string representation
76742func (s ImportSnapshotOutput) String() string {
76743	return awsutil.Prettify(s)
76744}
76745
76746// GoString returns the string representation
76747func (s ImportSnapshotOutput) GoString() string {
76748	return s.String()
76749}
76750
76751// SetDescription sets the Description field's value.
76752func (s *ImportSnapshotOutput) SetDescription(v string) *ImportSnapshotOutput {
76753	s.Description = &v
76754	return s
76755}
76756
76757// SetImportTaskId sets the ImportTaskId field's value.
76758func (s *ImportSnapshotOutput) SetImportTaskId(v string) *ImportSnapshotOutput {
76759	s.ImportTaskId = &v
76760	return s
76761}
76762
76763// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
76764func (s *ImportSnapshotOutput) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotOutput {
76765	s.SnapshotTaskDetail = v
76766	return s
76767}
76768
76769// Describes an import snapshot task.
76770type ImportSnapshotTask struct {
76771	_ struct{} `type:"structure"`
76772
76773	// A description of the import snapshot task.
76774	Description *string `locationName:"description" type:"string"`
76775
76776	// The ID of the import snapshot task.
76777	ImportTaskId *string `locationName:"importTaskId" type:"string"`
76778
76779	// Describes an import snapshot task.
76780	SnapshotTaskDetail *SnapshotTaskDetail `locationName:"snapshotTaskDetail" type:"structure"`
76781
76782	// Any tags applied to the import snapshot task.
76783	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
76784}
76785
76786// String returns the string representation
76787func (s ImportSnapshotTask) String() string {
76788	return awsutil.Prettify(s)
76789}
76790
76791// GoString returns the string representation
76792func (s ImportSnapshotTask) GoString() string {
76793	return s.String()
76794}
76795
76796// SetDescription sets the Description field's value.
76797func (s *ImportSnapshotTask) SetDescription(v string) *ImportSnapshotTask {
76798	s.Description = &v
76799	return s
76800}
76801
76802// SetImportTaskId sets the ImportTaskId field's value.
76803func (s *ImportSnapshotTask) SetImportTaskId(v string) *ImportSnapshotTask {
76804	s.ImportTaskId = &v
76805	return s
76806}
76807
76808// SetSnapshotTaskDetail sets the SnapshotTaskDetail field's value.
76809func (s *ImportSnapshotTask) SetSnapshotTaskDetail(v *SnapshotTaskDetail) *ImportSnapshotTask {
76810	s.SnapshotTaskDetail = v
76811	return s
76812}
76813
76814// SetTags sets the Tags field's value.
76815func (s *ImportSnapshotTask) SetTags(v []*Tag) *ImportSnapshotTask {
76816	s.Tags = v
76817	return s
76818}
76819
76820type ImportVolumeInput struct {
76821	_ struct{} `type:"structure"`
76822
76823	// The Availability Zone for the resulting EBS volume.
76824	//
76825	// AvailabilityZone is a required field
76826	AvailabilityZone *string `locationName:"availabilityZone" type:"string" required:"true"`
76827
76828	// A description of the volume.
76829	Description *string `locationName:"description" type:"string"`
76830
76831	// Checks whether you have the required permissions for the action, without
76832	// actually making the request, and provides an error response. If you have
76833	// the required permissions, the error response is DryRunOperation. Otherwise,
76834	// it is UnauthorizedOperation.
76835	DryRun *bool `locationName:"dryRun" type:"boolean"`
76836
76837	// The disk image.
76838	//
76839	// Image is a required field
76840	Image *DiskImageDetail `locationName:"image" type:"structure" required:"true"`
76841
76842	// The volume size.
76843	//
76844	// Volume is a required field
76845	Volume *VolumeDetail `locationName:"volume" type:"structure" required:"true"`
76846}
76847
76848// String returns the string representation
76849func (s ImportVolumeInput) String() string {
76850	return awsutil.Prettify(s)
76851}
76852
76853// GoString returns the string representation
76854func (s ImportVolumeInput) GoString() string {
76855	return s.String()
76856}
76857
76858// Validate inspects the fields of the type to determine if they are valid.
76859func (s *ImportVolumeInput) Validate() error {
76860	invalidParams := request.ErrInvalidParams{Context: "ImportVolumeInput"}
76861	if s.AvailabilityZone == nil {
76862		invalidParams.Add(request.NewErrParamRequired("AvailabilityZone"))
76863	}
76864	if s.Image == nil {
76865		invalidParams.Add(request.NewErrParamRequired("Image"))
76866	}
76867	if s.Volume == nil {
76868		invalidParams.Add(request.NewErrParamRequired("Volume"))
76869	}
76870	if s.Image != nil {
76871		if err := s.Image.Validate(); err != nil {
76872			invalidParams.AddNested("Image", err.(request.ErrInvalidParams))
76873		}
76874	}
76875	if s.Volume != nil {
76876		if err := s.Volume.Validate(); err != nil {
76877			invalidParams.AddNested("Volume", err.(request.ErrInvalidParams))
76878		}
76879	}
76880
76881	if invalidParams.Len() > 0 {
76882		return invalidParams
76883	}
76884	return nil
76885}
76886
76887// SetAvailabilityZone sets the AvailabilityZone field's value.
76888func (s *ImportVolumeInput) SetAvailabilityZone(v string) *ImportVolumeInput {
76889	s.AvailabilityZone = &v
76890	return s
76891}
76892
76893// SetDescription sets the Description field's value.
76894func (s *ImportVolumeInput) SetDescription(v string) *ImportVolumeInput {
76895	s.Description = &v
76896	return s
76897}
76898
76899// SetDryRun sets the DryRun field's value.
76900func (s *ImportVolumeInput) SetDryRun(v bool) *ImportVolumeInput {
76901	s.DryRun = &v
76902	return s
76903}
76904
76905// SetImage sets the Image field's value.
76906func (s *ImportVolumeInput) SetImage(v *DiskImageDetail) *ImportVolumeInput {
76907	s.Image = v
76908	return s
76909}
76910
76911// SetVolume sets the Volume field's value.
76912func (s *ImportVolumeInput) SetVolume(v *VolumeDetail) *ImportVolumeInput {
76913	s.Volume = v
76914	return s
76915}
76916
76917type ImportVolumeOutput struct {
76918	_ struct{} `type:"structure"`
76919
76920	// Information about the conversion task.
76921	ConversionTask *ConversionTask `locationName:"conversionTask" type:"structure"`
76922}
76923
76924// String returns the string representation
76925func (s ImportVolumeOutput) String() string {
76926	return awsutil.Prettify(s)
76927}
76928
76929// GoString returns the string representation
76930func (s ImportVolumeOutput) GoString() string {
76931	return s.String()
76932}
76933
76934// SetConversionTask sets the ConversionTask field's value.
76935func (s *ImportVolumeOutput) SetConversionTask(v *ConversionTask) *ImportVolumeOutput {
76936	s.ConversionTask = v
76937	return s
76938}
76939
76940// Describes an import volume task.
76941type ImportVolumeTaskDetails struct {
76942	_ struct{} `type:"structure"`
76943
76944	// The Availability Zone where the resulting volume will reside.
76945	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
76946
76947	// The number of bytes converted so far.
76948	BytesConverted *int64 `locationName:"bytesConverted" type:"long"`
76949
76950	// The description you provided when starting the import volume task.
76951	Description *string `locationName:"description" type:"string"`
76952
76953	// The image.
76954	Image *DiskImageDescription `locationName:"image" type:"structure"`
76955
76956	// The volume.
76957	Volume *DiskImageVolumeDescription `locationName:"volume" type:"structure"`
76958}
76959
76960// String returns the string representation
76961func (s ImportVolumeTaskDetails) String() string {
76962	return awsutil.Prettify(s)
76963}
76964
76965// GoString returns the string representation
76966func (s ImportVolumeTaskDetails) GoString() string {
76967	return s.String()
76968}
76969
76970// SetAvailabilityZone sets the AvailabilityZone field's value.
76971func (s *ImportVolumeTaskDetails) SetAvailabilityZone(v string) *ImportVolumeTaskDetails {
76972	s.AvailabilityZone = &v
76973	return s
76974}
76975
76976// SetBytesConverted sets the BytesConverted field's value.
76977func (s *ImportVolumeTaskDetails) SetBytesConverted(v int64) *ImportVolumeTaskDetails {
76978	s.BytesConverted = &v
76979	return s
76980}
76981
76982// SetDescription sets the Description field's value.
76983func (s *ImportVolumeTaskDetails) SetDescription(v string) *ImportVolumeTaskDetails {
76984	s.Description = &v
76985	return s
76986}
76987
76988// SetImage sets the Image field's value.
76989func (s *ImportVolumeTaskDetails) SetImage(v *DiskImageDescription) *ImportVolumeTaskDetails {
76990	s.Image = v
76991	return s
76992}
76993
76994// SetVolume sets the Volume field's value.
76995func (s *ImportVolumeTaskDetails) SetVolume(v *DiskImageVolumeDescription) *ImportVolumeTaskDetails {
76996	s.Volume = v
76997	return s
76998}
76999
77000// Describes the Inference accelerators for the instance type.
77001type InferenceAcceleratorInfo struct {
77002	_ struct{} `type:"structure"`
77003
77004	// Describes the Inference accelerators for the instance type.
77005	Accelerators []*InferenceDeviceInfo `locationName:"accelerators" type:"list"`
77006}
77007
77008// String returns the string representation
77009func (s InferenceAcceleratorInfo) String() string {
77010	return awsutil.Prettify(s)
77011}
77012
77013// GoString returns the string representation
77014func (s InferenceAcceleratorInfo) GoString() string {
77015	return s.String()
77016}
77017
77018// SetAccelerators sets the Accelerators field's value.
77019func (s *InferenceAcceleratorInfo) SetAccelerators(v []*InferenceDeviceInfo) *InferenceAcceleratorInfo {
77020	s.Accelerators = v
77021	return s
77022}
77023
77024// Describes the Inference accelerators for the instance type.
77025type InferenceDeviceInfo struct {
77026	_ struct{} `type:"structure"`
77027
77028	// The number of Inference accelerators for the instance type.
77029	Count *int64 `locationName:"count" type:"integer"`
77030
77031	// The manufacturer of the Inference accelerator.
77032	Manufacturer *string `locationName:"manufacturer" type:"string"`
77033
77034	// The name of the Inference accelerator.
77035	Name *string `locationName:"name" type:"string"`
77036}
77037
77038// String returns the string representation
77039func (s InferenceDeviceInfo) String() string {
77040	return awsutil.Prettify(s)
77041}
77042
77043// GoString returns the string representation
77044func (s InferenceDeviceInfo) GoString() string {
77045	return s.String()
77046}
77047
77048// SetCount sets the Count field's value.
77049func (s *InferenceDeviceInfo) SetCount(v int64) *InferenceDeviceInfo {
77050	s.Count = &v
77051	return s
77052}
77053
77054// SetManufacturer sets the Manufacturer field's value.
77055func (s *InferenceDeviceInfo) SetManufacturer(v string) *InferenceDeviceInfo {
77056	s.Manufacturer = &v
77057	return s
77058}
77059
77060// SetName sets the Name field's value.
77061func (s *InferenceDeviceInfo) SetName(v string) *InferenceDeviceInfo {
77062	s.Name = &v
77063	return s
77064}
77065
77066// Describes an instance.
77067type Instance struct {
77068	_ struct{} `type:"structure"`
77069
77070	// The AMI launch index, which can be used to find this instance in the launch
77071	// group.
77072	AmiLaunchIndex *int64 `locationName:"amiLaunchIndex" type:"integer"`
77073
77074	// The architecture of the image.
77075	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
77076
77077	// Any block device mapping entries for the instance.
77078	BlockDeviceMappings []*InstanceBlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
77079
77080	// The ID of the Capacity Reservation.
77081	CapacityReservationId *string `locationName:"capacityReservationId" type:"string"`
77082
77083	// Information about the Capacity Reservation targeting option.
77084	CapacityReservationSpecification *CapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
77085
77086	// The idempotency token you provided when you launched the instance, if applicable.
77087	ClientToken *string `locationName:"clientToken" type:"string"`
77088
77089	// The CPU options for the instance.
77090	CpuOptions *CpuOptions `locationName:"cpuOptions" type:"structure"`
77091
77092	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
77093	// provides dedicated throughput to Amazon EBS and an optimized configuration
77094	// stack to provide optimal I/O performance. This optimization isn't available
77095	// with all instance types. Additional usage charges apply when using an EBS
77096	// Optimized instance.
77097	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
77098
77099	// The Elastic GPU associated with the instance.
77100	ElasticGpuAssociations []*ElasticGpuAssociation `locationName:"elasticGpuAssociationSet" locationNameList:"item" type:"list"`
77101
77102	// The elastic inference accelerator associated with the instance.
77103	ElasticInferenceAcceleratorAssociations []*ElasticInferenceAcceleratorAssociation `locationName:"elasticInferenceAcceleratorAssociationSet" locationNameList:"item" type:"list"`
77104
77105	// Specifies whether enhanced networking with ENA is enabled.
77106	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
77107
77108	// Indicates whether the instance is enabled for hibernation.
77109	HibernationOptions *HibernationOptions `locationName:"hibernationOptions" type:"structure"`
77110
77111	// The hypervisor type of the instance.
77112	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"HypervisorType"`
77113
77114	// The IAM instance profile associated with the instance, if applicable.
77115	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
77116
77117	// The ID of the AMI used to launch the instance.
77118	ImageId *string `locationName:"imageId" type:"string"`
77119
77120	// The ID of the instance.
77121	InstanceId *string `locationName:"instanceId" type:"string"`
77122
77123	// Indicates whether this is a Spot Instance or a Scheduled Instance.
77124	InstanceLifecycle *string `locationName:"instanceLifecycle" type:"string" enum:"InstanceLifecycleType"`
77125
77126	// The instance type.
77127	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
77128
77129	// The kernel associated with this instance, if applicable.
77130	KernelId *string `locationName:"kernelId" type:"string"`
77131
77132	// The name of the key pair, if this instance was launched with an associated
77133	// key pair.
77134	KeyName *string `locationName:"keyName" type:"string"`
77135
77136	// The time the instance was launched.
77137	LaunchTime *time.Time `locationName:"launchTime" type:"timestamp"`
77138
77139	// The license configurations.
77140	Licenses []*LicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
77141
77142	// The metadata options for the instance.
77143	MetadataOptions *InstanceMetadataOptionsResponse `locationName:"metadataOptions" type:"structure"`
77144
77145	// The monitoring for the instance.
77146	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
77147
77148	// [EC2-VPC] The network interfaces for the instance.
77149	NetworkInterfaces []*InstanceNetworkInterface `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
77150
77151	// The Amazon Resource Name (ARN) of the Outpost.
77152	OutpostArn *string `locationName:"outpostArn" type:"string"`
77153
77154	// The location where the instance launched, if applicable.
77155	Placement *Placement `locationName:"placement" type:"structure"`
77156
77157	// The value is Windows for Windows instances; otherwise blank.
77158	Platform *string `locationName:"platform" type:"string" enum:"PlatformValues"`
77159
77160	// (IPv4 only) The private DNS hostname name assigned to the instance. This
77161	// DNS hostname can only be used inside the Amazon EC2 network. This name is
77162	// not available until the instance enters the running state.
77163	//
77164	// [EC2-VPC] The Amazon-provided DNS server resolves Amazon-provided private
77165	// DNS hostnames if you've enabled DNS resolution and DNS hostnames in your
77166	// VPC. If you are not using the Amazon-provided DNS server in your VPC, your
77167	// custom domain name servers must resolve the hostname as appropriate.
77168	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
77169
77170	// The private IPv4 address assigned to the instance.
77171	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
77172
77173	// The product codes attached to this instance, if applicable.
77174	ProductCodes []*ProductCode `locationName:"productCodes" locationNameList:"item" type:"list"`
77175
77176	// (IPv4 only) The public DNS name assigned to the instance. This name is not
77177	// available until the instance enters the running state. For EC2-VPC, this
77178	// name is only available if you've enabled DNS hostnames for your VPC.
77179	PublicDnsName *string `locationName:"dnsName" type:"string"`
77180
77181	// The public IPv4 address assigned to the instance, if applicable.
77182	PublicIpAddress *string `locationName:"ipAddress" type:"string"`
77183
77184	// The RAM disk associated with this instance, if applicable.
77185	RamdiskId *string `locationName:"ramdiskId" type:"string"`
77186
77187	// The device name of the root device volume (for example, /dev/sda1).
77188	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
77189
77190	// The root device type used by the AMI. The AMI can use an EBS volume or an
77191	// instance store volume.
77192	RootDeviceType *string `locationName:"rootDeviceType" type:"string" enum:"DeviceType"`
77193
77194	// The security groups for the instance.
77195	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
77196
77197	// Specifies whether to enable an instance launched in a VPC to perform NAT.
77198	// This controls whether source/destination checking is enabled on the instance.
77199	// A value of true means that checking is enabled, and false means that checking
77200	// is disabled. The value must be false for the instance to perform NAT. For
77201	// more information, see NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
77202	// in the Amazon Virtual Private Cloud User Guide.
77203	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
77204
77205	// If the request is a Spot Instance request, the ID of the request.
77206	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
77207
77208	// Specifies whether enhanced networking with the Intel 82599 Virtual Function
77209	// interface is enabled.
77210	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
77211
77212	// The current state of the instance.
77213	State *InstanceState `locationName:"instanceState" type:"structure"`
77214
77215	// The reason for the most recent state transition.
77216	StateReason *StateReason `locationName:"stateReason" type:"structure"`
77217
77218	// The reason for the most recent state transition. This might be an empty string.
77219	StateTransitionReason *string `locationName:"reason" type:"string"`
77220
77221	// [EC2-VPC] The ID of the subnet in which the instance is running.
77222	SubnetId *string `locationName:"subnetId" type:"string"`
77223
77224	// Any tags assigned to the instance.
77225	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
77226
77227	// The virtualization type of the instance.
77228	VirtualizationType *string `locationName:"virtualizationType" type:"string" enum:"VirtualizationType"`
77229
77230	// [EC2-VPC] The ID of the VPC in which the instance is running.
77231	VpcId *string `locationName:"vpcId" type:"string"`
77232}
77233
77234// String returns the string representation
77235func (s Instance) String() string {
77236	return awsutil.Prettify(s)
77237}
77238
77239// GoString returns the string representation
77240func (s Instance) GoString() string {
77241	return s.String()
77242}
77243
77244// SetAmiLaunchIndex sets the AmiLaunchIndex field's value.
77245func (s *Instance) SetAmiLaunchIndex(v int64) *Instance {
77246	s.AmiLaunchIndex = &v
77247	return s
77248}
77249
77250// SetArchitecture sets the Architecture field's value.
77251func (s *Instance) SetArchitecture(v string) *Instance {
77252	s.Architecture = &v
77253	return s
77254}
77255
77256// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
77257func (s *Instance) SetBlockDeviceMappings(v []*InstanceBlockDeviceMapping) *Instance {
77258	s.BlockDeviceMappings = v
77259	return s
77260}
77261
77262// SetCapacityReservationId sets the CapacityReservationId field's value.
77263func (s *Instance) SetCapacityReservationId(v string) *Instance {
77264	s.CapacityReservationId = &v
77265	return s
77266}
77267
77268// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
77269func (s *Instance) SetCapacityReservationSpecification(v *CapacityReservationSpecificationResponse) *Instance {
77270	s.CapacityReservationSpecification = v
77271	return s
77272}
77273
77274// SetClientToken sets the ClientToken field's value.
77275func (s *Instance) SetClientToken(v string) *Instance {
77276	s.ClientToken = &v
77277	return s
77278}
77279
77280// SetCpuOptions sets the CpuOptions field's value.
77281func (s *Instance) SetCpuOptions(v *CpuOptions) *Instance {
77282	s.CpuOptions = v
77283	return s
77284}
77285
77286// SetEbsOptimized sets the EbsOptimized field's value.
77287func (s *Instance) SetEbsOptimized(v bool) *Instance {
77288	s.EbsOptimized = &v
77289	return s
77290}
77291
77292// SetElasticGpuAssociations sets the ElasticGpuAssociations field's value.
77293func (s *Instance) SetElasticGpuAssociations(v []*ElasticGpuAssociation) *Instance {
77294	s.ElasticGpuAssociations = v
77295	return s
77296}
77297
77298// SetElasticInferenceAcceleratorAssociations sets the ElasticInferenceAcceleratorAssociations field's value.
77299func (s *Instance) SetElasticInferenceAcceleratorAssociations(v []*ElasticInferenceAcceleratorAssociation) *Instance {
77300	s.ElasticInferenceAcceleratorAssociations = v
77301	return s
77302}
77303
77304// SetEnaSupport sets the EnaSupport field's value.
77305func (s *Instance) SetEnaSupport(v bool) *Instance {
77306	s.EnaSupport = &v
77307	return s
77308}
77309
77310// SetHibernationOptions sets the HibernationOptions field's value.
77311func (s *Instance) SetHibernationOptions(v *HibernationOptions) *Instance {
77312	s.HibernationOptions = v
77313	return s
77314}
77315
77316// SetHypervisor sets the Hypervisor field's value.
77317func (s *Instance) SetHypervisor(v string) *Instance {
77318	s.Hypervisor = &v
77319	return s
77320}
77321
77322// SetIamInstanceProfile sets the IamInstanceProfile field's value.
77323func (s *Instance) SetIamInstanceProfile(v *IamInstanceProfile) *Instance {
77324	s.IamInstanceProfile = v
77325	return s
77326}
77327
77328// SetImageId sets the ImageId field's value.
77329func (s *Instance) SetImageId(v string) *Instance {
77330	s.ImageId = &v
77331	return s
77332}
77333
77334// SetInstanceId sets the InstanceId field's value.
77335func (s *Instance) SetInstanceId(v string) *Instance {
77336	s.InstanceId = &v
77337	return s
77338}
77339
77340// SetInstanceLifecycle sets the InstanceLifecycle field's value.
77341func (s *Instance) SetInstanceLifecycle(v string) *Instance {
77342	s.InstanceLifecycle = &v
77343	return s
77344}
77345
77346// SetInstanceType sets the InstanceType field's value.
77347func (s *Instance) SetInstanceType(v string) *Instance {
77348	s.InstanceType = &v
77349	return s
77350}
77351
77352// SetKernelId sets the KernelId field's value.
77353func (s *Instance) SetKernelId(v string) *Instance {
77354	s.KernelId = &v
77355	return s
77356}
77357
77358// SetKeyName sets the KeyName field's value.
77359func (s *Instance) SetKeyName(v string) *Instance {
77360	s.KeyName = &v
77361	return s
77362}
77363
77364// SetLaunchTime sets the LaunchTime field's value.
77365func (s *Instance) SetLaunchTime(v time.Time) *Instance {
77366	s.LaunchTime = &v
77367	return s
77368}
77369
77370// SetLicenses sets the Licenses field's value.
77371func (s *Instance) SetLicenses(v []*LicenseConfiguration) *Instance {
77372	s.Licenses = v
77373	return s
77374}
77375
77376// SetMetadataOptions sets the MetadataOptions field's value.
77377func (s *Instance) SetMetadataOptions(v *InstanceMetadataOptionsResponse) *Instance {
77378	s.MetadataOptions = v
77379	return s
77380}
77381
77382// SetMonitoring sets the Monitoring field's value.
77383func (s *Instance) SetMonitoring(v *Monitoring) *Instance {
77384	s.Monitoring = v
77385	return s
77386}
77387
77388// SetNetworkInterfaces sets the NetworkInterfaces field's value.
77389func (s *Instance) SetNetworkInterfaces(v []*InstanceNetworkInterface) *Instance {
77390	s.NetworkInterfaces = v
77391	return s
77392}
77393
77394// SetOutpostArn sets the OutpostArn field's value.
77395func (s *Instance) SetOutpostArn(v string) *Instance {
77396	s.OutpostArn = &v
77397	return s
77398}
77399
77400// SetPlacement sets the Placement field's value.
77401func (s *Instance) SetPlacement(v *Placement) *Instance {
77402	s.Placement = v
77403	return s
77404}
77405
77406// SetPlatform sets the Platform field's value.
77407func (s *Instance) SetPlatform(v string) *Instance {
77408	s.Platform = &v
77409	return s
77410}
77411
77412// SetPrivateDnsName sets the PrivateDnsName field's value.
77413func (s *Instance) SetPrivateDnsName(v string) *Instance {
77414	s.PrivateDnsName = &v
77415	return s
77416}
77417
77418// SetPrivateIpAddress sets the PrivateIpAddress field's value.
77419func (s *Instance) SetPrivateIpAddress(v string) *Instance {
77420	s.PrivateIpAddress = &v
77421	return s
77422}
77423
77424// SetProductCodes sets the ProductCodes field's value.
77425func (s *Instance) SetProductCodes(v []*ProductCode) *Instance {
77426	s.ProductCodes = v
77427	return s
77428}
77429
77430// SetPublicDnsName sets the PublicDnsName field's value.
77431func (s *Instance) SetPublicDnsName(v string) *Instance {
77432	s.PublicDnsName = &v
77433	return s
77434}
77435
77436// SetPublicIpAddress sets the PublicIpAddress field's value.
77437func (s *Instance) SetPublicIpAddress(v string) *Instance {
77438	s.PublicIpAddress = &v
77439	return s
77440}
77441
77442// SetRamdiskId sets the RamdiskId field's value.
77443func (s *Instance) SetRamdiskId(v string) *Instance {
77444	s.RamdiskId = &v
77445	return s
77446}
77447
77448// SetRootDeviceName sets the RootDeviceName field's value.
77449func (s *Instance) SetRootDeviceName(v string) *Instance {
77450	s.RootDeviceName = &v
77451	return s
77452}
77453
77454// SetRootDeviceType sets the RootDeviceType field's value.
77455func (s *Instance) SetRootDeviceType(v string) *Instance {
77456	s.RootDeviceType = &v
77457	return s
77458}
77459
77460// SetSecurityGroups sets the SecurityGroups field's value.
77461func (s *Instance) SetSecurityGroups(v []*GroupIdentifier) *Instance {
77462	s.SecurityGroups = v
77463	return s
77464}
77465
77466// SetSourceDestCheck sets the SourceDestCheck field's value.
77467func (s *Instance) SetSourceDestCheck(v bool) *Instance {
77468	s.SourceDestCheck = &v
77469	return s
77470}
77471
77472// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
77473func (s *Instance) SetSpotInstanceRequestId(v string) *Instance {
77474	s.SpotInstanceRequestId = &v
77475	return s
77476}
77477
77478// SetSriovNetSupport sets the SriovNetSupport field's value.
77479func (s *Instance) SetSriovNetSupport(v string) *Instance {
77480	s.SriovNetSupport = &v
77481	return s
77482}
77483
77484// SetState sets the State field's value.
77485func (s *Instance) SetState(v *InstanceState) *Instance {
77486	s.State = v
77487	return s
77488}
77489
77490// SetStateReason sets the StateReason field's value.
77491func (s *Instance) SetStateReason(v *StateReason) *Instance {
77492	s.StateReason = v
77493	return s
77494}
77495
77496// SetStateTransitionReason sets the StateTransitionReason field's value.
77497func (s *Instance) SetStateTransitionReason(v string) *Instance {
77498	s.StateTransitionReason = &v
77499	return s
77500}
77501
77502// SetSubnetId sets the SubnetId field's value.
77503func (s *Instance) SetSubnetId(v string) *Instance {
77504	s.SubnetId = &v
77505	return s
77506}
77507
77508// SetTags sets the Tags field's value.
77509func (s *Instance) SetTags(v []*Tag) *Instance {
77510	s.Tags = v
77511	return s
77512}
77513
77514// SetVirtualizationType sets the VirtualizationType field's value.
77515func (s *Instance) SetVirtualizationType(v string) *Instance {
77516	s.VirtualizationType = &v
77517	return s
77518}
77519
77520// SetVpcId sets the VpcId field's value.
77521func (s *Instance) SetVpcId(v string) *Instance {
77522	s.VpcId = &v
77523	return s
77524}
77525
77526// Describes a block device mapping.
77527type InstanceBlockDeviceMapping struct {
77528	_ struct{} `type:"structure"`
77529
77530	// The device name (for example, /dev/sdh or xvdh).
77531	DeviceName *string `locationName:"deviceName" type:"string"`
77532
77533	// Parameters used to automatically set up EBS volumes when the instance is
77534	// launched.
77535	Ebs *EbsInstanceBlockDevice `locationName:"ebs" type:"structure"`
77536}
77537
77538// String returns the string representation
77539func (s InstanceBlockDeviceMapping) String() string {
77540	return awsutil.Prettify(s)
77541}
77542
77543// GoString returns the string representation
77544func (s InstanceBlockDeviceMapping) GoString() string {
77545	return s.String()
77546}
77547
77548// SetDeviceName sets the DeviceName field's value.
77549func (s *InstanceBlockDeviceMapping) SetDeviceName(v string) *InstanceBlockDeviceMapping {
77550	s.DeviceName = &v
77551	return s
77552}
77553
77554// SetEbs sets the Ebs field's value.
77555func (s *InstanceBlockDeviceMapping) SetEbs(v *EbsInstanceBlockDevice) *InstanceBlockDeviceMapping {
77556	s.Ebs = v
77557	return s
77558}
77559
77560// Describes a block device mapping entry.
77561type InstanceBlockDeviceMappingSpecification struct {
77562	_ struct{} `type:"structure"`
77563
77564	// The device name (for example, /dev/sdh or xvdh).
77565	DeviceName *string `locationName:"deviceName" type:"string"`
77566
77567	// Parameters used to automatically set up EBS volumes when the instance is
77568	// launched.
77569	Ebs *EbsInstanceBlockDeviceSpecification `locationName:"ebs" type:"structure"`
77570
77571	// suppress the specified device included in the block device mapping.
77572	NoDevice *string `locationName:"noDevice" type:"string"`
77573
77574	// The virtual device name.
77575	VirtualName *string `locationName:"virtualName" type:"string"`
77576}
77577
77578// String returns the string representation
77579func (s InstanceBlockDeviceMappingSpecification) String() string {
77580	return awsutil.Prettify(s)
77581}
77582
77583// GoString returns the string representation
77584func (s InstanceBlockDeviceMappingSpecification) GoString() string {
77585	return s.String()
77586}
77587
77588// SetDeviceName sets the DeviceName field's value.
77589func (s *InstanceBlockDeviceMappingSpecification) SetDeviceName(v string) *InstanceBlockDeviceMappingSpecification {
77590	s.DeviceName = &v
77591	return s
77592}
77593
77594// SetEbs sets the Ebs field's value.
77595func (s *InstanceBlockDeviceMappingSpecification) SetEbs(v *EbsInstanceBlockDeviceSpecification) *InstanceBlockDeviceMappingSpecification {
77596	s.Ebs = v
77597	return s
77598}
77599
77600// SetNoDevice sets the NoDevice field's value.
77601func (s *InstanceBlockDeviceMappingSpecification) SetNoDevice(v string) *InstanceBlockDeviceMappingSpecification {
77602	s.NoDevice = &v
77603	return s
77604}
77605
77606// SetVirtualName sets the VirtualName field's value.
77607func (s *InstanceBlockDeviceMappingSpecification) SetVirtualName(v string) *InstanceBlockDeviceMappingSpecification {
77608	s.VirtualName = &v
77609	return s
77610}
77611
77612// Information about the number of instances that can be launched onto the Dedicated
77613// Host.
77614type InstanceCapacity struct {
77615	_ struct{} `type:"structure"`
77616
77617	// The number of instances that can be launched onto the Dedicated Host based
77618	// on the host's available capacity.
77619	AvailableCapacity *int64 `locationName:"availableCapacity" type:"integer"`
77620
77621	// The instance type supported by the Dedicated Host.
77622	InstanceType *string `locationName:"instanceType" type:"string"`
77623
77624	// The total number of instances that can be launched onto the Dedicated Host
77625	// if there are no instances running on it.
77626	TotalCapacity *int64 `locationName:"totalCapacity" type:"integer"`
77627}
77628
77629// String returns the string representation
77630func (s InstanceCapacity) String() string {
77631	return awsutil.Prettify(s)
77632}
77633
77634// GoString returns the string representation
77635func (s InstanceCapacity) GoString() string {
77636	return s.String()
77637}
77638
77639// SetAvailableCapacity sets the AvailableCapacity field's value.
77640func (s *InstanceCapacity) SetAvailableCapacity(v int64) *InstanceCapacity {
77641	s.AvailableCapacity = &v
77642	return s
77643}
77644
77645// SetInstanceType sets the InstanceType field's value.
77646func (s *InstanceCapacity) SetInstanceType(v string) *InstanceCapacity {
77647	s.InstanceType = &v
77648	return s
77649}
77650
77651// SetTotalCapacity sets the TotalCapacity field's value.
77652func (s *InstanceCapacity) SetTotalCapacity(v int64) *InstanceCapacity {
77653	s.TotalCapacity = &v
77654	return s
77655}
77656
77657// Describes a Reserved Instance listing state.
77658type InstanceCount struct {
77659	_ struct{} `type:"structure"`
77660
77661	// The number of listed Reserved Instances in the state specified by the state.
77662	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
77663
77664	// The states of the listed Reserved Instances.
77665	State *string `locationName:"state" type:"string" enum:"ListingState"`
77666}
77667
77668// String returns the string representation
77669func (s InstanceCount) String() string {
77670	return awsutil.Prettify(s)
77671}
77672
77673// GoString returns the string representation
77674func (s InstanceCount) GoString() string {
77675	return s.String()
77676}
77677
77678// SetInstanceCount sets the InstanceCount field's value.
77679func (s *InstanceCount) SetInstanceCount(v int64) *InstanceCount {
77680	s.InstanceCount = &v
77681	return s
77682}
77683
77684// SetState sets the State field's value.
77685func (s *InstanceCount) SetState(v string) *InstanceCount {
77686	s.State = &v
77687	return s
77688}
77689
77690// Describes the credit option for CPU usage of a burstable performance instance.
77691type InstanceCreditSpecification struct {
77692	_ struct{} `type:"structure"`
77693
77694	// The credit option for CPU usage of the instance. Valid values are standard
77695	// and unlimited.
77696	CpuCredits *string `locationName:"cpuCredits" type:"string"`
77697
77698	// The ID of the instance.
77699	InstanceId *string `locationName:"instanceId" type:"string"`
77700}
77701
77702// String returns the string representation
77703func (s InstanceCreditSpecification) String() string {
77704	return awsutil.Prettify(s)
77705}
77706
77707// GoString returns the string representation
77708func (s InstanceCreditSpecification) GoString() string {
77709	return s.String()
77710}
77711
77712// SetCpuCredits sets the CpuCredits field's value.
77713func (s *InstanceCreditSpecification) SetCpuCredits(v string) *InstanceCreditSpecification {
77714	s.CpuCredits = &v
77715	return s
77716}
77717
77718// SetInstanceId sets the InstanceId field's value.
77719func (s *InstanceCreditSpecification) SetInstanceId(v string) *InstanceCreditSpecification {
77720	s.InstanceId = &v
77721	return s
77722}
77723
77724// Describes the credit option for CPU usage of a burstable performance instance.
77725type InstanceCreditSpecificationRequest struct {
77726	_ struct{} `type:"structure"`
77727
77728	// The credit option for CPU usage of the instance. Valid values are standard
77729	// and unlimited.
77730	CpuCredits *string `type:"string"`
77731
77732	// The ID of the instance.
77733	InstanceId *string `type:"string"`
77734}
77735
77736// String returns the string representation
77737func (s InstanceCreditSpecificationRequest) String() string {
77738	return awsutil.Prettify(s)
77739}
77740
77741// GoString returns the string representation
77742func (s InstanceCreditSpecificationRequest) GoString() string {
77743	return s.String()
77744}
77745
77746// SetCpuCredits sets the CpuCredits field's value.
77747func (s *InstanceCreditSpecificationRequest) SetCpuCredits(v string) *InstanceCreditSpecificationRequest {
77748	s.CpuCredits = &v
77749	return s
77750}
77751
77752// SetInstanceId sets the InstanceId field's value.
77753func (s *InstanceCreditSpecificationRequest) SetInstanceId(v string) *InstanceCreditSpecificationRequest {
77754	s.InstanceId = &v
77755	return s
77756}
77757
77758// Describes an instance to export.
77759type InstanceExportDetails struct {
77760	_ struct{} `type:"structure"`
77761
77762	// The ID of the resource being exported.
77763	InstanceId *string `locationName:"instanceId" type:"string"`
77764
77765	// The target virtualization environment.
77766	TargetEnvironment *string `locationName:"targetEnvironment" type:"string" enum:"ExportEnvironment"`
77767}
77768
77769// String returns the string representation
77770func (s InstanceExportDetails) String() string {
77771	return awsutil.Prettify(s)
77772}
77773
77774// GoString returns the string representation
77775func (s InstanceExportDetails) GoString() string {
77776	return s.String()
77777}
77778
77779// SetInstanceId sets the InstanceId field's value.
77780func (s *InstanceExportDetails) SetInstanceId(v string) *InstanceExportDetails {
77781	s.InstanceId = &v
77782	return s
77783}
77784
77785// SetTargetEnvironment sets the TargetEnvironment field's value.
77786func (s *InstanceExportDetails) SetTargetEnvironment(v string) *InstanceExportDetails {
77787	s.TargetEnvironment = &v
77788	return s
77789}
77790
77791// Describes the default credit option for CPU usage of a burstable performance
77792// instance family.
77793type InstanceFamilyCreditSpecification struct {
77794	_ struct{} `type:"structure"`
77795
77796	// The default credit option for CPU usage of the instance family. Valid values
77797	// are standard and unlimited.
77798	CpuCredits *string `locationName:"cpuCredits" type:"string"`
77799
77800	// The instance family.
77801	InstanceFamily *string `locationName:"instanceFamily" type:"string" enum:"UnlimitedSupportedInstanceFamily"`
77802}
77803
77804// String returns the string representation
77805func (s InstanceFamilyCreditSpecification) String() string {
77806	return awsutil.Prettify(s)
77807}
77808
77809// GoString returns the string representation
77810func (s InstanceFamilyCreditSpecification) GoString() string {
77811	return s.String()
77812}
77813
77814// SetCpuCredits sets the CpuCredits field's value.
77815func (s *InstanceFamilyCreditSpecification) SetCpuCredits(v string) *InstanceFamilyCreditSpecification {
77816	s.CpuCredits = &v
77817	return s
77818}
77819
77820// SetInstanceFamily sets the InstanceFamily field's value.
77821func (s *InstanceFamilyCreditSpecification) SetInstanceFamily(v string) *InstanceFamilyCreditSpecification {
77822	s.InstanceFamily = &v
77823	return s
77824}
77825
77826// Describes an IPv6 address.
77827type InstanceIpv6Address struct {
77828	_ struct{} `type:"structure"`
77829
77830	// The IPv6 address.
77831	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
77832}
77833
77834// String returns the string representation
77835func (s InstanceIpv6Address) String() string {
77836	return awsutil.Prettify(s)
77837}
77838
77839// GoString returns the string representation
77840func (s InstanceIpv6Address) GoString() string {
77841	return s.String()
77842}
77843
77844// SetIpv6Address sets the Ipv6Address field's value.
77845func (s *InstanceIpv6Address) SetIpv6Address(v string) *InstanceIpv6Address {
77846	s.Ipv6Address = &v
77847	return s
77848}
77849
77850// Describes an IPv6 address.
77851type InstanceIpv6AddressRequest struct {
77852	_ struct{} `type:"structure"`
77853
77854	// The IPv6 address.
77855	Ipv6Address *string `type:"string"`
77856}
77857
77858// String returns the string representation
77859func (s InstanceIpv6AddressRequest) String() string {
77860	return awsutil.Prettify(s)
77861}
77862
77863// GoString returns the string representation
77864func (s InstanceIpv6AddressRequest) GoString() string {
77865	return s.String()
77866}
77867
77868// SetIpv6Address sets the Ipv6Address field's value.
77869func (s *InstanceIpv6AddressRequest) SetIpv6Address(v string) *InstanceIpv6AddressRequest {
77870	s.Ipv6Address = &v
77871	return s
77872}
77873
77874// Describes the market (purchasing) option for the instances.
77875type InstanceMarketOptionsRequest struct {
77876	_ struct{} `type:"structure"`
77877
77878	// The market type.
77879	MarketType *string `type:"string" enum:"MarketType"`
77880
77881	// The options for Spot Instances.
77882	SpotOptions *SpotMarketOptions `type:"structure"`
77883}
77884
77885// String returns the string representation
77886func (s InstanceMarketOptionsRequest) String() string {
77887	return awsutil.Prettify(s)
77888}
77889
77890// GoString returns the string representation
77891func (s InstanceMarketOptionsRequest) GoString() string {
77892	return s.String()
77893}
77894
77895// SetMarketType sets the MarketType field's value.
77896func (s *InstanceMarketOptionsRequest) SetMarketType(v string) *InstanceMarketOptionsRequest {
77897	s.MarketType = &v
77898	return s
77899}
77900
77901// SetSpotOptions sets the SpotOptions field's value.
77902func (s *InstanceMarketOptionsRequest) SetSpotOptions(v *SpotMarketOptions) *InstanceMarketOptionsRequest {
77903	s.SpotOptions = v
77904	return s
77905}
77906
77907// The metadata options for the instance.
77908type InstanceMetadataOptionsRequest struct {
77909	_ struct{} `type:"structure"`
77910
77911	// This parameter enables or disables the HTTP metadata endpoint on your instances.
77912	// If the parameter is not specified, the default state is enabled.
77913	//
77914	// If you specify a value of disabled, you will not be able to access your instance
77915	// metadata.
77916	HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
77917
77918	// The desired HTTP PUT response hop limit for instance metadata requests. The
77919	// larger the number, the further instance metadata requests can travel.
77920	//
77921	// Default: 1
77922	//
77923	// Possible values: Integers from 1 to 64
77924	HttpPutResponseHopLimit *int64 `type:"integer"`
77925
77926	// The state of token usage for your instance metadata requests. If the parameter
77927	// is not specified in the request, the default state is optional.
77928	//
77929	// If the state is optional, you can choose to retrieve instance metadata with
77930	// or without a signed token header on your request. If you retrieve the IAM
77931	// role credentials without a token, the version 1.0 role credentials are returned.
77932	// If you retrieve the IAM role credentials using a valid signed token, the
77933	// version 2.0 role credentials are returned.
77934	//
77935	// If the state is required, you must send a signed token header with any instance
77936	// metadata retrieval requests. In this state, retrieving the IAM role credentials
77937	// always returns the version 2.0 credentials; the version 1.0 credentials are
77938	// not available.
77939	HttpTokens *string `type:"string" enum:"HttpTokensState"`
77940}
77941
77942// String returns the string representation
77943func (s InstanceMetadataOptionsRequest) String() string {
77944	return awsutil.Prettify(s)
77945}
77946
77947// GoString returns the string representation
77948func (s InstanceMetadataOptionsRequest) GoString() string {
77949	return s.String()
77950}
77951
77952// SetHttpEndpoint sets the HttpEndpoint field's value.
77953func (s *InstanceMetadataOptionsRequest) SetHttpEndpoint(v string) *InstanceMetadataOptionsRequest {
77954	s.HttpEndpoint = &v
77955	return s
77956}
77957
77958// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
77959func (s *InstanceMetadataOptionsRequest) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsRequest {
77960	s.HttpPutResponseHopLimit = &v
77961	return s
77962}
77963
77964// SetHttpTokens sets the HttpTokens field's value.
77965func (s *InstanceMetadataOptionsRequest) SetHttpTokens(v string) *InstanceMetadataOptionsRequest {
77966	s.HttpTokens = &v
77967	return s
77968}
77969
77970// The metadata options for the instance.
77971type InstanceMetadataOptionsResponse struct {
77972	_ struct{} `type:"structure"`
77973
77974	// This parameter enables or disables the HTTP metadata endpoint on your instances.
77975	// If the parameter is not specified, the default state is enabled.
77976	//
77977	// If you specify a value of disabled, you will not be able to access your instance
77978	// metadata.
77979	HttpEndpoint *string `locationName:"httpEndpoint" type:"string" enum:"InstanceMetadataEndpointState"`
77980
77981	// The desired HTTP PUT response hop limit for instance metadata requests. The
77982	// larger the number, the further instance metadata requests can travel.
77983	//
77984	// Default: 1
77985	//
77986	// Possible values: Integers from 1 to 64
77987	HttpPutResponseHopLimit *int64 `locationName:"httpPutResponseHopLimit" type:"integer"`
77988
77989	// The state of token usage for your instance metadata requests. If the parameter
77990	// is not specified in the request, the default state is optional.
77991	//
77992	// If the state is optional, you can choose to retrieve instance metadata with
77993	// or without a signed token header on your request. If you retrieve the IAM
77994	// role credentials without a token, the version 1.0 role credentials are returned.
77995	// If you retrieve the IAM role credentials using a valid signed token, the
77996	// version 2.0 role credentials are returned.
77997	//
77998	// If the state is required, you must send a signed token header with any instance
77999	// metadata retrieval requests. In this state, retrieving the IAM role credential
78000	// always returns the version 2.0 credentials; the version 1.0 credentials are
78001	// not available.
78002	HttpTokens *string `locationName:"httpTokens" type:"string" enum:"HttpTokensState"`
78003
78004	// The state of the metadata option changes.
78005	//
78006	// pending - The metadata options are being updated and the instance is not
78007	// ready to process metadata traffic with the new selection.
78008	//
78009	// applied - The metadata options have been successfully applied on the instance.
78010	State *string `locationName:"state" type:"string" enum:"InstanceMetadataOptionsState"`
78011}
78012
78013// String returns the string representation
78014func (s InstanceMetadataOptionsResponse) String() string {
78015	return awsutil.Prettify(s)
78016}
78017
78018// GoString returns the string representation
78019func (s InstanceMetadataOptionsResponse) GoString() string {
78020	return s.String()
78021}
78022
78023// SetHttpEndpoint sets the HttpEndpoint field's value.
78024func (s *InstanceMetadataOptionsResponse) SetHttpEndpoint(v string) *InstanceMetadataOptionsResponse {
78025	s.HttpEndpoint = &v
78026	return s
78027}
78028
78029// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
78030func (s *InstanceMetadataOptionsResponse) SetHttpPutResponseHopLimit(v int64) *InstanceMetadataOptionsResponse {
78031	s.HttpPutResponseHopLimit = &v
78032	return s
78033}
78034
78035// SetHttpTokens sets the HttpTokens field's value.
78036func (s *InstanceMetadataOptionsResponse) SetHttpTokens(v string) *InstanceMetadataOptionsResponse {
78037	s.HttpTokens = &v
78038	return s
78039}
78040
78041// SetState sets the State field's value.
78042func (s *InstanceMetadataOptionsResponse) SetState(v string) *InstanceMetadataOptionsResponse {
78043	s.State = &v
78044	return s
78045}
78046
78047// Describes the monitoring of an instance.
78048type InstanceMonitoring struct {
78049	_ struct{} `type:"structure"`
78050
78051	// The ID of the instance.
78052	InstanceId *string `locationName:"instanceId" type:"string"`
78053
78054	// The monitoring for the instance.
78055	Monitoring *Monitoring `locationName:"monitoring" type:"structure"`
78056}
78057
78058// String returns the string representation
78059func (s InstanceMonitoring) String() string {
78060	return awsutil.Prettify(s)
78061}
78062
78063// GoString returns the string representation
78064func (s InstanceMonitoring) GoString() string {
78065	return s.String()
78066}
78067
78068// SetInstanceId sets the InstanceId field's value.
78069func (s *InstanceMonitoring) SetInstanceId(v string) *InstanceMonitoring {
78070	s.InstanceId = &v
78071	return s
78072}
78073
78074// SetMonitoring sets the Monitoring field's value.
78075func (s *InstanceMonitoring) SetMonitoring(v *Monitoring) *InstanceMonitoring {
78076	s.Monitoring = v
78077	return s
78078}
78079
78080// Describes a network interface.
78081type InstanceNetworkInterface struct {
78082	_ struct{} `type:"structure"`
78083
78084	// The association information for an Elastic IPv4 associated with the network
78085	// interface.
78086	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
78087
78088	// The network interface attachment.
78089	Attachment *InstanceNetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
78090
78091	// The description.
78092	Description *string `locationName:"description" type:"string"`
78093
78094	// One or more security groups.
78095	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
78096
78097	// Describes the type of network interface.
78098	//
78099	// Valid values: interface | efa
78100	InterfaceType *string `locationName:"interfaceType" type:"string"`
78101
78102	// One or more IPv6 addresses associated with the network interface.
78103	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
78104
78105	// The MAC address.
78106	MacAddress *string `locationName:"macAddress" type:"string"`
78107
78108	// The ID of the network interface.
78109	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
78110
78111	// The ID of the AWS account that created the network interface.
78112	OwnerId *string `locationName:"ownerId" type:"string"`
78113
78114	// The private DNS name.
78115	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
78116
78117	// The IPv4 address of the network interface within the subnet.
78118	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
78119
78120	// One or more private IPv4 addresses associated with the network interface.
78121	PrivateIpAddresses []*InstancePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
78122
78123	// Indicates whether to validate network traffic to or from this network interface.
78124	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
78125
78126	// The status of the network interface.
78127	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
78128
78129	// The ID of the subnet.
78130	SubnetId *string `locationName:"subnetId" type:"string"`
78131
78132	// The ID of the VPC.
78133	VpcId *string `locationName:"vpcId" type:"string"`
78134}
78135
78136// String returns the string representation
78137func (s InstanceNetworkInterface) String() string {
78138	return awsutil.Prettify(s)
78139}
78140
78141// GoString returns the string representation
78142func (s InstanceNetworkInterface) GoString() string {
78143	return s.String()
78144}
78145
78146// SetAssociation sets the Association field's value.
78147func (s *InstanceNetworkInterface) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstanceNetworkInterface {
78148	s.Association = v
78149	return s
78150}
78151
78152// SetAttachment sets the Attachment field's value.
78153func (s *InstanceNetworkInterface) SetAttachment(v *InstanceNetworkInterfaceAttachment) *InstanceNetworkInterface {
78154	s.Attachment = v
78155	return s
78156}
78157
78158// SetDescription sets the Description field's value.
78159func (s *InstanceNetworkInterface) SetDescription(v string) *InstanceNetworkInterface {
78160	s.Description = &v
78161	return s
78162}
78163
78164// SetGroups sets the Groups field's value.
78165func (s *InstanceNetworkInterface) SetGroups(v []*GroupIdentifier) *InstanceNetworkInterface {
78166	s.Groups = v
78167	return s
78168}
78169
78170// SetInterfaceType sets the InterfaceType field's value.
78171func (s *InstanceNetworkInterface) SetInterfaceType(v string) *InstanceNetworkInterface {
78172	s.InterfaceType = &v
78173	return s
78174}
78175
78176// SetIpv6Addresses sets the Ipv6Addresses field's value.
78177func (s *InstanceNetworkInterface) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterface {
78178	s.Ipv6Addresses = v
78179	return s
78180}
78181
78182// SetMacAddress sets the MacAddress field's value.
78183func (s *InstanceNetworkInterface) SetMacAddress(v string) *InstanceNetworkInterface {
78184	s.MacAddress = &v
78185	return s
78186}
78187
78188// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
78189func (s *InstanceNetworkInterface) SetNetworkInterfaceId(v string) *InstanceNetworkInterface {
78190	s.NetworkInterfaceId = &v
78191	return s
78192}
78193
78194// SetOwnerId sets the OwnerId field's value.
78195func (s *InstanceNetworkInterface) SetOwnerId(v string) *InstanceNetworkInterface {
78196	s.OwnerId = &v
78197	return s
78198}
78199
78200// SetPrivateDnsName sets the PrivateDnsName field's value.
78201func (s *InstanceNetworkInterface) SetPrivateDnsName(v string) *InstanceNetworkInterface {
78202	s.PrivateDnsName = &v
78203	return s
78204}
78205
78206// SetPrivateIpAddress sets the PrivateIpAddress field's value.
78207func (s *InstanceNetworkInterface) SetPrivateIpAddress(v string) *InstanceNetworkInterface {
78208	s.PrivateIpAddress = &v
78209	return s
78210}
78211
78212// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
78213func (s *InstanceNetworkInterface) SetPrivateIpAddresses(v []*InstancePrivateIpAddress) *InstanceNetworkInterface {
78214	s.PrivateIpAddresses = v
78215	return s
78216}
78217
78218// SetSourceDestCheck sets the SourceDestCheck field's value.
78219func (s *InstanceNetworkInterface) SetSourceDestCheck(v bool) *InstanceNetworkInterface {
78220	s.SourceDestCheck = &v
78221	return s
78222}
78223
78224// SetStatus sets the Status field's value.
78225func (s *InstanceNetworkInterface) SetStatus(v string) *InstanceNetworkInterface {
78226	s.Status = &v
78227	return s
78228}
78229
78230// SetSubnetId sets the SubnetId field's value.
78231func (s *InstanceNetworkInterface) SetSubnetId(v string) *InstanceNetworkInterface {
78232	s.SubnetId = &v
78233	return s
78234}
78235
78236// SetVpcId sets the VpcId field's value.
78237func (s *InstanceNetworkInterface) SetVpcId(v string) *InstanceNetworkInterface {
78238	s.VpcId = &v
78239	return s
78240}
78241
78242// Describes association information for an Elastic IP address (IPv4).
78243type InstanceNetworkInterfaceAssociation struct {
78244	_ struct{} `type:"structure"`
78245
78246	// The ID of the owner of the Elastic IP address.
78247	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
78248
78249	// The public DNS name.
78250	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
78251
78252	// The public IP address or Elastic IP address bound to the network interface.
78253	PublicIp *string `locationName:"publicIp" type:"string"`
78254}
78255
78256// String returns the string representation
78257func (s InstanceNetworkInterfaceAssociation) String() string {
78258	return awsutil.Prettify(s)
78259}
78260
78261// GoString returns the string representation
78262func (s InstanceNetworkInterfaceAssociation) GoString() string {
78263	return s.String()
78264}
78265
78266// SetIpOwnerId sets the IpOwnerId field's value.
78267func (s *InstanceNetworkInterfaceAssociation) SetIpOwnerId(v string) *InstanceNetworkInterfaceAssociation {
78268	s.IpOwnerId = &v
78269	return s
78270}
78271
78272// SetPublicDnsName sets the PublicDnsName field's value.
78273func (s *InstanceNetworkInterfaceAssociation) SetPublicDnsName(v string) *InstanceNetworkInterfaceAssociation {
78274	s.PublicDnsName = &v
78275	return s
78276}
78277
78278// SetPublicIp sets the PublicIp field's value.
78279func (s *InstanceNetworkInterfaceAssociation) SetPublicIp(v string) *InstanceNetworkInterfaceAssociation {
78280	s.PublicIp = &v
78281	return s
78282}
78283
78284// Describes a network interface attachment.
78285type InstanceNetworkInterfaceAttachment struct {
78286	_ struct{} `type:"structure"`
78287
78288	// The time stamp when the attachment initiated.
78289	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
78290
78291	// The ID of the network interface attachment.
78292	AttachmentId *string `locationName:"attachmentId" type:"string"`
78293
78294	// Indicates whether the network interface is deleted when the instance is terminated.
78295	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
78296
78297	// The index of the device on the instance for the network interface attachment.
78298	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
78299
78300	// The attachment state.
78301	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
78302}
78303
78304// String returns the string representation
78305func (s InstanceNetworkInterfaceAttachment) String() string {
78306	return awsutil.Prettify(s)
78307}
78308
78309// GoString returns the string representation
78310func (s InstanceNetworkInterfaceAttachment) GoString() string {
78311	return s.String()
78312}
78313
78314// SetAttachTime sets the AttachTime field's value.
78315func (s *InstanceNetworkInterfaceAttachment) SetAttachTime(v time.Time) *InstanceNetworkInterfaceAttachment {
78316	s.AttachTime = &v
78317	return s
78318}
78319
78320// SetAttachmentId sets the AttachmentId field's value.
78321func (s *InstanceNetworkInterfaceAttachment) SetAttachmentId(v string) *InstanceNetworkInterfaceAttachment {
78322	s.AttachmentId = &v
78323	return s
78324}
78325
78326// SetDeleteOnTermination sets the DeleteOnTermination field's value.
78327func (s *InstanceNetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceAttachment {
78328	s.DeleteOnTermination = &v
78329	return s
78330}
78331
78332// SetDeviceIndex sets the DeviceIndex field's value.
78333func (s *InstanceNetworkInterfaceAttachment) SetDeviceIndex(v int64) *InstanceNetworkInterfaceAttachment {
78334	s.DeviceIndex = &v
78335	return s
78336}
78337
78338// SetStatus sets the Status field's value.
78339func (s *InstanceNetworkInterfaceAttachment) SetStatus(v string) *InstanceNetworkInterfaceAttachment {
78340	s.Status = &v
78341	return s
78342}
78343
78344// Describes a network interface.
78345type InstanceNetworkInterfaceSpecification struct {
78346	_ struct{} `type:"structure"`
78347
78348	// Indicates whether to assign a public IPv4 address to an instance you launch
78349	// in a VPC. The public IP address can only be assigned to a network interface
78350	// for eth0, and can only be assigned to a new network interface, not an existing
78351	// one. You cannot specify more than one network interface in the request. If
78352	// launching into a default subnet, the default value is true.
78353	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
78354
78355	// If set to true, the interface is deleted when the instance is terminated.
78356	// You can specify true only if creating a new network interface when launching
78357	// an instance.
78358	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
78359
78360	// The description of the network interface. Applies only if creating a network
78361	// interface when launching an instance.
78362	Description *string `locationName:"description" type:"string"`
78363
78364	// The position of the network interface in the attachment order. A primary
78365	// network interface has a device index of 0.
78366	//
78367	// If you specify a network interface when launching an instance, you must specify
78368	// the device index.
78369	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
78370
78371	// The IDs of the security groups for the network interface. Applies only if
78372	// creating a network interface when launching an instance.
78373	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
78374
78375	// The type of network interface. To create an Elastic Fabric Adapter (EFA),
78376	// specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
78377	// in the Amazon Elastic Compute Cloud User Guide.
78378	//
78379	// If you are not creating an EFA, specify interface or omit this parameter.
78380	//
78381	// Valid values: interface | efa
78382	InterfaceType *string `type:"string"`
78383
78384	// A number of IPv6 addresses to assign to the network interface. Amazon EC2
78385	// chooses the IPv6 addresses from the range of the subnet. You cannot specify
78386	// this option and the option to assign specific IPv6 addresses in the same
78387	// request. You can specify this option if you've specified a minimum number
78388	// of instances to launch.
78389	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
78390
78391	// One or more IPv6 addresses to assign to the network interface. You cannot
78392	// specify this option and the option to assign a number of IPv6 addresses in
78393	// the same request. You cannot specify this option if you've specified a minimum
78394	// number of instances to launch.
78395	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" queryName:"Ipv6Addresses" locationNameList:"item" type:"list"`
78396
78397	// The ID of the network interface.
78398	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
78399
78400	// The private IPv4 address of the network interface. Applies only if creating
78401	// a network interface when launching an instance. You cannot specify this option
78402	// if you're launching more than one instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
78403	// request.
78404	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
78405
78406	// One or more private IPv4 addresses to assign to the network interface. Only
78407	// one private IPv4 address can be designated as primary. You cannot specify
78408	// this option if you're launching more than one instance in a RunInstances
78409	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
78410	// request.
78411	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" queryName:"PrivateIpAddresses" locationNameList:"item" type:"list"`
78412
78413	// The number of secondary private IPv4 addresses. You can't specify this option
78414	// and specify more than one private IP address using the private IP addresses
78415	// option. You cannot specify this option if you're launching more than one
78416	// instance in a RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)
78417	// request.
78418	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
78419
78420	// The ID of the subnet associated with the network interface. Applies only
78421	// if creating a network interface when launching an instance.
78422	SubnetId *string `locationName:"subnetId" type:"string"`
78423}
78424
78425// String returns the string representation
78426func (s InstanceNetworkInterfaceSpecification) String() string {
78427	return awsutil.Prettify(s)
78428}
78429
78430// GoString returns the string representation
78431func (s InstanceNetworkInterfaceSpecification) GoString() string {
78432	return s.String()
78433}
78434
78435// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
78436func (s *InstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *InstanceNetworkInterfaceSpecification {
78437	s.AssociatePublicIpAddress = &v
78438	return s
78439}
78440
78441// SetDeleteOnTermination sets the DeleteOnTermination field's value.
78442func (s *InstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *InstanceNetworkInterfaceSpecification {
78443	s.DeleteOnTermination = &v
78444	return s
78445}
78446
78447// SetDescription sets the Description field's value.
78448func (s *InstanceNetworkInterfaceSpecification) SetDescription(v string) *InstanceNetworkInterfaceSpecification {
78449	s.Description = &v
78450	return s
78451}
78452
78453// SetDeviceIndex sets the DeviceIndex field's value.
78454func (s *InstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *InstanceNetworkInterfaceSpecification {
78455	s.DeviceIndex = &v
78456	return s
78457}
78458
78459// SetGroups sets the Groups field's value.
78460func (s *InstanceNetworkInterfaceSpecification) SetGroups(v []*string) *InstanceNetworkInterfaceSpecification {
78461	s.Groups = v
78462	return s
78463}
78464
78465// SetInterfaceType sets the InterfaceType field's value.
78466func (s *InstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *InstanceNetworkInterfaceSpecification {
78467	s.InterfaceType = &v
78468	return s
78469}
78470
78471// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
78472func (s *InstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *InstanceNetworkInterfaceSpecification {
78473	s.Ipv6AddressCount = &v
78474	return s
78475}
78476
78477// SetIpv6Addresses sets the Ipv6Addresses field's value.
78478func (s *InstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *InstanceNetworkInterfaceSpecification {
78479	s.Ipv6Addresses = v
78480	return s
78481}
78482
78483// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
78484func (s *InstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *InstanceNetworkInterfaceSpecification {
78485	s.NetworkInterfaceId = &v
78486	return s
78487}
78488
78489// SetPrivateIpAddress sets the PrivateIpAddress field's value.
78490func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *InstanceNetworkInterfaceSpecification {
78491	s.PrivateIpAddress = &v
78492	return s
78493}
78494
78495// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
78496func (s *InstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *InstanceNetworkInterfaceSpecification {
78497	s.PrivateIpAddresses = v
78498	return s
78499}
78500
78501// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
78502func (s *InstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *InstanceNetworkInterfaceSpecification {
78503	s.SecondaryPrivateIpAddressCount = &v
78504	return s
78505}
78506
78507// SetSubnetId sets the SubnetId field's value.
78508func (s *InstanceNetworkInterfaceSpecification) SetSubnetId(v string) *InstanceNetworkInterfaceSpecification {
78509	s.SubnetId = &v
78510	return s
78511}
78512
78513// Describes a private IPv4 address.
78514type InstancePrivateIpAddress struct {
78515	_ struct{} `type:"structure"`
78516
78517	// The association information for an Elastic IP address for the network interface.
78518	Association *InstanceNetworkInterfaceAssociation `locationName:"association" type:"structure"`
78519
78520	// Indicates whether this IPv4 address is the primary private IP address of
78521	// the network interface.
78522	Primary *bool `locationName:"primary" type:"boolean"`
78523
78524	// The private IPv4 DNS name.
78525	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
78526
78527	// The private IPv4 address of the network interface.
78528	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
78529}
78530
78531// String returns the string representation
78532func (s InstancePrivateIpAddress) String() string {
78533	return awsutil.Prettify(s)
78534}
78535
78536// GoString returns the string representation
78537func (s InstancePrivateIpAddress) GoString() string {
78538	return s.String()
78539}
78540
78541// SetAssociation sets the Association field's value.
78542func (s *InstancePrivateIpAddress) SetAssociation(v *InstanceNetworkInterfaceAssociation) *InstancePrivateIpAddress {
78543	s.Association = v
78544	return s
78545}
78546
78547// SetPrimary sets the Primary field's value.
78548func (s *InstancePrivateIpAddress) SetPrimary(v bool) *InstancePrivateIpAddress {
78549	s.Primary = &v
78550	return s
78551}
78552
78553// SetPrivateDnsName sets the PrivateDnsName field's value.
78554func (s *InstancePrivateIpAddress) SetPrivateDnsName(v string) *InstancePrivateIpAddress {
78555	s.PrivateDnsName = &v
78556	return s
78557}
78558
78559// SetPrivateIpAddress sets the PrivateIpAddress field's value.
78560func (s *InstancePrivateIpAddress) SetPrivateIpAddress(v string) *InstancePrivateIpAddress {
78561	s.PrivateIpAddress = &v
78562	return s
78563}
78564
78565// The instance details to specify which volumes should be snapshotted.
78566type InstanceSpecification struct {
78567	_ struct{} `type:"structure"`
78568
78569	// Excludes the root volume from being snapshotted.
78570	ExcludeBootVolume *bool `type:"boolean"`
78571
78572	// The instance to specify which volumes should be snapshotted.
78573	InstanceId *string `type:"string"`
78574}
78575
78576// String returns the string representation
78577func (s InstanceSpecification) String() string {
78578	return awsutil.Prettify(s)
78579}
78580
78581// GoString returns the string representation
78582func (s InstanceSpecification) GoString() string {
78583	return s.String()
78584}
78585
78586// SetExcludeBootVolume sets the ExcludeBootVolume field's value.
78587func (s *InstanceSpecification) SetExcludeBootVolume(v bool) *InstanceSpecification {
78588	s.ExcludeBootVolume = &v
78589	return s
78590}
78591
78592// SetInstanceId sets the InstanceId field's value.
78593func (s *InstanceSpecification) SetInstanceId(v string) *InstanceSpecification {
78594	s.InstanceId = &v
78595	return s
78596}
78597
78598// Describes the current state of an instance.
78599type InstanceState struct {
78600	_ struct{} `type:"structure"`
78601
78602	// The state of the instance as a 16-bit unsigned integer.
78603	//
78604	// The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal
78605	// values between 256 and 65,535. These numerical values are used for internal
78606	// purposes and should be ignored.
78607	//
78608	// The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal
78609	// values between 0 and 255.
78610	//
78611	// The valid values for instance-state-code will all be in the range of the
78612	// low byte and they are:
78613	//
78614	//    * 0 : pending
78615	//
78616	//    * 16 : running
78617	//
78618	//    * 32 : shutting-down
78619	//
78620	//    * 48 : terminated
78621	//
78622	//    * 64 : stopping
78623	//
78624	//    * 80 : stopped
78625	//
78626	// You can ignore the high byte value by zeroing out all of the bits above 2^8
78627	// or 256 in decimal.
78628	Code *int64 `locationName:"code" type:"integer"`
78629
78630	// The current state of the instance.
78631	Name *string `locationName:"name" type:"string" enum:"InstanceStateName"`
78632}
78633
78634// String returns the string representation
78635func (s InstanceState) String() string {
78636	return awsutil.Prettify(s)
78637}
78638
78639// GoString returns the string representation
78640func (s InstanceState) GoString() string {
78641	return s.String()
78642}
78643
78644// SetCode sets the Code field's value.
78645func (s *InstanceState) SetCode(v int64) *InstanceState {
78646	s.Code = &v
78647	return s
78648}
78649
78650// SetName sets the Name field's value.
78651func (s *InstanceState) SetName(v string) *InstanceState {
78652	s.Name = &v
78653	return s
78654}
78655
78656// Describes an instance state change.
78657type InstanceStateChange struct {
78658	_ struct{} `type:"structure"`
78659
78660	// The current state of the instance.
78661	CurrentState *InstanceState `locationName:"currentState" type:"structure"`
78662
78663	// The ID of the instance.
78664	InstanceId *string `locationName:"instanceId" type:"string"`
78665
78666	// The previous state of the instance.
78667	PreviousState *InstanceState `locationName:"previousState" type:"structure"`
78668}
78669
78670// String returns the string representation
78671func (s InstanceStateChange) String() string {
78672	return awsutil.Prettify(s)
78673}
78674
78675// GoString returns the string representation
78676func (s InstanceStateChange) GoString() string {
78677	return s.String()
78678}
78679
78680// SetCurrentState sets the CurrentState field's value.
78681func (s *InstanceStateChange) SetCurrentState(v *InstanceState) *InstanceStateChange {
78682	s.CurrentState = v
78683	return s
78684}
78685
78686// SetInstanceId sets the InstanceId field's value.
78687func (s *InstanceStateChange) SetInstanceId(v string) *InstanceStateChange {
78688	s.InstanceId = &v
78689	return s
78690}
78691
78692// SetPreviousState sets the PreviousState field's value.
78693func (s *InstanceStateChange) SetPreviousState(v *InstanceState) *InstanceStateChange {
78694	s.PreviousState = v
78695	return s
78696}
78697
78698// Describes the status of an instance.
78699type InstanceStatus struct {
78700	_ struct{} `type:"structure"`
78701
78702	// The Availability Zone of the instance.
78703	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
78704
78705	// Any scheduled events associated with the instance.
78706	Events []*InstanceStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
78707
78708	// The ID of the instance.
78709	InstanceId *string `locationName:"instanceId" type:"string"`
78710
78711	// The intended state of the instance. DescribeInstanceStatus requires that
78712	// an instance be in the running state.
78713	InstanceState *InstanceState `locationName:"instanceState" type:"structure"`
78714
78715	// Reports impaired functionality that stems from issues internal to the instance,
78716	// such as impaired reachability.
78717	InstanceStatus *InstanceStatusSummary `locationName:"instanceStatus" type:"structure"`
78718
78719	// The Amazon Resource Name (ARN) of the Outpost.
78720	OutpostArn *string `locationName:"outpostArn" type:"string"`
78721
78722	// Reports impaired functionality that stems from issues related to the systems
78723	// that support an instance, such as hardware failures and network connectivity
78724	// problems.
78725	SystemStatus *InstanceStatusSummary `locationName:"systemStatus" type:"structure"`
78726}
78727
78728// String returns the string representation
78729func (s InstanceStatus) String() string {
78730	return awsutil.Prettify(s)
78731}
78732
78733// GoString returns the string representation
78734func (s InstanceStatus) GoString() string {
78735	return s.String()
78736}
78737
78738// SetAvailabilityZone sets the AvailabilityZone field's value.
78739func (s *InstanceStatus) SetAvailabilityZone(v string) *InstanceStatus {
78740	s.AvailabilityZone = &v
78741	return s
78742}
78743
78744// SetEvents sets the Events field's value.
78745func (s *InstanceStatus) SetEvents(v []*InstanceStatusEvent) *InstanceStatus {
78746	s.Events = v
78747	return s
78748}
78749
78750// SetInstanceId sets the InstanceId field's value.
78751func (s *InstanceStatus) SetInstanceId(v string) *InstanceStatus {
78752	s.InstanceId = &v
78753	return s
78754}
78755
78756// SetInstanceState sets the InstanceState field's value.
78757func (s *InstanceStatus) SetInstanceState(v *InstanceState) *InstanceStatus {
78758	s.InstanceState = v
78759	return s
78760}
78761
78762// SetInstanceStatus sets the InstanceStatus field's value.
78763func (s *InstanceStatus) SetInstanceStatus(v *InstanceStatusSummary) *InstanceStatus {
78764	s.InstanceStatus = v
78765	return s
78766}
78767
78768// SetOutpostArn sets the OutpostArn field's value.
78769func (s *InstanceStatus) SetOutpostArn(v string) *InstanceStatus {
78770	s.OutpostArn = &v
78771	return s
78772}
78773
78774// SetSystemStatus sets the SystemStatus field's value.
78775func (s *InstanceStatus) SetSystemStatus(v *InstanceStatusSummary) *InstanceStatus {
78776	s.SystemStatus = v
78777	return s
78778}
78779
78780// Describes the instance status.
78781type InstanceStatusDetails struct {
78782	_ struct{} `type:"structure"`
78783
78784	// The time when a status check failed. For an instance that was launched and
78785	// impaired, this is the time when the instance was launched.
78786	ImpairedSince *time.Time `locationName:"impairedSince" type:"timestamp"`
78787
78788	// The type of instance status.
78789	Name *string `locationName:"name" type:"string" enum:"StatusName"`
78790
78791	// The status.
78792	Status *string `locationName:"status" type:"string" enum:"StatusType"`
78793}
78794
78795// String returns the string representation
78796func (s InstanceStatusDetails) String() string {
78797	return awsutil.Prettify(s)
78798}
78799
78800// GoString returns the string representation
78801func (s InstanceStatusDetails) GoString() string {
78802	return s.String()
78803}
78804
78805// SetImpairedSince sets the ImpairedSince field's value.
78806func (s *InstanceStatusDetails) SetImpairedSince(v time.Time) *InstanceStatusDetails {
78807	s.ImpairedSince = &v
78808	return s
78809}
78810
78811// SetName sets the Name field's value.
78812func (s *InstanceStatusDetails) SetName(v string) *InstanceStatusDetails {
78813	s.Name = &v
78814	return s
78815}
78816
78817// SetStatus sets the Status field's value.
78818func (s *InstanceStatusDetails) SetStatus(v string) *InstanceStatusDetails {
78819	s.Status = &v
78820	return s
78821}
78822
78823// Describes a scheduled event for an instance.
78824type InstanceStatusEvent struct {
78825	_ struct{} `type:"structure"`
78826
78827	// The event code.
78828	Code *string `locationName:"code" type:"string" enum:"EventCode"`
78829
78830	// A description of the event.
78831	//
78832	// After a scheduled event is completed, it can still be described for up to
78833	// a week. If the event has been completed, this description starts with the
78834	// following text: [Completed].
78835	Description *string `locationName:"description" type:"string"`
78836
78837	// The ID of the event.
78838	InstanceEventId *string `locationName:"instanceEventId" type:"string"`
78839
78840	// The latest scheduled end time for the event.
78841	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
78842
78843	// The earliest scheduled start time for the event.
78844	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
78845
78846	// The deadline for starting the event.
78847	NotBeforeDeadline *time.Time `locationName:"notBeforeDeadline" type:"timestamp"`
78848}
78849
78850// String returns the string representation
78851func (s InstanceStatusEvent) String() string {
78852	return awsutil.Prettify(s)
78853}
78854
78855// GoString returns the string representation
78856func (s InstanceStatusEvent) GoString() string {
78857	return s.String()
78858}
78859
78860// SetCode sets the Code field's value.
78861func (s *InstanceStatusEvent) SetCode(v string) *InstanceStatusEvent {
78862	s.Code = &v
78863	return s
78864}
78865
78866// SetDescription sets the Description field's value.
78867func (s *InstanceStatusEvent) SetDescription(v string) *InstanceStatusEvent {
78868	s.Description = &v
78869	return s
78870}
78871
78872// SetInstanceEventId sets the InstanceEventId field's value.
78873func (s *InstanceStatusEvent) SetInstanceEventId(v string) *InstanceStatusEvent {
78874	s.InstanceEventId = &v
78875	return s
78876}
78877
78878// SetNotAfter sets the NotAfter field's value.
78879func (s *InstanceStatusEvent) SetNotAfter(v time.Time) *InstanceStatusEvent {
78880	s.NotAfter = &v
78881	return s
78882}
78883
78884// SetNotBefore sets the NotBefore field's value.
78885func (s *InstanceStatusEvent) SetNotBefore(v time.Time) *InstanceStatusEvent {
78886	s.NotBefore = &v
78887	return s
78888}
78889
78890// SetNotBeforeDeadline sets the NotBeforeDeadline field's value.
78891func (s *InstanceStatusEvent) SetNotBeforeDeadline(v time.Time) *InstanceStatusEvent {
78892	s.NotBeforeDeadline = &v
78893	return s
78894}
78895
78896// Describes the status of an instance.
78897type InstanceStatusSummary struct {
78898	_ struct{} `type:"structure"`
78899
78900	// The system instance health or application instance health.
78901	Details []*InstanceStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
78902
78903	// The status.
78904	Status *string `locationName:"status" type:"string" enum:"SummaryStatus"`
78905}
78906
78907// String returns the string representation
78908func (s InstanceStatusSummary) String() string {
78909	return awsutil.Prettify(s)
78910}
78911
78912// GoString returns the string representation
78913func (s InstanceStatusSummary) GoString() string {
78914	return s.String()
78915}
78916
78917// SetDetails sets the Details field's value.
78918func (s *InstanceStatusSummary) SetDetails(v []*InstanceStatusDetails) *InstanceStatusSummary {
78919	s.Details = v
78920	return s
78921}
78922
78923// SetStatus sets the Status field's value.
78924func (s *InstanceStatusSummary) SetStatus(v string) *InstanceStatusSummary {
78925	s.Status = &v
78926	return s
78927}
78928
78929// Describes the disks that are available for the instance type.
78930type InstanceStorageInfo struct {
78931	_ struct{} `type:"structure"`
78932
78933	// Array describing the disks that are available for the instance type.
78934	Disks []*DiskInfo `locationName:"disks" locationNameList:"item" type:"list"`
78935
78936	// The total size of the disks, in GB.
78937	TotalSizeInGB *int64 `locationName:"totalSizeInGB" type:"long"`
78938}
78939
78940// String returns the string representation
78941func (s InstanceStorageInfo) String() string {
78942	return awsutil.Prettify(s)
78943}
78944
78945// GoString returns the string representation
78946func (s InstanceStorageInfo) GoString() string {
78947	return s.String()
78948}
78949
78950// SetDisks sets the Disks field's value.
78951func (s *InstanceStorageInfo) SetDisks(v []*DiskInfo) *InstanceStorageInfo {
78952	s.Disks = v
78953	return s
78954}
78955
78956// SetTotalSizeInGB sets the TotalSizeInGB field's value.
78957func (s *InstanceStorageInfo) SetTotalSizeInGB(v int64) *InstanceStorageInfo {
78958	s.TotalSizeInGB = &v
78959	return s
78960}
78961
78962// Describes the instance type.
78963type InstanceTypeInfo struct {
78964	_ struct{} `type:"structure"`
78965
78966	// Indicates whether auto recovery is supported.
78967	AutoRecoverySupported *bool `locationName:"autoRecoverySupported" type:"boolean"`
78968
78969	// Indicates whether the instance is bare metal.
78970	BareMetal *bool `locationName:"bareMetal" type:"boolean"`
78971
78972	// Indicates whether the instance type is a burstable performance instance type.
78973	BurstablePerformanceSupported *bool `locationName:"burstablePerformanceSupported" type:"boolean"`
78974
78975	// Indicates whether the instance type is a current generation.
78976	CurrentGeneration *bool `locationName:"currentGeneration" type:"boolean"`
78977
78978	// Indicates whether Dedicated Hosts are supported on the instance type.
78979	DedicatedHostsSupported *bool `locationName:"dedicatedHostsSupported" type:"boolean"`
78980
78981	// Describes the Amazon EBS settings for the instance type.
78982	EbsInfo *EbsInfo `locationName:"ebsInfo" type:"structure"`
78983
78984	// Describes the FPGA accelerator settings for the instance type.
78985	FpgaInfo *FpgaInfo `locationName:"fpgaInfo" type:"structure"`
78986
78987	// Indicates whether the instance type is eligible for the free tier.
78988	FreeTierEligible *bool `locationName:"freeTierEligible" type:"boolean"`
78989
78990	// Describes the GPU accelerator settings for the instance type.
78991	GpuInfo *GpuInfo `locationName:"gpuInfo" type:"structure"`
78992
78993	// Indicates whether On-Demand hibernation is supported.
78994	HibernationSupported *bool `locationName:"hibernationSupported" type:"boolean"`
78995
78996	// Indicates the hypervisor used for the instance type.
78997	Hypervisor *string `locationName:"hypervisor" type:"string" enum:"InstanceTypeHypervisor"`
78998
78999	// Describes the Inference accelerator settings for the instance type.
79000	InferenceAcceleratorInfo *InferenceAcceleratorInfo `locationName:"inferenceAcceleratorInfo" type:"structure"`
79001
79002	// Describes the disks for the instance type.
79003	InstanceStorageInfo *InstanceStorageInfo `locationName:"instanceStorageInfo" type:"structure"`
79004
79005	// Indicates whether instance storage is supported.
79006	InstanceStorageSupported *bool `locationName:"instanceStorageSupported" type:"boolean"`
79007
79008	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
79009	// in the Amazon Elastic Compute Cloud User Guide.
79010	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
79011
79012	// Describes the memory for the instance type.
79013	MemoryInfo *MemoryInfo `locationName:"memoryInfo" type:"structure"`
79014
79015	// Describes the network settings for the instance type.
79016	NetworkInfo *NetworkInfo `locationName:"networkInfo" type:"structure"`
79017
79018	// Describes the placement group settings for the instance type.
79019	PlacementGroupInfo *PlacementGroupInfo `locationName:"placementGroupInfo" type:"structure"`
79020
79021	// Describes the processor.
79022	ProcessorInfo *ProcessorInfo `locationName:"processorInfo" type:"structure"`
79023
79024	// Indicates the supported root device types.
79025	SupportedRootDeviceTypes []*string `locationName:"supportedRootDeviceTypes" locationNameList:"item" type:"list"`
79026
79027	// Indicates whether the instance type is offered for spot or On-Demand.
79028	SupportedUsageClasses []*string `locationName:"supportedUsageClasses" locationNameList:"item" type:"list"`
79029
79030	// Describes the vCPU configurations for the instance type.
79031	VCpuInfo *VCpuInfo `locationName:"vCpuInfo" type:"structure"`
79032}
79033
79034// String returns the string representation
79035func (s InstanceTypeInfo) String() string {
79036	return awsutil.Prettify(s)
79037}
79038
79039// GoString returns the string representation
79040func (s InstanceTypeInfo) GoString() string {
79041	return s.String()
79042}
79043
79044// SetAutoRecoverySupported sets the AutoRecoverySupported field's value.
79045func (s *InstanceTypeInfo) SetAutoRecoverySupported(v bool) *InstanceTypeInfo {
79046	s.AutoRecoverySupported = &v
79047	return s
79048}
79049
79050// SetBareMetal sets the BareMetal field's value.
79051func (s *InstanceTypeInfo) SetBareMetal(v bool) *InstanceTypeInfo {
79052	s.BareMetal = &v
79053	return s
79054}
79055
79056// SetBurstablePerformanceSupported sets the BurstablePerformanceSupported field's value.
79057func (s *InstanceTypeInfo) SetBurstablePerformanceSupported(v bool) *InstanceTypeInfo {
79058	s.BurstablePerformanceSupported = &v
79059	return s
79060}
79061
79062// SetCurrentGeneration sets the CurrentGeneration field's value.
79063func (s *InstanceTypeInfo) SetCurrentGeneration(v bool) *InstanceTypeInfo {
79064	s.CurrentGeneration = &v
79065	return s
79066}
79067
79068// SetDedicatedHostsSupported sets the DedicatedHostsSupported field's value.
79069func (s *InstanceTypeInfo) SetDedicatedHostsSupported(v bool) *InstanceTypeInfo {
79070	s.DedicatedHostsSupported = &v
79071	return s
79072}
79073
79074// SetEbsInfo sets the EbsInfo field's value.
79075func (s *InstanceTypeInfo) SetEbsInfo(v *EbsInfo) *InstanceTypeInfo {
79076	s.EbsInfo = v
79077	return s
79078}
79079
79080// SetFpgaInfo sets the FpgaInfo field's value.
79081func (s *InstanceTypeInfo) SetFpgaInfo(v *FpgaInfo) *InstanceTypeInfo {
79082	s.FpgaInfo = v
79083	return s
79084}
79085
79086// SetFreeTierEligible sets the FreeTierEligible field's value.
79087func (s *InstanceTypeInfo) SetFreeTierEligible(v bool) *InstanceTypeInfo {
79088	s.FreeTierEligible = &v
79089	return s
79090}
79091
79092// SetGpuInfo sets the GpuInfo field's value.
79093func (s *InstanceTypeInfo) SetGpuInfo(v *GpuInfo) *InstanceTypeInfo {
79094	s.GpuInfo = v
79095	return s
79096}
79097
79098// SetHibernationSupported sets the HibernationSupported field's value.
79099func (s *InstanceTypeInfo) SetHibernationSupported(v bool) *InstanceTypeInfo {
79100	s.HibernationSupported = &v
79101	return s
79102}
79103
79104// SetHypervisor sets the Hypervisor field's value.
79105func (s *InstanceTypeInfo) SetHypervisor(v string) *InstanceTypeInfo {
79106	s.Hypervisor = &v
79107	return s
79108}
79109
79110// SetInferenceAcceleratorInfo sets the InferenceAcceleratorInfo field's value.
79111func (s *InstanceTypeInfo) SetInferenceAcceleratorInfo(v *InferenceAcceleratorInfo) *InstanceTypeInfo {
79112	s.InferenceAcceleratorInfo = v
79113	return s
79114}
79115
79116// SetInstanceStorageInfo sets the InstanceStorageInfo field's value.
79117func (s *InstanceTypeInfo) SetInstanceStorageInfo(v *InstanceStorageInfo) *InstanceTypeInfo {
79118	s.InstanceStorageInfo = v
79119	return s
79120}
79121
79122// SetInstanceStorageSupported sets the InstanceStorageSupported field's value.
79123func (s *InstanceTypeInfo) SetInstanceStorageSupported(v bool) *InstanceTypeInfo {
79124	s.InstanceStorageSupported = &v
79125	return s
79126}
79127
79128// SetInstanceType sets the InstanceType field's value.
79129func (s *InstanceTypeInfo) SetInstanceType(v string) *InstanceTypeInfo {
79130	s.InstanceType = &v
79131	return s
79132}
79133
79134// SetMemoryInfo sets the MemoryInfo field's value.
79135func (s *InstanceTypeInfo) SetMemoryInfo(v *MemoryInfo) *InstanceTypeInfo {
79136	s.MemoryInfo = v
79137	return s
79138}
79139
79140// SetNetworkInfo sets the NetworkInfo field's value.
79141func (s *InstanceTypeInfo) SetNetworkInfo(v *NetworkInfo) *InstanceTypeInfo {
79142	s.NetworkInfo = v
79143	return s
79144}
79145
79146// SetPlacementGroupInfo sets the PlacementGroupInfo field's value.
79147func (s *InstanceTypeInfo) SetPlacementGroupInfo(v *PlacementGroupInfo) *InstanceTypeInfo {
79148	s.PlacementGroupInfo = v
79149	return s
79150}
79151
79152// SetProcessorInfo sets the ProcessorInfo field's value.
79153func (s *InstanceTypeInfo) SetProcessorInfo(v *ProcessorInfo) *InstanceTypeInfo {
79154	s.ProcessorInfo = v
79155	return s
79156}
79157
79158// SetSupportedRootDeviceTypes sets the SupportedRootDeviceTypes field's value.
79159func (s *InstanceTypeInfo) SetSupportedRootDeviceTypes(v []*string) *InstanceTypeInfo {
79160	s.SupportedRootDeviceTypes = v
79161	return s
79162}
79163
79164// SetSupportedUsageClasses sets the SupportedUsageClasses field's value.
79165func (s *InstanceTypeInfo) SetSupportedUsageClasses(v []*string) *InstanceTypeInfo {
79166	s.SupportedUsageClasses = v
79167	return s
79168}
79169
79170// SetVCpuInfo sets the VCpuInfo field's value.
79171func (s *InstanceTypeInfo) SetVCpuInfo(v *VCpuInfo) *InstanceTypeInfo {
79172	s.VCpuInfo = v
79173	return s
79174}
79175
79176// The instance types offered.
79177type InstanceTypeOffering struct {
79178	_ struct{} `type:"structure"`
79179
79180	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
79181	// in the Amazon Elastic Compute Cloud User Guide.
79182	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
79183
79184	// The identifier for the location. This depends on the location type. For example,
79185	// if the location type is region, the location is the Region code (for example,
79186	// us-east-2.)
79187	Location *string `locationName:"location" type:"string"`
79188
79189	// The location type.
79190	LocationType *string `locationName:"locationType" type:"string" enum:"LocationType"`
79191}
79192
79193// String returns the string representation
79194func (s InstanceTypeOffering) String() string {
79195	return awsutil.Prettify(s)
79196}
79197
79198// GoString returns the string representation
79199func (s InstanceTypeOffering) GoString() string {
79200	return s.String()
79201}
79202
79203// SetInstanceType sets the InstanceType field's value.
79204func (s *InstanceTypeOffering) SetInstanceType(v string) *InstanceTypeOffering {
79205	s.InstanceType = &v
79206	return s
79207}
79208
79209// SetLocation sets the Location field's value.
79210func (s *InstanceTypeOffering) SetLocation(v string) *InstanceTypeOffering {
79211	s.Location = &v
79212	return s
79213}
79214
79215// SetLocationType sets the LocationType field's value.
79216func (s *InstanceTypeOffering) SetLocationType(v string) *InstanceTypeOffering {
79217	s.LocationType = &v
79218	return s
79219}
79220
79221// Information about the Capacity Reservation usage.
79222type InstanceUsage struct {
79223	_ struct{} `type:"structure"`
79224
79225	// The ID of the AWS account that is making use of the Capacity Reservation.
79226	AccountId *string `locationName:"accountId" type:"string"`
79227
79228	// The number of instances the AWS account currently has in the Capacity Reservation.
79229	UsedInstanceCount *int64 `locationName:"usedInstanceCount" type:"integer"`
79230}
79231
79232// String returns the string representation
79233func (s InstanceUsage) String() string {
79234	return awsutil.Prettify(s)
79235}
79236
79237// GoString returns the string representation
79238func (s InstanceUsage) GoString() string {
79239	return s.String()
79240}
79241
79242// SetAccountId sets the AccountId field's value.
79243func (s *InstanceUsage) SetAccountId(v string) *InstanceUsage {
79244	s.AccountId = &v
79245	return s
79246}
79247
79248// SetUsedInstanceCount sets the UsedInstanceCount field's value.
79249func (s *InstanceUsage) SetUsedInstanceCount(v int64) *InstanceUsage {
79250	s.UsedInstanceCount = &v
79251	return s
79252}
79253
79254// Describes an internet gateway.
79255type InternetGateway struct {
79256	_ struct{} `type:"structure"`
79257
79258	// Any VPCs attached to the internet gateway.
79259	Attachments []*InternetGatewayAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
79260
79261	// The ID of the internet gateway.
79262	InternetGatewayId *string `locationName:"internetGatewayId" type:"string"`
79263
79264	// The ID of the AWS account that owns the internet gateway.
79265	OwnerId *string `locationName:"ownerId" type:"string"`
79266
79267	// Any tags assigned to the internet gateway.
79268	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
79269}
79270
79271// String returns the string representation
79272func (s InternetGateway) String() string {
79273	return awsutil.Prettify(s)
79274}
79275
79276// GoString returns the string representation
79277func (s InternetGateway) GoString() string {
79278	return s.String()
79279}
79280
79281// SetAttachments sets the Attachments field's value.
79282func (s *InternetGateway) SetAttachments(v []*InternetGatewayAttachment) *InternetGateway {
79283	s.Attachments = v
79284	return s
79285}
79286
79287// SetInternetGatewayId sets the InternetGatewayId field's value.
79288func (s *InternetGateway) SetInternetGatewayId(v string) *InternetGateway {
79289	s.InternetGatewayId = &v
79290	return s
79291}
79292
79293// SetOwnerId sets the OwnerId field's value.
79294func (s *InternetGateway) SetOwnerId(v string) *InternetGateway {
79295	s.OwnerId = &v
79296	return s
79297}
79298
79299// SetTags sets the Tags field's value.
79300func (s *InternetGateway) SetTags(v []*Tag) *InternetGateway {
79301	s.Tags = v
79302	return s
79303}
79304
79305// Describes the attachment of a VPC to an internet gateway or an egress-only
79306// internet gateway.
79307type InternetGatewayAttachment struct {
79308	_ struct{} `type:"structure"`
79309
79310	// The current state of the attachment. For an internet gateway, the state is
79311	// available when attached to a VPC; otherwise, this value is not returned.
79312	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
79313
79314	// The ID of the VPC.
79315	VpcId *string `locationName:"vpcId" type:"string"`
79316}
79317
79318// String returns the string representation
79319func (s InternetGatewayAttachment) String() string {
79320	return awsutil.Prettify(s)
79321}
79322
79323// GoString returns the string representation
79324func (s InternetGatewayAttachment) GoString() string {
79325	return s.String()
79326}
79327
79328// SetState sets the State field's value.
79329func (s *InternetGatewayAttachment) SetState(v string) *InternetGatewayAttachment {
79330	s.State = &v
79331	return s
79332}
79333
79334// SetVpcId sets the VpcId field's value.
79335func (s *InternetGatewayAttachment) SetVpcId(v string) *InternetGatewayAttachment {
79336	s.VpcId = &v
79337	return s
79338}
79339
79340// Describes a set of permissions for a security group rule.
79341type IpPermission struct {
79342	_ struct{} `type:"structure"`
79343
79344	// The start of port range for the TCP and UDP protocols, or an ICMP/ICMPv6
79345	// type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify
79346	// all ICMP/ICMPv6 types, you must specify all codes.
79347	FromPort *int64 `locationName:"fromPort" type:"integer"`
79348
79349	// The IP protocol name (tcp, udp, icmp, icmpv6) or number (see Protocol Numbers
79350	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
79351	//
79352	// [VPC only] Use -1 to specify all protocols. When authorizing security group
79353	// rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6
79354	// allows traffic on all ports, regardless of any port range you specify. For
79355	// tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range
79356	// is optional; if you omit the port range, traffic for all types and codes
79357	// is allowed.
79358	IpProtocol *string `locationName:"ipProtocol" type:"string"`
79359
79360	// The IPv4 ranges.
79361	IpRanges []*IpRange `locationName:"ipRanges" locationNameList:"item" type:"list"`
79362
79363	// [VPC only] The IPv6 ranges.
79364	Ipv6Ranges []*Ipv6Range `locationName:"ipv6Ranges" locationNameList:"item" type:"list"`
79365
79366	// [VPC only] The prefix list IDs for an AWS service. With outbound rules, this
79367	// is the AWS service to access through a VPC endpoint from instances associated
79368	// with the security group.
79369	PrefixListIds []*PrefixListId `locationName:"prefixListIds" locationNameList:"item" type:"list"`
79370
79371	// The end of port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.
79372	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
79373	// types, you must specify all codes.
79374	ToPort *int64 `locationName:"toPort" type:"integer"`
79375
79376	// The security group and AWS account ID pairs.
79377	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
79378}
79379
79380// String returns the string representation
79381func (s IpPermission) String() string {
79382	return awsutil.Prettify(s)
79383}
79384
79385// GoString returns the string representation
79386func (s IpPermission) GoString() string {
79387	return s.String()
79388}
79389
79390// SetFromPort sets the FromPort field's value.
79391func (s *IpPermission) SetFromPort(v int64) *IpPermission {
79392	s.FromPort = &v
79393	return s
79394}
79395
79396// SetIpProtocol sets the IpProtocol field's value.
79397func (s *IpPermission) SetIpProtocol(v string) *IpPermission {
79398	s.IpProtocol = &v
79399	return s
79400}
79401
79402// SetIpRanges sets the IpRanges field's value.
79403func (s *IpPermission) SetIpRanges(v []*IpRange) *IpPermission {
79404	s.IpRanges = v
79405	return s
79406}
79407
79408// SetIpv6Ranges sets the Ipv6Ranges field's value.
79409func (s *IpPermission) SetIpv6Ranges(v []*Ipv6Range) *IpPermission {
79410	s.Ipv6Ranges = v
79411	return s
79412}
79413
79414// SetPrefixListIds sets the PrefixListIds field's value.
79415func (s *IpPermission) SetPrefixListIds(v []*PrefixListId) *IpPermission {
79416	s.PrefixListIds = v
79417	return s
79418}
79419
79420// SetToPort sets the ToPort field's value.
79421func (s *IpPermission) SetToPort(v int64) *IpPermission {
79422	s.ToPort = &v
79423	return s
79424}
79425
79426// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
79427func (s *IpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *IpPermission {
79428	s.UserIdGroupPairs = v
79429	return s
79430}
79431
79432// Describes an IPv4 range.
79433type IpRange struct {
79434	_ struct{} `type:"structure"`
79435
79436	// The IPv4 CIDR range. You can either specify a CIDR range or a source security
79437	// group, not both. To specify a single IPv4 address, use the /32 prefix length.
79438	CidrIp *string `locationName:"cidrIp" type:"string"`
79439
79440	// A description for the security group rule that references this IPv4 address
79441	// range.
79442	//
79443	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
79444	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
79445	Description *string `locationName:"description" type:"string"`
79446}
79447
79448// String returns the string representation
79449func (s IpRange) String() string {
79450	return awsutil.Prettify(s)
79451}
79452
79453// GoString returns the string representation
79454func (s IpRange) GoString() string {
79455	return s.String()
79456}
79457
79458// SetCidrIp sets the CidrIp field's value.
79459func (s *IpRange) SetCidrIp(v string) *IpRange {
79460	s.CidrIp = &v
79461	return s
79462}
79463
79464// SetDescription sets the Description field's value.
79465func (s *IpRange) SetDescription(v string) *IpRange {
79466	s.Description = &v
79467	return s
79468}
79469
79470// Describes an IPv6 CIDR block.
79471type Ipv6CidrBlock struct {
79472	_ struct{} `type:"structure"`
79473
79474	// The IPv6 CIDR block.
79475	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
79476}
79477
79478// String returns the string representation
79479func (s Ipv6CidrBlock) String() string {
79480	return awsutil.Prettify(s)
79481}
79482
79483// GoString returns the string representation
79484func (s Ipv6CidrBlock) GoString() string {
79485	return s.String()
79486}
79487
79488// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
79489func (s *Ipv6CidrBlock) SetIpv6CidrBlock(v string) *Ipv6CidrBlock {
79490	s.Ipv6CidrBlock = &v
79491	return s
79492}
79493
79494// [EC2-VPC only] Describes an IPv6 range.
79495type Ipv6Range struct {
79496	_ struct{} `type:"structure"`
79497
79498	// The IPv6 CIDR range. You can either specify a CIDR range or a source security
79499	// group, not both. To specify a single IPv6 address, use the /128 prefix length.
79500	CidrIpv6 *string `locationName:"cidrIpv6" type:"string"`
79501
79502	// A description for the security group rule that references this IPv6 address
79503	// range.
79504	//
79505	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
79506	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=&;{}!$*
79507	Description *string `locationName:"description" type:"string"`
79508}
79509
79510// String returns the string representation
79511func (s Ipv6Range) String() string {
79512	return awsutil.Prettify(s)
79513}
79514
79515// GoString returns the string representation
79516func (s Ipv6Range) GoString() string {
79517	return s.String()
79518}
79519
79520// SetCidrIpv6 sets the CidrIpv6 field's value.
79521func (s *Ipv6Range) SetCidrIpv6(v string) *Ipv6Range {
79522	s.CidrIpv6 = &v
79523	return s
79524}
79525
79526// SetDescription sets the Description field's value.
79527func (s *Ipv6Range) SetDescription(v string) *Ipv6Range {
79528	s.Description = &v
79529	return s
79530}
79531
79532// Describes a key pair.
79533type KeyPairInfo struct {
79534	_ struct{} `type:"structure"`
79535
79536	// If you used CreateKeyPair to create the key pair, this is the SHA-1 digest
79537	// of the DER encoded private key. If you used ImportKeyPair to provide AWS
79538	// the public key, this is the MD5 public key fingerprint as specified in section
79539	// 4 of RFC4716.
79540	KeyFingerprint *string `locationName:"keyFingerprint" type:"string"`
79541
79542	// The name of the key pair.
79543	KeyName *string `locationName:"keyName" type:"string"`
79544
79545	// The ID of the key pair.
79546	KeyPairId *string `locationName:"keyPairId" type:"string"`
79547
79548	// Any tags applied to the key pair.
79549	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
79550}
79551
79552// String returns the string representation
79553func (s KeyPairInfo) String() string {
79554	return awsutil.Prettify(s)
79555}
79556
79557// GoString returns the string representation
79558func (s KeyPairInfo) GoString() string {
79559	return s.String()
79560}
79561
79562// SetKeyFingerprint sets the KeyFingerprint field's value.
79563func (s *KeyPairInfo) SetKeyFingerprint(v string) *KeyPairInfo {
79564	s.KeyFingerprint = &v
79565	return s
79566}
79567
79568// SetKeyName sets the KeyName field's value.
79569func (s *KeyPairInfo) SetKeyName(v string) *KeyPairInfo {
79570	s.KeyName = &v
79571	return s
79572}
79573
79574// SetKeyPairId sets the KeyPairId field's value.
79575func (s *KeyPairInfo) SetKeyPairId(v string) *KeyPairInfo {
79576	s.KeyPairId = &v
79577	return s
79578}
79579
79580// SetTags sets the Tags field's value.
79581func (s *KeyPairInfo) SetTags(v []*Tag) *KeyPairInfo {
79582	s.Tags = v
79583	return s
79584}
79585
79586// Describes a launch permission.
79587type LaunchPermission struct {
79588	_ struct{} `type:"structure"`
79589
79590	// The name of the group.
79591	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
79592
79593	// The AWS account ID.
79594	UserId *string `locationName:"userId" type:"string"`
79595}
79596
79597// String returns the string representation
79598func (s LaunchPermission) String() string {
79599	return awsutil.Prettify(s)
79600}
79601
79602// GoString returns the string representation
79603func (s LaunchPermission) GoString() string {
79604	return s.String()
79605}
79606
79607// SetGroup sets the Group field's value.
79608func (s *LaunchPermission) SetGroup(v string) *LaunchPermission {
79609	s.Group = &v
79610	return s
79611}
79612
79613// SetUserId sets the UserId field's value.
79614func (s *LaunchPermission) SetUserId(v string) *LaunchPermission {
79615	s.UserId = &v
79616	return s
79617}
79618
79619// Describes a launch permission modification.
79620type LaunchPermissionModifications struct {
79621	_ struct{} `type:"structure"`
79622
79623	// The AWS account ID to add to the list of launch permissions for the AMI.
79624	Add []*LaunchPermission `locationNameList:"item" type:"list"`
79625
79626	// The AWS account ID to remove from the list of launch permissions for the
79627	// AMI.
79628	Remove []*LaunchPermission `locationNameList:"item" type:"list"`
79629}
79630
79631// String returns the string representation
79632func (s LaunchPermissionModifications) String() string {
79633	return awsutil.Prettify(s)
79634}
79635
79636// GoString returns the string representation
79637func (s LaunchPermissionModifications) GoString() string {
79638	return s.String()
79639}
79640
79641// SetAdd sets the Add field's value.
79642func (s *LaunchPermissionModifications) SetAdd(v []*LaunchPermission) *LaunchPermissionModifications {
79643	s.Add = v
79644	return s
79645}
79646
79647// SetRemove sets the Remove field's value.
79648func (s *LaunchPermissionModifications) SetRemove(v []*LaunchPermission) *LaunchPermissionModifications {
79649	s.Remove = v
79650	return s
79651}
79652
79653// Describes the launch specification for an instance.
79654type LaunchSpecification struct {
79655	_ struct{} `type:"structure"`
79656
79657	// Deprecated.
79658	AddressingType *string `locationName:"addressingType" type:"string"`
79659
79660	// One or more block device mapping entries.
79661	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
79662
79663	// Indicates whether the instance is optimized for EBS I/O. This optimization
79664	// provides dedicated throughput to Amazon EBS and an optimized configuration
79665	// stack to provide optimal EBS I/O performance. This optimization isn't available
79666	// with all instance types. Additional usage charges apply when using an EBS
79667	// Optimized instance.
79668	//
79669	// Default: false
79670	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
79671
79672	// The IAM instance profile.
79673	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
79674
79675	// The ID of the AMI.
79676	ImageId *string `locationName:"imageId" type:"string"`
79677
79678	// The instance type.
79679	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
79680
79681	// The ID of the kernel.
79682	KernelId *string `locationName:"kernelId" type:"string"`
79683
79684	// The name of the key pair.
79685	KeyName *string `locationName:"keyName" type:"string"`
79686
79687	// Describes the monitoring of an instance.
79688	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
79689
79690	// One or more network interfaces. If you specify a network interface, you must
79691	// specify subnet IDs and security group IDs using the network interface.
79692	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
79693
79694	// The placement information for the instance.
79695	Placement *SpotPlacement `locationName:"placement" type:"structure"`
79696
79697	// The ID of the RAM disk.
79698	RamdiskId *string `locationName:"ramdiskId" type:"string"`
79699
79700	// One or more security groups. When requesting instances in a VPC, you must
79701	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
79702	// you can specify the names or the IDs of the security groups.
79703	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
79704
79705	// The ID of the subnet in which to launch the instance.
79706	SubnetId *string `locationName:"subnetId" type:"string"`
79707
79708	// The Base64-encoded user data for the instance.
79709	UserData *string `locationName:"userData" type:"string"`
79710}
79711
79712// String returns the string representation
79713func (s LaunchSpecification) String() string {
79714	return awsutil.Prettify(s)
79715}
79716
79717// GoString returns the string representation
79718func (s LaunchSpecification) GoString() string {
79719	return s.String()
79720}
79721
79722// SetAddressingType sets the AddressingType field's value.
79723func (s *LaunchSpecification) SetAddressingType(v string) *LaunchSpecification {
79724	s.AddressingType = &v
79725	return s
79726}
79727
79728// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
79729func (s *LaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *LaunchSpecification {
79730	s.BlockDeviceMappings = v
79731	return s
79732}
79733
79734// SetEbsOptimized sets the EbsOptimized field's value.
79735func (s *LaunchSpecification) SetEbsOptimized(v bool) *LaunchSpecification {
79736	s.EbsOptimized = &v
79737	return s
79738}
79739
79740// SetIamInstanceProfile sets the IamInstanceProfile field's value.
79741func (s *LaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *LaunchSpecification {
79742	s.IamInstanceProfile = v
79743	return s
79744}
79745
79746// SetImageId sets the ImageId field's value.
79747func (s *LaunchSpecification) SetImageId(v string) *LaunchSpecification {
79748	s.ImageId = &v
79749	return s
79750}
79751
79752// SetInstanceType sets the InstanceType field's value.
79753func (s *LaunchSpecification) SetInstanceType(v string) *LaunchSpecification {
79754	s.InstanceType = &v
79755	return s
79756}
79757
79758// SetKernelId sets the KernelId field's value.
79759func (s *LaunchSpecification) SetKernelId(v string) *LaunchSpecification {
79760	s.KernelId = &v
79761	return s
79762}
79763
79764// SetKeyName sets the KeyName field's value.
79765func (s *LaunchSpecification) SetKeyName(v string) *LaunchSpecification {
79766	s.KeyName = &v
79767	return s
79768}
79769
79770// SetMonitoring sets the Monitoring field's value.
79771func (s *LaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *LaunchSpecification {
79772	s.Monitoring = v
79773	return s
79774}
79775
79776// SetNetworkInterfaces sets the NetworkInterfaces field's value.
79777func (s *LaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *LaunchSpecification {
79778	s.NetworkInterfaces = v
79779	return s
79780}
79781
79782// SetPlacement sets the Placement field's value.
79783func (s *LaunchSpecification) SetPlacement(v *SpotPlacement) *LaunchSpecification {
79784	s.Placement = v
79785	return s
79786}
79787
79788// SetRamdiskId sets the RamdiskId field's value.
79789func (s *LaunchSpecification) SetRamdiskId(v string) *LaunchSpecification {
79790	s.RamdiskId = &v
79791	return s
79792}
79793
79794// SetSecurityGroups sets the SecurityGroups field's value.
79795func (s *LaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *LaunchSpecification {
79796	s.SecurityGroups = v
79797	return s
79798}
79799
79800// SetSubnetId sets the SubnetId field's value.
79801func (s *LaunchSpecification) SetSubnetId(v string) *LaunchSpecification {
79802	s.SubnetId = &v
79803	return s
79804}
79805
79806// SetUserData sets the UserData field's value.
79807func (s *LaunchSpecification) SetUserData(v string) *LaunchSpecification {
79808	s.UserData = &v
79809	return s
79810}
79811
79812// Describes a launch template.
79813type LaunchTemplate struct {
79814	_ struct{} `type:"structure"`
79815
79816	// The time launch template was created.
79817	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
79818
79819	// The principal that created the launch template.
79820	CreatedBy *string `locationName:"createdBy" type:"string"`
79821
79822	// The version number of the default version of the launch template.
79823	DefaultVersionNumber *int64 `locationName:"defaultVersionNumber" type:"long"`
79824
79825	// The version number of the latest version of the launch template.
79826	LatestVersionNumber *int64 `locationName:"latestVersionNumber" type:"long"`
79827
79828	// The ID of the launch template.
79829	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
79830
79831	// The name of the launch template.
79832	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
79833
79834	// The tags for the launch template.
79835	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
79836}
79837
79838// String returns the string representation
79839func (s LaunchTemplate) String() string {
79840	return awsutil.Prettify(s)
79841}
79842
79843// GoString returns the string representation
79844func (s LaunchTemplate) GoString() string {
79845	return s.String()
79846}
79847
79848// SetCreateTime sets the CreateTime field's value.
79849func (s *LaunchTemplate) SetCreateTime(v time.Time) *LaunchTemplate {
79850	s.CreateTime = &v
79851	return s
79852}
79853
79854// SetCreatedBy sets the CreatedBy field's value.
79855func (s *LaunchTemplate) SetCreatedBy(v string) *LaunchTemplate {
79856	s.CreatedBy = &v
79857	return s
79858}
79859
79860// SetDefaultVersionNumber sets the DefaultVersionNumber field's value.
79861func (s *LaunchTemplate) SetDefaultVersionNumber(v int64) *LaunchTemplate {
79862	s.DefaultVersionNumber = &v
79863	return s
79864}
79865
79866// SetLatestVersionNumber sets the LatestVersionNumber field's value.
79867func (s *LaunchTemplate) SetLatestVersionNumber(v int64) *LaunchTemplate {
79868	s.LatestVersionNumber = &v
79869	return s
79870}
79871
79872// SetLaunchTemplateId sets the LaunchTemplateId field's value.
79873func (s *LaunchTemplate) SetLaunchTemplateId(v string) *LaunchTemplate {
79874	s.LaunchTemplateId = &v
79875	return s
79876}
79877
79878// SetLaunchTemplateName sets the LaunchTemplateName field's value.
79879func (s *LaunchTemplate) SetLaunchTemplateName(v string) *LaunchTemplate {
79880	s.LaunchTemplateName = &v
79881	return s
79882}
79883
79884// SetTags sets the Tags field's value.
79885func (s *LaunchTemplate) SetTags(v []*Tag) *LaunchTemplate {
79886	s.Tags = v
79887	return s
79888}
79889
79890// Describes a launch template and overrides.
79891type LaunchTemplateAndOverridesResponse struct {
79892	_ struct{} `type:"structure"`
79893
79894	// The launch template.
79895	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
79896
79897	// Any parameters that you specify override the same parameters in the launch
79898	// template.
79899	Overrides *FleetLaunchTemplateOverrides `locationName:"overrides" type:"structure"`
79900}
79901
79902// String returns the string representation
79903func (s LaunchTemplateAndOverridesResponse) String() string {
79904	return awsutil.Prettify(s)
79905}
79906
79907// GoString returns the string representation
79908func (s LaunchTemplateAndOverridesResponse) GoString() string {
79909	return s.String()
79910}
79911
79912// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
79913func (s *LaunchTemplateAndOverridesResponse) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateAndOverridesResponse {
79914	s.LaunchTemplateSpecification = v
79915	return s
79916}
79917
79918// SetOverrides sets the Overrides field's value.
79919func (s *LaunchTemplateAndOverridesResponse) SetOverrides(v *FleetLaunchTemplateOverrides) *LaunchTemplateAndOverridesResponse {
79920	s.Overrides = v
79921	return s
79922}
79923
79924// Describes a block device mapping.
79925type LaunchTemplateBlockDeviceMapping struct {
79926	_ struct{} `type:"structure"`
79927
79928	// The device name.
79929	DeviceName *string `locationName:"deviceName" type:"string"`
79930
79931	// Information about the block device for an EBS volume.
79932	Ebs *LaunchTemplateEbsBlockDevice `locationName:"ebs" type:"structure"`
79933
79934	// Suppresses the specified device included in the block device mapping of the
79935	// AMI.
79936	NoDevice *string `locationName:"noDevice" type:"string"`
79937
79938	// The virtual device name (ephemeralN).
79939	VirtualName *string `locationName:"virtualName" type:"string"`
79940}
79941
79942// String returns the string representation
79943func (s LaunchTemplateBlockDeviceMapping) String() string {
79944	return awsutil.Prettify(s)
79945}
79946
79947// GoString returns the string representation
79948func (s LaunchTemplateBlockDeviceMapping) GoString() string {
79949	return s.String()
79950}
79951
79952// SetDeviceName sets the DeviceName field's value.
79953func (s *LaunchTemplateBlockDeviceMapping) SetDeviceName(v string) *LaunchTemplateBlockDeviceMapping {
79954	s.DeviceName = &v
79955	return s
79956}
79957
79958// SetEbs sets the Ebs field's value.
79959func (s *LaunchTemplateBlockDeviceMapping) SetEbs(v *LaunchTemplateEbsBlockDevice) *LaunchTemplateBlockDeviceMapping {
79960	s.Ebs = v
79961	return s
79962}
79963
79964// SetNoDevice sets the NoDevice field's value.
79965func (s *LaunchTemplateBlockDeviceMapping) SetNoDevice(v string) *LaunchTemplateBlockDeviceMapping {
79966	s.NoDevice = &v
79967	return s
79968}
79969
79970// SetVirtualName sets the VirtualName field's value.
79971func (s *LaunchTemplateBlockDeviceMapping) SetVirtualName(v string) *LaunchTemplateBlockDeviceMapping {
79972	s.VirtualName = &v
79973	return s
79974}
79975
79976// Describes a block device mapping.
79977type LaunchTemplateBlockDeviceMappingRequest struct {
79978	_ struct{} `type:"structure"`
79979
79980	// The device name (for example, /dev/sdh or xvdh).
79981	DeviceName *string `type:"string"`
79982
79983	// Parameters used to automatically set up EBS volumes when the instance is
79984	// launched.
79985	Ebs *LaunchTemplateEbsBlockDeviceRequest `type:"structure"`
79986
79987	// Suppresses the specified device included in the block device mapping of the
79988	// AMI.
79989	NoDevice *string `type:"string"`
79990
79991	// The virtual device name (ephemeralN). Instance store volumes are numbered
79992	// starting from 0. An instance type with 2 available instance store volumes
79993	// can specify mappings for ephemeral0 and ephemeral1. The number of available
79994	// instance store volumes depends on the instance type. After you connect to
79995	// the instance, you must mount the volume.
79996	VirtualName *string `type:"string"`
79997}
79998
79999// String returns the string representation
80000func (s LaunchTemplateBlockDeviceMappingRequest) String() string {
80001	return awsutil.Prettify(s)
80002}
80003
80004// GoString returns the string representation
80005func (s LaunchTemplateBlockDeviceMappingRequest) GoString() string {
80006	return s.String()
80007}
80008
80009// SetDeviceName sets the DeviceName field's value.
80010func (s *LaunchTemplateBlockDeviceMappingRequest) SetDeviceName(v string) *LaunchTemplateBlockDeviceMappingRequest {
80011	s.DeviceName = &v
80012	return s
80013}
80014
80015// SetEbs sets the Ebs field's value.
80016func (s *LaunchTemplateBlockDeviceMappingRequest) SetEbs(v *LaunchTemplateEbsBlockDeviceRequest) *LaunchTemplateBlockDeviceMappingRequest {
80017	s.Ebs = v
80018	return s
80019}
80020
80021// SetNoDevice sets the NoDevice field's value.
80022func (s *LaunchTemplateBlockDeviceMappingRequest) SetNoDevice(v string) *LaunchTemplateBlockDeviceMappingRequest {
80023	s.NoDevice = &v
80024	return s
80025}
80026
80027// SetVirtualName sets the VirtualName field's value.
80028func (s *LaunchTemplateBlockDeviceMappingRequest) SetVirtualName(v string) *LaunchTemplateBlockDeviceMappingRequest {
80029	s.VirtualName = &v
80030	return s
80031}
80032
80033// Describes an instance's Capacity Reservation targeting option. You can specify
80034// only one option at a time. Use the CapacityReservationPreference parameter
80035// to configure the instance to run in On-Demand capacity or to run in any open
80036// Capacity Reservation that has matching attributes (instance type, platform,
80037// Availability Zone). Use the CapacityReservationTarget parameter to explicitly
80038// target a specific Capacity Reservation.
80039type LaunchTemplateCapacityReservationSpecificationRequest struct {
80040	_ struct{} `type:"structure"`
80041
80042	// Indicates the instance's Capacity Reservation preferences. Possible preferences
80043	// include:
80044	//
80045	//    * open - The instance can run in any open Capacity Reservation that has
80046	//    matching attributes (instance type, platform, Availability Zone).
80047	//
80048	//    * none - The instance avoids running in a Capacity Reservation even if
80049	//    one is available. The instance runs in On-Demand capacity.
80050	CapacityReservationPreference *string `type:"string" enum:"CapacityReservationPreference"`
80051
80052	// Information about the target Capacity Reservation.
80053	CapacityReservationTarget *CapacityReservationTarget `type:"structure"`
80054}
80055
80056// String returns the string representation
80057func (s LaunchTemplateCapacityReservationSpecificationRequest) String() string {
80058	return awsutil.Prettify(s)
80059}
80060
80061// GoString returns the string representation
80062func (s LaunchTemplateCapacityReservationSpecificationRequest) GoString() string {
80063	return s.String()
80064}
80065
80066// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
80067func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationRequest {
80068	s.CapacityReservationPreference = &v
80069	return s
80070}
80071
80072// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
80073func (s *LaunchTemplateCapacityReservationSpecificationRequest) SetCapacityReservationTarget(v *CapacityReservationTarget) *LaunchTemplateCapacityReservationSpecificationRequest {
80074	s.CapacityReservationTarget = v
80075	return s
80076}
80077
80078// Information about the Capacity Reservation targeting option.
80079type LaunchTemplateCapacityReservationSpecificationResponse struct {
80080	_ struct{} `type:"structure"`
80081
80082	// Indicates the instance's Capacity Reservation preferences. Possible preferences
80083	// include:
80084	//
80085	//    * open - The instance can run in any open Capacity Reservation that has
80086	//    matching attributes (instance type, platform, Availability Zone).
80087	//
80088	//    * none - The instance avoids running in a Capacity Reservation even if
80089	//    one is available. The instance runs in On-Demand capacity.
80090	CapacityReservationPreference *string `locationName:"capacityReservationPreference" type:"string" enum:"CapacityReservationPreference"`
80091
80092	// Information about the target Capacity Reservation.
80093	CapacityReservationTarget *CapacityReservationTargetResponse `locationName:"capacityReservationTarget" type:"structure"`
80094}
80095
80096// String returns the string representation
80097func (s LaunchTemplateCapacityReservationSpecificationResponse) String() string {
80098	return awsutil.Prettify(s)
80099}
80100
80101// GoString returns the string representation
80102func (s LaunchTemplateCapacityReservationSpecificationResponse) GoString() string {
80103	return s.String()
80104}
80105
80106// SetCapacityReservationPreference sets the CapacityReservationPreference field's value.
80107func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationPreference(v string) *LaunchTemplateCapacityReservationSpecificationResponse {
80108	s.CapacityReservationPreference = &v
80109	return s
80110}
80111
80112// SetCapacityReservationTarget sets the CapacityReservationTarget field's value.
80113func (s *LaunchTemplateCapacityReservationSpecificationResponse) SetCapacityReservationTarget(v *CapacityReservationTargetResponse) *LaunchTemplateCapacityReservationSpecificationResponse {
80114	s.CapacityReservationTarget = v
80115	return s
80116}
80117
80118// Describes a launch template and overrides.
80119type LaunchTemplateConfig struct {
80120	_ struct{} `type:"structure"`
80121
80122	// The launch template.
80123	LaunchTemplateSpecification *FleetLaunchTemplateSpecification `locationName:"launchTemplateSpecification" type:"structure"`
80124
80125	// Any parameters that you specify override the same parameters in the launch
80126	// template.
80127	Overrides []*LaunchTemplateOverrides `locationName:"overrides" locationNameList:"item" type:"list"`
80128}
80129
80130// String returns the string representation
80131func (s LaunchTemplateConfig) String() string {
80132	return awsutil.Prettify(s)
80133}
80134
80135// GoString returns the string representation
80136func (s LaunchTemplateConfig) GoString() string {
80137	return s.String()
80138}
80139
80140// Validate inspects the fields of the type to determine if they are valid.
80141func (s *LaunchTemplateConfig) Validate() error {
80142	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateConfig"}
80143	if s.LaunchTemplateSpecification != nil {
80144		if err := s.LaunchTemplateSpecification.Validate(); err != nil {
80145			invalidParams.AddNested("LaunchTemplateSpecification", err.(request.ErrInvalidParams))
80146		}
80147	}
80148
80149	if invalidParams.Len() > 0 {
80150		return invalidParams
80151	}
80152	return nil
80153}
80154
80155// SetLaunchTemplateSpecification sets the LaunchTemplateSpecification field's value.
80156func (s *LaunchTemplateConfig) SetLaunchTemplateSpecification(v *FleetLaunchTemplateSpecification) *LaunchTemplateConfig {
80157	s.LaunchTemplateSpecification = v
80158	return s
80159}
80160
80161// SetOverrides sets the Overrides field's value.
80162func (s *LaunchTemplateConfig) SetOverrides(v []*LaunchTemplateOverrides) *LaunchTemplateConfig {
80163	s.Overrides = v
80164	return s
80165}
80166
80167// The CPU options for the instance.
80168type LaunchTemplateCpuOptions struct {
80169	_ struct{} `type:"structure"`
80170
80171	// The number of CPU cores for the instance.
80172	CoreCount *int64 `locationName:"coreCount" type:"integer"`
80173
80174	// The number of threads per CPU core.
80175	ThreadsPerCore *int64 `locationName:"threadsPerCore" type:"integer"`
80176}
80177
80178// String returns the string representation
80179func (s LaunchTemplateCpuOptions) String() string {
80180	return awsutil.Prettify(s)
80181}
80182
80183// GoString returns the string representation
80184func (s LaunchTemplateCpuOptions) GoString() string {
80185	return s.String()
80186}
80187
80188// SetCoreCount sets the CoreCount field's value.
80189func (s *LaunchTemplateCpuOptions) SetCoreCount(v int64) *LaunchTemplateCpuOptions {
80190	s.CoreCount = &v
80191	return s
80192}
80193
80194// SetThreadsPerCore sets the ThreadsPerCore field's value.
80195func (s *LaunchTemplateCpuOptions) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptions {
80196	s.ThreadsPerCore = &v
80197	return s
80198}
80199
80200// The CPU options for the instance. Both the core count and threads per core
80201// must be specified in the request.
80202type LaunchTemplateCpuOptionsRequest struct {
80203	_ struct{} `type:"structure"`
80204
80205	// The number of CPU cores for the instance.
80206	CoreCount *int64 `type:"integer"`
80207
80208	// The number of threads per CPU core. To disable multithreading for the instance,
80209	// specify a value of 1. Otherwise, specify the default value of 2.
80210	ThreadsPerCore *int64 `type:"integer"`
80211}
80212
80213// String returns the string representation
80214func (s LaunchTemplateCpuOptionsRequest) String() string {
80215	return awsutil.Prettify(s)
80216}
80217
80218// GoString returns the string representation
80219func (s LaunchTemplateCpuOptionsRequest) GoString() string {
80220	return s.String()
80221}
80222
80223// SetCoreCount sets the CoreCount field's value.
80224func (s *LaunchTemplateCpuOptionsRequest) SetCoreCount(v int64) *LaunchTemplateCpuOptionsRequest {
80225	s.CoreCount = &v
80226	return s
80227}
80228
80229// SetThreadsPerCore sets the ThreadsPerCore field's value.
80230func (s *LaunchTemplateCpuOptionsRequest) SetThreadsPerCore(v int64) *LaunchTemplateCpuOptionsRequest {
80231	s.ThreadsPerCore = &v
80232	return s
80233}
80234
80235// Describes a block device for an EBS volume.
80236type LaunchTemplateEbsBlockDevice struct {
80237	_ struct{} `type:"structure"`
80238
80239	// Indicates whether the EBS volume is deleted on instance termination.
80240	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
80241
80242	// Indicates whether the EBS volume is encrypted.
80243	Encrypted *bool `locationName:"encrypted" type:"boolean"`
80244
80245	// The number of I/O operations per second (IOPS) that the volume supports.
80246	Iops *int64 `locationName:"iops" type:"integer"`
80247
80248	// The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption.
80249	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
80250
80251	// The ID of the snapshot.
80252	SnapshotId *string `locationName:"snapshotId" type:"string"`
80253
80254	// The size of the volume, in GiB.
80255	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
80256
80257	// The volume type.
80258	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
80259}
80260
80261// String returns the string representation
80262func (s LaunchTemplateEbsBlockDevice) String() string {
80263	return awsutil.Prettify(s)
80264}
80265
80266// GoString returns the string representation
80267func (s LaunchTemplateEbsBlockDevice) GoString() string {
80268	return s.String()
80269}
80270
80271// SetDeleteOnTermination sets the DeleteOnTermination field's value.
80272func (s *LaunchTemplateEbsBlockDevice) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDevice {
80273	s.DeleteOnTermination = &v
80274	return s
80275}
80276
80277// SetEncrypted sets the Encrypted field's value.
80278func (s *LaunchTemplateEbsBlockDevice) SetEncrypted(v bool) *LaunchTemplateEbsBlockDevice {
80279	s.Encrypted = &v
80280	return s
80281}
80282
80283// SetIops sets the Iops field's value.
80284func (s *LaunchTemplateEbsBlockDevice) SetIops(v int64) *LaunchTemplateEbsBlockDevice {
80285	s.Iops = &v
80286	return s
80287}
80288
80289// SetKmsKeyId sets the KmsKeyId field's value.
80290func (s *LaunchTemplateEbsBlockDevice) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDevice {
80291	s.KmsKeyId = &v
80292	return s
80293}
80294
80295// SetSnapshotId sets the SnapshotId field's value.
80296func (s *LaunchTemplateEbsBlockDevice) SetSnapshotId(v string) *LaunchTemplateEbsBlockDevice {
80297	s.SnapshotId = &v
80298	return s
80299}
80300
80301// SetVolumeSize sets the VolumeSize field's value.
80302func (s *LaunchTemplateEbsBlockDevice) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDevice {
80303	s.VolumeSize = &v
80304	return s
80305}
80306
80307// SetVolumeType sets the VolumeType field's value.
80308func (s *LaunchTemplateEbsBlockDevice) SetVolumeType(v string) *LaunchTemplateEbsBlockDevice {
80309	s.VolumeType = &v
80310	return s
80311}
80312
80313// The parameters for a block device for an EBS volume.
80314type LaunchTemplateEbsBlockDeviceRequest struct {
80315	_ struct{} `type:"structure"`
80316
80317	// Indicates whether the EBS volume is deleted on instance termination.
80318	DeleteOnTermination *bool `type:"boolean"`
80319
80320	// Indicates whether the EBS volume is encrypted. Encrypted volumes can only
80321	// be attached to instances that support Amazon EBS encryption. If you are creating
80322	// a volume from a snapshot, you can't specify an encryption value.
80323	Encrypted *bool `type:"boolean"`
80324
80325	// The number of I/O operations per second (IOPS) that the volume supports.
80326	// For io1, this represents the number of IOPS that are provisioned for the
80327	// volume. For gp2, this represents the baseline performance of the volume and
80328	// the rate at which the volume accumulates I/O credits for bursting. For more
80329	// information about General Purpose SSD baseline performance, I/O credits,
80330	// and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
80331	// in the Amazon Elastic Compute Cloud User Guide.
80332	//
80333	// Condition: This parameter is required for requests to create io1 volumes;
80334	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
80335	Iops *int64 `type:"integer"`
80336
80337	// The ARN of the symmetric AWS Key Management Service (AWS KMS) CMK used for
80338	// encryption.
80339	KmsKeyId *string `type:"string"`
80340
80341	// The ID of the snapshot.
80342	SnapshotId *string `type:"string"`
80343
80344	// The size of the volume, in GiB.
80345	//
80346	// Default: If you're creating the volume from a snapshot and don't specify
80347	// a volume size, the default is the snapshot size.
80348	VolumeSize *int64 `type:"integer"`
80349
80350	// The volume type.
80351	VolumeType *string `type:"string" enum:"VolumeType"`
80352}
80353
80354// String returns the string representation
80355func (s LaunchTemplateEbsBlockDeviceRequest) String() string {
80356	return awsutil.Prettify(s)
80357}
80358
80359// GoString returns the string representation
80360func (s LaunchTemplateEbsBlockDeviceRequest) GoString() string {
80361	return s.String()
80362}
80363
80364// SetDeleteOnTermination sets the DeleteOnTermination field's value.
80365func (s *LaunchTemplateEbsBlockDeviceRequest) SetDeleteOnTermination(v bool) *LaunchTemplateEbsBlockDeviceRequest {
80366	s.DeleteOnTermination = &v
80367	return s
80368}
80369
80370// SetEncrypted sets the Encrypted field's value.
80371func (s *LaunchTemplateEbsBlockDeviceRequest) SetEncrypted(v bool) *LaunchTemplateEbsBlockDeviceRequest {
80372	s.Encrypted = &v
80373	return s
80374}
80375
80376// SetIops sets the Iops field's value.
80377func (s *LaunchTemplateEbsBlockDeviceRequest) SetIops(v int64) *LaunchTemplateEbsBlockDeviceRequest {
80378	s.Iops = &v
80379	return s
80380}
80381
80382// SetKmsKeyId sets the KmsKeyId field's value.
80383func (s *LaunchTemplateEbsBlockDeviceRequest) SetKmsKeyId(v string) *LaunchTemplateEbsBlockDeviceRequest {
80384	s.KmsKeyId = &v
80385	return s
80386}
80387
80388// SetSnapshotId sets the SnapshotId field's value.
80389func (s *LaunchTemplateEbsBlockDeviceRequest) SetSnapshotId(v string) *LaunchTemplateEbsBlockDeviceRequest {
80390	s.SnapshotId = &v
80391	return s
80392}
80393
80394// SetVolumeSize sets the VolumeSize field's value.
80395func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeSize(v int64) *LaunchTemplateEbsBlockDeviceRequest {
80396	s.VolumeSize = &v
80397	return s
80398}
80399
80400// SetVolumeType sets the VolumeType field's value.
80401func (s *LaunchTemplateEbsBlockDeviceRequest) SetVolumeType(v string) *LaunchTemplateEbsBlockDeviceRequest {
80402	s.VolumeType = &v
80403	return s
80404}
80405
80406// Describes an elastic inference accelerator.
80407type LaunchTemplateElasticInferenceAccelerator struct {
80408	_ struct{} `type:"structure"`
80409
80410	// The number of elastic inference accelerators to attach to the instance.
80411	//
80412	// Default: 1
80413	Count *int64 `min:"1" type:"integer"`
80414
80415	// The type of elastic inference accelerator. The possible values are eia1.medium,
80416	// eia1.large, and eia1.xlarge.
80417	//
80418	// Type is a required field
80419	Type *string `type:"string" required:"true"`
80420}
80421
80422// String returns the string representation
80423func (s LaunchTemplateElasticInferenceAccelerator) String() string {
80424	return awsutil.Prettify(s)
80425}
80426
80427// GoString returns the string representation
80428func (s LaunchTemplateElasticInferenceAccelerator) GoString() string {
80429	return s.String()
80430}
80431
80432// Validate inspects the fields of the type to determine if they are valid.
80433func (s *LaunchTemplateElasticInferenceAccelerator) Validate() error {
80434	invalidParams := request.ErrInvalidParams{Context: "LaunchTemplateElasticInferenceAccelerator"}
80435	if s.Count != nil && *s.Count < 1 {
80436		invalidParams.Add(request.NewErrParamMinValue("Count", 1))
80437	}
80438	if s.Type == nil {
80439		invalidParams.Add(request.NewErrParamRequired("Type"))
80440	}
80441
80442	if invalidParams.Len() > 0 {
80443		return invalidParams
80444	}
80445	return nil
80446}
80447
80448// SetCount sets the Count field's value.
80449func (s *LaunchTemplateElasticInferenceAccelerator) SetCount(v int64) *LaunchTemplateElasticInferenceAccelerator {
80450	s.Count = &v
80451	return s
80452}
80453
80454// SetType sets the Type field's value.
80455func (s *LaunchTemplateElasticInferenceAccelerator) SetType(v string) *LaunchTemplateElasticInferenceAccelerator {
80456	s.Type = &v
80457	return s
80458}
80459
80460// Describes an elastic inference accelerator.
80461type LaunchTemplateElasticInferenceAcceleratorResponse struct {
80462	_ struct{} `type:"structure"`
80463
80464	// The number of elastic inference accelerators to attach to the instance.
80465	//
80466	// Default: 1
80467	Count *int64 `locationName:"count" type:"integer"`
80468
80469	// The type of elastic inference accelerator. The possible values are eia1.medium,
80470	// eia1.large, and eia1.xlarge.
80471	Type *string `locationName:"type" type:"string"`
80472}
80473
80474// String returns the string representation
80475func (s LaunchTemplateElasticInferenceAcceleratorResponse) String() string {
80476	return awsutil.Prettify(s)
80477}
80478
80479// GoString returns the string representation
80480func (s LaunchTemplateElasticInferenceAcceleratorResponse) GoString() string {
80481	return s.String()
80482}
80483
80484// SetCount sets the Count field's value.
80485func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetCount(v int64) *LaunchTemplateElasticInferenceAcceleratorResponse {
80486	s.Count = &v
80487	return s
80488}
80489
80490// SetType sets the Type field's value.
80491func (s *LaunchTemplateElasticInferenceAcceleratorResponse) SetType(v string) *LaunchTemplateElasticInferenceAcceleratorResponse {
80492	s.Type = &v
80493	return s
80494}
80495
80496// Indicates whether an instance is configured for hibernation.
80497type LaunchTemplateHibernationOptions struct {
80498	_ struct{} `type:"structure"`
80499
80500	// If this parameter is set to true, the instance is enabled for hibernation;
80501	// otherwise, it is not enabled for hibernation.
80502	Configured *bool `locationName:"configured" type:"boolean"`
80503}
80504
80505// String returns the string representation
80506func (s LaunchTemplateHibernationOptions) String() string {
80507	return awsutil.Prettify(s)
80508}
80509
80510// GoString returns the string representation
80511func (s LaunchTemplateHibernationOptions) GoString() string {
80512	return s.String()
80513}
80514
80515// SetConfigured sets the Configured field's value.
80516func (s *LaunchTemplateHibernationOptions) SetConfigured(v bool) *LaunchTemplateHibernationOptions {
80517	s.Configured = &v
80518	return s
80519}
80520
80521// Indicates whether the instance is configured for hibernation. This parameter
80522// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
80523type LaunchTemplateHibernationOptionsRequest struct {
80524	_ struct{} `type:"structure"`
80525
80526	// If you set this parameter to true, the instance is enabled for hibernation.
80527	//
80528	// Default: false
80529	Configured *bool `type:"boolean"`
80530}
80531
80532// String returns the string representation
80533func (s LaunchTemplateHibernationOptionsRequest) String() string {
80534	return awsutil.Prettify(s)
80535}
80536
80537// GoString returns the string representation
80538func (s LaunchTemplateHibernationOptionsRequest) GoString() string {
80539	return s.String()
80540}
80541
80542// SetConfigured sets the Configured field's value.
80543func (s *LaunchTemplateHibernationOptionsRequest) SetConfigured(v bool) *LaunchTemplateHibernationOptionsRequest {
80544	s.Configured = &v
80545	return s
80546}
80547
80548// Describes an IAM instance profile.
80549type LaunchTemplateIamInstanceProfileSpecification struct {
80550	_ struct{} `type:"structure"`
80551
80552	// The Amazon Resource Name (ARN) of the instance profile.
80553	Arn *string `locationName:"arn" type:"string"`
80554
80555	// The name of the instance profile.
80556	Name *string `locationName:"name" type:"string"`
80557}
80558
80559// String returns the string representation
80560func (s LaunchTemplateIamInstanceProfileSpecification) String() string {
80561	return awsutil.Prettify(s)
80562}
80563
80564// GoString returns the string representation
80565func (s LaunchTemplateIamInstanceProfileSpecification) GoString() string {
80566	return s.String()
80567}
80568
80569// SetArn sets the Arn field's value.
80570func (s *LaunchTemplateIamInstanceProfileSpecification) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecification {
80571	s.Arn = &v
80572	return s
80573}
80574
80575// SetName sets the Name field's value.
80576func (s *LaunchTemplateIamInstanceProfileSpecification) SetName(v string) *LaunchTemplateIamInstanceProfileSpecification {
80577	s.Name = &v
80578	return s
80579}
80580
80581// An IAM instance profile.
80582type LaunchTemplateIamInstanceProfileSpecificationRequest struct {
80583	_ struct{} `type:"structure"`
80584
80585	// The Amazon Resource Name (ARN) of the instance profile.
80586	Arn *string `type:"string"`
80587
80588	// The name of the instance profile.
80589	Name *string `type:"string"`
80590}
80591
80592// String returns the string representation
80593func (s LaunchTemplateIamInstanceProfileSpecificationRequest) String() string {
80594	return awsutil.Prettify(s)
80595}
80596
80597// GoString returns the string representation
80598func (s LaunchTemplateIamInstanceProfileSpecificationRequest) GoString() string {
80599	return s.String()
80600}
80601
80602// SetArn sets the Arn field's value.
80603func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetArn(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
80604	s.Arn = &v
80605	return s
80606}
80607
80608// SetName sets the Name field's value.
80609func (s *LaunchTemplateIamInstanceProfileSpecificationRequest) SetName(v string) *LaunchTemplateIamInstanceProfileSpecificationRequest {
80610	s.Name = &v
80611	return s
80612}
80613
80614// The market (purchasing) option for the instances.
80615type LaunchTemplateInstanceMarketOptions struct {
80616	_ struct{} `type:"structure"`
80617
80618	// The market type.
80619	MarketType *string `locationName:"marketType" type:"string" enum:"MarketType"`
80620
80621	// The options for Spot Instances.
80622	SpotOptions *LaunchTemplateSpotMarketOptions `locationName:"spotOptions" type:"structure"`
80623}
80624
80625// String returns the string representation
80626func (s LaunchTemplateInstanceMarketOptions) String() string {
80627	return awsutil.Prettify(s)
80628}
80629
80630// GoString returns the string representation
80631func (s LaunchTemplateInstanceMarketOptions) GoString() string {
80632	return s.String()
80633}
80634
80635// SetMarketType sets the MarketType field's value.
80636func (s *LaunchTemplateInstanceMarketOptions) SetMarketType(v string) *LaunchTemplateInstanceMarketOptions {
80637	s.MarketType = &v
80638	return s
80639}
80640
80641// SetSpotOptions sets the SpotOptions field's value.
80642func (s *LaunchTemplateInstanceMarketOptions) SetSpotOptions(v *LaunchTemplateSpotMarketOptions) *LaunchTemplateInstanceMarketOptions {
80643	s.SpotOptions = v
80644	return s
80645}
80646
80647// The market (purchasing) option for the instances.
80648type LaunchTemplateInstanceMarketOptionsRequest struct {
80649	_ struct{} `type:"structure"`
80650
80651	// The market type.
80652	MarketType *string `type:"string" enum:"MarketType"`
80653
80654	// The options for Spot Instances.
80655	SpotOptions *LaunchTemplateSpotMarketOptionsRequest `type:"structure"`
80656}
80657
80658// String returns the string representation
80659func (s LaunchTemplateInstanceMarketOptionsRequest) String() string {
80660	return awsutil.Prettify(s)
80661}
80662
80663// GoString returns the string representation
80664func (s LaunchTemplateInstanceMarketOptionsRequest) GoString() string {
80665	return s.String()
80666}
80667
80668// SetMarketType sets the MarketType field's value.
80669func (s *LaunchTemplateInstanceMarketOptionsRequest) SetMarketType(v string) *LaunchTemplateInstanceMarketOptionsRequest {
80670	s.MarketType = &v
80671	return s
80672}
80673
80674// SetSpotOptions sets the SpotOptions field's value.
80675func (s *LaunchTemplateInstanceMarketOptionsRequest) SetSpotOptions(v *LaunchTemplateSpotMarketOptionsRequest) *LaunchTemplateInstanceMarketOptionsRequest {
80676	s.SpotOptions = v
80677	return s
80678}
80679
80680// Describes a network interface.
80681type LaunchTemplateInstanceNetworkInterfaceSpecification struct {
80682	_ struct{} `type:"structure"`
80683
80684	// Indicates whether to associate a public IPv4 address with eth0 for a new
80685	// network interface.
80686	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
80687
80688	// Indicates whether the network interface is deleted when the instance is terminated.
80689	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
80690
80691	// A description for the network interface.
80692	Description *string `locationName:"description" type:"string"`
80693
80694	// The device index for the network interface attachment.
80695	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
80696
80697	// The IDs of one or more security groups.
80698	Groups []*string `locationName:"groupSet" locationNameList:"groupId" type:"list"`
80699
80700	// The type of network interface.
80701	InterfaceType *string `locationName:"interfaceType" type:"string"`
80702
80703	// The number of IPv6 addresses for the network interface.
80704	Ipv6AddressCount *int64 `locationName:"ipv6AddressCount" type:"integer"`
80705
80706	// The IPv6 addresses for the network interface.
80707	Ipv6Addresses []*InstanceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
80708
80709	// The ID of the network interface.
80710	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
80711
80712	// The primary private IPv4 address of the network interface.
80713	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
80714
80715	// One or more private IPv4 addresses.
80716	PrivateIpAddresses []*PrivateIpAddressSpecification `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
80717
80718	// The number of secondary private IPv4 addresses for the network interface.
80719	SecondaryPrivateIpAddressCount *int64 `locationName:"secondaryPrivateIpAddressCount" type:"integer"`
80720
80721	// The ID of the subnet for the network interface.
80722	SubnetId *string `locationName:"subnetId" type:"string"`
80723}
80724
80725// String returns the string representation
80726func (s LaunchTemplateInstanceNetworkInterfaceSpecification) String() string {
80727	return awsutil.Prettify(s)
80728}
80729
80730// GoString returns the string representation
80731func (s LaunchTemplateInstanceNetworkInterfaceSpecification) GoString() string {
80732	return s.String()
80733}
80734
80735// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
80736func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80737	s.AssociatePublicIpAddress = &v
80738	return s
80739}
80740
80741// SetDeleteOnTermination sets the DeleteOnTermination field's value.
80742func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80743	s.DeleteOnTermination = &v
80744	return s
80745}
80746
80747// SetDescription sets the Description field's value.
80748func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80749	s.Description = &v
80750	return s
80751}
80752
80753// SetDeviceIndex sets the DeviceIndex field's value.
80754func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80755	s.DeviceIndex = &v
80756	return s
80757}
80758
80759// SetGroups sets the Groups field's value.
80760func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80761	s.Groups = v
80762	return s
80763}
80764
80765// SetInterfaceType sets the InterfaceType field's value.
80766func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80767	s.InterfaceType = &v
80768	return s
80769}
80770
80771// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
80772func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80773	s.Ipv6AddressCount = &v
80774	return s
80775}
80776
80777// SetIpv6Addresses sets the Ipv6Addresses field's value.
80778func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetIpv6Addresses(v []*InstanceIpv6Address) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80779	s.Ipv6Addresses = v
80780	return s
80781}
80782
80783// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
80784func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80785	s.NetworkInterfaceId = &v
80786	return s
80787}
80788
80789// SetPrivateIpAddress sets the PrivateIpAddress field's value.
80790func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80791	s.PrivateIpAddress = &v
80792	return s
80793}
80794
80795// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
80796func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80797	s.PrivateIpAddresses = v
80798	return s
80799}
80800
80801// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
80802func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80803	s.SecondaryPrivateIpAddressCount = &v
80804	return s
80805}
80806
80807// SetSubnetId sets the SubnetId field's value.
80808func (s *LaunchTemplateInstanceNetworkInterfaceSpecification) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecification {
80809	s.SubnetId = &v
80810	return s
80811}
80812
80813// The parameters for a network interface.
80814type LaunchTemplateInstanceNetworkInterfaceSpecificationRequest struct {
80815	_ struct{} `type:"structure"`
80816
80817	// Associates a public IPv4 address with eth0 for a new network interface.
80818	AssociatePublicIpAddress *bool `type:"boolean"`
80819
80820	// Indicates whether the network interface is deleted when the instance is terminated.
80821	DeleteOnTermination *bool `type:"boolean"`
80822
80823	// A description for the network interface.
80824	Description *string `type:"string"`
80825
80826	// The device index for the network interface attachment.
80827	DeviceIndex *int64 `type:"integer"`
80828
80829	// The IDs of one or more security groups.
80830	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
80831
80832	// The type of network interface. To create an Elastic Fabric Adapter (EFA),
80833	// specify efa. For more information, see Elastic Fabric Adapter (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html)
80834	// in the Amazon Elastic Compute Cloud User Guide.
80835	//
80836	// If you are not creating an EFA, specify interface or omit this parameter.
80837	//
80838	// Valid values: interface | efa
80839	InterfaceType *string `type:"string"`
80840
80841	// The number of IPv6 addresses to assign to a network interface. Amazon EC2
80842	// automatically selects the IPv6 addresses from the subnet range. You can't
80843	// use this option if specifying specific IPv6 addresses.
80844	Ipv6AddressCount *int64 `type:"integer"`
80845
80846	// One or more specific IPv6 addresses from the IPv6 CIDR block range of your
80847	// subnet. You can't use this option if you're specifying a number of IPv6 addresses.
80848	Ipv6Addresses []*InstanceIpv6AddressRequest `locationNameList:"InstanceIpv6Address" type:"list"`
80849
80850	// The ID of the network interface.
80851	NetworkInterfaceId *string `type:"string"`
80852
80853	// The primary private IPv4 address of the network interface.
80854	PrivateIpAddress *string `type:"string"`
80855
80856	// One or more private IPv4 addresses.
80857	PrivateIpAddresses []*PrivateIpAddressSpecification `locationNameList:"item" type:"list"`
80858
80859	// The number of secondary private IPv4 addresses to assign to a network interface.
80860	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
80861
80862	// The ID of the subnet for the network interface.
80863	SubnetId *string `type:"string"`
80864}
80865
80866// String returns the string representation
80867func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) String() string {
80868	return awsutil.Prettify(s)
80869}
80870
80871// GoString returns the string representation
80872func (s LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) GoString() string {
80873	return s.String()
80874}
80875
80876// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
80877func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetAssociatePublicIpAddress(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80878	s.AssociatePublicIpAddress = &v
80879	return s
80880}
80881
80882// SetDeleteOnTermination sets the DeleteOnTermination field's value.
80883func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeleteOnTermination(v bool) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80884	s.DeleteOnTermination = &v
80885	return s
80886}
80887
80888// SetDescription sets the Description field's value.
80889func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDescription(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80890	s.Description = &v
80891	return s
80892}
80893
80894// SetDeviceIndex sets the DeviceIndex field's value.
80895func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetDeviceIndex(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80896	s.DeviceIndex = &v
80897	return s
80898}
80899
80900// SetGroups sets the Groups field's value.
80901func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetGroups(v []*string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80902	s.Groups = v
80903	return s
80904}
80905
80906// SetInterfaceType sets the InterfaceType field's value.
80907func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetInterfaceType(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80908	s.InterfaceType = &v
80909	return s
80910}
80911
80912// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
80913func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6AddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80914	s.Ipv6AddressCount = &v
80915	return s
80916}
80917
80918// SetIpv6Addresses sets the Ipv6Addresses field's value.
80919func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetIpv6Addresses(v []*InstanceIpv6AddressRequest) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80920	s.Ipv6Addresses = v
80921	return s
80922}
80923
80924// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
80925func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetNetworkInterfaceId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80926	s.NetworkInterfaceId = &v
80927	return s
80928}
80929
80930// SetPrivateIpAddress sets the PrivateIpAddress field's value.
80931func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddress(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80932	s.PrivateIpAddress = &v
80933	return s
80934}
80935
80936// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
80937func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetPrivateIpAddresses(v []*PrivateIpAddressSpecification) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80938	s.PrivateIpAddresses = v
80939	return s
80940}
80941
80942// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
80943func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSecondaryPrivateIpAddressCount(v int64) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80944	s.SecondaryPrivateIpAddressCount = &v
80945	return s
80946}
80947
80948// SetSubnetId sets the SubnetId field's value.
80949func (s *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) SetSubnetId(v string) *LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
80950	s.SubnetId = &v
80951	return s
80952}
80953
80954// Describes a license configuration.
80955type LaunchTemplateLicenseConfiguration struct {
80956	_ struct{} `type:"structure"`
80957
80958	// The Amazon Resource Name (ARN) of the license configuration.
80959	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
80960}
80961
80962// String returns the string representation
80963func (s LaunchTemplateLicenseConfiguration) String() string {
80964	return awsutil.Prettify(s)
80965}
80966
80967// GoString returns the string representation
80968func (s LaunchTemplateLicenseConfiguration) GoString() string {
80969	return s.String()
80970}
80971
80972// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
80973func (s *LaunchTemplateLicenseConfiguration) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfiguration {
80974	s.LicenseConfigurationArn = &v
80975	return s
80976}
80977
80978// Describes a license configuration.
80979type LaunchTemplateLicenseConfigurationRequest struct {
80980	_ struct{} `type:"structure"`
80981
80982	// The Amazon Resource Name (ARN) of the license configuration.
80983	LicenseConfigurationArn *string `type:"string"`
80984}
80985
80986// String returns the string representation
80987func (s LaunchTemplateLicenseConfigurationRequest) String() string {
80988	return awsutil.Prettify(s)
80989}
80990
80991// GoString returns the string representation
80992func (s LaunchTemplateLicenseConfigurationRequest) GoString() string {
80993	return s.String()
80994}
80995
80996// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
80997func (s *LaunchTemplateLicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LaunchTemplateLicenseConfigurationRequest {
80998	s.LicenseConfigurationArn = &v
80999	return s
81000}
81001
81002// Describes overrides for a launch template.
81003type LaunchTemplateOverrides struct {
81004	_ struct{} `type:"structure"`
81005
81006	// The Availability Zone in which to launch the instances.
81007	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
81008
81009	// The instance type.
81010	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
81011
81012	// The priority for the launch template override. If OnDemandAllocationStrategy
81013	// is set to prioritized, Spot Fleet uses priority to determine which launch
81014	// template override to use first in fulfilling On-Demand capacity. The highest
81015	// priority is launched first. Valid values are whole numbers starting at 0.
81016	// The lower the number, the higher the priority. If no number is set, the launch
81017	// template override has the lowest priority.
81018	Priority *float64 `locationName:"priority" type:"double"`
81019
81020	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
81021	SpotPrice *string `locationName:"spotPrice" type:"string"`
81022
81023	// The ID of the subnet in which to launch the instances.
81024	SubnetId *string `locationName:"subnetId" type:"string"`
81025
81026	// The number of units provided by the specified instance type.
81027	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
81028}
81029
81030// String returns the string representation
81031func (s LaunchTemplateOverrides) String() string {
81032	return awsutil.Prettify(s)
81033}
81034
81035// GoString returns the string representation
81036func (s LaunchTemplateOverrides) GoString() string {
81037	return s.String()
81038}
81039
81040// SetAvailabilityZone sets the AvailabilityZone field's value.
81041func (s *LaunchTemplateOverrides) SetAvailabilityZone(v string) *LaunchTemplateOverrides {
81042	s.AvailabilityZone = &v
81043	return s
81044}
81045
81046// SetInstanceType sets the InstanceType field's value.
81047func (s *LaunchTemplateOverrides) SetInstanceType(v string) *LaunchTemplateOverrides {
81048	s.InstanceType = &v
81049	return s
81050}
81051
81052// SetPriority sets the Priority field's value.
81053func (s *LaunchTemplateOverrides) SetPriority(v float64) *LaunchTemplateOverrides {
81054	s.Priority = &v
81055	return s
81056}
81057
81058// SetSpotPrice sets the SpotPrice field's value.
81059func (s *LaunchTemplateOverrides) SetSpotPrice(v string) *LaunchTemplateOverrides {
81060	s.SpotPrice = &v
81061	return s
81062}
81063
81064// SetSubnetId sets the SubnetId field's value.
81065func (s *LaunchTemplateOverrides) SetSubnetId(v string) *LaunchTemplateOverrides {
81066	s.SubnetId = &v
81067	return s
81068}
81069
81070// SetWeightedCapacity sets the WeightedCapacity field's value.
81071func (s *LaunchTemplateOverrides) SetWeightedCapacity(v float64) *LaunchTemplateOverrides {
81072	s.WeightedCapacity = &v
81073	return s
81074}
81075
81076// Describes the placement of an instance.
81077type LaunchTemplatePlacement struct {
81078	_ struct{} `type:"structure"`
81079
81080	// The affinity setting for the instance on the Dedicated Host.
81081	Affinity *string `locationName:"affinity" type:"string"`
81082
81083	// The Availability Zone of the instance.
81084	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
81085
81086	// The name of the placement group for the instance.
81087	GroupName *string `locationName:"groupName" type:"string"`
81088
81089	// The ID of the Dedicated Host for the instance.
81090	HostId *string `locationName:"hostId" type:"string"`
81091
81092	// The ARN of the host resource group in which to launch the instances.
81093	HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
81094
81095	// Reserved for future use.
81096	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
81097
81098	// The tenancy of the instance (if the instance is running in a VPC). An instance
81099	// with a tenancy of dedicated runs on single-tenant hardware.
81100	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
81101}
81102
81103// String returns the string representation
81104func (s LaunchTemplatePlacement) String() string {
81105	return awsutil.Prettify(s)
81106}
81107
81108// GoString returns the string representation
81109func (s LaunchTemplatePlacement) GoString() string {
81110	return s.String()
81111}
81112
81113// SetAffinity sets the Affinity field's value.
81114func (s *LaunchTemplatePlacement) SetAffinity(v string) *LaunchTemplatePlacement {
81115	s.Affinity = &v
81116	return s
81117}
81118
81119// SetAvailabilityZone sets the AvailabilityZone field's value.
81120func (s *LaunchTemplatePlacement) SetAvailabilityZone(v string) *LaunchTemplatePlacement {
81121	s.AvailabilityZone = &v
81122	return s
81123}
81124
81125// SetGroupName sets the GroupName field's value.
81126func (s *LaunchTemplatePlacement) SetGroupName(v string) *LaunchTemplatePlacement {
81127	s.GroupName = &v
81128	return s
81129}
81130
81131// SetHostId sets the HostId field's value.
81132func (s *LaunchTemplatePlacement) SetHostId(v string) *LaunchTemplatePlacement {
81133	s.HostId = &v
81134	return s
81135}
81136
81137// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
81138func (s *LaunchTemplatePlacement) SetHostResourceGroupArn(v string) *LaunchTemplatePlacement {
81139	s.HostResourceGroupArn = &v
81140	return s
81141}
81142
81143// SetSpreadDomain sets the SpreadDomain field's value.
81144func (s *LaunchTemplatePlacement) SetSpreadDomain(v string) *LaunchTemplatePlacement {
81145	s.SpreadDomain = &v
81146	return s
81147}
81148
81149// SetTenancy sets the Tenancy field's value.
81150func (s *LaunchTemplatePlacement) SetTenancy(v string) *LaunchTemplatePlacement {
81151	s.Tenancy = &v
81152	return s
81153}
81154
81155// Describes the placement of an instance.
81156type LaunchTemplatePlacementRequest struct {
81157	_ struct{} `type:"structure"`
81158
81159	// The affinity setting for an instance on a Dedicated Host.
81160	Affinity *string `type:"string"`
81161
81162	// The Availability Zone for the instance.
81163	AvailabilityZone *string `type:"string"`
81164
81165	// The name of the placement group for the instance.
81166	GroupName *string `type:"string"`
81167
81168	// The ID of the Dedicated Host for the instance.
81169	HostId *string `type:"string"`
81170
81171	// The ARN of the host resource group in which to launch the instances. If you
81172	// specify a host resource group ARN, omit the Tenancy parameter or set it to
81173	// host.
81174	HostResourceGroupArn *string `type:"string"`
81175
81176	// Reserved for future use.
81177	SpreadDomain *string `type:"string"`
81178
81179	// The tenancy of the instance (if the instance is running in a VPC). An instance
81180	// with a tenancy of dedicated runs on single-tenant hardware.
81181	Tenancy *string `type:"string" enum:"Tenancy"`
81182}
81183
81184// String returns the string representation
81185func (s LaunchTemplatePlacementRequest) String() string {
81186	return awsutil.Prettify(s)
81187}
81188
81189// GoString returns the string representation
81190func (s LaunchTemplatePlacementRequest) GoString() string {
81191	return s.String()
81192}
81193
81194// SetAffinity sets the Affinity field's value.
81195func (s *LaunchTemplatePlacementRequest) SetAffinity(v string) *LaunchTemplatePlacementRequest {
81196	s.Affinity = &v
81197	return s
81198}
81199
81200// SetAvailabilityZone sets the AvailabilityZone field's value.
81201func (s *LaunchTemplatePlacementRequest) SetAvailabilityZone(v string) *LaunchTemplatePlacementRequest {
81202	s.AvailabilityZone = &v
81203	return s
81204}
81205
81206// SetGroupName sets the GroupName field's value.
81207func (s *LaunchTemplatePlacementRequest) SetGroupName(v string) *LaunchTemplatePlacementRequest {
81208	s.GroupName = &v
81209	return s
81210}
81211
81212// SetHostId sets the HostId field's value.
81213func (s *LaunchTemplatePlacementRequest) SetHostId(v string) *LaunchTemplatePlacementRequest {
81214	s.HostId = &v
81215	return s
81216}
81217
81218// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
81219func (s *LaunchTemplatePlacementRequest) SetHostResourceGroupArn(v string) *LaunchTemplatePlacementRequest {
81220	s.HostResourceGroupArn = &v
81221	return s
81222}
81223
81224// SetSpreadDomain sets the SpreadDomain field's value.
81225func (s *LaunchTemplatePlacementRequest) SetSpreadDomain(v string) *LaunchTemplatePlacementRequest {
81226	s.SpreadDomain = &v
81227	return s
81228}
81229
81230// SetTenancy sets the Tenancy field's value.
81231func (s *LaunchTemplatePlacementRequest) SetTenancy(v string) *LaunchTemplatePlacementRequest {
81232	s.Tenancy = &v
81233	return s
81234}
81235
81236// The launch template to use. You must specify either the launch template ID
81237// or launch template name in the request, but not both.
81238type LaunchTemplateSpecification struct {
81239	_ struct{} `type:"structure"`
81240
81241	// The ID of the launch template.
81242	LaunchTemplateId *string `type:"string"`
81243
81244	// The name of the launch template.
81245	LaunchTemplateName *string `type:"string"`
81246
81247	// The version number of the launch template.
81248	//
81249	// Default: The default version for the launch template.
81250	Version *string `type:"string"`
81251}
81252
81253// String returns the string representation
81254func (s LaunchTemplateSpecification) String() string {
81255	return awsutil.Prettify(s)
81256}
81257
81258// GoString returns the string representation
81259func (s LaunchTemplateSpecification) GoString() string {
81260	return s.String()
81261}
81262
81263// SetLaunchTemplateId sets the LaunchTemplateId field's value.
81264func (s *LaunchTemplateSpecification) SetLaunchTemplateId(v string) *LaunchTemplateSpecification {
81265	s.LaunchTemplateId = &v
81266	return s
81267}
81268
81269// SetLaunchTemplateName sets the LaunchTemplateName field's value.
81270func (s *LaunchTemplateSpecification) SetLaunchTemplateName(v string) *LaunchTemplateSpecification {
81271	s.LaunchTemplateName = &v
81272	return s
81273}
81274
81275// SetVersion sets the Version field's value.
81276func (s *LaunchTemplateSpecification) SetVersion(v string) *LaunchTemplateSpecification {
81277	s.Version = &v
81278	return s
81279}
81280
81281// The options for Spot Instances.
81282type LaunchTemplateSpotMarketOptions struct {
81283	_ struct{} `type:"structure"`
81284
81285	// The required duration for the Spot Instances (also known as Spot blocks),
81286	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
81287	// or 360).
81288	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
81289
81290	// The behavior when a Spot Instance is interrupted.
81291	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
81292
81293	// The maximum hourly price you're willing to pay for the Spot Instances.
81294	MaxPrice *string `locationName:"maxPrice" type:"string"`
81295
81296	// The Spot Instance request type.
81297	SpotInstanceType *string `locationName:"spotInstanceType" type:"string" enum:"SpotInstanceType"`
81298
81299	// The end date of the request. For a one-time request, the request remains
81300	// active until all instances launch, the request is canceled, or this date
81301	// is reached. If the request is persistent, it remains active until it is canceled
81302	// or this date and time is reached.
81303	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
81304}
81305
81306// String returns the string representation
81307func (s LaunchTemplateSpotMarketOptions) String() string {
81308	return awsutil.Prettify(s)
81309}
81310
81311// GoString returns the string representation
81312func (s LaunchTemplateSpotMarketOptions) GoString() string {
81313	return s.String()
81314}
81315
81316// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
81317func (s *LaunchTemplateSpotMarketOptions) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptions {
81318	s.BlockDurationMinutes = &v
81319	return s
81320}
81321
81322// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
81323func (s *LaunchTemplateSpotMarketOptions) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptions {
81324	s.InstanceInterruptionBehavior = &v
81325	return s
81326}
81327
81328// SetMaxPrice sets the MaxPrice field's value.
81329func (s *LaunchTemplateSpotMarketOptions) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptions {
81330	s.MaxPrice = &v
81331	return s
81332}
81333
81334// SetSpotInstanceType sets the SpotInstanceType field's value.
81335func (s *LaunchTemplateSpotMarketOptions) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptions {
81336	s.SpotInstanceType = &v
81337	return s
81338}
81339
81340// SetValidUntil sets the ValidUntil field's value.
81341func (s *LaunchTemplateSpotMarketOptions) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptions {
81342	s.ValidUntil = &v
81343	return s
81344}
81345
81346// The options for Spot Instances.
81347type LaunchTemplateSpotMarketOptionsRequest struct {
81348	_ struct{} `type:"structure"`
81349
81350	// The required duration for the Spot Instances (also known as Spot blocks),
81351	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
81352	// or 360).
81353	BlockDurationMinutes *int64 `type:"integer"`
81354
81355	// The behavior when a Spot Instance is interrupted. The default is terminate.
81356	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
81357
81358	// The maximum hourly price you're willing to pay for the Spot Instances.
81359	MaxPrice *string `type:"string"`
81360
81361	// The Spot Instance request type.
81362	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
81363
81364	// The end date of the request. For a one-time request, the request remains
81365	// active until all instances launch, the request is canceled, or this date
81366	// is reached. If the request is persistent, it remains active until it is canceled
81367	// or this date and time is reached. The default end date is 7 days from the
81368	// current date.
81369	ValidUntil *time.Time `type:"timestamp"`
81370}
81371
81372// String returns the string representation
81373func (s LaunchTemplateSpotMarketOptionsRequest) String() string {
81374	return awsutil.Prettify(s)
81375}
81376
81377// GoString returns the string representation
81378func (s LaunchTemplateSpotMarketOptionsRequest) GoString() string {
81379	return s.String()
81380}
81381
81382// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
81383func (s *LaunchTemplateSpotMarketOptionsRequest) SetBlockDurationMinutes(v int64) *LaunchTemplateSpotMarketOptionsRequest {
81384	s.BlockDurationMinutes = &v
81385	return s
81386}
81387
81388// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
81389func (s *LaunchTemplateSpotMarketOptionsRequest) SetInstanceInterruptionBehavior(v string) *LaunchTemplateSpotMarketOptionsRequest {
81390	s.InstanceInterruptionBehavior = &v
81391	return s
81392}
81393
81394// SetMaxPrice sets the MaxPrice field's value.
81395func (s *LaunchTemplateSpotMarketOptionsRequest) SetMaxPrice(v string) *LaunchTemplateSpotMarketOptionsRequest {
81396	s.MaxPrice = &v
81397	return s
81398}
81399
81400// SetSpotInstanceType sets the SpotInstanceType field's value.
81401func (s *LaunchTemplateSpotMarketOptionsRequest) SetSpotInstanceType(v string) *LaunchTemplateSpotMarketOptionsRequest {
81402	s.SpotInstanceType = &v
81403	return s
81404}
81405
81406// SetValidUntil sets the ValidUntil field's value.
81407func (s *LaunchTemplateSpotMarketOptionsRequest) SetValidUntil(v time.Time) *LaunchTemplateSpotMarketOptionsRequest {
81408	s.ValidUntil = &v
81409	return s
81410}
81411
81412// The tag specification for the launch template.
81413type LaunchTemplateTagSpecification struct {
81414	_ struct{} `type:"structure"`
81415
81416	// The type of resource.
81417	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
81418
81419	// The tags for the resource.
81420	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
81421}
81422
81423// String returns the string representation
81424func (s LaunchTemplateTagSpecification) String() string {
81425	return awsutil.Prettify(s)
81426}
81427
81428// GoString returns the string representation
81429func (s LaunchTemplateTagSpecification) GoString() string {
81430	return s.String()
81431}
81432
81433// SetResourceType sets the ResourceType field's value.
81434func (s *LaunchTemplateTagSpecification) SetResourceType(v string) *LaunchTemplateTagSpecification {
81435	s.ResourceType = &v
81436	return s
81437}
81438
81439// SetTags sets the Tags field's value.
81440func (s *LaunchTemplateTagSpecification) SetTags(v []*Tag) *LaunchTemplateTagSpecification {
81441	s.Tags = v
81442	return s
81443}
81444
81445// The tags specification for the launch template.
81446type LaunchTemplateTagSpecificationRequest struct {
81447	_ struct{} `type:"structure"`
81448
81449	// The type of resource to tag. Currently, the resource types that support tagging
81450	// on creation are instance and volume. To tag a resource after it has been
81451	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
81452	ResourceType *string `type:"string" enum:"ResourceType"`
81453
81454	// The tags to apply to the resource.
81455	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
81456}
81457
81458// String returns the string representation
81459func (s LaunchTemplateTagSpecificationRequest) String() string {
81460	return awsutil.Prettify(s)
81461}
81462
81463// GoString returns the string representation
81464func (s LaunchTemplateTagSpecificationRequest) GoString() string {
81465	return s.String()
81466}
81467
81468// SetResourceType sets the ResourceType field's value.
81469func (s *LaunchTemplateTagSpecificationRequest) SetResourceType(v string) *LaunchTemplateTagSpecificationRequest {
81470	s.ResourceType = &v
81471	return s
81472}
81473
81474// SetTags sets the Tags field's value.
81475func (s *LaunchTemplateTagSpecificationRequest) SetTags(v []*Tag) *LaunchTemplateTagSpecificationRequest {
81476	s.Tags = v
81477	return s
81478}
81479
81480// Describes a launch template version.
81481type LaunchTemplateVersion struct {
81482	_ struct{} `type:"structure"`
81483
81484	// The time the version was created.
81485	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
81486
81487	// The principal that created the version.
81488	CreatedBy *string `locationName:"createdBy" type:"string"`
81489
81490	// Indicates whether the version is the default version.
81491	DefaultVersion *bool `locationName:"defaultVersion" type:"boolean"`
81492
81493	// Information about the launch template.
81494	LaunchTemplateData *ResponseLaunchTemplateData `locationName:"launchTemplateData" type:"structure"`
81495
81496	// The ID of the launch template.
81497	LaunchTemplateId *string `locationName:"launchTemplateId" type:"string"`
81498
81499	// The name of the launch template.
81500	LaunchTemplateName *string `locationName:"launchTemplateName" min:"3" type:"string"`
81501
81502	// The description for the version.
81503	VersionDescription *string `locationName:"versionDescription" type:"string"`
81504
81505	// The version number.
81506	VersionNumber *int64 `locationName:"versionNumber" type:"long"`
81507}
81508
81509// String returns the string representation
81510func (s LaunchTemplateVersion) String() string {
81511	return awsutil.Prettify(s)
81512}
81513
81514// GoString returns the string representation
81515func (s LaunchTemplateVersion) GoString() string {
81516	return s.String()
81517}
81518
81519// SetCreateTime sets the CreateTime field's value.
81520func (s *LaunchTemplateVersion) SetCreateTime(v time.Time) *LaunchTemplateVersion {
81521	s.CreateTime = &v
81522	return s
81523}
81524
81525// SetCreatedBy sets the CreatedBy field's value.
81526func (s *LaunchTemplateVersion) SetCreatedBy(v string) *LaunchTemplateVersion {
81527	s.CreatedBy = &v
81528	return s
81529}
81530
81531// SetDefaultVersion sets the DefaultVersion field's value.
81532func (s *LaunchTemplateVersion) SetDefaultVersion(v bool) *LaunchTemplateVersion {
81533	s.DefaultVersion = &v
81534	return s
81535}
81536
81537// SetLaunchTemplateData sets the LaunchTemplateData field's value.
81538func (s *LaunchTemplateVersion) SetLaunchTemplateData(v *ResponseLaunchTemplateData) *LaunchTemplateVersion {
81539	s.LaunchTemplateData = v
81540	return s
81541}
81542
81543// SetLaunchTemplateId sets the LaunchTemplateId field's value.
81544func (s *LaunchTemplateVersion) SetLaunchTemplateId(v string) *LaunchTemplateVersion {
81545	s.LaunchTemplateId = &v
81546	return s
81547}
81548
81549// SetLaunchTemplateName sets the LaunchTemplateName field's value.
81550func (s *LaunchTemplateVersion) SetLaunchTemplateName(v string) *LaunchTemplateVersion {
81551	s.LaunchTemplateName = &v
81552	return s
81553}
81554
81555// SetVersionDescription sets the VersionDescription field's value.
81556func (s *LaunchTemplateVersion) SetVersionDescription(v string) *LaunchTemplateVersion {
81557	s.VersionDescription = &v
81558	return s
81559}
81560
81561// SetVersionNumber sets the VersionNumber field's value.
81562func (s *LaunchTemplateVersion) SetVersionNumber(v int64) *LaunchTemplateVersion {
81563	s.VersionNumber = &v
81564	return s
81565}
81566
81567// Describes the monitoring for the instance.
81568type LaunchTemplatesMonitoring struct {
81569	_ struct{} `type:"structure"`
81570
81571	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
81572	// is enabled.
81573	Enabled *bool `locationName:"enabled" type:"boolean"`
81574}
81575
81576// String returns the string representation
81577func (s LaunchTemplatesMonitoring) String() string {
81578	return awsutil.Prettify(s)
81579}
81580
81581// GoString returns the string representation
81582func (s LaunchTemplatesMonitoring) GoString() string {
81583	return s.String()
81584}
81585
81586// SetEnabled sets the Enabled field's value.
81587func (s *LaunchTemplatesMonitoring) SetEnabled(v bool) *LaunchTemplatesMonitoring {
81588	s.Enabled = &v
81589	return s
81590}
81591
81592// Describes the monitoring for the instance.
81593type LaunchTemplatesMonitoringRequest struct {
81594	_ struct{} `type:"structure"`
81595
81596	// Specify true to enable detailed monitoring. Otherwise, basic monitoring is
81597	// enabled.
81598	Enabled *bool `type:"boolean"`
81599}
81600
81601// String returns the string representation
81602func (s LaunchTemplatesMonitoringRequest) String() string {
81603	return awsutil.Prettify(s)
81604}
81605
81606// GoString returns the string representation
81607func (s LaunchTemplatesMonitoringRequest) GoString() string {
81608	return s.String()
81609}
81610
81611// SetEnabled sets the Enabled field's value.
81612func (s *LaunchTemplatesMonitoringRequest) SetEnabled(v bool) *LaunchTemplatesMonitoringRequest {
81613	s.Enabled = &v
81614	return s
81615}
81616
81617// Describes a license configuration.
81618type LicenseConfiguration struct {
81619	_ struct{} `type:"structure"`
81620
81621	// The Amazon Resource Name (ARN) of the license configuration.
81622	LicenseConfigurationArn *string `locationName:"licenseConfigurationArn" type:"string"`
81623}
81624
81625// String returns the string representation
81626func (s LicenseConfiguration) String() string {
81627	return awsutil.Prettify(s)
81628}
81629
81630// GoString returns the string representation
81631func (s LicenseConfiguration) GoString() string {
81632	return s.String()
81633}
81634
81635// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
81636func (s *LicenseConfiguration) SetLicenseConfigurationArn(v string) *LicenseConfiguration {
81637	s.LicenseConfigurationArn = &v
81638	return s
81639}
81640
81641// Describes a license configuration.
81642type LicenseConfigurationRequest struct {
81643	_ struct{} `type:"structure"`
81644
81645	// The Amazon Resource Name (ARN) of the license configuration.
81646	LicenseConfigurationArn *string `type:"string"`
81647}
81648
81649// String returns the string representation
81650func (s LicenseConfigurationRequest) String() string {
81651	return awsutil.Prettify(s)
81652}
81653
81654// GoString returns the string representation
81655func (s LicenseConfigurationRequest) GoString() string {
81656	return s.String()
81657}
81658
81659// SetLicenseConfigurationArn sets the LicenseConfigurationArn field's value.
81660func (s *LicenseConfigurationRequest) SetLicenseConfigurationArn(v string) *LicenseConfigurationRequest {
81661	s.LicenseConfigurationArn = &v
81662	return s
81663}
81664
81665// Describes the Classic Load Balancers and target groups to attach to a Spot
81666// Fleet request.
81667type LoadBalancersConfig struct {
81668	_ struct{} `type:"structure"`
81669
81670	// The Classic Load Balancers.
81671	ClassicLoadBalancersConfig *ClassicLoadBalancersConfig `locationName:"classicLoadBalancersConfig" type:"structure"`
81672
81673	// The target groups.
81674	TargetGroupsConfig *TargetGroupsConfig `locationName:"targetGroupsConfig" type:"structure"`
81675}
81676
81677// String returns the string representation
81678func (s LoadBalancersConfig) String() string {
81679	return awsutil.Prettify(s)
81680}
81681
81682// GoString returns the string representation
81683func (s LoadBalancersConfig) GoString() string {
81684	return s.String()
81685}
81686
81687// Validate inspects the fields of the type to determine if they are valid.
81688func (s *LoadBalancersConfig) Validate() error {
81689	invalidParams := request.ErrInvalidParams{Context: "LoadBalancersConfig"}
81690	if s.ClassicLoadBalancersConfig != nil {
81691		if err := s.ClassicLoadBalancersConfig.Validate(); err != nil {
81692			invalidParams.AddNested("ClassicLoadBalancersConfig", err.(request.ErrInvalidParams))
81693		}
81694	}
81695	if s.TargetGroupsConfig != nil {
81696		if err := s.TargetGroupsConfig.Validate(); err != nil {
81697			invalidParams.AddNested("TargetGroupsConfig", err.(request.ErrInvalidParams))
81698		}
81699	}
81700
81701	if invalidParams.Len() > 0 {
81702		return invalidParams
81703	}
81704	return nil
81705}
81706
81707// SetClassicLoadBalancersConfig sets the ClassicLoadBalancersConfig field's value.
81708func (s *LoadBalancersConfig) SetClassicLoadBalancersConfig(v *ClassicLoadBalancersConfig) *LoadBalancersConfig {
81709	s.ClassicLoadBalancersConfig = v
81710	return s
81711}
81712
81713// SetTargetGroupsConfig sets the TargetGroupsConfig field's value.
81714func (s *LoadBalancersConfig) SetTargetGroupsConfig(v *TargetGroupsConfig) *LoadBalancersConfig {
81715	s.TargetGroupsConfig = v
81716	return s
81717}
81718
81719// Describes a load permission.
81720type LoadPermission struct {
81721	_ struct{} `type:"structure"`
81722
81723	// The name of the group.
81724	Group *string `locationName:"group" type:"string" enum:"PermissionGroup"`
81725
81726	// The AWS account ID.
81727	UserId *string `locationName:"userId" type:"string"`
81728}
81729
81730// String returns the string representation
81731func (s LoadPermission) String() string {
81732	return awsutil.Prettify(s)
81733}
81734
81735// GoString returns the string representation
81736func (s LoadPermission) GoString() string {
81737	return s.String()
81738}
81739
81740// SetGroup sets the Group field's value.
81741func (s *LoadPermission) SetGroup(v string) *LoadPermission {
81742	s.Group = &v
81743	return s
81744}
81745
81746// SetUserId sets the UserId field's value.
81747func (s *LoadPermission) SetUserId(v string) *LoadPermission {
81748	s.UserId = &v
81749	return s
81750}
81751
81752// Describes modifications to the load permissions of an Amazon FPGA image (AFI).
81753type LoadPermissionModifications struct {
81754	_ struct{} `type:"structure"`
81755
81756	// The load permissions to add.
81757	Add []*LoadPermissionRequest `locationNameList:"item" type:"list"`
81758
81759	// The load permissions to remove.
81760	Remove []*LoadPermissionRequest `locationNameList:"item" type:"list"`
81761}
81762
81763// String returns the string representation
81764func (s LoadPermissionModifications) String() string {
81765	return awsutil.Prettify(s)
81766}
81767
81768// GoString returns the string representation
81769func (s LoadPermissionModifications) GoString() string {
81770	return s.String()
81771}
81772
81773// SetAdd sets the Add field's value.
81774func (s *LoadPermissionModifications) SetAdd(v []*LoadPermissionRequest) *LoadPermissionModifications {
81775	s.Add = v
81776	return s
81777}
81778
81779// SetRemove sets the Remove field's value.
81780func (s *LoadPermissionModifications) SetRemove(v []*LoadPermissionRequest) *LoadPermissionModifications {
81781	s.Remove = v
81782	return s
81783}
81784
81785// Describes a load permission.
81786type LoadPermissionRequest struct {
81787	_ struct{} `type:"structure"`
81788
81789	// The name of the group.
81790	Group *string `type:"string" enum:"PermissionGroup"`
81791
81792	// The AWS account ID.
81793	UserId *string `type:"string"`
81794}
81795
81796// String returns the string representation
81797func (s LoadPermissionRequest) String() string {
81798	return awsutil.Prettify(s)
81799}
81800
81801// GoString returns the string representation
81802func (s LoadPermissionRequest) GoString() string {
81803	return s.String()
81804}
81805
81806// SetGroup sets the Group field's value.
81807func (s *LoadPermissionRequest) SetGroup(v string) *LoadPermissionRequest {
81808	s.Group = &v
81809	return s
81810}
81811
81812// SetUserId sets the UserId field's value.
81813func (s *LoadPermissionRequest) SetUserId(v string) *LoadPermissionRequest {
81814	s.UserId = &v
81815	return s
81816}
81817
81818// Describes a local gateway.
81819type LocalGateway struct {
81820	_ struct{} `type:"structure"`
81821
81822	// The ID of the local gateway.
81823	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
81824
81825	// The Amazon Resource Name (ARN) of the Outpost.
81826	OutpostArn *string `locationName:"outpostArn" type:"string"`
81827
81828	// The ID of the AWS account ID that owns the local gateway.
81829	OwnerId *string `locationName:"ownerId" type:"string"`
81830
81831	// The state of the local gateway.
81832	State *string `locationName:"state" type:"string"`
81833}
81834
81835// String returns the string representation
81836func (s LocalGateway) String() string {
81837	return awsutil.Prettify(s)
81838}
81839
81840// GoString returns the string representation
81841func (s LocalGateway) GoString() string {
81842	return s.String()
81843}
81844
81845// SetLocalGatewayId sets the LocalGatewayId field's value.
81846func (s *LocalGateway) SetLocalGatewayId(v string) *LocalGateway {
81847	s.LocalGatewayId = &v
81848	return s
81849}
81850
81851// SetOutpostArn sets the OutpostArn field's value.
81852func (s *LocalGateway) SetOutpostArn(v string) *LocalGateway {
81853	s.OutpostArn = &v
81854	return s
81855}
81856
81857// SetOwnerId sets the OwnerId field's value.
81858func (s *LocalGateway) SetOwnerId(v string) *LocalGateway {
81859	s.OwnerId = &v
81860	return s
81861}
81862
81863// SetState sets the State field's value.
81864func (s *LocalGateway) SetState(v string) *LocalGateway {
81865	s.State = &v
81866	return s
81867}
81868
81869// Describes a route for a local gateway route table.
81870type LocalGatewayRoute struct {
81871	_ struct{} `type:"structure"`
81872
81873	// The CIDR block used for destination matches.
81874	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
81875
81876	// The ID of the local gateway route table.
81877	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
81878
81879	// The ID of the virtual interface group.
81880	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
81881
81882	// The state of the route.
81883	State *string `locationName:"state" type:"string" enum:"LocalGatewayRouteState"`
81884
81885	// The route type.
81886	Type *string `locationName:"type" type:"string" enum:"LocalGatewayRouteType"`
81887}
81888
81889// String returns the string representation
81890func (s LocalGatewayRoute) String() string {
81891	return awsutil.Prettify(s)
81892}
81893
81894// GoString returns the string representation
81895func (s LocalGatewayRoute) GoString() string {
81896	return s.String()
81897}
81898
81899// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
81900func (s *LocalGatewayRoute) SetDestinationCidrBlock(v string) *LocalGatewayRoute {
81901	s.DestinationCidrBlock = &v
81902	return s
81903}
81904
81905// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
81906func (s *LocalGatewayRoute) SetLocalGatewayRouteTableId(v string) *LocalGatewayRoute {
81907	s.LocalGatewayRouteTableId = &v
81908	return s
81909}
81910
81911// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
81912func (s *LocalGatewayRoute) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRoute {
81913	s.LocalGatewayVirtualInterfaceGroupId = &v
81914	return s
81915}
81916
81917// SetState sets the State field's value.
81918func (s *LocalGatewayRoute) SetState(v string) *LocalGatewayRoute {
81919	s.State = &v
81920	return s
81921}
81922
81923// SetType sets the Type field's value.
81924func (s *LocalGatewayRoute) SetType(v string) *LocalGatewayRoute {
81925	s.Type = &v
81926	return s
81927}
81928
81929// Describes a local gateway route table.
81930type LocalGatewayRouteTable struct {
81931	_ struct{} `type:"structure"`
81932
81933	// The ID of the local gateway.
81934	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
81935
81936	// The ID of the local gateway route table.
81937	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
81938
81939	// The Amazon Resource Name (ARN) of the Outpost.
81940	OutpostArn *string `locationName:"outpostArn" type:"string"`
81941
81942	// The state of the local gateway route table.
81943	State *string `locationName:"state" type:"string"`
81944}
81945
81946// String returns the string representation
81947func (s LocalGatewayRouteTable) String() string {
81948	return awsutil.Prettify(s)
81949}
81950
81951// GoString returns the string representation
81952func (s LocalGatewayRouteTable) GoString() string {
81953	return s.String()
81954}
81955
81956// SetLocalGatewayId sets the LocalGatewayId field's value.
81957func (s *LocalGatewayRouteTable) SetLocalGatewayId(v string) *LocalGatewayRouteTable {
81958	s.LocalGatewayId = &v
81959	return s
81960}
81961
81962// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
81963func (s *LocalGatewayRouteTable) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTable {
81964	s.LocalGatewayRouteTableId = &v
81965	return s
81966}
81967
81968// SetOutpostArn sets the OutpostArn field's value.
81969func (s *LocalGatewayRouteTable) SetOutpostArn(v string) *LocalGatewayRouteTable {
81970	s.OutpostArn = &v
81971	return s
81972}
81973
81974// SetState sets the State field's value.
81975func (s *LocalGatewayRouteTable) SetState(v string) *LocalGatewayRouteTable {
81976	s.State = &v
81977	return s
81978}
81979
81980// Describes an association between a local gateway route table and a virtual
81981// interface group.
81982type LocalGatewayRouteTableVirtualInterfaceGroupAssociation struct {
81983	_ struct{} `type:"structure"`
81984
81985	// The ID of the local gateway.
81986	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
81987
81988	// The ID of the local gateway route table.
81989	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
81990
81991	// The ID of the association.
81992	LocalGatewayRouteTableVirtualInterfaceGroupAssociationId *string `locationName:"localGatewayRouteTableVirtualInterfaceGroupAssociationId" type:"string"`
81993
81994	// The ID of the virtual interface group.
81995	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
81996
81997	// The state of the association.
81998	State *string `locationName:"state" type:"string"`
81999}
82000
82001// String returns the string representation
82002func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) String() string {
82003	return awsutil.Prettify(s)
82004}
82005
82006// GoString returns the string representation
82007func (s LocalGatewayRouteTableVirtualInterfaceGroupAssociation) GoString() string {
82008	return s.String()
82009}
82010
82011// SetLocalGatewayId sets the LocalGatewayId field's value.
82012func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
82013	s.LocalGatewayId = &v
82014	return s
82015}
82016
82017// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
82018func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
82019	s.LocalGatewayRouteTableId = &v
82020	return s
82021}
82022
82023// SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId sets the LocalGatewayRouteTableVirtualInterfaceGroupAssociationId field's value.
82024func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayRouteTableVirtualInterfaceGroupAssociationId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
82025	s.LocalGatewayRouteTableVirtualInterfaceGroupAssociationId = &v
82026	return s
82027}
82028
82029// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
82030func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
82031	s.LocalGatewayVirtualInterfaceGroupId = &v
82032	return s
82033}
82034
82035// SetState sets the State field's value.
82036func (s *LocalGatewayRouteTableVirtualInterfaceGroupAssociation) SetState(v string) *LocalGatewayRouteTableVirtualInterfaceGroupAssociation {
82037	s.State = &v
82038	return s
82039}
82040
82041// Describes an association between a local gateway route table and a VPC.
82042type LocalGatewayRouteTableVpcAssociation struct {
82043	_ struct{} `type:"structure"`
82044
82045	// The ID of the local gateway.
82046	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
82047
82048	// The ID of the local gateway route table.
82049	LocalGatewayRouteTableId *string `locationName:"localGatewayRouteTableId" type:"string"`
82050
82051	// The ID of the association.
82052	LocalGatewayRouteTableVpcAssociationId *string `locationName:"localGatewayRouteTableVpcAssociationId" type:"string"`
82053
82054	// The state of the association.
82055	State *string `locationName:"state" type:"string"`
82056
82057	// The ID of the VPC.
82058	VpcId *string `locationName:"vpcId" type:"string"`
82059}
82060
82061// String returns the string representation
82062func (s LocalGatewayRouteTableVpcAssociation) String() string {
82063	return awsutil.Prettify(s)
82064}
82065
82066// GoString returns the string representation
82067func (s LocalGatewayRouteTableVpcAssociation) GoString() string {
82068	return s.String()
82069}
82070
82071// SetLocalGatewayId sets the LocalGatewayId field's value.
82072func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayId(v string) *LocalGatewayRouteTableVpcAssociation {
82073	s.LocalGatewayId = &v
82074	return s
82075}
82076
82077// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
82078func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableId(v string) *LocalGatewayRouteTableVpcAssociation {
82079	s.LocalGatewayRouteTableId = &v
82080	return s
82081}
82082
82083// SetLocalGatewayRouteTableVpcAssociationId sets the LocalGatewayRouteTableVpcAssociationId field's value.
82084func (s *LocalGatewayRouteTableVpcAssociation) SetLocalGatewayRouteTableVpcAssociationId(v string) *LocalGatewayRouteTableVpcAssociation {
82085	s.LocalGatewayRouteTableVpcAssociationId = &v
82086	return s
82087}
82088
82089// SetState sets the State field's value.
82090func (s *LocalGatewayRouteTableVpcAssociation) SetState(v string) *LocalGatewayRouteTableVpcAssociation {
82091	s.State = &v
82092	return s
82093}
82094
82095// SetVpcId sets the VpcId field's value.
82096func (s *LocalGatewayRouteTableVpcAssociation) SetVpcId(v string) *LocalGatewayRouteTableVpcAssociation {
82097	s.VpcId = &v
82098	return s
82099}
82100
82101// Describes a local gateway virtual interface.
82102type LocalGatewayVirtualInterface struct {
82103	_ struct{} `type:"structure"`
82104
82105	// The local address.
82106	LocalAddress *string `locationName:"localAddress" type:"string"`
82107
82108	// The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local
82109	// gateway.
82110	LocalBgpAsn *int64 `locationName:"localBgpAsn" type:"integer"`
82111
82112	// The ID of the local gateway.
82113	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
82114
82115	// The ID of the virtual interface.
82116	LocalGatewayVirtualInterfaceId *string `locationName:"localGatewayVirtualInterfaceId" type:"string"`
82117
82118	// The peer address.
82119	PeerAddress *string `locationName:"peerAddress" type:"string"`
82120
82121	// The peer BGP ASN.
82122	PeerBgpAsn *int64 `locationName:"peerBgpAsn" type:"integer"`
82123
82124	// The ID of the VLAN.
82125	Vlan *int64 `locationName:"vlan" type:"integer"`
82126}
82127
82128// String returns the string representation
82129func (s LocalGatewayVirtualInterface) String() string {
82130	return awsutil.Prettify(s)
82131}
82132
82133// GoString returns the string representation
82134func (s LocalGatewayVirtualInterface) GoString() string {
82135	return s.String()
82136}
82137
82138// SetLocalAddress sets the LocalAddress field's value.
82139func (s *LocalGatewayVirtualInterface) SetLocalAddress(v string) *LocalGatewayVirtualInterface {
82140	s.LocalAddress = &v
82141	return s
82142}
82143
82144// SetLocalBgpAsn sets the LocalBgpAsn field's value.
82145func (s *LocalGatewayVirtualInterface) SetLocalBgpAsn(v int64) *LocalGatewayVirtualInterface {
82146	s.LocalBgpAsn = &v
82147	return s
82148}
82149
82150// SetLocalGatewayId sets the LocalGatewayId field's value.
82151func (s *LocalGatewayVirtualInterface) SetLocalGatewayId(v string) *LocalGatewayVirtualInterface {
82152	s.LocalGatewayId = &v
82153	return s
82154}
82155
82156// SetLocalGatewayVirtualInterfaceId sets the LocalGatewayVirtualInterfaceId field's value.
82157func (s *LocalGatewayVirtualInterface) SetLocalGatewayVirtualInterfaceId(v string) *LocalGatewayVirtualInterface {
82158	s.LocalGatewayVirtualInterfaceId = &v
82159	return s
82160}
82161
82162// SetPeerAddress sets the PeerAddress field's value.
82163func (s *LocalGatewayVirtualInterface) SetPeerAddress(v string) *LocalGatewayVirtualInterface {
82164	s.PeerAddress = &v
82165	return s
82166}
82167
82168// SetPeerBgpAsn sets the PeerBgpAsn field's value.
82169func (s *LocalGatewayVirtualInterface) SetPeerBgpAsn(v int64) *LocalGatewayVirtualInterface {
82170	s.PeerBgpAsn = &v
82171	return s
82172}
82173
82174// SetVlan sets the Vlan field's value.
82175func (s *LocalGatewayVirtualInterface) SetVlan(v int64) *LocalGatewayVirtualInterface {
82176	s.Vlan = &v
82177	return s
82178}
82179
82180// Describes a local gateway virtual interface group.
82181type LocalGatewayVirtualInterfaceGroup struct {
82182	_ struct{} `type:"structure"`
82183
82184	// The ID of the local gateway.
82185	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
82186
82187	// The ID of the virtual interface group.
82188	LocalGatewayVirtualInterfaceGroupId *string `locationName:"localGatewayVirtualInterfaceGroupId" type:"string"`
82189
82190	// The IDs of the virtual interfaces.
82191	LocalGatewayVirtualInterfaceIds []*string `locationName:"localGatewayVirtualInterfaceIdSet" locationNameList:"item" type:"list"`
82192}
82193
82194// String returns the string representation
82195func (s LocalGatewayVirtualInterfaceGroup) String() string {
82196	return awsutil.Prettify(s)
82197}
82198
82199// GoString returns the string representation
82200func (s LocalGatewayVirtualInterfaceGroup) GoString() string {
82201	return s.String()
82202}
82203
82204// SetLocalGatewayId sets the LocalGatewayId field's value.
82205func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayId(v string) *LocalGatewayVirtualInterfaceGroup {
82206	s.LocalGatewayId = &v
82207	return s
82208}
82209
82210// SetLocalGatewayVirtualInterfaceGroupId sets the LocalGatewayVirtualInterfaceGroupId field's value.
82211func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceGroupId(v string) *LocalGatewayVirtualInterfaceGroup {
82212	s.LocalGatewayVirtualInterfaceGroupId = &v
82213	return s
82214}
82215
82216// SetLocalGatewayVirtualInterfaceIds sets the LocalGatewayVirtualInterfaceIds field's value.
82217func (s *LocalGatewayVirtualInterfaceGroup) SetLocalGatewayVirtualInterfaceIds(v []*string) *LocalGatewayVirtualInterfaceGroup {
82218	s.LocalGatewayVirtualInterfaceIds = v
82219	return s
82220}
82221
82222// Describes the memory for the instance type.
82223type MemoryInfo struct {
82224	_ struct{} `type:"structure"`
82225
82226	// Size of the memory, in MiB.
82227	SizeInMiB *int64 `locationName:"sizeInMiB" type:"long"`
82228}
82229
82230// String returns the string representation
82231func (s MemoryInfo) String() string {
82232	return awsutil.Prettify(s)
82233}
82234
82235// GoString returns the string representation
82236func (s MemoryInfo) GoString() string {
82237	return s.String()
82238}
82239
82240// SetSizeInMiB sets the SizeInMiB field's value.
82241func (s *MemoryInfo) SetSizeInMiB(v int64) *MemoryInfo {
82242	s.SizeInMiB = &v
82243	return s
82244}
82245
82246type ModifyCapacityReservationInput struct {
82247	_ struct{} `type:"structure"`
82248
82249	// The ID of the Capacity Reservation.
82250	//
82251	// CapacityReservationId is a required field
82252	CapacityReservationId *string `type:"string" required:"true"`
82253
82254	// Checks whether you have the required permissions for the action, without
82255	// actually making the request, and provides an error response. If you have
82256	// the required permissions, the error response is DryRunOperation. Otherwise,
82257	// it is UnauthorizedOperation.
82258	DryRun *bool `type:"boolean"`
82259
82260	// The date and time at which the Capacity Reservation expires. When a Capacity
82261	// Reservation expires, the reserved capacity is released and you can no longer
82262	// launch instances into it. The Capacity Reservation's state changes to expired
82263	// when it reaches its end date and time.
82264	//
82265	// The Capacity Reservation is cancelled within an hour from the specified time.
82266	// For example, if you specify 5/31/2019, 13:30:55, the Capacity Reservation
82267	// is guaranteed to end between 13:30:55 and 14:30:55 on 5/31/2019.
82268	//
82269	// You must provide an EndDate value if EndDateType is limited. Omit EndDate
82270	// if EndDateType is unlimited.
82271	EndDate *time.Time `type:"timestamp"`
82272
82273	// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation
82274	// can have one of the following end types:
82275	//
82276	//    * unlimited - The Capacity Reservation remains active until you explicitly
82277	//    cancel it. Do not provide an EndDate value if EndDateType is unlimited.
82278	//
82279	//    * limited - The Capacity Reservation expires automatically at a specified
82280	//    date and time. You must provide an EndDate value if EndDateType is limited.
82281	EndDateType *string `type:"string" enum:"EndDateType"`
82282
82283	// The number of instances for which to reserve capacity.
82284	InstanceCount *int64 `type:"integer"`
82285}
82286
82287// String returns the string representation
82288func (s ModifyCapacityReservationInput) String() string {
82289	return awsutil.Prettify(s)
82290}
82291
82292// GoString returns the string representation
82293func (s ModifyCapacityReservationInput) GoString() string {
82294	return s.String()
82295}
82296
82297// Validate inspects the fields of the type to determine if they are valid.
82298func (s *ModifyCapacityReservationInput) Validate() error {
82299	invalidParams := request.ErrInvalidParams{Context: "ModifyCapacityReservationInput"}
82300	if s.CapacityReservationId == nil {
82301		invalidParams.Add(request.NewErrParamRequired("CapacityReservationId"))
82302	}
82303
82304	if invalidParams.Len() > 0 {
82305		return invalidParams
82306	}
82307	return nil
82308}
82309
82310// SetCapacityReservationId sets the CapacityReservationId field's value.
82311func (s *ModifyCapacityReservationInput) SetCapacityReservationId(v string) *ModifyCapacityReservationInput {
82312	s.CapacityReservationId = &v
82313	return s
82314}
82315
82316// SetDryRun sets the DryRun field's value.
82317func (s *ModifyCapacityReservationInput) SetDryRun(v bool) *ModifyCapacityReservationInput {
82318	s.DryRun = &v
82319	return s
82320}
82321
82322// SetEndDate sets the EndDate field's value.
82323func (s *ModifyCapacityReservationInput) SetEndDate(v time.Time) *ModifyCapacityReservationInput {
82324	s.EndDate = &v
82325	return s
82326}
82327
82328// SetEndDateType sets the EndDateType field's value.
82329func (s *ModifyCapacityReservationInput) SetEndDateType(v string) *ModifyCapacityReservationInput {
82330	s.EndDateType = &v
82331	return s
82332}
82333
82334// SetInstanceCount sets the InstanceCount field's value.
82335func (s *ModifyCapacityReservationInput) SetInstanceCount(v int64) *ModifyCapacityReservationInput {
82336	s.InstanceCount = &v
82337	return s
82338}
82339
82340type ModifyCapacityReservationOutput struct {
82341	_ struct{} `type:"structure"`
82342
82343	// Returns true if the request succeeds; otherwise, it returns an error.
82344	Return *bool `locationName:"return" type:"boolean"`
82345}
82346
82347// String returns the string representation
82348func (s ModifyCapacityReservationOutput) String() string {
82349	return awsutil.Prettify(s)
82350}
82351
82352// GoString returns the string representation
82353func (s ModifyCapacityReservationOutput) GoString() string {
82354	return s.String()
82355}
82356
82357// SetReturn sets the Return field's value.
82358func (s *ModifyCapacityReservationOutput) SetReturn(v bool) *ModifyCapacityReservationOutput {
82359	s.Return = &v
82360	return s
82361}
82362
82363type ModifyClientVpnEndpointInput struct {
82364	_ struct{} `type:"structure"`
82365
82366	// The ID of the Client VPN endpoint to modify.
82367	//
82368	// ClientVpnEndpointId is a required field
82369	ClientVpnEndpointId *string `type:"string" required:"true"`
82370
82371	// Information about the client connection logging options.
82372	//
82373	// If you enable client connection logging, data about client connections is
82374	// sent to a Cloudwatch Logs log stream. The following information is logged:
82375	//
82376	//    * Client connection requests
82377	//
82378	//    * Client connection results (successful and unsuccessful)
82379	//
82380	//    * Reasons for unsuccessful client connection requests
82381	//
82382	//    * Client connection termination time
82383	ConnectionLogOptions *ConnectionLogOptions `type:"structure"`
82384
82385	// A brief description of the Client VPN endpoint.
82386	Description *string `type:"string"`
82387
82388	// Information about the DNS servers to be used by Client VPN connections. A
82389	// Client VPN endpoint can have up to two DNS servers.
82390	DnsServers *DnsServersOptionsModifyStructure `type:"structure"`
82391
82392	// Checks whether you have the required permissions for the action, without
82393	// actually making the request, and provides an error response. If you have
82394	// the required permissions, the error response is DryRunOperation. Otherwise,
82395	// it is UnauthorizedOperation.
82396	DryRun *bool `type:"boolean"`
82397
82398	// The ARN of the server certificate to be used. The server certificate must
82399	// be provisioned in AWS Certificate Manager (ACM).
82400	ServerCertificateArn *string `type:"string"`
82401
82402	// Indicates whether the VPN is split-tunnel.
82403	//
82404	// For information about split-tunnel VPN endpoints, see Split-Tunnel AWS Client
82405	// VPN Endpoint (https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html)
82406	// in the AWS Client VPN Administrator Guide.
82407	SplitTunnel *bool `type:"boolean"`
82408}
82409
82410// String returns the string representation
82411func (s ModifyClientVpnEndpointInput) String() string {
82412	return awsutil.Prettify(s)
82413}
82414
82415// GoString returns the string representation
82416func (s ModifyClientVpnEndpointInput) GoString() string {
82417	return s.String()
82418}
82419
82420// Validate inspects the fields of the type to determine if they are valid.
82421func (s *ModifyClientVpnEndpointInput) Validate() error {
82422	invalidParams := request.ErrInvalidParams{Context: "ModifyClientVpnEndpointInput"}
82423	if s.ClientVpnEndpointId == nil {
82424		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
82425	}
82426
82427	if invalidParams.Len() > 0 {
82428		return invalidParams
82429	}
82430	return nil
82431}
82432
82433// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
82434func (s *ModifyClientVpnEndpointInput) SetClientVpnEndpointId(v string) *ModifyClientVpnEndpointInput {
82435	s.ClientVpnEndpointId = &v
82436	return s
82437}
82438
82439// SetConnectionLogOptions sets the ConnectionLogOptions field's value.
82440func (s *ModifyClientVpnEndpointInput) SetConnectionLogOptions(v *ConnectionLogOptions) *ModifyClientVpnEndpointInput {
82441	s.ConnectionLogOptions = v
82442	return s
82443}
82444
82445// SetDescription sets the Description field's value.
82446func (s *ModifyClientVpnEndpointInput) SetDescription(v string) *ModifyClientVpnEndpointInput {
82447	s.Description = &v
82448	return s
82449}
82450
82451// SetDnsServers sets the DnsServers field's value.
82452func (s *ModifyClientVpnEndpointInput) SetDnsServers(v *DnsServersOptionsModifyStructure) *ModifyClientVpnEndpointInput {
82453	s.DnsServers = v
82454	return s
82455}
82456
82457// SetDryRun sets the DryRun field's value.
82458func (s *ModifyClientVpnEndpointInput) SetDryRun(v bool) *ModifyClientVpnEndpointInput {
82459	s.DryRun = &v
82460	return s
82461}
82462
82463// SetServerCertificateArn sets the ServerCertificateArn field's value.
82464func (s *ModifyClientVpnEndpointInput) SetServerCertificateArn(v string) *ModifyClientVpnEndpointInput {
82465	s.ServerCertificateArn = &v
82466	return s
82467}
82468
82469// SetSplitTunnel sets the SplitTunnel field's value.
82470func (s *ModifyClientVpnEndpointInput) SetSplitTunnel(v bool) *ModifyClientVpnEndpointInput {
82471	s.SplitTunnel = &v
82472	return s
82473}
82474
82475type ModifyClientVpnEndpointOutput struct {
82476	_ struct{} `type:"structure"`
82477
82478	// Returns true if the request succeeds; otherwise, it returns an error.
82479	Return *bool `locationName:"return" type:"boolean"`
82480}
82481
82482// String returns the string representation
82483func (s ModifyClientVpnEndpointOutput) String() string {
82484	return awsutil.Prettify(s)
82485}
82486
82487// GoString returns the string representation
82488func (s ModifyClientVpnEndpointOutput) GoString() string {
82489	return s.String()
82490}
82491
82492// SetReturn sets the Return field's value.
82493func (s *ModifyClientVpnEndpointOutput) SetReturn(v bool) *ModifyClientVpnEndpointOutput {
82494	s.Return = &v
82495	return s
82496}
82497
82498type ModifyDefaultCreditSpecificationInput struct {
82499	_ struct{} `type:"structure"`
82500
82501	// The credit option for CPU usage of the instance family.
82502	//
82503	// Valid Values: standard | unlimited
82504	//
82505	// CpuCredits is a required field
82506	CpuCredits *string `type:"string" required:"true"`
82507
82508	// Checks whether you have the required permissions for the action, without
82509	// actually making the request, and provides an error response. If you have
82510	// the required permissions, the error response is DryRunOperation. Otherwise,
82511	// it is UnauthorizedOperation.
82512	DryRun *bool `type:"boolean"`
82513
82514	// The instance family.
82515	//
82516	// InstanceFamily is a required field
82517	InstanceFamily *string `type:"string" required:"true" enum:"UnlimitedSupportedInstanceFamily"`
82518}
82519
82520// String returns the string representation
82521func (s ModifyDefaultCreditSpecificationInput) String() string {
82522	return awsutil.Prettify(s)
82523}
82524
82525// GoString returns the string representation
82526func (s ModifyDefaultCreditSpecificationInput) GoString() string {
82527	return s.String()
82528}
82529
82530// Validate inspects the fields of the type to determine if they are valid.
82531func (s *ModifyDefaultCreditSpecificationInput) Validate() error {
82532	invalidParams := request.ErrInvalidParams{Context: "ModifyDefaultCreditSpecificationInput"}
82533	if s.CpuCredits == nil {
82534		invalidParams.Add(request.NewErrParamRequired("CpuCredits"))
82535	}
82536	if s.InstanceFamily == nil {
82537		invalidParams.Add(request.NewErrParamRequired("InstanceFamily"))
82538	}
82539
82540	if invalidParams.Len() > 0 {
82541		return invalidParams
82542	}
82543	return nil
82544}
82545
82546// SetCpuCredits sets the CpuCredits field's value.
82547func (s *ModifyDefaultCreditSpecificationInput) SetCpuCredits(v string) *ModifyDefaultCreditSpecificationInput {
82548	s.CpuCredits = &v
82549	return s
82550}
82551
82552// SetDryRun sets the DryRun field's value.
82553func (s *ModifyDefaultCreditSpecificationInput) SetDryRun(v bool) *ModifyDefaultCreditSpecificationInput {
82554	s.DryRun = &v
82555	return s
82556}
82557
82558// SetInstanceFamily sets the InstanceFamily field's value.
82559func (s *ModifyDefaultCreditSpecificationInput) SetInstanceFamily(v string) *ModifyDefaultCreditSpecificationInput {
82560	s.InstanceFamily = &v
82561	return s
82562}
82563
82564type ModifyDefaultCreditSpecificationOutput struct {
82565	_ struct{} `type:"structure"`
82566
82567	// The default credit option for CPU usage of the instance family.
82568	InstanceFamilyCreditSpecification *InstanceFamilyCreditSpecification `locationName:"instanceFamilyCreditSpecification" type:"structure"`
82569}
82570
82571// String returns the string representation
82572func (s ModifyDefaultCreditSpecificationOutput) String() string {
82573	return awsutil.Prettify(s)
82574}
82575
82576// GoString returns the string representation
82577func (s ModifyDefaultCreditSpecificationOutput) GoString() string {
82578	return s.String()
82579}
82580
82581// SetInstanceFamilyCreditSpecification sets the InstanceFamilyCreditSpecification field's value.
82582func (s *ModifyDefaultCreditSpecificationOutput) SetInstanceFamilyCreditSpecification(v *InstanceFamilyCreditSpecification) *ModifyDefaultCreditSpecificationOutput {
82583	s.InstanceFamilyCreditSpecification = v
82584	return s
82585}
82586
82587type ModifyEbsDefaultKmsKeyIdInput struct {
82588	_ struct{} `type:"structure"`
82589
82590	// Checks whether you have the required permissions for the action, without
82591	// actually making the request, and provides an error response. If you have
82592	// the required permissions, the error response is DryRunOperation. Otherwise,
82593	// it is UnauthorizedOperation.
82594	DryRun *bool `type:"boolean"`
82595
82596	// The identifier of the AWS Key Management Service (AWS KMS) customer master
82597	// key (CMK) to use for Amazon EBS encryption. If this parameter is not specified,
82598	// your AWS managed CMK for EBS is used. If KmsKeyId is specified, the encrypted
82599	// state must be true.
82600	//
82601	// You can specify the CMK using any of the following:
82602	//
82603	//    * Key ID. For example, key/1234abcd-12ab-34cd-56ef-1234567890ab.
82604	//
82605	//    * Key alias. For example, alias/ExampleAlias.
82606	//
82607	//    * Key ARN. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef.
82608	//
82609	//    * Alias ARN. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias.
82610	//
82611	// AWS authenticates the CMK asynchronously. Therefore, if you specify an ID,
82612	// alias, or ARN that is not valid, the action can appear to complete, but eventually
82613	// fails.
82614	//
82615	// Amazon EBS does not support asymmetric CMKs.
82616	//
82617	// KmsKeyId is a required field
82618	KmsKeyId *string `type:"string" required:"true"`
82619}
82620
82621// String returns the string representation
82622func (s ModifyEbsDefaultKmsKeyIdInput) String() string {
82623	return awsutil.Prettify(s)
82624}
82625
82626// GoString returns the string representation
82627func (s ModifyEbsDefaultKmsKeyIdInput) GoString() string {
82628	return s.String()
82629}
82630
82631// Validate inspects the fields of the type to determine if they are valid.
82632func (s *ModifyEbsDefaultKmsKeyIdInput) Validate() error {
82633	invalidParams := request.ErrInvalidParams{Context: "ModifyEbsDefaultKmsKeyIdInput"}
82634	if s.KmsKeyId == nil {
82635		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
82636	}
82637
82638	if invalidParams.Len() > 0 {
82639		return invalidParams
82640	}
82641	return nil
82642}
82643
82644// SetDryRun sets the DryRun field's value.
82645func (s *ModifyEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ModifyEbsDefaultKmsKeyIdInput {
82646	s.DryRun = &v
82647	return s
82648}
82649
82650// SetKmsKeyId sets the KmsKeyId field's value.
82651func (s *ModifyEbsDefaultKmsKeyIdInput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdInput {
82652	s.KmsKeyId = &v
82653	return s
82654}
82655
82656type ModifyEbsDefaultKmsKeyIdOutput struct {
82657	_ struct{} `type:"structure"`
82658
82659	// The Amazon Resource Name (ARN) of the default CMK for encryption by default.
82660	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
82661}
82662
82663// String returns the string representation
82664func (s ModifyEbsDefaultKmsKeyIdOutput) String() string {
82665	return awsutil.Prettify(s)
82666}
82667
82668// GoString returns the string representation
82669func (s ModifyEbsDefaultKmsKeyIdOutput) GoString() string {
82670	return s.String()
82671}
82672
82673// SetKmsKeyId sets the KmsKeyId field's value.
82674func (s *ModifyEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ModifyEbsDefaultKmsKeyIdOutput {
82675	s.KmsKeyId = &v
82676	return s
82677}
82678
82679type ModifyFleetInput struct {
82680	_ struct{} `type:"structure"`
82681
82682	// Checks whether you have the required permissions for the action, without
82683	// actually making the request, and provides an error response. If you have
82684	// the required permissions, the error response is DryRunOperation. Otherwise,
82685	// it is UnauthorizedOperation.
82686	DryRun *bool `type:"boolean"`
82687
82688	// Indicates whether running instances should be terminated if the total target
82689	// capacity of the EC2 Fleet is decreased below the current size of the EC2
82690	// Fleet.
82691	ExcessCapacityTerminationPolicy *string `type:"string" enum:"FleetExcessCapacityTerminationPolicy"`
82692
82693	// The ID of the EC2 Fleet.
82694	//
82695	// FleetId is a required field
82696	FleetId *string `type:"string" required:"true"`
82697
82698	// The size of the EC2 Fleet.
82699	//
82700	// TargetCapacitySpecification is a required field
82701	TargetCapacitySpecification *TargetCapacitySpecificationRequest `type:"structure" required:"true"`
82702}
82703
82704// String returns the string representation
82705func (s ModifyFleetInput) String() string {
82706	return awsutil.Prettify(s)
82707}
82708
82709// GoString returns the string representation
82710func (s ModifyFleetInput) GoString() string {
82711	return s.String()
82712}
82713
82714// Validate inspects the fields of the type to determine if they are valid.
82715func (s *ModifyFleetInput) Validate() error {
82716	invalidParams := request.ErrInvalidParams{Context: "ModifyFleetInput"}
82717	if s.FleetId == nil {
82718		invalidParams.Add(request.NewErrParamRequired("FleetId"))
82719	}
82720	if s.TargetCapacitySpecification == nil {
82721		invalidParams.Add(request.NewErrParamRequired("TargetCapacitySpecification"))
82722	}
82723	if s.TargetCapacitySpecification != nil {
82724		if err := s.TargetCapacitySpecification.Validate(); err != nil {
82725			invalidParams.AddNested("TargetCapacitySpecification", err.(request.ErrInvalidParams))
82726		}
82727	}
82728
82729	if invalidParams.Len() > 0 {
82730		return invalidParams
82731	}
82732	return nil
82733}
82734
82735// SetDryRun sets the DryRun field's value.
82736func (s *ModifyFleetInput) SetDryRun(v bool) *ModifyFleetInput {
82737	s.DryRun = &v
82738	return s
82739}
82740
82741// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
82742func (s *ModifyFleetInput) SetExcessCapacityTerminationPolicy(v string) *ModifyFleetInput {
82743	s.ExcessCapacityTerminationPolicy = &v
82744	return s
82745}
82746
82747// SetFleetId sets the FleetId field's value.
82748func (s *ModifyFleetInput) SetFleetId(v string) *ModifyFleetInput {
82749	s.FleetId = &v
82750	return s
82751}
82752
82753// SetTargetCapacitySpecification sets the TargetCapacitySpecification field's value.
82754func (s *ModifyFleetInput) SetTargetCapacitySpecification(v *TargetCapacitySpecificationRequest) *ModifyFleetInput {
82755	s.TargetCapacitySpecification = v
82756	return s
82757}
82758
82759type ModifyFleetOutput struct {
82760	_ struct{} `type:"structure"`
82761
82762	// Is true if the request succeeds, and an error otherwise.
82763	Return *bool `locationName:"return" type:"boolean"`
82764}
82765
82766// String returns the string representation
82767func (s ModifyFleetOutput) String() string {
82768	return awsutil.Prettify(s)
82769}
82770
82771// GoString returns the string representation
82772func (s ModifyFleetOutput) GoString() string {
82773	return s.String()
82774}
82775
82776// SetReturn sets the Return field's value.
82777func (s *ModifyFleetOutput) SetReturn(v bool) *ModifyFleetOutput {
82778	s.Return = &v
82779	return s
82780}
82781
82782type ModifyFpgaImageAttributeInput struct {
82783	_ struct{} `type:"structure"`
82784
82785	// The name of the attribute.
82786	Attribute *string `type:"string" enum:"FpgaImageAttributeName"`
82787
82788	// A description for the AFI.
82789	Description *string `type:"string"`
82790
82791	// Checks whether you have the required permissions for the action, without
82792	// actually making the request, and provides an error response. If you have
82793	// the required permissions, the error response is DryRunOperation. Otherwise,
82794	// it is UnauthorizedOperation.
82795	DryRun *bool `type:"boolean"`
82796
82797	// The ID of the AFI.
82798	//
82799	// FpgaImageId is a required field
82800	FpgaImageId *string `type:"string" required:"true"`
82801
82802	// The load permission for the AFI.
82803	LoadPermission *LoadPermissionModifications `type:"structure"`
82804
82805	// A name for the AFI.
82806	Name *string `type:"string"`
82807
82808	// The operation type.
82809	OperationType *string `type:"string" enum:"OperationType"`
82810
82811	// The product codes. After you add a product code to an AFI, it can't be removed.
82812	// This parameter is valid only when modifying the productCodes attribute.
82813	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
82814
82815	// The user groups. This parameter is valid only when modifying the loadPermission
82816	// attribute.
82817	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
82818
82819	// The AWS account IDs. This parameter is valid only when modifying the loadPermission
82820	// attribute.
82821	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
82822}
82823
82824// String returns the string representation
82825func (s ModifyFpgaImageAttributeInput) String() string {
82826	return awsutil.Prettify(s)
82827}
82828
82829// GoString returns the string representation
82830func (s ModifyFpgaImageAttributeInput) GoString() string {
82831	return s.String()
82832}
82833
82834// Validate inspects the fields of the type to determine if they are valid.
82835func (s *ModifyFpgaImageAttributeInput) Validate() error {
82836	invalidParams := request.ErrInvalidParams{Context: "ModifyFpgaImageAttributeInput"}
82837	if s.FpgaImageId == nil {
82838		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
82839	}
82840
82841	if invalidParams.Len() > 0 {
82842		return invalidParams
82843	}
82844	return nil
82845}
82846
82847// SetAttribute sets the Attribute field's value.
82848func (s *ModifyFpgaImageAttributeInput) SetAttribute(v string) *ModifyFpgaImageAttributeInput {
82849	s.Attribute = &v
82850	return s
82851}
82852
82853// SetDescription sets the Description field's value.
82854func (s *ModifyFpgaImageAttributeInput) SetDescription(v string) *ModifyFpgaImageAttributeInput {
82855	s.Description = &v
82856	return s
82857}
82858
82859// SetDryRun sets the DryRun field's value.
82860func (s *ModifyFpgaImageAttributeInput) SetDryRun(v bool) *ModifyFpgaImageAttributeInput {
82861	s.DryRun = &v
82862	return s
82863}
82864
82865// SetFpgaImageId sets the FpgaImageId field's value.
82866func (s *ModifyFpgaImageAttributeInput) SetFpgaImageId(v string) *ModifyFpgaImageAttributeInput {
82867	s.FpgaImageId = &v
82868	return s
82869}
82870
82871// SetLoadPermission sets the LoadPermission field's value.
82872func (s *ModifyFpgaImageAttributeInput) SetLoadPermission(v *LoadPermissionModifications) *ModifyFpgaImageAttributeInput {
82873	s.LoadPermission = v
82874	return s
82875}
82876
82877// SetName sets the Name field's value.
82878func (s *ModifyFpgaImageAttributeInput) SetName(v string) *ModifyFpgaImageAttributeInput {
82879	s.Name = &v
82880	return s
82881}
82882
82883// SetOperationType sets the OperationType field's value.
82884func (s *ModifyFpgaImageAttributeInput) SetOperationType(v string) *ModifyFpgaImageAttributeInput {
82885	s.OperationType = &v
82886	return s
82887}
82888
82889// SetProductCodes sets the ProductCodes field's value.
82890func (s *ModifyFpgaImageAttributeInput) SetProductCodes(v []*string) *ModifyFpgaImageAttributeInput {
82891	s.ProductCodes = v
82892	return s
82893}
82894
82895// SetUserGroups sets the UserGroups field's value.
82896func (s *ModifyFpgaImageAttributeInput) SetUserGroups(v []*string) *ModifyFpgaImageAttributeInput {
82897	s.UserGroups = v
82898	return s
82899}
82900
82901// SetUserIds sets the UserIds field's value.
82902func (s *ModifyFpgaImageAttributeInput) SetUserIds(v []*string) *ModifyFpgaImageAttributeInput {
82903	s.UserIds = v
82904	return s
82905}
82906
82907type ModifyFpgaImageAttributeOutput struct {
82908	_ struct{} `type:"structure"`
82909
82910	// Information about the attribute.
82911	FpgaImageAttribute *FpgaImageAttribute `locationName:"fpgaImageAttribute" type:"structure"`
82912}
82913
82914// String returns the string representation
82915func (s ModifyFpgaImageAttributeOutput) String() string {
82916	return awsutil.Prettify(s)
82917}
82918
82919// GoString returns the string representation
82920func (s ModifyFpgaImageAttributeOutput) GoString() string {
82921	return s.String()
82922}
82923
82924// SetFpgaImageAttribute sets the FpgaImageAttribute field's value.
82925func (s *ModifyFpgaImageAttributeOutput) SetFpgaImageAttribute(v *FpgaImageAttribute) *ModifyFpgaImageAttributeOutput {
82926	s.FpgaImageAttribute = v
82927	return s
82928}
82929
82930type ModifyHostsInput struct {
82931	_ struct{} `type:"structure"`
82932
82933	// Specify whether to enable or disable auto-placement.
82934	AutoPlacement *string `locationName:"autoPlacement" type:"string" enum:"AutoPlacement"`
82935
82936	// The IDs of the Dedicated Hosts to modify.
82937	//
82938	// HostIds is a required field
82939	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
82940
82941	// Indicates whether to enable or disable host recovery for the Dedicated Host.
82942	// For more information, see Host Recovery (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-recovery.html)
82943	// in the Amazon Elastic Compute Cloud User Guide.
82944	HostRecovery *string `type:"string" enum:"HostRecovery"`
82945
82946	// Specifies the instance family to be supported by the Dedicated Host. Specify
82947	// this parameter to modify a Dedicated Host to support multiple instance types
82948	// within its current instance family.
82949	//
82950	// If you want to modify a Dedicated Host to support a specific instance type
82951	// only, omit this parameter and specify InstanceType instead. You cannot specify
82952	// InstanceFamily and InstanceType in the same request.
82953	InstanceFamily *string `type:"string"`
82954
82955	// Specifies the instance type to be supported by the Dedicated Host. Specify
82956	// this parameter to modify a Dedicated Host to support only a specific instance
82957	// type.
82958	//
82959	// If you want to modify a Dedicated Host to support multiple instance types
82960	// in its current instance family, omit this parameter and specify InstanceFamily
82961	// instead. You cannot specify InstanceType and InstanceFamily in the same request.
82962	InstanceType *string `type:"string"`
82963}
82964
82965// String returns the string representation
82966func (s ModifyHostsInput) String() string {
82967	return awsutil.Prettify(s)
82968}
82969
82970// GoString returns the string representation
82971func (s ModifyHostsInput) GoString() string {
82972	return s.String()
82973}
82974
82975// Validate inspects the fields of the type to determine if they are valid.
82976func (s *ModifyHostsInput) Validate() error {
82977	invalidParams := request.ErrInvalidParams{Context: "ModifyHostsInput"}
82978	if s.HostIds == nil {
82979		invalidParams.Add(request.NewErrParamRequired("HostIds"))
82980	}
82981
82982	if invalidParams.Len() > 0 {
82983		return invalidParams
82984	}
82985	return nil
82986}
82987
82988// SetAutoPlacement sets the AutoPlacement field's value.
82989func (s *ModifyHostsInput) SetAutoPlacement(v string) *ModifyHostsInput {
82990	s.AutoPlacement = &v
82991	return s
82992}
82993
82994// SetHostIds sets the HostIds field's value.
82995func (s *ModifyHostsInput) SetHostIds(v []*string) *ModifyHostsInput {
82996	s.HostIds = v
82997	return s
82998}
82999
83000// SetHostRecovery sets the HostRecovery field's value.
83001func (s *ModifyHostsInput) SetHostRecovery(v string) *ModifyHostsInput {
83002	s.HostRecovery = &v
83003	return s
83004}
83005
83006// SetInstanceFamily sets the InstanceFamily field's value.
83007func (s *ModifyHostsInput) SetInstanceFamily(v string) *ModifyHostsInput {
83008	s.InstanceFamily = &v
83009	return s
83010}
83011
83012// SetInstanceType sets the InstanceType field's value.
83013func (s *ModifyHostsInput) SetInstanceType(v string) *ModifyHostsInput {
83014	s.InstanceType = &v
83015	return s
83016}
83017
83018type ModifyHostsOutput struct {
83019	_ struct{} `type:"structure"`
83020
83021	// The IDs of the Dedicated Hosts that were successfully modified.
83022	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
83023
83024	// The IDs of the Dedicated Hosts that could not be modified. Check whether
83025	// the setting you requested can be used.
83026	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
83027}
83028
83029// String returns the string representation
83030func (s ModifyHostsOutput) String() string {
83031	return awsutil.Prettify(s)
83032}
83033
83034// GoString returns the string representation
83035func (s ModifyHostsOutput) GoString() string {
83036	return s.String()
83037}
83038
83039// SetSuccessful sets the Successful field's value.
83040func (s *ModifyHostsOutput) SetSuccessful(v []*string) *ModifyHostsOutput {
83041	s.Successful = v
83042	return s
83043}
83044
83045// SetUnsuccessful sets the Unsuccessful field's value.
83046func (s *ModifyHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ModifyHostsOutput {
83047	s.Unsuccessful = v
83048	return s
83049}
83050
83051type ModifyIdFormatInput struct {
83052	_ struct{} `type:"structure"`
83053
83054	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
83055	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
83056	// | image | import-task | internet-gateway | network-acl | network-acl-association
83057	// | network-interface | network-interface-attachment | prefix-list | route-table
83058	// | route-table-association | security-group | subnet | subnet-cidr-block-association
83059	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
83060	// | vpn-connection | vpn-gateway.
83061	//
83062	// Alternatively, use the all-current option to include all resource types that
83063	// are currently within their opt-in period for longer IDs.
83064	//
83065	// Resource is a required field
83066	Resource *string `type:"string" required:"true"`
83067
83068	// Indicate whether the resource should use longer IDs (17-character IDs).
83069	//
83070	// UseLongIds is a required field
83071	UseLongIds *bool `type:"boolean" required:"true"`
83072}
83073
83074// String returns the string representation
83075func (s ModifyIdFormatInput) String() string {
83076	return awsutil.Prettify(s)
83077}
83078
83079// GoString returns the string representation
83080func (s ModifyIdFormatInput) GoString() string {
83081	return s.String()
83082}
83083
83084// Validate inspects the fields of the type to determine if they are valid.
83085func (s *ModifyIdFormatInput) Validate() error {
83086	invalidParams := request.ErrInvalidParams{Context: "ModifyIdFormatInput"}
83087	if s.Resource == nil {
83088		invalidParams.Add(request.NewErrParamRequired("Resource"))
83089	}
83090	if s.UseLongIds == nil {
83091		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
83092	}
83093
83094	if invalidParams.Len() > 0 {
83095		return invalidParams
83096	}
83097	return nil
83098}
83099
83100// SetResource sets the Resource field's value.
83101func (s *ModifyIdFormatInput) SetResource(v string) *ModifyIdFormatInput {
83102	s.Resource = &v
83103	return s
83104}
83105
83106// SetUseLongIds sets the UseLongIds field's value.
83107func (s *ModifyIdFormatInput) SetUseLongIds(v bool) *ModifyIdFormatInput {
83108	s.UseLongIds = &v
83109	return s
83110}
83111
83112type ModifyIdFormatOutput struct {
83113	_ struct{} `type:"structure"`
83114}
83115
83116// String returns the string representation
83117func (s ModifyIdFormatOutput) String() string {
83118	return awsutil.Prettify(s)
83119}
83120
83121// GoString returns the string representation
83122func (s ModifyIdFormatOutput) GoString() string {
83123	return s.String()
83124}
83125
83126type ModifyIdentityIdFormatInput struct {
83127	_ struct{} `type:"structure"`
83128
83129	// The ARN of the principal, which can be an IAM user, IAM role, or the root
83130	// user. Specify all to modify the ID format for all IAM users, IAM roles, and
83131	// the root user of the account.
83132	//
83133	// PrincipalArn is a required field
83134	PrincipalArn *string `locationName:"principalArn" type:"string" required:"true"`
83135
83136	// The type of resource: bundle | conversion-task | customer-gateway | dhcp-options
83137	// | elastic-ip-allocation | elastic-ip-association | export-task | flow-log
83138	// | image | import-task | internet-gateway | network-acl | network-acl-association
83139	// | network-interface | network-interface-attachment | prefix-list | route-table
83140	// | route-table-association | security-group | subnet | subnet-cidr-block-association
83141	// | vpc | vpc-cidr-block-association | vpc-endpoint | vpc-peering-connection
83142	// | vpn-connection | vpn-gateway.
83143	//
83144	// Alternatively, use the all-current option to include all resource types that
83145	// are currently within their opt-in period for longer IDs.
83146	//
83147	// Resource is a required field
83148	Resource *string `locationName:"resource" type:"string" required:"true"`
83149
83150	// Indicates whether the resource should use longer IDs (17-character IDs)
83151	//
83152	// UseLongIds is a required field
83153	UseLongIds *bool `locationName:"useLongIds" type:"boolean" required:"true"`
83154}
83155
83156// String returns the string representation
83157func (s ModifyIdentityIdFormatInput) String() string {
83158	return awsutil.Prettify(s)
83159}
83160
83161// GoString returns the string representation
83162func (s ModifyIdentityIdFormatInput) GoString() string {
83163	return s.String()
83164}
83165
83166// Validate inspects the fields of the type to determine if they are valid.
83167func (s *ModifyIdentityIdFormatInput) Validate() error {
83168	invalidParams := request.ErrInvalidParams{Context: "ModifyIdentityIdFormatInput"}
83169	if s.PrincipalArn == nil {
83170		invalidParams.Add(request.NewErrParamRequired("PrincipalArn"))
83171	}
83172	if s.Resource == nil {
83173		invalidParams.Add(request.NewErrParamRequired("Resource"))
83174	}
83175	if s.UseLongIds == nil {
83176		invalidParams.Add(request.NewErrParamRequired("UseLongIds"))
83177	}
83178
83179	if invalidParams.Len() > 0 {
83180		return invalidParams
83181	}
83182	return nil
83183}
83184
83185// SetPrincipalArn sets the PrincipalArn field's value.
83186func (s *ModifyIdentityIdFormatInput) SetPrincipalArn(v string) *ModifyIdentityIdFormatInput {
83187	s.PrincipalArn = &v
83188	return s
83189}
83190
83191// SetResource sets the Resource field's value.
83192func (s *ModifyIdentityIdFormatInput) SetResource(v string) *ModifyIdentityIdFormatInput {
83193	s.Resource = &v
83194	return s
83195}
83196
83197// SetUseLongIds sets the UseLongIds field's value.
83198func (s *ModifyIdentityIdFormatInput) SetUseLongIds(v bool) *ModifyIdentityIdFormatInput {
83199	s.UseLongIds = &v
83200	return s
83201}
83202
83203type ModifyIdentityIdFormatOutput struct {
83204	_ struct{} `type:"structure"`
83205}
83206
83207// String returns the string representation
83208func (s ModifyIdentityIdFormatOutput) String() string {
83209	return awsutil.Prettify(s)
83210}
83211
83212// GoString returns the string representation
83213func (s ModifyIdentityIdFormatOutput) GoString() string {
83214	return s.String()
83215}
83216
83217// Contains the parameters for ModifyImageAttribute.
83218type ModifyImageAttributeInput struct {
83219	_ struct{} `type:"structure"`
83220
83221	// The name of the attribute to modify. The valid values are description, launchPermission,
83222	// and productCodes.
83223	Attribute *string `type:"string"`
83224
83225	// A new description for the AMI.
83226	Description *AttributeValue `type:"structure"`
83227
83228	// Checks whether you have the required permissions for the action, without
83229	// actually making the request, and provides an error response. If you have
83230	// the required permissions, the error response is DryRunOperation. Otherwise,
83231	// it is UnauthorizedOperation.
83232	DryRun *bool `locationName:"dryRun" type:"boolean"`
83233
83234	// The ID of the AMI.
83235	//
83236	// ImageId is a required field
83237	ImageId *string `type:"string" required:"true"`
83238
83239	// A new launch permission for the AMI.
83240	LaunchPermission *LaunchPermissionModifications `type:"structure"`
83241
83242	// The operation type. This parameter can be used only when the Attribute parameter
83243	// is launchPermission.
83244	OperationType *string `type:"string" enum:"OperationType"`
83245
83246	// The DevPay product codes. After you add a product code to an AMI, it can't
83247	// be removed.
83248	ProductCodes []*string `locationName:"ProductCode" locationNameList:"ProductCode" type:"list"`
83249
83250	// The user groups. This parameter can be used only when the Attribute parameter
83251	// is launchPermission.
83252	UserGroups []*string `locationName:"UserGroup" locationNameList:"UserGroup" type:"list"`
83253
83254	// The AWS account IDs. This parameter can be used only when the Attribute parameter
83255	// is launchPermission.
83256	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
83257
83258	// The value of the attribute being modified. This parameter can be used only
83259	// when the Attribute parameter is description or productCodes.
83260	Value *string `type:"string"`
83261}
83262
83263// String returns the string representation
83264func (s ModifyImageAttributeInput) String() string {
83265	return awsutil.Prettify(s)
83266}
83267
83268// GoString returns the string representation
83269func (s ModifyImageAttributeInput) GoString() string {
83270	return s.String()
83271}
83272
83273// Validate inspects the fields of the type to determine if they are valid.
83274func (s *ModifyImageAttributeInput) Validate() error {
83275	invalidParams := request.ErrInvalidParams{Context: "ModifyImageAttributeInput"}
83276	if s.ImageId == nil {
83277		invalidParams.Add(request.NewErrParamRequired("ImageId"))
83278	}
83279
83280	if invalidParams.Len() > 0 {
83281		return invalidParams
83282	}
83283	return nil
83284}
83285
83286// SetAttribute sets the Attribute field's value.
83287func (s *ModifyImageAttributeInput) SetAttribute(v string) *ModifyImageAttributeInput {
83288	s.Attribute = &v
83289	return s
83290}
83291
83292// SetDescription sets the Description field's value.
83293func (s *ModifyImageAttributeInput) SetDescription(v *AttributeValue) *ModifyImageAttributeInput {
83294	s.Description = v
83295	return s
83296}
83297
83298// SetDryRun sets the DryRun field's value.
83299func (s *ModifyImageAttributeInput) SetDryRun(v bool) *ModifyImageAttributeInput {
83300	s.DryRun = &v
83301	return s
83302}
83303
83304// SetImageId sets the ImageId field's value.
83305func (s *ModifyImageAttributeInput) SetImageId(v string) *ModifyImageAttributeInput {
83306	s.ImageId = &v
83307	return s
83308}
83309
83310// SetLaunchPermission sets the LaunchPermission field's value.
83311func (s *ModifyImageAttributeInput) SetLaunchPermission(v *LaunchPermissionModifications) *ModifyImageAttributeInput {
83312	s.LaunchPermission = v
83313	return s
83314}
83315
83316// SetOperationType sets the OperationType field's value.
83317func (s *ModifyImageAttributeInput) SetOperationType(v string) *ModifyImageAttributeInput {
83318	s.OperationType = &v
83319	return s
83320}
83321
83322// SetProductCodes sets the ProductCodes field's value.
83323func (s *ModifyImageAttributeInput) SetProductCodes(v []*string) *ModifyImageAttributeInput {
83324	s.ProductCodes = v
83325	return s
83326}
83327
83328// SetUserGroups sets the UserGroups field's value.
83329func (s *ModifyImageAttributeInput) SetUserGroups(v []*string) *ModifyImageAttributeInput {
83330	s.UserGroups = v
83331	return s
83332}
83333
83334// SetUserIds sets the UserIds field's value.
83335func (s *ModifyImageAttributeInput) SetUserIds(v []*string) *ModifyImageAttributeInput {
83336	s.UserIds = v
83337	return s
83338}
83339
83340// SetValue sets the Value field's value.
83341func (s *ModifyImageAttributeInput) SetValue(v string) *ModifyImageAttributeInput {
83342	s.Value = &v
83343	return s
83344}
83345
83346type ModifyImageAttributeOutput struct {
83347	_ struct{} `type:"structure"`
83348}
83349
83350// String returns the string representation
83351func (s ModifyImageAttributeOutput) String() string {
83352	return awsutil.Prettify(s)
83353}
83354
83355// GoString returns the string representation
83356func (s ModifyImageAttributeOutput) GoString() string {
83357	return s.String()
83358}
83359
83360type ModifyInstanceAttributeInput struct {
83361	_ struct{} `type:"structure"`
83362
83363	// The name of the attribute.
83364	Attribute *string `locationName:"attribute" type:"string" enum:"InstanceAttributeName"`
83365
83366	// Modifies the DeleteOnTermination attribute for volumes that are currently
83367	// attached. The volume must be owned by the caller. If no value is specified
83368	// for DeleteOnTermination, the default is true and the volume is deleted when
83369	// the instance is terminated.
83370	//
83371	// To add instance store volumes to an Amazon EBS-backed instance, you must
83372	// add them when you launch the instance. For more information, see Updating
83373	// the Block Device Mapping when Launching an Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#Using_OverridingAMIBDM)
83374	// in the Amazon Elastic Compute Cloud User Guide.
83375	BlockDeviceMappings []*InstanceBlockDeviceMappingSpecification `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
83376
83377	// If the value is true, you can't terminate the instance using the Amazon EC2
83378	// console, CLI, or API; otherwise, you can. You cannot use this parameter for
83379	// Spot Instances.
83380	DisableApiTermination *AttributeBooleanValue `locationName:"disableApiTermination" type:"structure"`
83381
83382	// Checks whether you have the required permissions for the action, without
83383	// actually making the request, and provides an error response. If you have
83384	// the required permissions, the error response is DryRunOperation. Otherwise,
83385	// it is UnauthorizedOperation.
83386	DryRun *bool `locationName:"dryRun" type:"boolean"`
83387
83388	// Specifies whether the instance is optimized for Amazon EBS I/O. This optimization
83389	// provides dedicated throughput to Amazon EBS and an optimized configuration
83390	// stack to provide optimal EBS I/O performance. This optimization isn't available
83391	// with all instance types. Additional usage charges apply when using an EBS
83392	// Optimized instance.
83393	EbsOptimized *AttributeBooleanValue `locationName:"ebsOptimized" type:"structure"`
83394
83395	// Set to true to enable enhanced networking with ENA for the instance.
83396	//
83397	// This option is supported only for HVM instances. Specifying this option with
83398	// a PV instance can make it unreachable.
83399	EnaSupport *AttributeBooleanValue `locationName:"enaSupport" type:"structure"`
83400
83401	// [EC2-VPC] Changes the security groups of the instance. You must specify at
83402	// least one security group, even if it's just the default security group for
83403	// the VPC. You must specify the security group ID, not the security group name.
83404	Groups []*string `locationName:"GroupId" locationNameList:"groupId" type:"list"`
83405
83406	// The ID of the instance.
83407	//
83408	// InstanceId is a required field
83409	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
83410
83411	// Specifies whether an instance stops or terminates when you initiate shutdown
83412	// from the instance (using the operating system command for system shutdown).
83413	InstanceInitiatedShutdownBehavior *AttributeValue `locationName:"instanceInitiatedShutdownBehavior" type:"structure"`
83414
83415	// Changes the instance type to the specified value. For more information, see
83416	// Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html).
83417	// If the instance type is not valid, the error returned is InvalidInstanceAttributeValue.
83418	InstanceType *AttributeValue `locationName:"instanceType" type:"structure"`
83419
83420	// Changes the instance's kernel to the specified value. We recommend that you
83421	// use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB
83422	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
83423	Kernel *AttributeValue `locationName:"kernel" type:"structure"`
83424
83425	// Changes the instance's RAM disk to the specified value. We recommend that
83426	// you use PV-GRUB instead of kernels and RAM disks. For more information, see
83427	// PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html).
83428	Ramdisk *AttributeValue `locationName:"ramdisk" type:"structure"`
83429
83430	// Specifies whether source/destination checking is enabled. A value of true
83431	// means that checking is enabled, and false means that checking is disabled.
83432	// This value must be false for a NAT instance to perform NAT.
83433	SourceDestCheck *AttributeBooleanValue `type:"structure"`
83434
83435	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
83436	// Function interface for the instance.
83437	//
83438	// There is no way to disable enhanced networking with the Intel 82599 Virtual
83439	// Function interface at this time.
83440	//
83441	// This option is supported only for HVM instances. Specifying this option with
83442	// a PV instance can make it unreachable.
83443	SriovNetSupport *AttributeValue `locationName:"sriovNetSupport" type:"structure"`
83444
83445	// Changes the instance's user data to the specified value. If you are using
83446	// an AWS SDK or command line tool, base64-encoding is performed for you, and
83447	// you can load the text from a file. Otherwise, you must provide base64-encoded
83448	// text.
83449	UserData *BlobAttributeValue `locationName:"userData" type:"structure"`
83450
83451	// A new value for the attribute. Use only with the kernel, ramdisk, userData,
83452	// disableApiTermination, or instanceInitiatedShutdownBehavior attribute.
83453	Value *string `locationName:"value" type:"string"`
83454}
83455
83456// String returns the string representation
83457func (s ModifyInstanceAttributeInput) String() string {
83458	return awsutil.Prettify(s)
83459}
83460
83461// GoString returns the string representation
83462func (s ModifyInstanceAttributeInput) GoString() string {
83463	return s.String()
83464}
83465
83466// Validate inspects the fields of the type to determine if they are valid.
83467func (s *ModifyInstanceAttributeInput) Validate() error {
83468	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceAttributeInput"}
83469	if s.InstanceId == nil {
83470		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
83471	}
83472
83473	if invalidParams.Len() > 0 {
83474		return invalidParams
83475	}
83476	return nil
83477}
83478
83479// SetAttribute sets the Attribute field's value.
83480func (s *ModifyInstanceAttributeInput) SetAttribute(v string) *ModifyInstanceAttributeInput {
83481	s.Attribute = &v
83482	return s
83483}
83484
83485// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
83486func (s *ModifyInstanceAttributeInput) SetBlockDeviceMappings(v []*InstanceBlockDeviceMappingSpecification) *ModifyInstanceAttributeInput {
83487	s.BlockDeviceMappings = v
83488	return s
83489}
83490
83491// SetDisableApiTermination sets the DisableApiTermination field's value.
83492func (s *ModifyInstanceAttributeInput) SetDisableApiTermination(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
83493	s.DisableApiTermination = v
83494	return s
83495}
83496
83497// SetDryRun sets the DryRun field's value.
83498func (s *ModifyInstanceAttributeInput) SetDryRun(v bool) *ModifyInstanceAttributeInput {
83499	s.DryRun = &v
83500	return s
83501}
83502
83503// SetEbsOptimized sets the EbsOptimized field's value.
83504func (s *ModifyInstanceAttributeInput) SetEbsOptimized(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
83505	s.EbsOptimized = v
83506	return s
83507}
83508
83509// SetEnaSupport sets the EnaSupport field's value.
83510func (s *ModifyInstanceAttributeInput) SetEnaSupport(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
83511	s.EnaSupport = v
83512	return s
83513}
83514
83515// SetGroups sets the Groups field's value.
83516func (s *ModifyInstanceAttributeInput) SetGroups(v []*string) *ModifyInstanceAttributeInput {
83517	s.Groups = v
83518	return s
83519}
83520
83521// SetInstanceId sets the InstanceId field's value.
83522func (s *ModifyInstanceAttributeInput) SetInstanceId(v string) *ModifyInstanceAttributeInput {
83523	s.InstanceId = &v
83524	return s
83525}
83526
83527// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
83528func (s *ModifyInstanceAttributeInput) SetInstanceInitiatedShutdownBehavior(v *AttributeValue) *ModifyInstanceAttributeInput {
83529	s.InstanceInitiatedShutdownBehavior = v
83530	return s
83531}
83532
83533// SetInstanceType sets the InstanceType field's value.
83534func (s *ModifyInstanceAttributeInput) SetInstanceType(v *AttributeValue) *ModifyInstanceAttributeInput {
83535	s.InstanceType = v
83536	return s
83537}
83538
83539// SetKernel sets the Kernel field's value.
83540func (s *ModifyInstanceAttributeInput) SetKernel(v *AttributeValue) *ModifyInstanceAttributeInput {
83541	s.Kernel = v
83542	return s
83543}
83544
83545// SetRamdisk sets the Ramdisk field's value.
83546func (s *ModifyInstanceAttributeInput) SetRamdisk(v *AttributeValue) *ModifyInstanceAttributeInput {
83547	s.Ramdisk = v
83548	return s
83549}
83550
83551// SetSourceDestCheck sets the SourceDestCheck field's value.
83552func (s *ModifyInstanceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyInstanceAttributeInput {
83553	s.SourceDestCheck = v
83554	return s
83555}
83556
83557// SetSriovNetSupport sets the SriovNetSupport field's value.
83558func (s *ModifyInstanceAttributeInput) SetSriovNetSupport(v *AttributeValue) *ModifyInstanceAttributeInput {
83559	s.SriovNetSupport = v
83560	return s
83561}
83562
83563// SetUserData sets the UserData field's value.
83564func (s *ModifyInstanceAttributeInput) SetUserData(v *BlobAttributeValue) *ModifyInstanceAttributeInput {
83565	s.UserData = v
83566	return s
83567}
83568
83569// SetValue sets the Value field's value.
83570func (s *ModifyInstanceAttributeInput) SetValue(v string) *ModifyInstanceAttributeInput {
83571	s.Value = &v
83572	return s
83573}
83574
83575type ModifyInstanceAttributeOutput struct {
83576	_ struct{} `type:"structure"`
83577}
83578
83579// String returns the string representation
83580func (s ModifyInstanceAttributeOutput) String() string {
83581	return awsutil.Prettify(s)
83582}
83583
83584// GoString returns the string representation
83585func (s ModifyInstanceAttributeOutput) GoString() string {
83586	return s.String()
83587}
83588
83589type ModifyInstanceCapacityReservationAttributesInput struct {
83590	_ struct{} `type:"structure"`
83591
83592	// Information about the Capacity Reservation targeting option.
83593	//
83594	// CapacityReservationSpecification is a required field
83595	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure" required:"true"`
83596
83597	// Checks whether you have the required permissions for the action, without
83598	// actually making the request, and provides an error response. If you have
83599	// the required permissions, the error response is DryRunOperation. Otherwise,
83600	// it is UnauthorizedOperation.
83601	DryRun *bool `type:"boolean"`
83602
83603	// The ID of the instance to be modified.
83604	//
83605	// InstanceId is a required field
83606	InstanceId *string `type:"string" required:"true"`
83607}
83608
83609// String returns the string representation
83610func (s ModifyInstanceCapacityReservationAttributesInput) String() string {
83611	return awsutil.Prettify(s)
83612}
83613
83614// GoString returns the string representation
83615func (s ModifyInstanceCapacityReservationAttributesInput) GoString() string {
83616	return s.String()
83617}
83618
83619// Validate inspects the fields of the type to determine if they are valid.
83620func (s *ModifyInstanceCapacityReservationAttributesInput) Validate() error {
83621	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCapacityReservationAttributesInput"}
83622	if s.CapacityReservationSpecification == nil {
83623		invalidParams.Add(request.NewErrParamRequired("CapacityReservationSpecification"))
83624	}
83625	if s.InstanceId == nil {
83626		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
83627	}
83628
83629	if invalidParams.Len() > 0 {
83630		return invalidParams
83631	}
83632	return nil
83633}
83634
83635// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
83636func (s *ModifyInstanceCapacityReservationAttributesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *ModifyInstanceCapacityReservationAttributesInput {
83637	s.CapacityReservationSpecification = v
83638	return s
83639}
83640
83641// SetDryRun sets the DryRun field's value.
83642func (s *ModifyInstanceCapacityReservationAttributesInput) SetDryRun(v bool) *ModifyInstanceCapacityReservationAttributesInput {
83643	s.DryRun = &v
83644	return s
83645}
83646
83647// SetInstanceId sets the InstanceId field's value.
83648func (s *ModifyInstanceCapacityReservationAttributesInput) SetInstanceId(v string) *ModifyInstanceCapacityReservationAttributesInput {
83649	s.InstanceId = &v
83650	return s
83651}
83652
83653type ModifyInstanceCapacityReservationAttributesOutput struct {
83654	_ struct{} `type:"structure"`
83655
83656	// Returns true if the request succeeds; otherwise, it returns an error.
83657	Return *bool `locationName:"return" type:"boolean"`
83658}
83659
83660// String returns the string representation
83661func (s ModifyInstanceCapacityReservationAttributesOutput) String() string {
83662	return awsutil.Prettify(s)
83663}
83664
83665// GoString returns the string representation
83666func (s ModifyInstanceCapacityReservationAttributesOutput) GoString() string {
83667	return s.String()
83668}
83669
83670// SetReturn sets the Return field's value.
83671func (s *ModifyInstanceCapacityReservationAttributesOutput) SetReturn(v bool) *ModifyInstanceCapacityReservationAttributesOutput {
83672	s.Return = &v
83673	return s
83674}
83675
83676type ModifyInstanceCreditSpecificationInput struct {
83677	_ struct{} `type:"structure"`
83678
83679	// A unique, case-sensitive token that you provide to ensure idempotency of
83680	// your modification request. For more information, see Ensuring Idempotency
83681	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
83682	ClientToken *string `type:"string"`
83683
83684	// Checks whether you have the required permissions for the action, without
83685	// actually making the request, and provides an error response. If you have
83686	// the required permissions, the error response is DryRunOperation. Otherwise,
83687	// it is UnauthorizedOperation.
83688	DryRun *bool `type:"boolean"`
83689
83690	// Information about the credit option for CPU usage.
83691	//
83692	// InstanceCreditSpecifications is a required field
83693	InstanceCreditSpecifications []*InstanceCreditSpecificationRequest `locationName:"InstanceCreditSpecification" locationNameList:"item" type:"list" required:"true"`
83694}
83695
83696// String returns the string representation
83697func (s ModifyInstanceCreditSpecificationInput) String() string {
83698	return awsutil.Prettify(s)
83699}
83700
83701// GoString returns the string representation
83702func (s ModifyInstanceCreditSpecificationInput) GoString() string {
83703	return s.String()
83704}
83705
83706// Validate inspects the fields of the type to determine if they are valid.
83707func (s *ModifyInstanceCreditSpecificationInput) Validate() error {
83708	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceCreditSpecificationInput"}
83709	if s.InstanceCreditSpecifications == nil {
83710		invalidParams.Add(request.NewErrParamRequired("InstanceCreditSpecifications"))
83711	}
83712
83713	if invalidParams.Len() > 0 {
83714		return invalidParams
83715	}
83716	return nil
83717}
83718
83719// SetClientToken sets the ClientToken field's value.
83720func (s *ModifyInstanceCreditSpecificationInput) SetClientToken(v string) *ModifyInstanceCreditSpecificationInput {
83721	s.ClientToken = &v
83722	return s
83723}
83724
83725// SetDryRun sets the DryRun field's value.
83726func (s *ModifyInstanceCreditSpecificationInput) SetDryRun(v bool) *ModifyInstanceCreditSpecificationInput {
83727	s.DryRun = &v
83728	return s
83729}
83730
83731// SetInstanceCreditSpecifications sets the InstanceCreditSpecifications field's value.
83732func (s *ModifyInstanceCreditSpecificationInput) SetInstanceCreditSpecifications(v []*InstanceCreditSpecificationRequest) *ModifyInstanceCreditSpecificationInput {
83733	s.InstanceCreditSpecifications = v
83734	return s
83735}
83736
83737type ModifyInstanceCreditSpecificationOutput struct {
83738	_ struct{} `type:"structure"`
83739
83740	// Information about the instances whose credit option for CPU usage was successfully
83741	// modified.
83742	SuccessfulInstanceCreditSpecifications []*SuccessfulInstanceCreditSpecificationItem `locationName:"successfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
83743
83744	// Information about the instances whose credit option for CPU usage was not
83745	// modified.
83746	UnsuccessfulInstanceCreditSpecifications []*UnsuccessfulInstanceCreditSpecificationItem `locationName:"unsuccessfulInstanceCreditSpecificationSet" locationNameList:"item" type:"list"`
83747}
83748
83749// String returns the string representation
83750func (s ModifyInstanceCreditSpecificationOutput) String() string {
83751	return awsutil.Prettify(s)
83752}
83753
83754// GoString returns the string representation
83755func (s ModifyInstanceCreditSpecificationOutput) GoString() string {
83756	return s.String()
83757}
83758
83759// SetSuccessfulInstanceCreditSpecifications sets the SuccessfulInstanceCreditSpecifications field's value.
83760func (s *ModifyInstanceCreditSpecificationOutput) SetSuccessfulInstanceCreditSpecifications(v []*SuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
83761	s.SuccessfulInstanceCreditSpecifications = v
83762	return s
83763}
83764
83765// SetUnsuccessfulInstanceCreditSpecifications sets the UnsuccessfulInstanceCreditSpecifications field's value.
83766func (s *ModifyInstanceCreditSpecificationOutput) SetUnsuccessfulInstanceCreditSpecifications(v []*UnsuccessfulInstanceCreditSpecificationItem) *ModifyInstanceCreditSpecificationOutput {
83767	s.UnsuccessfulInstanceCreditSpecifications = v
83768	return s
83769}
83770
83771type ModifyInstanceEventStartTimeInput struct {
83772	_ struct{} `type:"structure"`
83773
83774	// Checks whether you have the required permissions for the action, without
83775	// actually making the request, and provides an error response. If you have
83776	// the required permissions, the error response is DryRunOperation. Otherwise,
83777	// it is UnauthorizedOperation.
83778	DryRun *bool `type:"boolean"`
83779
83780	// The ID of the event whose date and time you are modifying.
83781	//
83782	// InstanceEventId is a required field
83783	InstanceEventId *string `type:"string" required:"true"`
83784
83785	// The ID of the instance with the scheduled event.
83786	//
83787	// InstanceId is a required field
83788	InstanceId *string `type:"string" required:"true"`
83789
83790	// The new date and time when the event will take place.
83791	//
83792	// NotBefore is a required field
83793	NotBefore *time.Time `type:"timestamp" required:"true"`
83794}
83795
83796// String returns the string representation
83797func (s ModifyInstanceEventStartTimeInput) String() string {
83798	return awsutil.Prettify(s)
83799}
83800
83801// GoString returns the string representation
83802func (s ModifyInstanceEventStartTimeInput) GoString() string {
83803	return s.String()
83804}
83805
83806// Validate inspects the fields of the type to determine if they are valid.
83807func (s *ModifyInstanceEventStartTimeInput) Validate() error {
83808	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceEventStartTimeInput"}
83809	if s.InstanceEventId == nil {
83810		invalidParams.Add(request.NewErrParamRequired("InstanceEventId"))
83811	}
83812	if s.InstanceId == nil {
83813		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
83814	}
83815	if s.NotBefore == nil {
83816		invalidParams.Add(request.NewErrParamRequired("NotBefore"))
83817	}
83818
83819	if invalidParams.Len() > 0 {
83820		return invalidParams
83821	}
83822	return nil
83823}
83824
83825// SetDryRun sets the DryRun field's value.
83826func (s *ModifyInstanceEventStartTimeInput) SetDryRun(v bool) *ModifyInstanceEventStartTimeInput {
83827	s.DryRun = &v
83828	return s
83829}
83830
83831// SetInstanceEventId sets the InstanceEventId field's value.
83832func (s *ModifyInstanceEventStartTimeInput) SetInstanceEventId(v string) *ModifyInstanceEventStartTimeInput {
83833	s.InstanceEventId = &v
83834	return s
83835}
83836
83837// SetInstanceId sets the InstanceId field's value.
83838func (s *ModifyInstanceEventStartTimeInput) SetInstanceId(v string) *ModifyInstanceEventStartTimeInput {
83839	s.InstanceId = &v
83840	return s
83841}
83842
83843// SetNotBefore sets the NotBefore field's value.
83844func (s *ModifyInstanceEventStartTimeInput) SetNotBefore(v time.Time) *ModifyInstanceEventStartTimeInput {
83845	s.NotBefore = &v
83846	return s
83847}
83848
83849type ModifyInstanceEventStartTimeOutput struct {
83850	_ struct{} `type:"structure"`
83851
83852	// Describes a scheduled event for an instance.
83853	Event *InstanceStatusEvent `locationName:"event" type:"structure"`
83854}
83855
83856// String returns the string representation
83857func (s ModifyInstanceEventStartTimeOutput) String() string {
83858	return awsutil.Prettify(s)
83859}
83860
83861// GoString returns the string representation
83862func (s ModifyInstanceEventStartTimeOutput) GoString() string {
83863	return s.String()
83864}
83865
83866// SetEvent sets the Event field's value.
83867func (s *ModifyInstanceEventStartTimeOutput) SetEvent(v *InstanceStatusEvent) *ModifyInstanceEventStartTimeOutput {
83868	s.Event = v
83869	return s
83870}
83871
83872type ModifyInstanceMetadataOptionsInput struct {
83873	_ struct{} `type:"structure"`
83874
83875	// Checks whether you have the required permissions for the action, without
83876	// actually making the request, and provides an error response. If you have
83877	// the required permissions, the error response is DryRunOperation. Otherwise,
83878	// it is UnauthorizedOperation.
83879	DryRun *bool `type:"boolean"`
83880
83881	// This parameter enables or disables the HTTP metadata endpoint on your instances.
83882	// If the parameter is not specified, the existing state is maintained.
83883	//
83884	// If you specify a value of disabled, you will not be able to access your instance
83885	// metadata.
83886	HttpEndpoint *string `type:"string" enum:"InstanceMetadataEndpointState"`
83887
83888	// The desired HTTP PUT response hop limit for instance metadata requests. The
83889	// larger the number, the further instance metadata requests can travel. If
83890	// no parameter is specified, the existing state is maintained.
83891	//
83892	// Possible values: Integers from 1 to 64
83893	HttpPutResponseHopLimit *int64 `type:"integer"`
83894
83895	// The state of token usage for your instance metadata requests. If the parameter
83896	// is not specified in the request, the default state is optional.
83897	//
83898	// If the state is optional, you can choose to retrieve instance metadata with
83899	// or without a signed token header on your request. If you retrieve the IAM
83900	// role credentials without a token, the version 1.0 role credentials are returned.
83901	// If you retrieve the IAM role credentials using a valid signed token, the
83902	// version 2.0 role credentials are returned.
83903	//
83904	// If the state is required, you must send a signed token header with any instance
83905	// metadata retrieval requests. In this state, retrieving the IAM role credential
83906	// always returns the version 2.0 credentials; the version 1.0 credentials are
83907	// not available.
83908	HttpTokens *string `type:"string" enum:"HttpTokensState"`
83909
83910	// The ID of the instance.
83911	//
83912	// InstanceId is a required field
83913	InstanceId *string `type:"string" required:"true"`
83914}
83915
83916// String returns the string representation
83917func (s ModifyInstanceMetadataOptionsInput) String() string {
83918	return awsutil.Prettify(s)
83919}
83920
83921// GoString returns the string representation
83922func (s ModifyInstanceMetadataOptionsInput) GoString() string {
83923	return s.String()
83924}
83925
83926// Validate inspects the fields of the type to determine if they are valid.
83927func (s *ModifyInstanceMetadataOptionsInput) Validate() error {
83928	invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceMetadataOptionsInput"}
83929	if s.InstanceId == nil {
83930		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
83931	}
83932
83933	if invalidParams.Len() > 0 {
83934		return invalidParams
83935	}
83936	return nil
83937}
83938
83939// SetDryRun sets the DryRun field's value.
83940func (s *ModifyInstanceMetadataOptionsInput) SetDryRun(v bool) *ModifyInstanceMetadataOptionsInput {
83941	s.DryRun = &v
83942	return s
83943}
83944
83945// SetHttpEndpoint sets the HttpEndpoint field's value.
83946func (s *ModifyInstanceMetadataOptionsInput) SetHttpEndpoint(v string) *ModifyInstanceMetadataOptionsInput {
83947	s.HttpEndpoint = &v
83948	return s
83949}
83950
83951// SetHttpPutResponseHopLimit sets the HttpPutResponseHopLimit field's value.
83952func (s *ModifyInstanceMetadataOptionsInput) SetHttpPutResponseHopLimit(v int64) *ModifyInstanceMetadataOptionsInput {
83953	s.HttpPutResponseHopLimit = &v
83954	return s
83955}
83956
83957// SetHttpTokens sets the HttpTokens field's value.
83958func (s *ModifyInstanceMetadataOptionsInput) SetHttpTokens(v string) *ModifyInstanceMetadataOptionsInput {
83959	s.HttpTokens = &v
83960	return s
83961}
83962
83963// SetInstanceId sets the InstanceId field's value.
83964func (s *ModifyInstanceMetadataOptionsInput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsInput {
83965	s.InstanceId = &v
83966	return s
83967}
83968
83969type ModifyInstanceMetadataOptionsOutput struct {
83970	_ struct{} `type:"structure"`
83971
83972	// The ID of the instance.
83973	InstanceId *string `locationName:"instanceId" type:"string"`
83974
83975	// The metadata options for the instance.
83976	InstanceMetadataOptions *InstanceMetadataOptionsResponse `locationName:"instanceMetadataOptions" type:"structure"`
83977}
83978
83979// String returns the string representation
83980func (s ModifyInstanceMetadataOptionsOutput) String() string {
83981	return awsutil.Prettify(s)
83982}
83983
83984// GoString returns the string representation
83985func (s ModifyInstanceMetadataOptionsOutput) GoString() string {
83986	return s.String()
83987}
83988
83989// SetInstanceId sets the InstanceId field's value.
83990func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceId(v string) *ModifyInstanceMetadataOptionsOutput {
83991	s.InstanceId = &v
83992	return s
83993}
83994
83995// SetInstanceMetadataOptions sets the InstanceMetadataOptions field's value.
83996func (s *ModifyInstanceMetadataOptionsOutput) SetInstanceMetadataOptions(v *InstanceMetadataOptionsResponse) *ModifyInstanceMetadataOptionsOutput {
83997	s.InstanceMetadataOptions = v
83998	return s
83999}
84000
84001type ModifyInstancePlacementInput struct {
84002	_ struct{} `type:"structure"`
84003
84004	// The affinity setting for the instance.
84005	Affinity *string `locationName:"affinity" type:"string" enum:"Affinity"`
84006
84007	// The name of the placement group in which to place the instance. For spread
84008	// placement groups, the instance must have a tenancy of default. For cluster
84009	// and partition placement groups, the instance must have a tenancy of default
84010	// or dedicated.
84011	//
84012	// To remove an instance from a placement group, specify an empty string ("").
84013	GroupName *string `type:"string"`
84014
84015	// The ID of the Dedicated Host with which to associate the instance.
84016	HostId *string `locationName:"hostId" type:"string"`
84017
84018	// The ARN of the host resource group in which to place the instance.
84019	HostResourceGroupArn *string `type:"string"`
84020
84021	// The ID of the instance that you are modifying.
84022	//
84023	// InstanceId is a required field
84024	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
84025
84026	// Reserved for future use.
84027	PartitionNumber *int64 `type:"integer"`
84028
84029	// The tenancy for the instance.
84030	Tenancy *string `locationName:"tenancy" type:"string" enum:"HostTenancy"`
84031}
84032
84033// String returns the string representation
84034func (s ModifyInstancePlacementInput) String() string {
84035	return awsutil.Prettify(s)
84036}
84037
84038// GoString returns the string representation
84039func (s ModifyInstancePlacementInput) GoString() string {
84040	return s.String()
84041}
84042
84043// Validate inspects the fields of the type to determine if they are valid.
84044func (s *ModifyInstancePlacementInput) Validate() error {
84045	invalidParams := request.ErrInvalidParams{Context: "ModifyInstancePlacementInput"}
84046	if s.InstanceId == nil {
84047		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
84048	}
84049
84050	if invalidParams.Len() > 0 {
84051		return invalidParams
84052	}
84053	return nil
84054}
84055
84056// SetAffinity sets the Affinity field's value.
84057func (s *ModifyInstancePlacementInput) SetAffinity(v string) *ModifyInstancePlacementInput {
84058	s.Affinity = &v
84059	return s
84060}
84061
84062// SetGroupName sets the GroupName field's value.
84063func (s *ModifyInstancePlacementInput) SetGroupName(v string) *ModifyInstancePlacementInput {
84064	s.GroupName = &v
84065	return s
84066}
84067
84068// SetHostId sets the HostId field's value.
84069func (s *ModifyInstancePlacementInput) SetHostId(v string) *ModifyInstancePlacementInput {
84070	s.HostId = &v
84071	return s
84072}
84073
84074// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
84075func (s *ModifyInstancePlacementInput) SetHostResourceGroupArn(v string) *ModifyInstancePlacementInput {
84076	s.HostResourceGroupArn = &v
84077	return s
84078}
84079
84080// SetInstanceId sets the InstanceId field's value.
84081func (s *ModifyInstancePlacementInput) SetInstanceId(v string) *ModifyInstancePlacementInput {
84082	s.InstanceId = &v
84083	return s
84084}
84085
84086// SetPartitionNumber sets the PartitionNumber field's value.
84087func (s *ModifyInstancePlacementInput) SetPartitionNumber(v int64) *ModifyInstancePlacementInput {
84088	s.PartitionNumber = &v
84089	return s
84090}
84091
84092// SetTenancy sets the Tenancy field's value.
84093func (s *ModifyInstancePlacementInput) SetTenancy(v string) *ModifyInstancePlacementInput {
84094	s.Tenancy = &v
84095	return s
84096}
84097
84098type ModifyInstancePlacementOutput struct {
84099	_ struct{} `type:"structure"`
84100
84101	// Is true if the request succeeds, and an error otherwise.
84102	Return *bool `locationName:"return" type:"boolean"`
84103}
84104
84105// String returns the string representation
84106func (s ModifyInstancePlacementOutput) String() string {
84107	return awsutil.Prettify(s)
84108}
84109
84110// GoString returns the string representation
84111func (s ModifyInstancePlacementOutput) GoString() string {
84112	return s.String()
84113}
84114
84115// SetReturn sets the Return field's value.
84116func (s *ModifyInstancePlacementOutput) SetReturn(v bool) *ModifyInstancePlacementOutput {
84117	s.Return = &v
84118	return s
84119}
84120
84121type ModifyLaunchTemplateInput struct {
84122	_ struct{} `type:"structure"`
84123
84124	// Unique, case-sensitive identifier you provide to ensure the idempotency of
84125	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
84126	//
84127	// Constraint: Maximum 128 ASCII characters.
84128	ClientToken *string `type:"string"`
84129
84130	// The version number of the launch template to set as the default version.
84131	DefaultVersion *string `locationName:"SetDefaultVersion" type:"string"`
84132
84133	// Checks whether you have the required permissions for the action, without
84134	// actually making the request, and provides an error response. If you have
84135	// the required permissions, the error response is DryRunOperation. Otherwise,
84136	// it is UnauthorizedOperation.
84137	DryRun *bool `type:"boolean"`
84138
84139	// The ID of the launch template. You must specify either the launch template
84140	// ID or launch template name in the request.
84141	LaunchTemplateId *string `type:"string"`
84142
84143	// The name of the launch template. You must specify either the launch template
84144	// ID or launch template name in the request.
84145	LaunchTemplateName *string `min:"3" type:"string"`
84146}
84147
84148// String returns the string representation
84149func (s ModifyLaunchTemplateInput) String() string {
84150	return awsutil.Prettify(s)
84151}
84152
84153// GoString returns the string representation
84154func (s ModifyLaunchTemplateInput) GoString() string {
84155	return s.String()
84156}
84157
84158// Validate inspects the fields of the type to determine if they are valid.
84159func (s *ModifyLaunchTemplateInput) Validate() error {
84160	invalidParams := request.ErrInvalidParams{Context: "ModifyLaunchTemplateInput"}
84161	if s.LaunchTemplateName != nil && len(*s.LaunchTemplateName) < 3 {
84162		invalidParams.Add(request.NewErrParamMinLen("LaunchTemplateName", 3))
84163	}
84164
84165	if invalidParams.Len() > 0 {
84166		return invalidParams
84167	}
84168	return nil
84169}
84170
84171// SetClientToken sets the ClientToken field's value.
84172func (s *ModifyLaunchTemplateInput) SetClientToken(v string) *ModifyLaunchTemplateInput {
84173	s.ClientToken = &v
84174	return s
84175}
84176
84177// SetDefaultVersion sets the DefaultVersion field's value.
84178func (s *ModifyLaunchTemplateInput) SetDefaultVersion(v string) *ModifyLaunchTemplateInput {
84179	s.DefaultVersion = &v
84180	return s
84181}
84182
84183// SetDryRun sets the DryRun field's value.
84184func (s *ModifyLaunchTemplateInput) SetDryRun(v bool) *ModifyLaunchTemplateInput {
84185	s.DryRun = &v
84186	return s
84187}
84188
84189// SetLaunchTemplateId sets the LaunchTemplateId field's value.
84190func (s *ModifyLaunchTemplateInput) SetLaunchTemplateId(v string) *ModifyLaunchTemplateInput {
84191	s.LaunchTemplateId = &v
84192	return s
84193}
84194
84195// SetLaunchTemplateName sets the LaunchTemplateName field's value.
84196func (s *ModifyLaunchTemplateInput) SetLaunchTemplateName(v string) *ModifyLaunchTemplateInput {
84197	s.LaunchTemplateName = &v
84198	return s
84199}
84200
84201type ModifyLaunchTemplateOutput struct {
84202	_ struct{} `type:"structure"`
84203
84204	// Information about the launch template.
84205	LaunchTemplate *LaunchTemplate `locationName:"launchTemplate" type:"structure"`
84206}
84207
84208// String returns the string representation
84209func (s ModifyLaunchTemplateOutput) String() string {
84210	return awsutil.Prettify(s)
84211}
84212
84213// GoString returns the string representation
84214func (s ModifyLaunchTemplateOutput) GoString() string {
84215	return s.String()
84216}
84217
84218// SetLaunchTemplate sets the LaunchTemplate field's value.
84219func (s *ModifyLaunchTemplateOutput) SetLaunchTemplate(v *LaunchTemplate) *ModifyLaunchTemplateOutput {
84220	s.LaunchTemplate = v
84221	return s
84222}
84223
84224// Contains the parameters for ModifyNetworkInterfaceAttribute.
84225type ModifyNetworkInterfaceAttributeInput struct {
84226	_ struct{} `type:"structure"`
84227
84228	// Information about the interface attachment. If modifying the 'delete on termination'
84229	// attribute, you must specify the ID of the interface attachment.
84230	Attachment *NetworkInterfaceAttachmentChanges `locationName:"attachment" type:"structure"`
84231
84232	// A description for the network interface.
84233	Description *AttributeValue `locationName:"description" type:"structure"`
84234
84235	// Checks whether you have the required permissions for the action, without
84236	// actually making the request, and provides an error response. If you have
84237	// the required permissions, the error response is DryRunOperation. Otherwise,
84238	// it is UnauthorizedOperation.
84239	DryRun *bool `locationName:"dryRun" type:"boolean"`
84240
84241	// Changes the security groups for the network interface. The new set of groups
84242	// you specify replaces the current set. You must specify at least one group,
84243	// even if it's just the default security group in the VPC. You must specify
84244	// the ID of the security group, not the name.
84245	Groups []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
84246
84247	// The ID of the network interface.
84248	//
84249	// NetworkInterfaceId is a required field
84250	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
84251
84252	// Indicates whether source/destination checking is enabled. A value of true
84253	// means checking is enabled, and false means checking is disabled. This value
84254	// must be false for a NAT instance to perform NAT. For more information, see
84255	// NAT Instances (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
84256	// in the Amazon Virtual Private Cloud User Guide.
84257	SourceDestCheck *AttributeBooleanValue `locationName:"sourceDestCheck" type:"structure"`
84258}
84259
84260// String returns the string representation
84261func (s ModifyNetworkInterfaceAttributeInput) String() string {
84262	return awsutil.Prettify(s)
84263}
84264
84265// GoString returns the string representation
84266func (s ModifyNetworkInterfaceAttributeInput) GoString() string {
84267	return s.String()
84268}
84269
84270// Validate inspects the fields of the type to determine if they are valid.
84271func (s *ModifyNetworkInterfaceAttributeInput) Validate() error {
84272	invalidParams := request.ErrInvalidParams{Context: "ModifyNetworkInterfaceAttributeInput"}
84273	if s.NetworkInterfaceId == nil {
84274		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
84275	}
84276
84277	if invalidParams.Len() > 0 {
84278		return invalidParams
84279	}
84280	return nil
84281}
84282
84283// SetAttachment sets the Attachment field's value.
84284func (s *ModifyNetworkInterfaceAttributeInput) SetAttachment(v *NetworkInterfaceAttachmentChanges) *ModifyNetworkInterfaceAttributeInput {
84285	s.Attachment = v
84286	return s
84287}
84288
84289// SetDescription sets the Description field's value.
84290func (s *ModifyNetworkInterfaceAttributeInput) SetDescription(v *AttributeValue) *ModifyNetworkInterfaceAttributeInput {
84291	s.Description = v
84292	return s
84293}
84294
84295// SetDryRun sets the DryRun field's value.
84296func (s *ModifyNetworkInterfaceAttributeInput) SetDryRun(v bool) *ModifyNetworkInterfaceAttributeInput {
84297	s.DryRun = &v
84298	return s
84299}
84300
84301// SetGroups sets the Groups field's value.
84302func (s *ModifyNetworkInterfaceAttributeInput) SetGroups(v []*string) *ModifyNetworkInterfaceAttributeInput {
84303	s.Groups = v
84304	return s
84305}
84306
84307// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
84308func (s *ModifyNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ModifyNetworkInterfaceAttributeInput {
84309	s.NetworkInterfaceId = &v
84310	return s
84311}
84312
84313// SetSourceDestCheck sets the SourceDestCheck field's value.
84314func (s *ModifyNetworkInterfaceAttributeInput) SetSourceDestCheck(v *AttributeBooleanValue) *ModifyNetworkInterfaceAttributeInput {
84315	s.SourceDestCheck = v
84316	return s
84317}
84318
84319type ModifyNetworkInterfaceAttributeOutput struct {
84320	_ struct{} `type:"structure"`
84321}
84322
84323// String returns the string representation
84324func (s ModifyNetworkInterfaceAttributeOutput) String() string {
84325	return awsutil.Prettify(s)
84326}
84327
84328// GoString returns the string representation
84329func (s ModifyNetworkInterfaceAttributeOutput) GoString() string {
84330	return s.String()
84331}
84332
84333// Contains the parameters for ModifyReservedInstances.
84334type ModifyReservedInstancesInput struct {
84335	_ struct{} `type:"structure"`
84336
84337	// A unique, case-sensitive token you provide to ensure idempotency of your
84338	// modification request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
84339	ClientToken *string `locationName:"clientToken" type:"string"`
84340
84341	// The IDs of the Reserved Instances to modify.
84342	//
84343	// ReservedInstancesIds is a required field
84344	ReservedInstancesIds []*string `locationName:"ReservedInstancesId" locationNameList:"ReservedInstancesId" type:"list" required:"true"`
84345
84346	// The configuration settings for the Reserved Instances to modify.
84347	//
84348	// TargetConfigurations is a required field
84349	TargetConfigurations []*ReservedInstancesConfiguration `locationName:"ReservedInstancesConfigurationSetItemType" locationNameList:"item" type:"list" required:"true"`
84350}
84351
84352// String returns the string representation
84353func (s ModifyReservedInstancesInput) String() string {
84354	return awsutil.Prettify(s)
84355}
84356
84357// GoString returns the string representation
84358func (s ModifyReservedInstancesInput) GoString() string {
84359	return s.String()
84360}
84361
84362// Validate inspects the fields of the type to determine if they are valid.
84363func (s *ModifyReservedInstancesInput) Validate() error {
84364	invalidParams := request.ErrInvalidParams{Context: "ModifyReservedInstancesInput"}
84365	if s.ReservedInstancesIds == nil {
84366		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesIds"))
84367	}
84368	if s.TargetConfigurations == nil {
84369		invalidParams.Add(request.NewErrParamRequired("TargetConfigurations"))
84370	}
84371
84372	if invalidParams.Len() > 0 {
84373		return invalidParams
84374	}
84375	return nil
84376}
84377
84378// SetClientToken sets the ClientToken field's value.
84379func (s *ModifyReservedInstancesInput) SetClientToken(v string) *ModifyReservedInstancesInput {
84380	s.ClientToken = &v
84381	return s
84382}
84383
84384// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
84385func (s *ModifyReservedInstancesInput) SetReservedInstancesIds(v []*string) *ModifyReservedInstancesInput {
84386	s.ReservedInstancesIds = v
84387	return s
84388}
84389
84390// SetTargetConfigurations sets the TargetConfigurations field's value.
84391func (s *ModifyReservedInstancesInput) SetTargetConfigurations(v []*ReservedInstancesConfiguration) *ModifyReservedInstancesInput {
84392	s.TargetConfigurations = v
84393	return s
84394}
84395
84396// Contains the output of ModifyReservedInstances.
84397type ModifyReservedInstancesOutput struct {
84398	_ struct{} `type:"structure"`
84399
84400	// The ID for the modification.
84401	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
84402}
84403
84404// String returns the string representation
84405func (s ModifyReservedInstancesOutput) String() string {
84406	return awsutil.Prettify(s)
84407}
84408
84409// GoString returns the string representation
84410func (s ModifyReservedInstancesOutput) GoString() string {
84411	return s.String()
84412}
84413
84414// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
84415func (s *ModifyReservedInstancesOutput) SetReservedInstancesModificationId(v string) *ModifyReservedInstancesOutput {
84416	s.ReservedInstancesModificationId = &v
84417	return s
84418}
84419
84420type ModifySnapshotAttributeInput struct {
84421	_ struct{} `type:"structure"`
84422
84423	// The snapshot attribute to modify. Only volume creation permissions can be
84424	// modified.
84425	Attribute *string `type:"string" enum:"SnapshotAttributeName"`
84426
84427	// A JSON representation of the snapshot attribute modification.
84428	CreateVolumePermission *CreateVolumePermissionModifications `type:"structure"`
84429
84430	// Checks whether you have the required permissions for the action, without
84431	// actually making the request, and provides an error response. If you have
84432	// the required permissions, the error response is DryRunOperation. Otherwise,
84433	// it is UnauthorizedOperation.
84434	DryRun *bool `locationName:"dryRun" type:"boolean"`
84435
84436	// The group to modify for the snapshot.
84437	GroupNames []*string `locationName:"UserGroup" locationNameList:"GroupName" type:"list"`
84438
84439	// The type of operation to perform to the attribute.
84440	OperationType *string `type:"string" enum:"OperationType"`
84441
84442	// The ID of the snapshot.
84443	//
84444	// SnapshotId is a required field
84445	SnapshotId *string `type:"string" required:"true"`
84446
84447	// The account ID to modify for the snapshot.
84448	UserIds []*string `locationName:"UserId" locationNameList:"UserId" type:"list"`
84449}
84450
84451// String returns the string representation
84452func (s ModifySnapshotAttributeInput) String() string {
84453	return awsutil.Prettify(s)
84454}
84455
84456// GoString returns the string representation
84457func (s ModifySnapshotAttributeInput) GoString() string {
84458	return s.String()
84459}
84460
84461// Validate inspects the fields of the type to determine if they are valid.
84462func (s *ModifySnapshotAttributeInput) Validate() error {
84463	invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotAttributeInput"}
84464	if s.SnapshotId == nil {
84465		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
84466	}
84467
84468	if invalidParams.Len() > 0 {
84469		return invalidParams
84470	}
84471	return nil
84472}
84473
84474// SetAttribute sets the Attribute field's value.
84475func (s *ModifySnapshotAttributeInput) SetAttribute(v string) *ModifySnapshotAttributeInput {
84476	s.Attribute = &v
84477	return s
84478}
84479
84480// SetCreateVolumePermission sets the CreateVolumePermission field's value.
84481func (s *ModifySnapshotAttributeInput) SetCreateVolumePermission(v *CreateVolumePermissionModifications) *ModifySnapshotAttributeInput {
84482	s.CreateVolumePermission = v
84483	return s
84484}
84485
84486// SetDryRun sets the DryRun field's value.
84487func (s *ModifySnapshotAttributeInput) SetDryRun(v bool) *ModifySnapshotAttributeInput {
84488	s.DryRun = &v
84489	return s
84490}
84491
84492// SetGroupNames sets the GroupNames field's value.
84493func (s *ModifySnapshotAttributeInput) SetGroupNames(v []*string) *ModifySnapshotAttributeInput {
84494	s.GroupNames = v
84495	return s
84496}
84497
84498// SetOperationType sets the OperationType field's value.
84499func (s *ModifySnapshotAttributeInput) SetOperationType(v string) *ModifySnapshotAttributeInput {
84500	s.OperationType = &v
84501	return s
84502}
84503
84504// SetSnapshotId sets the SnapshotId field's value.
84505func (s *ModifySnapshotAttributeInput) SetSnapshotId(v string) *ModifySnapshotAttributeInput {
84506	s.SnapshotId = &v
84507	return s
84508}
84509
84510// SetUserIds sets the UserIds field's value.
84511func (s *ModifySnapshotAttributeInput) SetUserIds(v []*string) *ModifySnapshotAttributeInput {
84512	s.UserIds = v
84513	return s
84514}
84515
84516type ModifySnapshotAttributeOutput struct {
84517	_ struct{} `type:"structure"`
84518}
84519
84520// String returns the string representation
84521func (s ModifySnapshotAttributeOutput) String() string {
84522	return awsutil.Prettify(s)
84523}
84524
84525// GoString returns the string representation
84526func (s ModifySnapshotAttributeOutput) GoString() string {
84527	return s.String()
84528}
84529
84530// Contains the parameters for ModifySpotFleetRequest.
84531type ModifySpotFleetRequestInput struct {
84532	_ struct{} `type:"structure"`
84533
84534	// Indicates whether running Spot Instances should be terminated if the target
84535	// capacity of the Spot Fleet request is decreased below the current size of
84536	// the Spot Fleet.
84537	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
84538
84539	// The number of On-Demand Instances in the fleet.
84540	OnDemandTargetCapacity *int64 `type:"integer"`
84541
84542	// The ID of the Spot Fleet request.
84543	//
84544	// SpotFleetRequestId is a required field
84545	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string" required:"true"`
84546
84547	// The size of the fleet.
84548	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer"`
84549}
84550
84551// String returns the string representation
84552func (s ModifySpotFleetRequestInput) String() string {
84553	return awsutil.Prettify(s)
84554}
84555
84556// GoString returns the string representation
84557func (s ModifySpotFleetRequestInput) GoString() string {
84558	return s.String()
84559}
84560
84561// Validate inspects the fields of the type to determine if they are valid.
84562func (s *ModifySpotFleetRequestInput) Validate() error {
84563	invalidParams := request.ErrInvalidParams{Context: "ModifySpotFleetRequestInput"}
84564	if s.SpotFleetRequestId == nil {
84565		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestId"))
84566	}
84567
84568	if invalidParams.Len() > 0 {
84569		return invalidParams
84570	}
84571	return nil
84572}
84573
84574// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
84575func (s *ModifySpotFleetRequestInput) SetExcessCapacityTerminationPolicy(v string) *ModifySpotFleetRequestInput {
84576	s.ExcessCapacityTerminationPolicy = &v
84577	return s
84578}
84579
84580// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
84581func (s *ModifySpotFleetRequestInput) SetOnDemandTargetCapacity(v int64) *ModifySpotFleetRequestInput {
84582	s.OnDemandTargetCapacity = &v
84583	return s
84584}
84585
84586// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
84587func (s *ModifySpotFleetRequestInput) SetSpotFleetRequestId(v string) *ModifySpotFleetRequestInput {
84588	s.SpotFleetRequestId = &v
84589	return s
84590}
84591
84592// SetTargetCapacity sets the TargetCapacity field's value.
84593func (s *ModifySpotFleetRequestInput) SetTargetCapacity(v int64) *ModifySpotFleetRequestInput {
84594	s.TargetCapacity = &v
84595	return s
84596}
84597
84598// Contains the output of ModifySpotFleetRequest.
84599type ModifySpotFleetRequestOutput struct {
84600	_ struct{} `type:"structure"`
84601
84602	// Is true if the request succeeds, and an error otherwise.
84603	Return *bool `locationName:"return" type:"boolean"`
84604}
84605
84606// String returns the string representation
84607func (s ModifySpotFleetRequestOutput) String() string {
84608	return awsutil.Prettify(s)
84609}
84610
84611// GoString returns the string representation
84612func (s ModifySpotFleetRequestOutput) GoString() string {
84613	return s.String()
84614}
84615
84616// SetReturn sets the Return field's value.
84617func (s *ModifySpotFleetRequestOutput) SetReturn(v bool) *ModifySpotFleetRequestOutput {
84618	s.Return = &v
84619	return s
84620}
84621
84622type ModifySubnetAttributeInput struct {
84623	_ struct{} `type:"structure"`
84624
84625	// Specify true to indicate that network interfaces created in the specified
84626	// subnet should be assigned an IPv6 address. This includes a network interface
84627	// that's created when launching an instance into the subnet (the instance therefore
84628	// receives an IPv6 address).
84629	//
84630	// If you enable the IPv6 addressing feature for your subnet, your network interface
84631	// or instance only receives an IPv6 address if it's created using version 2016-11-15
84632	// or later of the Amazon EC2 API.
84633	AssignIpv6AddressOnCreation *AttributeBooleanValue `type:"structure"`
84634
84635	// Specify true to indicate that ENIs attached to instances created in the specified
84636	// subnet should be assigned a public IPv4 address.
84637	MapPublicIpOnLaunch *AttributeBooleanValue `type:"structure"`
84638
84639	// The ID of the subnet.
84640	//
84641	// SubnetId is a required field
84642	SubnetId *string `locationName:"subnetId" type:"string" required:"true"`
84643}
84644
84645// String returns the string representation
84646func (s ModifySubnetAttributeInput) String() string {
84647	return awsutil.Prettify(s)
84648}
84649
84650// GoString returns the string representation
84651func (s ModifySubnetAttributeInput) GoString() string {
84652	return s.String()
84653}
84654
84655// Validate inspects the fields of the type to determine if they are valid.
84656func (s *ModifySubnetAttributeInput) Validate() error {
84657	invalidParams := request.ErrInvalidParams{Context: "ModifySubnetAttributeInput"}
84658	if s.SubnetId == nil {
84659		invalidParams.Add(request.NewErrParamRequired("SubnetId"))
84660	}
84661
84662	if invalidParams.Len() > 0 {
84663		return invalidParams
84664	}
84665	return nil
84666}
84667
84668// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
84669func (s *ModifySubnetAttributeInput) SetAssignIpv6AddressOnCreation(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
84670	s.AssignIpv6AddressOnCreation = v
84671	return s
84672}
84673
84674// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
84675func (s *ModifySubnetAttributeInput) SetMapPublicIpOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput {
84676	s.MapPublicIpOnLaunch = v
84677	return s
84678}
84679
84680// SetSubnetId sets the SubnetId field's value.
84681func (s *ModifySubnetAttributeInput) SetSubnetId(v string) *ModifySubnetAttributeInput {
84682	s.SubnetId = &v
84683	return s
84684}
84685
84686type ModifySubnetAttributeOutput struct {
84687	_ struct{} `type:"structure"`
84688}
84689
84690// String returns the string representation
84691func (s ModifySubnetAttributeOutput) String() string {
84692	return awsutil.Prettify(s)
84693}
84694
84695// GoString returns the string representation
84696func (s ModifySubnetAttributeOutput) GoString() string {
84697	return s.String()
84698}
84699
84700type ModifyTrafficMirrorFilterNetworkServicesInput struct {
84701	_ struct{} `type:"structure"`
84702
84703	// The network service, for example Amazon DNS, that you want to mirror.
84704	AddNetworkServices []*string `locationName:"AddNetworkService" locationNameList:"item" type:"list"`
84705
84706	// Checks whether you have the required permissions for the action, without
84707	// actually making the request, and provides an error response. If you have
84708	// the required permissions, the error response is DryRunOperation. Otherwise,
84709	// it is UnauthorizedOperation.
84710	DryRun *bool `type:"boolean"`
84711
84712	// The network service, for example Amazon DNS, that you no longer want to mirror.
84713	RemoveNetworkServices []*string `locationName:"RemoveNetworkService" locationNameList:"item" type:"list"`
84714
84715	// The ID of the Traffic Mirror filter.
84716	//
84717	// TrafficMirrorFilterId is a required field
84718	TrafficMirrorFilterId *string `type:"string" required:"true"`
84719}
84720
84721// String returns the string representation
84722func (s ModifyTrafficMirrorFilterNetworkServicesInput) String() string {
84723	return awsutil.Prettify(s)
84724}
84725
84726// GoString returns the string representation
84727func (s ModifyTrafficMirrorFilterNetworkServicesInput) GoString() string {
84728	return s.String()
84729}
84730
84731// Validate inspects the fields of the type to determine if they are valid.
84732func (s *ModifyTrafficMirrorFilterNetworkServicesInput) Validate() error {
84733	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterNetworkServicesInput"}
84734	if s.TrafficMirrorFilterId == nil {
84735		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterId"))
84736	}
84737
84738	if invalidParams.Len() > 0 {
84739		return invalidParams
84740	}
84741	return nil
84742}
84743
84744// SetAddNetworkServices sets the AddNetworkServices field's value.
84745func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetAddNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
84746	s.AddNetworkServices = v
84747	return s
84748}
84749
84750// SetDryRun sets the DryRun field's value.
84751func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterNetworkServicesInput {
84752	s.DryRun = &v
84753	return s
84754}
84755
84756// SetRemoveNetworkServices sets the RemoveNetworkServices field's value.
84757func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetRemoveNetworkServices(v []*string) *ModifyTrafficMirrorFilterNetworkServicesInput {
84758	s.RemoveNetworkServices = v
84759	return s
84760}
84761
84762// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
84763func (s *ModifyTrafficMirrorFilterNetworkServicesInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorFilterNetworkServicesInput {
84764	s.TrafficMirrorFilterId = &v
84765	return s
84766}
84767
84768type ModifyTrafficMirrorFilterNetworkServicesOutput struct {
84769	_ struct{} `type:"structure"`
84770
84771	// The Traffic Mirror filter that the network service is associated with.
84772	TrafficMirrorFilter *TrafficMirrorFilter `locationName:"trafficMirrorFilter" type:"structure"`
84773}
84774
84775// String returns the string representation
84776func (s ModifyTrafficMirrorFilterNetworkServicesOutput) String() string {
84777	return awsutil.Prettify(s)
84778}
84779
84780// GoString returns the string representation
84781func (s ModifyTrafficMirrorFilterNetworkServicesOutput) GoString() string {
84782	return s.String()
84783}
84784
84785// SetTrafficMirrorFilter sets the TrafficMirrorFilter field's value.
84786func (s *ModifyTrafficMirrorFilterNetworkServicesOutput) SetTrafficMirrorFilter(v *TrafficMirrorFilter) *ModifyTrafficMirrorFilterNetworkServicesOutput {
84787	s.TrafficMirrorFilter = v
84788	return s
84789}
84790
84791type ModifyTrafficMirrorFilterRuleInput struct {
84792	_ struct{} `type:"structure"`
84793
84794	// The description to assign to the Traffic Mirror rule.
84795	Description *string `type:"string"`
84796
84797	// The destination CIDR block to assign to the Traffic Mirror rule.
84798	DestinationCidrBlock *string `type:"string"`
84799
84800	// The destination ports that are associated with the Traffic Mirror rule.
84801	DestinationPortRange *TrafficMirrorPortRangeRequest `type:"structure"`
84802
84803	// Checks whether you have the required permissions for the action, without
84804	// actually making the request, and provides an error response. If you have
84805	// the required permissions, the error response is DryRunOperation. Otherwise,
84806	// it is UnauthorizedOperation.
84807	DryRun *bool `type:"boolean"`
84808
84809	// The protocol, for example TCP, to assign to the Traffic Mirror rule.
84810	Protocol *int64 `type:"integer"`
84811
84812	// The properties that you want to remove from the Traffic Mirror filter rule.
84813	//
84814	// When you remove a property from a Traffic Mirror filter rule, the property
84815	// is set to the default.
84816	RemoveFields []*string `locationName:"RemoveField" type:"list"`
84817
84818	// The action to assign to the rule.
84819	RuleAction *string `type:"string" enum:"TrafficMirrorRuleAction"`
84820
84821	// The number of the Traffic Mirror rule. This number must be unique for each
84822	// Traffic Mirror rule in a given direction. The rules are processed in ascending
84823	// order by rule number.
84824	RuleNumber *int64 `type:"integer"`
84825
84826	// The source CIDR block to assign to the Traffic Mirror rule.
84827	SourceCidrBlock *string `type:"string"`
84828
84829	// The port range to assign to the Traffic Mirror rule.
84830	SourcePortRange *TrafficMirrorPortRangeRequest `type:"structure"`
84831
84832	// The type of traffic (ingress | egress) to assign to the rule.
84833	TrafficDirection *string `type:"string" enum:"TrafficDirection"`
84834
84835	// The ID of the Traffic Mirror rule.
84836	//
84837	// TrafficMirrorFilterRuleId is a required field
84838	TrafficMirrorFilterRuleId *string `type:"string" required:"true"`
84839}
84840
84841// String returns the string representation
84842func (s ModifyTrafficMirrorFilterRuleInput) String() string {
84843	return awsutil.Prettify(s)
84844}
84845
84846// GoString returns the string representation
84847func (s ModifyTrafficMirrorFilterRuleInput) GoString() string {
84848	return s.String()
84849}
84850
84851// Validate inspects the fields of the type to determine if they are valid.
84852func (s *ModifyTrafficMirrorFilterRuleInput) Validate() error {
84853	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorFilterRuleInput"}
84854	if s.TrafficMirrorFilterRuleId == nil {
84855		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorFilterRuleId"))
84856	}
84857
84858	if invalidParams.Len() > 0 {
84859		return invalidParams
84860	}
84861	return nil
84862}
84863
84864// SetDescription sets the Description field's value.
84865func (s *ModifyTrafficMirrorFilterRuleInput) SetDescription(v string) *ModifyTrafficMirrorFilterRuleInput {
84866	s.Description = &v
84867	return s
84868}
84869
84870// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
84871func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
84872	s.DestinationCidrBlock = &v
84873	return s
84874}
84875
84876// SetDestinationPortRange sets the DestinationPortRange field's value.
84877func (s *ModifyTrafficMirrorFilterRuleInput) SetDestinationPortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
84878	s.DestinationPortRange = v
84879	return s
84880}
84881
84882// SetDryRun sets the DryRun field's value.
84883func (s *ModifyTrafficMirrorFilterRuleInput) SetDryRun(v bool) *ModifyTrafficMirrorFilterRuleInput {
84884	s.DryRun = &v
84885	return s
84886}
84887
84888// SetProtocol sets the Protocol field's value.
84889func (s *ModifyTrafficMirrorFilterRuleInput) SetProtocol(v int64) *ModifyTrafficMirrorFilterRuleInput {
84890	s.Protocol = &v
84891	return s
84892}
84893
84894// SetRemoveFields sets the RemoveFields field's value.
84895func (s *ModifyTrafficMirrorFilterRuleInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorFilterRuleInput {
84896	s.RemoveFields = v
84897	return s
84898}
84899
84900// SetRuleAction sets the RuleAction field's value.
84901func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleAction(v string) *ModifyTrafficMirrorFilterRuleInput {
84902	s.RuleAction = &v
84903	return s
84904}
84905
84906// SetRuleNumber sets the RuleNumber field's value.
84907func (s *ModifyTrafficMirrorFilterRuleInput) SetRuleNumber(v int64) *ModifyTrafficMirrorFilterRuleInput {
84908	s.RuleNumber = &v
84909	return s
84910}
84911
84912// SetSourceCidrBlock sets the SourceCidrBlock field's value.
84913func (s *ModifyTrafficMirrorFilterRuleInput) SetSourceCidrBlock(v string) *ModifyTrafficMirrorFilterRuleInput {
84914	s.SourceCidrBlock = &v
84915	return s
84916}
84917
84918// SetSourcePortRange sets the SourcePortRange field's value.
84919func (s *ModifyTrafficMirrorFilterRuleInput) SetSourcePortRange(v *TrafficMirrorPortRangeRequest) *ModifyTrafficMirrorFilterRuleInput {
84920	s.SourcePortRange = v
84921	return s
84922}
84923
84924// SetTrafficDirection sets the TrafficDirection field's value.
84925func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficDirection(v string) *ModifyTrafficMirrorFilterRuleInput {
84926	s.TrafficDirection = &v
84927	return s
84928}
84929
84930// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
84931func (s *ModifyTrafficMirrorFilterRuleInput) SetTrafficMirrorFilterRuleId(v string) *ModifyTrafficMirrorFilterRuleInput {
84932	s.TrafficMirrorFilterRuleId = &v
84933	return s
84934}
84935
84936type ModifyTrafficMirrorFilterRuleOutput struct {
84937	_ struct{} `type:"structure"`
84938
84939	// Modifies a Traffic Mirror rule.
84940	TrafficMirrorFilterRule *TrafficMirrorFilterRule `locationName:"trafficMirrorFilterRule" type:"structure"`
84941}
84942
84943// String returns the string representation
84944func (s ModifyTrafficMirrorFilterRuleOutput) String() string {
84945	return awsutil.Prettify(s)
84946}
84947
84948// GoString returns the string representation
84949func (s ModifyTrafficMirrorFilterRuleOutput) GoString() string {
84950	return s.String()
84951}
84952
84953// SetTrafficMirrorFilterRule sets the TrafficMirrorFilterRule field's value.
84954func (s *ModifyTrafficMirrorFilterRuleOutput) SetTrafficMirrorFilterRule(v *TrafficMirrorFilterRule) *ModifyTrafficMirrorFilterRuleOutput {
84955	s.TrafficMirrorFilterRule = v
84956	return s
84957}
84958
84959type ModifyTrafficMirrorSessionInput struct {
84960	_ struct{} `type:"structure"`
84961
84962	// The description to assign to the Traffic Mirror session.
84963	Description *string `type:"string"`
84964
84965	// Checks whether you have the required permissions for the action, without
84966	// actually making the request, and provides an error response. If you have
84967	// the required permissions, the error response is DryRunOperation. Otherwise,
84968	// it is UnauthorizedOperation.
84969	DryRun *bool `type:"boolean"`
84970
84971	// The number of bytes in each packet to mirror. These are bytes after the VXLAN
84972	// header. To mirror a subset, set this to the length (in bytes) to mirror.
84973	// For example, if you set this value to 100, then the first 100 bytes that
84974	// meet the filter criteria are copied to the target. Do not specify this parameter
84975	// when you want to mirror the entire packet.
84976	PacketLength *int64 `type:"integer"`
84977
84978	// The properties that you want to remove from the Traffic Mirror session.
84979	//
84980	// When you remove a property from a Traffic Mirror session, the property is
84981	// set to the default.
84982	RemoveFields []*string `locationName:"RemoveField" type:"list"`
84983
84984	// The session number determines the order in which sessions are evaluated when
84985	// an interface is used by multiple sessions. The first session with a matching
84986	// filter is the one that mirrors the packets.
84987	//
84988	// Valid values are 1-32766.
84989	SessionNumber *int64 `type:"integer"`
84990
84991	// The ID of the Traffic Mirror filter.
84992	TrafficMirrorFilterId *string `type:"string"`
84993
84994	// The ID of the Traffic Mirror session.
84995	//
84996	// TrafficMirrorSessionId is a required field
84997	TrafficMirrorSessionId *string `type:"string" required:"true"`
84998
84999	// The Traffic Mirror target. The target must be in the same VPC as the source,
85000	// or have a VPC peering connection with the source.
85001	TrafficMirrorTargetId *string `type:"string"`
85002
85003	// The virtual network ID of the Traffic Mirror session.
85004	VirtualNetworkId *int64 `type:"integer"`
85005}
85006
85007// String returns the string representation
85008func (s ModifyTrafficMirrorSessionInput) String() string {
85009	return awsutil.Prettify(s)
85010}
85011
85012// GoString returns the string representation
85013func (s ModifyTrafficMirrorSessionInput) GoString() string {
85014	return s.String()
85015}
85016
85017// Validate inspects the fields of the type to determine if they are valid.
85018func (s *ModifyTrafficMirrorSessionInput) Validate() error {
85019	invalidParams := request.ErrInvalidParams{Context: "ModifyTrafficMirrorSessionInput"}
85020	if s.TrafficMirrorSessionId == nil {
85021		invalidParams.Add(request.NewErrParamRequired("TrafficMirrorSessionId"))
85022	}
85023
85024	if invalidParams.Len() > 0 {
85025		return invalidParams
85026	}
85027	return nil
85028}
85029
85030// SetDescription sets the Description field's value.
85031func (s *ModifyTrafficMirrorSessionInput) SetDescription(v string) *ModifyTrafficMirrorSessionInput {
85032	s.Description = &v
85033	return s
85034}
85035
85036// SetDryRun sets the DryRun field's value.
85037func (s *ModifyTrafficMirrorSessionInput) SetDryRun(v bool) *ModifyTrafficMirrorSessionInput {
85038	s.DryRun = &v
85039	return s
85040}
85041
85042// SetPacketLength sets the PacketLength field's value.
85043func (s *ModifyTrafficMirrorSessionInput) SetPacketLength(v int64) *ModifyTrafficMirrorSessionInput {
85044	s.PacketLength = &v
85045	return s
85046}
85047
85048// SetRemoveFields sets the RemoveFields field's value.
85049func (s *ModifyTrafficMirrorSessionInput) SetRemoveFields(v []*string) *ModifyTrafficMirrorSessionInput {
85050	s.RemoveFields = v
85051	return s
85052}
85053
85054// SetSessionNumber sets the SessionNumber field's value.
85055func (s *ModifyTrafficMirrorSessionInput) SetSessionNumber(v int64) *ModifyTrafficMirrorSessionInput {
85056	s.SessionNumber = &v
85057	return s
85058}
85059
85060// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
85061func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorFilterId(v string) *ModifyTrafficMirrorSessionInput {
85062	s.TrafficMirrorFilterId = &v
85063	return s
85064}
85065
85066// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
85067func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorSessionId(v string) *ModifyTrafficMirrorSessionInput {
85068	s.TrafficMirrorSessionId = &v
85069	return s
85070}
85071
85072// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
85073func (s *ModifyTrafficMirrorSessionInput) SetTrafficMirrorTargetId(v string) *ModifyTrafficMirrorSessionInput {
85074	s.TrafficMirrorTargetId = &v
85075	return s
85076}
85077
85078// SetVirtualNetworkId sets the VirtualNetworkId field's value.
85079func (s *ModifyTrafficMirrorSessionInput) SetVirtualNetworkId(v int64) *ModifyTrafficMirrorSessionInput {
85080	s.VirtualNetworkId = &v
85081	return s
85082}
85083
85084type ModifyTrafficMirrorSessionOutput struct {
85085	_ struct{} `type:"structure"`
85086
85087	// Information about the Traffic Mirror session.
85088	TrafficMirrorSession *TrafficMirrorSession `locationName:"trafficMirrorSession" type:"structure"`
85089}
85090
85091// String returns the string representation
85092func (s ModifyTrafficMirrorSessionOutput) String() string {
85093	return awsutil.Prettify(s)
85094}
85095
85096// GoString returns the string representation
85097func (s ModifyTrafficMirrorSessionOutput) GoString() string {
85098	return s.String()
85099}
85100
85101// SetTrafficMirrorSession sets the TrafficMirrorSession field's value.
85102func (s *ModifyTrafficMirrorSessionOutput) SetTrafficMirrorSession(v *TrafficMirrorSession) *ModifyTrafficMirrorSessionOutput {
85103	s.TrafficMirrorSession = v
85104	return s
85105}
85106
85107type ModifyTransitGatewayVpcAttachmentInput struct {
85108	_ struct{} `type:"structure"`
85109
85110	// The IDs of one or more subnets to add. You can specify at most one subnet
85111	// per Availability Zone.
85112	AddSubnetIds []*string `locationNameList:"item" type:"list"`
85113
85114	// Checks whether you have the required permissions for the action, without
85115	// actually making the request, and provides an error response. If you have
85116	// the required permissions, the error response is DryRunOperation. Otherwise,
85117	// it is UnauthorizedOperation.
85118	DryRun *bool `type:"boolean"`
85119
85120	// The new VPC attachment options.
85121	//
85122	// You cannot modify the IPv6 options.
85123	Options *ModifyTransitGatewayVpcAttachmentRequestOptions `type:"structure"`
85124
85125	// The IDs of one or more subnets to remove.
85126	RemoveSubnetIds []*string `locationNameList:"item" type:"list"`
85127
85128	// The ID of the attachment.
85129	//
85130	// TransitGatewayAttachmentId is a required field
85131	TransitGatewayAttachmentId *string `type:"string" required:"true"`
85132}
85133
85134// String returns the string representation
85135func (s ModifyTransitGatewayVpcAttachmentInput) String() string {
85136	return awsutil.Prettify(s)
85137}
85138
85139// GoString returns the string representation
85140func (s ModifyTransitGatewayVpcAttachmentInput) GoString() string {
85141	return s.String()
85142}
85143
85144// Validate inspects the fields of the type to determine if they are valid.
85145func (s *ModifyTransitGatewayVpcAttachmentInput) Validate() error {
85146	invalidParams := request.ErrInvalidParams{Context: "ModifyTransitGatewayVpcAttachmentInput"}
85147	if s.TransitGatewayAttachmentId == nil {
85148		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
85149	}
85150
85151	if invalidParams.Len() > 0 {
85152		return invalidParams
85153	}
85154	return nil
85155}
85156
85157// SetAddSubnetIds sets the AddSubnetIds field's value.
85158func (s *ModifyTransitGatewayVpcAttachmentInput) SetAddSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
85159	s.AddSubnetIds = v
85160	return s
85161}
85162
85163// SetDryRun sets the DryRun field's value.
85164func (s *ModifyTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *ModifyTransitGatewayVpcAttachmentInput {
85165	s.DryRun = &v
85166	return s
85167}
85168
85169// SetOptions sets the Options field's value.
85170func (s *ModifyTransitGatewayVpcAttachmentInput) SetOptions(v *ModifyTransitGatewayVpcAttachmentRequestOptions) *ModifyTransitGatewayVpcAttachmentInput {
85171	s.Options = v
85172	return s
85173}
85174
85175// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
85176func (s *ModifyTransitGatewayVpcAttachmentInput) SetRemoveSubnetIds(v []*string) *ModifyTransitGatewayVpcAttachmentInput {
85177	s.RemoveSubnetIds = v
85178	return s
85179}
85180
85181// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
85182func (s *ModifyTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *ModifyTransitGatewayVpcAttachmentInput {
85183	s.TransitGatewayAttachmentId = &v
85184	return s
85185}
85186
85187type ModifyTransitGatewayVpcAttachmentOutput struct {
85188	_ struct{} `type:"structure"`
85189
85190	// Information about the modified attachment.
85191	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
85192}
85193
85194// String returns the string representation
85195func (s ModifyTransitGatewayVpcAttachmentOutput) String() string {
85196	return awsutil.Prettify(s)
85197}
85198
85199// GoString returns the string representation
85200func (s ModifyTransitGatewayVpcAttachmentOutput) GoString() string {
85201	return s.String()
85202}
85203
85204// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
85205func (s *ModifyTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *ModifyTransitGatewayVpcAttachmentOutput {
85206	s.TransitGatewayVpcAttachment = v
85207	return s
85208}
85209
85210// Describes the options for a VPC attachment.
85211type ModifyTransitGatewayVpcAttachmentRequestOptions struct {
85212	_ struct{} `type:"structure"`
85213
85214	// Enable or disable DNS support. The default is enable.
85215	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
85216
85217	// Enable or disable IPv6 support. The default is enable.
85218	Ipv6Support *string `type:"string" enum:"Ipv6SupportValue"`
85219}
85220
85221// String returns the string representation
85222func (s ModifyTransitGatewayVpcAttachmentRequestOptions) String() string {
85223	return awsutil.Prettify(s)
85224}
85225
85226// GoString returns the string representation
85227func (s ModifyTransitGatewayVpcAttachmentRequestOptions) GoString() string {
85228	return s.String()
85229}
85230
85231// SetDnsSupport sets the DnsSupport field's value.
85232func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetDnsSupport(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
85233	s.DnsSupport = &v
85234	return s
85235}
85236
85237// SetIpv6Support sets the Ipv6Support field's value.
85238func (s *ModifyTransitGatewayVpcAttachmentRequestOptions) SetIpv6Support(v string) *ModifyTransitGatewayVpcAttachmentRequestOptions {
85239	s.Ipv6Support = &v
85240	return s
85241}
85242
85243type ModifyVolumeAttributeInput struct {
85244	_ struct{} `type:"structure"`
85245
85246	// Indicates whether the volume should be auto-enabled for I/O operations.
85247	AutoEnableIO *AttributeBooleanValue `type:"structure"`
85248
85249	// Checks whether you have the required permissions for the action, without
85250	// actually making the request, and provides an error response. If you have
85251	// the required permissions, the error response is DryRunOperation. Otherwise,
85252	// it is UnauthorizedOperation.
85253	DryRun *bool `locationName:"dryRun" type:"boolean"`
85254
85255	// The ID of the volume.
85256	//
85257	// VolumeId is a required field
85258	VolumeId *string `type:"string" required:"true"`
85259}
85260
85261// String returns the string representation
85262func (s ModifyVolumeAttributeInput) String() string {
85263	return awsutil.Prettify(s)
85264}
85265
85266// GoString returns the string representation
85267func (s ModifyVolumeAttributeInput) GoString() string {
85268	return s.String()
85269}
85270
85271// Validate inspects the fields of the type to determine if they are valid.
85272func (s *ModifyVolumeAttributeInput) Validate() error {
85273	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeAttributeInput"}
85274	if s.VolumeId == nil {
85275		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
85276	}
85277
85278	if invalidParams.Len() > 0 {
85279		return invalidParams
85280	}
85281	return nil
85282}
85283
85284// SetAutoEnableIO sets the AutoEnableIO field's value.
85285func (s *ModifyVolumeAttributeInput) SetAutoEnableIO(v *AttributeBooleanValue) *ModifyVolumeAttributeInput {
85286	s.AutoEnableIO = v
85287	return s
85288}
85289
85290// SetDryRun sets the DryRun field's value.
85291func (s *ModifyVolumeAttributeInput) SetDryRun(v bool) *ModifyVolumeAttributeInput {
85292	s.DryRun = &v
85293	return s
85294}
85295
85296// SetVolumeId sets the VolumeId field's value.
85297func (s *ModifyVolumeAttributeInput) SetVolumeId(v string) *ModifyVolumeAttributeInput {
85298	s.VolumeId = &v
85299	return s
85300}
85301
85302type ModifyVolumeAttributeOutput struct {
85303	_ struct{} `type:"structure"`
85304}
85305
85306// String returns the string representation
85307func (s ModifyVolumeAttributeOutput) String() string {
85308	return awsutil.Prettify(s)
85309}
85310
85311// GoString returns the string representation
85312func (s ModifyVolumeAttributeOutput) GoString() string {
85313	return s.String()
85314}
85315
85316type ModifyVolumeInput struct {
85317	_ struct{} `type:"structure"`
85318
85319	// Checks whether you have the required permissions for the action, without
85320	// actually making the request, and provides an error response. If you have
85321	// the required permissions, the error response is DryRunOperation. Otherwise,
85322	// it is UnauthorizedOperation.
85323	DryRun *bool `type:"boolean"`
85324
85325	// The target IOPS rate of the volume.
85326	//
85327	// This is only valid for Provisioned IOPS SSD (io1) volumes. For more information,
85328	// see Provisioned IOPS SSD (io1) Volumes (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html#EBSVolumeTypes_piops).
85329	//
85330	// Default: If no IOPS value is specified, the existing value is retained.
85331	Iops *int64 `type:"integer"`
85332
85333	// The target size of the volume, in GiB. The target volume size must be greater
85334	// than or equal to than the existing size of the volume. For information about
85335	// available EBS volume sizes, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html).
85336	//
85337	// Default: If no size is specified, the existing size is retained.
85338	Size *int64 `type:"integer"`
85339
85340	// The ID of the volume.
85341	//
85342	// VolumeId is a required field
85343	VolumeId *string `type:"string" required:"true"`
85344
85345	// The target EBS volume type of the volume.
85346	//
85347	// Default: If no type is specified, the existing type is retained.
85348	VolumeType *string `type:"string" enum:"VolumeType"`
85349}
85350
85351// String returns the string representation
85352func (s ModifyVolumeInput) String() string {
85353	return awsutil.Prettify(s)
85354}
85355
85356// GoString returns the string representation
85357func (s ModifyVolumeInput) GoString() string {
85358	return s.String()
85359}
85360
85361// Validate inspects the fields of the type to determine if they are valid.
85362func (s *ModifyVolumeInput) Validate() error {
85363	invalidParams := request.ErrInvalidParams{Context: "ModifyVolumeInput"}
85364	if s.VolumeId == nil {
85365		invalidParams.Add(request.NewErrParamRequired("VolumeId"))
85366	}
85367
85368	if invalidParams.Len() > 0 {
85369		return invalidParams
85370	}
85371	return nil
85372}
85373
85374// SetDryRun sets the DryRun field's value.
85375func (s *ModifyVolumeInput) SetDryRun(v bool) *ModifyVolumeInput {
85376	s.DryRun = &v
85377	return s
85378}
85379
85380// SetIops sets the Iops field's value.
85381func (s *ModifyVolumeInput) SetIops(v int64) *ModifyVolumeInput {
85382	s.Iops = &v
85383	return s
85384}
85385
85386// SetSize sets the Size field's value.
85387func (s *ModifyVolumeInput) SetSize(v int64) *ModifyVolumeInput {
85388	s.Size = &v
85389	return s
85390}
85391
85392// SetVolumeId sets the VolumeId field's value.
85393func (s *ModifyVolumeInput) SetVolumeId(v string) *ModifyVolumeInput {
85394	s.VolumeId = &v
85395	return s
85396}
85397
85398// SetVolumeType sets the VolumeType field's value.
85399func (s *ModifyVolumeInput) SetVolumeType(v string) *ModifyVolumeInput {
85400	s.VolumeType = &v
85401	return s
85402}
85403
85404type ModifyVolumeOutput struct {
85405	_ struct{} `type:"structure"`
85406
85407	// Information about the volume modification.
85408	VolumeModification *VolumeModification `locationName:"volumeModification" type:"structure"`
85409}
85410
85411// String returns the string representation
85412func (s ModifyVolumeOutput) String() string {
85413	return awsutil.Prettify(s)
85414}
85415
85416// GoString returns the string representation
85417func (s ModifyVolumeOutput) GoString() string {
85418	return s.String()
85419}
85420
85421// SetVolumeModification sets the VolumeModification field's value.
85422func (s *ModifyVolumeOutput) SetVolumeModification(v *VolumeModification) *ModifyVolumeOutput {
85423	s.VolumeModification = v
85424	return s
85425}
85426
85427type ModifyVpcAttributeInput struct {
85428	_ struct{} `type:"structure"`
85429
85430	// Indicates whether the instances launched in the VPC get DNS hostnames. If
85431	// enabled, instances in the VPC get DNS hostnames; otherwise, they do not.
85432	//
85433	// You cannot modify the DNS resolution and DNS hostnames attributes in the
85434	// same request. Use separate requests for each attribute. You can only enable
85435	// DNS hostnames if you've enabled DNS support.
85436	EnableDnsHostnames *AttributeBooleanValue `type:"structure"`
85437
85438	// Indicates whether the DNS resolution is supported for the VPC. If enabled,
85439	// queries to the Amazon provided DNS server at the 169.254.169.253 IP address,
85440	// or the reserved IP address at the base of the VPC network range "plus two"
85441	// succeed. If disabled, the Amazon provided DNS service in the VPC that resolves
85442	// public DNS hostnames to IP addresses is not enabled.
85443	//
85444	// You cannot modify the DNS resolution and DNS hostnames attributes in the
85445	// same request. Use separate requests for each attribute.
85446	EnableDnsSupport *AttributeBooleanValue `type:"structure"`
85447
85448	// The ID of the VPC.
85449	//
85450	// VpcId is a required field
85451	VpcId *string `locationName:"vpcId" type:"string" required:"true"`
85452}
85453
85454// String returns the string representation
85455func (s ModifyVpcAttributeInput) String() string {
85456	return awsutil.Prettify(s)
85457}
85458
85459// GoString returns the string representation
85460func (s ModifyVpcAttributeInput) GoString() string {
85461	return s.String()
85462}
85463
85464// Validate inspects the fields of the type to determine if they are valid.
85465func (s *ModifyVpcAttributeInput) Validate() error {
85466	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcAttributeInput"}
85467	if s.VpcId == nil {
85468		invalidParams.Add(request.NewErrParamRequired("VpcId"))
85469	}
85470
85471	if invalidParams.Len() > 0 {
85472		return invalidParams
85473	}
85474	return nil
85475}
85476
85477// SetEnableDnsHostnames sets the EnableDnsHostnames field's value.
85478func (s *ModifyVpcAttributeInput) SetEnableDnsHostnames(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
85479	s.EnableDnsHostnames = v
85480	return s
85481}
85482
85483// SetEnableDnsSupport sets the EnableDnsSupport field's value.
85484func (s *ModifyVpcAttributeInput) SetEnableDnsSupport(v *AttributeBooleanValue) *ModifyVpcAttributeInput {
85485	s.EnableDnsSupport = v
85486	return s
85487}
85488
85489// SetVpcId sets the VpcId field's value.
85490func (s *ModifyVpcAttributeInput) SetVpcId(v string) *ModifyVpcAttributeInput {
85491	s.VpcId = &v
85492	return s
85493}
85494
85495type ModifyVpcAttributeOutput struct {
85496	_ struct{} `type:"structure"`
85497}
85498
85499// String returns the string representation
85500func (s ModifyVpcAttributeOutput) String() string {
85501	return awsutil.Prettify(s)
85502}
85503
85504// GoString returns the string representation
85505func (s ModifyVpcAttributeOutput) GoString() string {
85506	return s.String()
85507}
85508
85509type ModifyVpcEndpointConnectionNotificationInput struct {
85510	_ struct{} `type:"structure"`
85511
85512	// One or more events for the endpoint. Valid values are Accept, Connect, Delete,
85513	// and Reject.
85514	ConnectionEvents []*string `locationNameList:"item" type:"list"`
85515
85516	// The ARN for the SNS topic for the notification.
85517	ConnectionNotificationArn *string `type:"string"`
85518
85519	// The ID of the notification.
85520	//
85521	// ConnectionNotificationId is a required field
85522	ConnectionNotificationId *string `type:"string" required:"true"`
85523
85524	// Checks whether you have the required permissions for the action, without
85525	// actually making the request, and provides an error response. If you have
85526	// the required permissions, the error response is DryRunOperation. Otherwise,
85527	// it is UnauthorizedOperation.
85528	DryRun *bool `type:"boolean"`
85529}
85530
85531// String returns the string representation
85532func (s ModifyVpcEndpointConnectionNotificationInput) String() string {
85533	return awsutil.Prettify(s)
85534}
85535
85536// GoString returns the string representation
85537func (s ModifyVpcEndpointConnectionNotificationInput) GoString() string {
85538	return s.String()
85539}
85540
85541// Validate inspects the fields of the type to determine if they are valid.
85542func (s *ModifyVpcEndpointConnectionNotificationInput) Validate() error {
85543	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointConnectionNotificationInput"}
85544	if s.ConnectionNotificationId == nil {
85545		invalidParams.Add(request.NewErrParamRequired("ConnectionNotificationId"))
85546	}
85547
85548	if invalidParams.Len() > 0 {
85549		return invalidParams
85550	}
85551	return nil
85552}
85553
85554// SetConnectionEvents sets the ConnectionEvents field's value.
85555func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionEvents(v []*string) *ModifyVpcEndpointConnectionNotificationInput {
85556	s.ConnectionEvents = v
85557	return s
85558}
85559
85560// SetConnectionNotificationArn sets the ConnectionNotificationArn field's value.
85561func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationArn(v string) *ModifyVpcEndpointConnectionNotificationInput {
85562	s.ConnectionNotificationArn = &v
85563	return s
85564}
85565
85566// SetConnectionNotificationId sets the ConnectionNotificationId field's value.
85567func (s *ModifyVpcEndpointConnectionNotificationInput) SetConnectionNotificationId(v string) *ModifyVpcEndpointConnectionNotificationInput {
85568	s.ConnectionNotificationId = &v
85569	return s
85570}
85571
85572// SetDryRun sets the DryRun field's value.
85573func (s *ModifyVpcEndpointConnectionNotificationInput) SetDryRun(v bool) *ModifyVpcEndpointConnectionNotificationInput {
85574	s.DryRun = &v
85575	return s
85576}
85577
85578type ModifyVpcEndpointConnectionNotificationOutput struct {
85579	_ struct{} `type:"structure"`
85580
85581	// Returns true if the request succeeds; otherwise, it returns an error.
85582	ReturnValue *bool `locationName:"return" type:"boolean"`
85583}
85584
85585// String returns the string representation
85586func (s ModifyVpcEndpointConnectionNotificationOutput) String() string {
85587	return awsutil.Prettify(s)
85588}
85589
85590// GoString returns the string representation
85591func (s ModifyVpcEndpointConnectionNotificationOutput) GoString() string {
85592	return s.String()
85593}
85594
85595// SetReturnValue sets the ReturnValue field's value.
85596func (s *ModifyVpcEndpointConnectionNotificationOutput) SetReturnValue(v bool) *ModifyVpcEndpointConnectionNotificationOutput {
85597	s.ReturnValue = &v
85598	return s
85599}
85600
85601// Contains the parameters for ModifyVpcEndpoint.
85602type ModifyVpcEndpointInput struct {
85603	_ struct{} `type:"structure"`
85604
85605	// (Gateway endpoint) One or more route tables IDs to associate with the endpoint.
85606	AddRouteTableIds []*string `locationName:"AddRouteTableId" locationNameList:"item" type:"list"`
85607
85608	// (Interface endpoint) One or more security group IDs to associate with the
85609	// network interface.
85610	AddSecurityGroupIds []*string `locationName:"AddSecurityGroupId" locationNameList:"item" type:"list"`
85611
85612	// (Interface endpoint) One or more subnet IDs in which to serve the endpoint.
85613	AddSubnetIds []*string `locationName:"AddSubnetId" locationNameList:"item" type:"list"`
85614
85615	// Checks whether you have the required permissions for the action, without
85616	// actually making the request, and provides an error response. If you have
85617	// the required permissions, the error response is DryRunOperation. Otherwise,
85618	// it is UnauthorizedOperation.
85619	DryRun *bool `type:"boolean"`
85620
85621	// A policy to attach to the endpoint that controls access to the service. The
85622	// policy must be in valid JSON format.
85623	PolicyDocument *string `type:"string"`
85624
85625	// (Interface endpoint) Indicate whether a private hosted zone is associated
85626	// with the VPC.
85627	PrivateDnsEnabled *bool `type:"boolean"`
85628
85629	// (Gateway endpoint) One or more route table IDs to disassociate from the endpoint.
85630	RemoveRouteTableIds []*string `locationName:"RemoveRouteTableId" locationNameList:"item" type:"list"`
85631
85632	// (Interface endpoint) One or more security group IDs to disassociate from
85633	// the network interface.
85634	RemoveSecurityGroupIds []*string `locationName:"RemoveSecurityGroupId" locationNameList:"item" type:"list"`
85635
85636	// (Interface endpoint) One or more subnets IDs in which to remove the endpoint.
85637	RemoveSubnetIds []*string `locationName:"RemoveSubnetId" locationNameList:"item" type:"list"`
85638
85639	// (Gateway endpoint) Specify true to reset the policy document to the default
85640	// policy. The default policy allows full access to the service.
85641	ResetPolicy *bool `type:"boolean"`
85642
85643	// The ID of the endpoint.
85644	//
85645	// VpcEndpointId is a required field
85646	VpcEndpointId *string `type:"string" required:"true"`
85647}
85648
85649// String returns the string representation
85650func (s ModifyVpcEndpointInput) String() string {
85651	return awsutil.Prettify(s)
85652}
85653
85654// GoString returns the string representation
85655func (s ModifyVpcEndpointInput) GoString() string {
85656	return s.String()
85657}
85658
85659// Validate inspects the fields of the type to determine if they are valid.
85660func (s *ModifyVpcEndpointInput) Validate() error {
85661	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointInput"}
85662	if s.VpcEndpointId == nil {
85663		invalidParams.Add(request.NewErrParamRequired("VpcEndpointId"))
85664	}
85665
85666	if invalidParams.Len() > 0 {
85667		return invalidParams
85668	}
85669	return nil
85670}
85671
85672// SetAddRouteTableIds sets the AddRouteTableIds field's value.
85673func (s *ModifyVpcEndpointInput) SetAddRouteTableIds(v []*string) *ModifyVpcEndpointInput {
85674	s.AddRouteTableIds = v
85675	return s
85676}
85677
85678// SetAddSecurityGroupIds sets the AddSecurityGroupIds field's value.
85679func (s *ModifyVpcEndpointInput) SetAddSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
85680	s.AddSecurityGroupIds = v
85681	return s
85682}
85683
85684// SetAddSubnetIds sets the AddSubnetIds field's value.
85685func (s *ModifyVpcEndpointInput) SetAddSubnetIds(v []*string) *ModifyVpcEndpointInput {
85686	s.AddSubnetIds = v
85687	return s
85688}
85689
85690// SetDryRun sets the DryRun field's value.
85691func (s *ModifyVpcEndpointInput) SetDryRun(v bool) *ModifyVpcEndpointInput {
85692	s.DryRun = &v
85693	return s
85694}
85695
85696// SetPolicyDocument sets the PolicyDocument field's value.
85697func (s *ModifyVpcEndpointInput) SetPolicyDocument(v string) *ModifyVpcEndpointInput {
85698	s.PolicyDocument = &v
85699	return s
85700}
85701
85702// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
85703func (s *ModifyVpcEndpointInput) SetPrivateDnsEnabled(v bool) *ModifyVpcEndpointInput {
85704	s.PrivateDnsEnabled = &v
85705	return s
85706}
85707
85708// SetRemoveRouteTableIds sets the RemoveRouteTableIds field's value.
85709func (s *ModifyVpcEndpointInput) SetRemoveRouteTableIds(v []*string) *ModifyVpcEndpointInput {
85710	s.RemoveRouteTableIds = v
85711	return s
85712}
85713
85714// SetRemoveSecurityGroupIds sets the RemoveSecurityGroupIds field's value.
85715func (s *ModifyVpcEndpointInput) SetRemoveSecurityGroupIds(v []*string) *ModifyVpcEndpointInput {
85716	s.RemoveSecurityGroupIds = v
85717	return s
85718}
85719
85720// SetRemoveSubnetIds sets the RemoveSubnetIds field's value.
85721func (s *ModifyVpcEndpointInput) SetRemoveSubnetIds(v []*string) *ModifyVpcEndpointInput {
85722	s.RemoveSubnetIds = v
85723	return s
85724}
85725
85726// SetResetPolicy sets the ResetPolicy field's value.
85727func (s *ModifyVpcEndpointInput) SetResetPolicy(v bool) *ModifyVpcEndpointInput {
85728	s.ResetPolicy = &v
85729	return s
85730}
85731
85732// SetVpcEndpointId sets the VpcEndpointId field's value.
85733func (s *ModifyVpcEndpointInput) SetVpcEndpointId(v string) *ModifyVpcEndpointInput {
85734	s.VpcEndpointId = &v
85735	return s
85736}
85737
85738type ModifyVpcEndpointOutput struct {
85739	_ struct{} `type:"structure"`
85740
85741	// Returns true if the request succeeds; otherwise, it returns an error.
85742	Return *bool `locationName:"return" type:"boolean"`
85743}
85744
85745// String returns the string representation
85746func (s ModifyVpcEndpointOutput) String() string {
85747	return awsutil.Prettify(s)
85748}
85749
85750// GoString returns the string representation
85751func (s ModifyVpcEndpointOutput) GoString() string {
85752	return s.String()
85753}
85754
85755// SetReturn sets the Return field's value.
85756func (s *ModifyVpcEndpointOutput) SetReturn(v bool) *ModifyVpcEndpointOutput {
85757	s.Return = &v
85758	return s
85759}
85760
85761type ModifyVpcEndpointServiceConfigurationInput struct {
85762	_ struct{} `type:"structure"`
85763
85764	// Indicate whether requests to create an endpoint to your service must be accepted.
85765	AcceptanceRequired *bool `type:"boolean"`
85766
85767	// The Amazon Resource Names (ARNs) of Network Load Balancers to add to your
85768	// service configuration.
85769	AddNetworkLoadBalancerArns []*string `locationName:"AddNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
85770
85771	// Checks whether you have the required permissions for the action, without
85772	// actually making the request, and provides an error response. If you have
85773	// the required permissions, the error response is DryRunOperation. Otherwise,
85774	// it is UnauthorizedOperation.
85775	DryRun *bool `type:"boolean"`
85776
85777	// The Amazon Resource Names (ARNs) of Network Load Balancers to remove from
85778	// your service configuration.
85779	RemoveNetworkLoadBalancerArns []*string `locationName:"RemoveNetworkLoadBalancerArn" locationNameList:"item" type:"list"`
85780
85781	// The ID of the service.
85782	//
85783	// ServiceId is a required field
85784	ServiceId *string `type:"string" required:"true"`
85785}
85786
85787// String returns the string representation
85788func (s ModifyVpcEndpointServiceConfigurationInput) String() string {
85789	return awsutil.Prettify(s)
85790}
85791
85792// GoString returns the string representation
85793func (s ModifyVpcEndpointServiceConfigurationInput) GoString() string {
85794	return s.String()
85795}
85796
85797// Validate inspects the fields of the type to determine if they are valid.
85798func (s *ModifyVpcEndpointServiceConfigurationInput) Validate() error {
85799	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServiceConfigurationInput"}
85800	if s.ServiceId == nil {
85801		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
85802	}
85803
85804	if invalidParams.Len() > 0 {
85805		return invalidParams
85806	}
85807	return nil
85808}
85809
85810// SetAcceptanceRequired sets the AcceptanceRequired field's value.
85811func (s *ModifyVpcEndpointServiceConfigurationInput) SetAcceptanceRequired(v bool) *ModifyVpcEndpointServiceConfigurationInput {
85812	s.AcceptanceRequired = &v
85813	return s
85814}
85815
85816// SetAddNetworkLoadBalancerArns sets the AddNetworkLoadBalancerArns field's value.
85817func (s *ModifyVpcEndpointServiceConfigurationInput) SetAddNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
85818	s.AddNetworkLoadBalancerArns = v
85819	return s
85820}
85821
85822// SetDryRun sets the DryRun field's value.
85823func (s *ModifyVpcEndpointServiceConfigurationInput) SetDryRun(v bool) *ModifyVpcEndpointServiceConfigurationInput {
85824	s.DryRun = &v
85825	return s
85826}
85827
85828// SetRemoveNetworkLoadBalancerArns sets the RemoveNetworkLoadBalancerArns field's value.
85829func (s *ModifyVpcEndpointServiceConfigurationInput) SetRemoveNetworkLoadBalancerArns(v []*string) *ModifyVpcEndpointServiceConfigurationInput {
85830	s.RemoveNetworkLoadBalancerArns = v
85831	return s
85832}
85833
85834// SetServiceId sets the ServiceId field's value.
85835func (s *ModifyVpcEndpointServiceConfigurationInput) SetServiceId(v string) *ModifyVpcEndpointServiceConfigurationInput {
85836	s.ServiceId = &v
85837	return s
85838}
85839
85840type ModifyVpcEndpointServiceConfigurationOutput struct {
85841	_ struct{} `type:"structure"`
85842
85843	// Returns true if the request succeeds; otherwise, it returns an error.
85844	Return *bool `locationName:"return" type:"boolean"`
85845}
85846
85847// String returns the string representation
85848func (s ModifyVpcEndpointServiceConfigurationOutput) String() string {
85849	return awsutil.Prettify(s)
85850}
85851
85852// GoString returns the string representation
85853func (s ModifyVpcEndpointServiceConfigurationOutput) GoString() string {
85854	return s.String()
85855}
85856
85857// SetReturn sets the Return field's value.
85858func (s *ModifyVpcEndpointServiceConfigurationOutput) SetReturn(v bool) *ModifyVpcEndpointServiceConfigurationOutput {
85859	s.Return = &v
85860	return s
85861}
85862
85863type ModifyVpcEndpointServicePermissionsInput struct {
85864	_ struct{} `type:"structure"`
85865
85866	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
85867	// granted to the principals in this list. To grant permissions to all principals,
85868	// specify an asterisk (*).
85869	AddAllowedPrincipals []*string `locationNameList:"item" type:"list"`
85870
85871	// Checks whether you have the required permissions for the action, without
85872	// actually making the request, and provides an error response. If you have
85873	// the required permissions, the error response is DryRunOperation. Otherwise,
85874	// it is UnauthorizedOperation.
85875	DryRun *bool `type:"boolean"`
85876
85877	// The Amazon Resource Names (ARN) of one or more principals. Permissions are
85878	// revoked for principals in this list.
85879	RemoveAllowedPrincipals []*string `locationNameList:"item" type:"list"`
85880
85881	// The ID of the service.
85882	//
85883	// ServiceId is a required field
85884	ServiceId *string `type:"string" required:"true"`
85885}
85886
85887// String returns the string representation
85888func (s ModifyVpcEndpointServicePermissionsInput) String() string {
85889	return awsutil.Prettify(s)
85890}
85891
85892// GoString returns the string representation
85893func (s ModifyVpcEndpointServicePermissionsInput) GoString() string {
85894	return s.String()
85895}
85896
85897// Validate inspects the fields of the type to determine if they are valid.
85898func (s *ModifyVpcEndpointServicePermissionsInput) Validate() error {
85899	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcEndpointServicePermissionsInput"}
85900	if s.ServiceId == nil {
85901		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
85902	}
85903
85904	if invalidParams.Len() > 0 {
85905		return invalidParams
85906	}
85907	return nil
85908}
85909
85910// SetAddAllowedPrincipals sets the AddAllowedPrincipals field's value.
85911func (s *ModifyVpcEndpointServicePermissionsInput) SetAddAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
85912	s.AddAllowedPrincipals = v
85913	return s
85914}
85915
85916// SetDryRun sets the DryRun field's value.
85917func (s *ModifyVpcEndpointServicePermissionsInput) SetDryRun(v bool) *ModifyVpcEndpointServicePermissionsInput {
85918	s.DryRun = &v
85919	return s
85920}
85921
85922// SetRemoveAllowedPrincipals sets the RemoveAllowedPrincipals field's value.
85923func (s *ModifyVpcEndpointServicePermissionsInput) SetRemoveAllowedPrincipals(v []*string) *ModifyVpcEndpointServicePermissionsInput {
85924	s.RemoveAllowedPrincipals = v
85925	return s
85926}
85927
85928// SetServiceId sets the ServiceId field's value.
85929func (s *ModifyVpcEndpointServicePermissionsInput) SetServiceId(v string) *ModifyVpcEndpointServicePermissionsInput {
85930	s.ServiceId = &v
85931	return s
85932}
85933
85934type ModifyVpcEndpointServicePermissionsOutput struct {
85935	_ struct{} `type:"structure"`
85936
85937	// Returns true if the request succeeds; otherwise, it returns an error.
85938	ReturnValue *bool `locationName:"return" type:"boolean"`
85939}
85940
85941// String returns the string representation
85942func (s ModifyVpcEndpointServicePermissionsOutput) String() string {
85943	return awsutil.Prettify(s)
85944}
85945
85946// GoString returns the string representation
85947func (s ModifyVpcEndpointServicePermissionsOutput) GoString() string {
85948	return s.String()
85949}
85950
85951// SetReturnValue sets the ReturnValue field's value.
85952func (s *ModifyVpcEndpointServicePermissionsOutput) SetReturnValue(v bool) *ModifyVpcEndpointServicePermissionsOutput {
85953	s.ReturnValue = &v
85954	return s
85955}
85956
85957type ModifyVpcPeeringConnectionOptionsInput struct {
85958	_ struct{} `type:"structure"`
85959
85960	// The VPC peering connection options for the accepter VPC.
85961	AccepterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
85962
85963	// Checks whether you have the required permissions for the action, without
85964	// actually making the request, and provides an error response. If you have
85965	// the required permissions, the error response is DryRunOperation. Otherwise,
85966	// it is UnauthorizedOperation.
85967	DryRun *bool `type:"boolean"`
85968
85969	// The VPC peering connection options for the requester VPC.
85970	RequesterPeeringConnectionOptions *PeeringConnectionOptionsRequest `type:"structure"`
85971
85972	// The ID of the VPC peering connection.
85973	//
85974	// VpcPeeringConnectionId is a required field
85975	VpcPeeringConnectionId *string `type:"string" required:"true"`
85976}
85977
85978// String returns the string representation
85979func (s ModifyVpcPeeringConnectionOptionsInput) String() string {
85980	return awsutil.Prettify(s)
85981}
85982
85983// GoString returns the string representation
85984func (s ModifyVpcPeeringConnectionOptionsInput) GoString() string {
85985	return s.String()
85986}
85987
85988// Validate inspects the fields of the type to determine if they are valid.
85989func (s *ModifyVpcPeeringConnectionOptionsInput) Validate() error {
85990	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcPeeringConnectionOptionsInput"}
85991	if s.VpcPeeringConnectionId == nil {
85992		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
85993	}
85994
85995	if invalidParams.Len() > 0 {
85996		return invalidParams
85997	}
85998	return nil
85999}
86000
86001// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
86002func (s *ModifyVpcPeeringConnectionOptionsInput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
86003	s.AccepterPeeringConnectionOptions = v
86004	return s
86005}
86006
86007// SetDryRun sets the DryRun field's value.
86008func (s *ModifyVpcPeeringConnectionOptionsInput) SetDryRun(v bool) *ModifyVpcPeeringConnectionOptionsInput {
86009	s.DryRun = &v
86010	return s
86011}
86012
86013// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
86014func (s *ModifyVpcPeeringConnectionOptionsInput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptionsRequest) *ModifyVpcPeeringConnectionOptionsInput {
86015	s.RequesterPeeringConnectionOptions = v
86016	return s
86017}
86018
86019// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
86020func (s *ModifyVpcPeeringConnectionOptionsInput) SetVpcPeeringConnectionId(v string) *ModifyVpcPeeringConnectionOptionsInput {
86021	s.VpcPeeringConnectionId = &v
86022	return s
86023}
86024
86025type ModifyVpcPeeringConnectionOptionsOutput struct {
86026	_ struct{} `type:"structure"`
86027
86028	// Information about the VPC peering connection options for the accepter VPC.
86029	AccepterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"accepterPeeringConnectionOptions" type:"structure"`
86030
86031	// Information about the VPC peering connection options for the requester VPC.
86032	RequesterPeeringConnectionOptions *PeeringConnectionOptions `locationName:"requesterPeeringConnectionOptions" type:"structure"`
86033}
86034
86035// String returns the string representation
86036func (s ModifyVpcPeeringConnectionOptionsOutput) String() string {
86037	return awsutil.Prettify(s)
86038}
86039
86040// GoString returns the string representation
86041func (s ModifyVpcPeeringConnectionOptionsOutput) GoString() string {
86042	return s.String()
86043}
86044
86045// SetAccepterPeeringConnectionOptions sets the AccepterPeeringConnectionOptions field's value.
86046func (s *ModifyVpcPeeringConnectionOptionsOutput) SetAccepterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
86047	s.AccepterPeeringConnectionOptions = v
86048	return s
86049}
86050
86051// SetRequesterPeeringConnectionOptions sets the RequesterPeeringConnectionOptions field's value.
86052func (s *ModifyVpcPeeringConnectionOptionsOutput) SetRequesterPeeringConnectionOptions(v *PeeringConnectionOptions) *ModifyVpcPeeringConnectionOptionsOutput {
86053	s.RequesterPeeringConnectionOptions = v
86054	return s
86055}
86056
86057type ModifyVpcTenancyInput struct {
86058	_ struct{} `type:"structure"`
86059
86060	// Checks whether you have the required permissions for the action, without
86061	// actually making the request, and provides an error response. If you have
86062	// the required permissions, the error response is DryRunOperation. Otherwise,
86063	// it is UnauthorizedOperation.
86064	DryRun *bool `type:"boolean"`
86065
86066	// The instance tenancy attribute for the VPC.
86067	//
86068	// InstanceTenancy is a required field
86069	InstanceTenancy *string `type:"string" required:"true" enum:"VpcTenancy"`
86070
86071	// The ID of the VPC.
86072	//
86073	// VpcId is a required field
86074	VpcId *string `type:"string" required:"true"`
86075}
86076
86077// String returns the string representation
86078func (s ModifyVpcTenancyInput) String() string {
86079	return awsutil.Prettify(s)
86080}
86081
86082// GoString returns the string representation
86083func (s ModifyVpcTenancyInput) GoString() string {
86084	return s.String()
86085}
86086
86087// Validate inspects the fields of the type to determine if they are valid.
86088func (s *ModifyVpcTenancyInput) Validate() error {
86089	invalidParams := request.ErrInvalidParams{Context: "ModifyVpcTenancyInput"}
86090	if s.InstanceTenancy == nil {
86091		invalidParams.Add(request.NewErrParamRequired("InstanceTenancy"))
86092	}
86093	if s.VpcId == nil {
86094		invalidParams.Add(request.NewErrParamRequired("VpcId"))
86095	}
86096
86097	if invalidParams.Len() > 0 {
86098		return invalidParams
86099	}
86100	return nil
86101}
86102
86103// SetDryRun sets the DryRun field's value.
86104func (s *ModifyVpcTenancyInput) SetDryRun(v bool) *ModifyVpcTenancyInput {
86105	s.DryRun = &v
86106	return s
86107}
86108
86109// SetInstanceTenancy sets the InstanceTenancy field's value.
86110func (s *ModifyVpcTenancyInput) SetInstanceTenancy(v string) *ModifyVpcTenancyInput {
86111	s.InstanceTenancy = &v
86112	return s
86113}
86114
86115// SetVpcId sets the VpcId field's value.
86116func (s *ModifyVpcTenancyInput) SetVpcId(v string) *ModifyVpcTenancyInput {
86117	s.VpcId = &v
86118	return s
86119}
86120
86121type ModifyVpcTenancyOutput struct {
86122	_ struct{} `type:"structure"`
86123
86124	// Returns true if the request succeeds; otherwise, returns an error.
86125	ReturnValue *bool `locationName:"return" type:"boolean"`
86126}
86127
86128// String returns the string representation
86129func (s ModifyVpcTenancyOutput) String() string {
86130	return awsutil.Prettify(s)
86131}
86132
86133// GoString returns the string representation
86134func (s ModifyVpcTenancyOutput) GoString() string {
86135	return s.String()
86136}
86137
86138// SetReturnValue sets the ReturnValue field's value.
86139func (s *ModifyVpcTenancyOutput) SetReturnValue(v bool) *ModifyVpcTenancyOutput {
86140	s.ReturnValue = &v
86141	return s
86142}
86143
86144type ModifyVpnConnectionInput struct {
86145	_ struct{} `type:"structure"`
86146
86147	// The ID of the customer gateway at your end of the VPN connection.
86148	CustomerGatewayId *string `type:"string"`
86149
86150	// Checks whether you have the required permissions for the action, without
86151	// actually making the request, and provides an error response. If you have
86152	// the required permissions, the error response is DryRunOperation. Otherwise,
86153	// it is UnauthorizedOperation.
86154	DryRun *bool `type:"boolean"`
86155
86156	// The ID of the transit gateway.
86157	TransitGatewayId *string `type:"string"`
86158
86159	// The ID of the VPN connection.
86160	//
86161	// VpnConnectionId is a required field
86162	VpnConnectionId *string `type:"string" required:"true"`
86163
86164	// The ID of the virtual private gateway at the AWS side of the VPN connection.
86165	VpnGatewayId *string `type:"string"`
86166}
86167
86168// String returns the string representation
86169func (s ModifyVpnConnectionInput) String() string {
86170	return awsutil.Prettify(s)
86171}
86172
86173// GoString returns the string representation
86174func (s ModifyVpnConnectionInput) GoString() string {
86175	return s.String()
86176}
86177
86178// Validate inspects the fields of the type to determine if they are valid.
86179func (s *ModifyVpnConnectionInput) Validate() error {
86180	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnConnectionInput"}
86181	if s.VpnConnectionId == nil {
86182		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
86183	}
86184
86185	if invalidParams.Len() > 0 {
86186		return invalidParams
86187	}
86188	return nil
86189}
86190
86191// SetCustomerGatewayId sets the CustomerGatewayId field's value.
86192func (s *ModifyVpnConnectionInput) SetCustomerGatewayId(v string) *ModifyVpnConnectionInput {
86193	s.CustomerGatewayId = &v
86194	return s
86195}
86196
86197// SetDryRun sets the DryRun field's value.
86198func (s *ModifyVpnConnectionInput) SetDryRun(v bool) *ModifyVpnConnectionInput {
86199	s.DryRun = &v
86200	return s
86201}
86202
86203// SetTransitGatewayId sets the TransitGatewayId field's value.
86204func (s *ModifyVpnConnectionInput) SetTransitGatewayId(v string) *ModifyVpnConnectionInput {
86205	s.TransitGatewayId = &v
86206	return s
86207}
86208
86209// SetVpnConnectionId sets the VpnConnectionId field's value.
86210func (s *ModifyVpnConnectionInput) SetVpnConnectionId(v string) *ModifyVpnConnectionInput {
86211	s.VpnConnectionId = &v
86212	return s
86213}
86214
86215// SetVpnGatewayId sets the VpnGatewayId field's value.
86216func (s *ModifyVpnConnectionInput) SetVpnGatewayId(v string) *ModifyVpnConnectionInput {
86217	s.VpnGatewayId = &v
86218	return s
86219}
86220
86221type ModifyVpnConnectionOutput struct {
86222	_ struct{} `type:"structure"`
86223
86224	// Describes a VPN connection.
86225	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
86226}
86227
86228// String returns the string representation
86229func (s ModifyVpnConnectionOutput) String() string {
86230	return awsutil.Prettify(s)
86231}
86232
86233// GoString returns the string representation
86234func (s ModifyVpnConnectionOutput) GoString() string {
86235	return s.String()
86236}
86237
86238// SetVpnConnection sets the VpnConnection field's value.
86239func (s *ModifyVpnConnectionOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnConnectionOutput {
86240	s.VpnConnection = v
86241	return s
86242}
86243
86244type ModifyVpnTunnelCertificateInput struct {
86245	_ struct{} `type:"structure"`
86246
86247	// Checks whether you have the required permissions for the action, without
86248	// actually making the request, and provides an error response. If you have
86249	// the required permissions, the error response is DryRunOperation. Otherwise,
86250	// it is UnauthorizedOperation.
86251	DryRun *bool `type:"boolean"`
86252
86253	// The ID of the AWS Site-to-Site VPN connection.
86254	//
86255	// VpnConnectionId is a required field
86256	VpnConnectionId *string `type:"string" required:"true"`
86257
86258	// The external IP address of the VPN tunnel.
86259	//
86260	// VpnTunnelOutsideIpAddress is a required field
86261	VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
86262}
86263
86264// String returns the string representation
86265func (s ModifyVpnTunnelCertificateInput) String() string {
86266	return awsutil.Prettify(s)
86267}
86268
86269// GoString returns the string representation
86270func (s ModifyVpnTunnelCertificateInput) GoString() string {
86271	return s.String()
86272}
86273
86274// Validate inspects the fields of the type to determine if they are valid.
86275func (s *ModifyVpnTunnelCertificateInput) Validate() error {
86276	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelCertificateInput"}
86277	if s.VpnConnectionId == nil {
86278		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
86279	}
86280	if s.VpnTunnelOutsideIpAddress == nil {
86281		invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
86282	}
86283
86284	if invalidParams.Len() > 0 {
86285		return invalidParams
86286	}
86287	return nil
86288}
86289
86290// SetDryRun sets the DryRun field's value.
86291func (s *ModifyVpnTunnelCertificateInput) SetDryRun(v bool) *ModifyVpnTunnelCertificateInput {
86292	s.DryRun = &v
86293	return s
86294}
86295
86296// SetVpnConnectionId sets the VpnConnectionId field's value.
86297func (s *ModifyVpnTunnelCertificateInput) SetVpnConnectionId(v string) *ModifyVpnTunnelCertificateInput {
86298	s.VpnConnectionId = &v
86299	return s
86300}
86301
86302// SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
86303func (s *ModifyVpnTunnelCertificateInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelCertificateInput {
86304	s.VpnTunnelOutsideIpAddress = &v
86305	return s
86306}
86307
86308type ModifyVpnTunnelCertificateOutput struct {
86309	_ struct{} `type:"structure"`
86310
86311	// Describes a VPN connection.
86312	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
86313}
86314
86315// String returns the string representation
86316func (s ModifyVpnTunnelCertificateOutput) String() string {
86317	return awsutil.Prettify(s)
86318}
86319
86320// GoString returns the string representation
86321func (s ModifyVpnTunnelCertificateOutput) GoString() string {
86322	return s.String()
86323}
86324
86325// SetVpnConnection sets the VpnConnection field's value.
86326func (s *ModifyVpnTunnelCertificateOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelCertificateOutput {
86327	s.VpnConnection = v
86328	return s
86329}
86330
86331type ModifyVpnTunnelOptionsInput struct {
86332	_ struct{} `type:"structure"`
86333
86334	// Checks whether you have the required permissions for the action, without
86335	// actually making the request, and provides an error response. If you have
86336	// the required permissions, the error response is DryRunOperation. Otherwise,
86337	// it is UnauthorizedOperation.
86338	DryRun *bool `type:"boolean"`
86339
86340	// The tunnel options to modify.
86341	//
86342	// TunnelOptions is a required field
86343	TunnelOptions *ModifyVpnTunnelOptionsSpecification `type:"structure" required:"true"`
86344
86345	// The ID of the AWS Site-to-Site VPN connection.
86346	//
86347	// VpnConnectionId is a required field
86348	VpnConnectionId *string `type:"string" required:"true"`
86349
86350	// The external IP address of the VPN tunnel.
86351	//
86352	// VpnTunnelOutsideIpAddress is a required field
86353	VpnTunnelOutsideIpAddress *string `type:"string" required:"true"`
86354}
86355
86356// String returns the string representation
86357func (s ModifyVpnTunnelOptionsInput) String() string {
86358	return awsutil.Prettify(s)
86359}
86360
86361// GoString returns the string representation
86362func (s ModifyVpnTunnelOptionsInput) GoString() string {
86363	return s.String()
86364}
86365
86366// Validate inspects the fields of the type to determine if they are valid.
86367func (s *ModifyVpnTunnelOptionsInput) Validate() error {
86368	invalidParams := request.ErrInvalidParams{Context: "ModifyVpnTunnelOptionsInput"}
86369	if s.TunnelOptions == nil {
86370		invalidParams.Add(request.NewErrParamRequired("TunnelOptions"))
86371	}
86372	if s.VpnConnectionId == nil {
86373		invalidParams.Add(request.NewErrParamRequired("VpnConnectionId"))
86374	}
86375	if s.VpnTunnelOutsideIpAddress == nil {
86376		invalidParams.Add(request.NewErrParamRequired("VpnTunnelOutsideIpAddress"))
86377	}
86378
86379	if invalidParams.Len() > 0 {
86380		return invalidParams
86381	}
86382	return nil
86383}
86384
86385// SetDryRun sets the DryRun field's value.
86386func (s *ModifyVpnTunnelOptionsInput) SetDryRun(v bool) *ModifyVpnTunnelOptionsInput {
86387	s.DryRun = &v
86388	return s
86389}
86390
86391// SetTunnelOptions sets the TunnelOptions field's value.
86392func (s *ModifyVpnTunnelOptionsInput) SetTunnelOptions(v *ModifyVpnTunnelOptionsSpecification) *ModifyVpnTunnelOptionsInput {
86393	s.TunnelOptions = v
86394	return s
86395}
86396
86397// SetVpnConnectionId sets the VpnConnectionId field's value.
86398func (s *ModifyVpnTunnelOptionsInput) SetVpnConnectionId(v string) *ModifyVpnTunnelOptionsInput {
86399	s.VpnConnectionId = &v
86400	return s
86401}
86402
86403// SetVpnTunnelOutsideIpAddress sets the VpnTunnelOutsideIpAddress field's value.
86404func (s *ModifyVpnTunnelOptionsInput) SetVpnTunnelOutsideIpAddress(v string) *ModifyVpnTunnelOptionsInput {
86405	s.VpnTunnelOutsideIpAddress = &v
86406	return s
86407}
86408
86409type ModifyVpnTunnelOptionsOutput struct {
86410	_ struct{} `type:"structure"`
86411
86412	// Describes a VPN connection.
86413	VpnConnection *VpnConnection `locationName:"vpnConnection" type:"structure"`
86414}
86415
86416// String returns the string representation
86417func (s ModifyVpnTunnelOptionsOutput) String() string {
86418	return awsutil.Prettify(s)
86419}
86420
86421// GoString returns the string representation
86422func (s ModifyVpnTunnelOptionsOutput) GoString() string {
86423	return s.String()
86424}
86425
86426// SetVpnConnection sets the VpnConnection field's value.
86427func (s *ModifyVpnTunnelOptionsOutput) SetVpnConnection(v *VpnConnection) *ModifyVpnTunnelOptionsOutput {
86428	s.VpnConnection = v
86429	return s
86430}
86431
86432// The AWS Site-to-Site VPN tunnel options to modify.
86433type ModifyVpnTunnelOptionsSpecification struct {
86434	_ struct{} `type:"structure"`
86435
86436	// The number of seconds after which a DPD timeout occurs.
86437	//
86438	// Constraints: A value between 0 and 30.
86439	//
86440	// Default: 30
86441	DPDTimeoutSeconds *int64 `type:"integer"`
86442
86443	// The IKE versions that are permitted for the VPN tunnel.
86444	//
86445	// Valid values: ikev1 | ikev2
86446	IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
86447
86448	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
86449	// for phase 1 IKE negotiations.
86450	//
86451	// Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
86452	Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
86453
86454	// One or more encryption algorithms that are permitted for the VPN tunnel for
86455	// phase 1 IKE negotiations.
86456	//
86457	// Valid values: AES128 | AES256
86458	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
86459
86460	// One or more integrity algorithms that are permitted for the VPN tunnel for
86461	// phase 1 IKE negotiations.
86462	//
86463	// Valid values: SHA1 | SHA2-256
86464	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
86465
86466	// The lifetime for phase 1 of the IKE negotiation, in seconds.
86467	//
86468	// Constraints: A value between 900 and 28,800.
86469	//
86470	// Default: 28800
86471	Phase1LifetimeSeconds *int64 `type:"integer"`
86472
86473	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
86474	// for phase 2 IKE negotiations.
86475	//
86476	// Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
86477	Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
86478
86479	// One or more encryption algorithms that are permitted for the VPN tunnel for
86480	// phase 2 IKE negotiations.
86481	//
86482	// Valid values: AES128 | AES256
86483	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
86484
86485	// One or more integrity algorithms that are permitted for the VPN tunnel for
86486	// phase 2 IKE negotiations.
86487	//
86488	// Valid values: SHA1 | SHA2-256
86489	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
86490
86491	// The lifetime for phase 2 of the IKE negotiation, in seconds.
86492	//
86493	// Constraints: A value between 900 and 3,600. The value must be less than the
86494	// value for Phase1LifetimeSeconds.
86495	//
86496	// Default: 3600
86497	Phase2LifetimeSeconds *int64 `type:"integer"`
86498
86499	// The pre-shared key (PSK) to establish initial authentication between the
86500	// virtual private gateway and the customer gateway.
86501	//
86502	// Constraints: Allowed characters are alphanumeric characters, periods (.),
86503	// and underscores (_). Must be between 8 and 64 characters in length and cannot
86504	// start with zero (0).
86505	PreSharedKey *string `type:"string"`
86506
86507	// The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
86508	// during which the rekey time is randomly selected.
86509	//
86510	// Constraints: A value between 0 and 100.
86511	//
86512	// Default: 100
86513	RekeyFuzzPercentage *int64 `type:"integer"`
86514
86515	// The margin time, in seconds, before the phase 2 lifetime expires, during
86516	// which the AWS side of the VPN connection performs an IKE rekey. The exact
86517	// time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
86518	//
86519	// Constraints: A value between 60 and half of Phase2LifetimeSeconds.
86520	//
86521	// Default: 540
86522	RekeyMarginTimeSeconds *int64 `type:"integer"`
86523
86524	// The number of packets in an IKE replay window.
86525	//
86526	// Constraints: A value between 64 and 2048.
86527	//
86528	// Default: 1024
86529	ReplayWindowSize *int64 `type:"integer"`
86530
86531	// The range of inside IP addresses for the tunnel. Any specified CIDR blocks
86532	// must be unique across all VPN connections that use the same virtual private
86533	// gateway.
86534	//
86535	// Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
86536	// CIDR blocks are reserved and cannot be used:
86537	//
86538	//    * 169.254.0.0/30
86539	//
86540	//    * 169.254.1.0/30
86541	//
86542	//    * 169.254.2.0/30
86543	//
86544	//    * 169.254.3.0/30
86545	//
86546	//    * 169.254.4.0/30
86547	//
86548	//    * 169.254.5.0/30
86549	//
86550	//    * 169.254.169.252/30
86551	TunnelInsideCidr *string `type:"string"`
86552}
86553
86554// String returns the string representation
86555func (s ModifyVpnTunnelOptionsSpecification) String() string {
86556	return awsutil.Prettify(s)
86557}
86558
86559// GoString returns the string representation
86560func (s ModifyVpnTunnelOptionsSpecification) GoString() string {
86561	return s.String()
86562}
86563
86564// SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
86565func (s *ModifyVpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
86566	s.DPDTimeoutSeconds = &v
86567	return s
86568}
86569
86570// SetIKEVersions sets the IKEVersions field's value.
86571func (s *ModifyVpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
86572	s.IKEVersions = v
86573	return s
86574}
86575
86576// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
86577func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
86578	s.Phase1DHGroupNumbers = v
86579	return s
86580}
86581
86582// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
86583func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
86584	s.Phase1EncryptionAlgorithms = v
86585	return s
86586}
86587
86588// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
86589func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
86590	s.Phase1IntegrityAlgorithms = v
86591	return s
86592}
86593
86594// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
86595func (s *ModifyVpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
86596	s.Phase1LifetimeSeconds = &v
86597	return s
86598}
86599
86600// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
86601func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *ModifyVpnTunnelOptionsSpecification {
86602	s.Phase2DHGroupNumbers = v
86603	return s
86604}
86605
86606// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
86607func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
86608	s.Phase2EncryptionAlgorithms = v
86609	return s
86610}
86611
86612// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
86613func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *ModifyVpnTunnelOptionsSpecification {
86614	s.Phase2IntegrityAlgorithms = v
86615	return s
86616}
86617
86618// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
86619func (s *ModifyVpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
86620	s.Phase2LifetimeSeconds = &v
86621	return s
86622}
86623
86624// SetPreSharedKey sets the PreSharedKey field's value.
86625func (s *ModifyVpnTunnelOptionsSpecification) SetPreSharedKey(v string) *ModifyVpnTunnelOptionsSpecification {
86626	s.PreSharedKey = &v
86627	return s
86628}
86629
86630// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
86631func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *ModifyVpnTunnelOptionsSpecification {
86632	s.RekeyFuzzPercentage = &v
86633	return s
86634}
86635
86636// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
86637func (s *ModifyVpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *ModifyVpnTunnelOptionsSpecification {
86638	s.RekeyMarginTimeSeconds = &v
86639	return s
86640}
86641
86642// SetReplayWindowSize sets the ReplayWindowSize field's value.
86643func (s *ModifyVpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *ModifyVpnTunnelOptionsSpecification {
86644	s.ReplayWindowSize = &v
86645	return s
86646}
86647
86648// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
86649func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *ModifyVpnTunnelOptionsSpecification {
86650	s.TunnelInsideCidr = &v
86651	return s
86652}
86653
86654type MonitorInstancesInput struct {
86655	_ struct{} `type:"structure"`
86656
86657	// Checks whether you have the required permissions for the action, without
86658	// actually making the request, and provides an error response. If you have
86659	// the required permissions, the error response is DryRunOperation. Otherwise,
86660	// it is UnauthorizedOperation.
86661	DryRun *bool `locationName:"dryRun" type:"boolean"`
86662
86663	// The IDs of the instances.
86664	//
86665	// InstanceIds is a required field
86666	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
86667}
86668
86669// String returns the string representation
86670func (s MonitorInstancesInput) String() string {
86671	return awsutil.Prettify(s)
86672}
86673
86674// GoString returns the string representation
86675func (s MonitorInstancesInput) GoString() string {
86676	return s.String()
86677}
86678
86679// Validate inspects the fields of the type to determine if they are valid.
86680func (s *MonitorInstancesInput) Validate() error {
86681	invalidParams := request.ErrInvalidParams{Context: "MonitorInstancesInput"}
86682	if s.InstanceIds == nil {
86683		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
86684	}
86685
86686	if invalidParams.Len() > 0 {
86687		return invalidParams
86688	}
86689	return nil
86690}
86691
86692// SetDryRun sets the DryRun field's value.
86693func (s *MonitorInstancesInput) SetDryRun(v bool) *MonitorInstancesInput {
86694	s.DryRun = &v
86695	return s
86696}
86697
86698// SetInstanceIds sets the InstanceIds field's value.
86699func (s *MonitorInstancesInput) SetInstanceIds(v []*string) *MonitorInstancesInput {
86700	s.InstanceIds = v
86701	return s
86702}
86703
86704type MonitorInstancesOutput struct {
86705	_ struct{} `type:"structure"`
86706
86707	// The monitoring information.
86708	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
86709}
86710
86711// String returns the string representation
86712func (s MonitorInstancesOutput) String() string {
86713	return awsutil.Prettify(s)
86714}
86715
86716// GoString returns the string representation
86717func (s MonitorInstancesOutput) GoString() string {
86718	return s.String()
86719}
86720
86721// SetInstanceMonitorings sets the InstanceMonitorings field's value.
86722func (s *MonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *MonitorInstancesOutput {
86723	s.InstanceMonitorings = v
86724	return s
86725}
86726
86727// Describes the monitoring of an instance.
86728type Monitoring struct {
86729	_ struct{} `type:"structure"`
86730
86731	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
86732	// is enabled.
86733	State *string `locationName:"state" type:"string" enum:"MonitoringState"`
86734}
86735
86736// String returns the string representation
86737func (s Monitoring) String() string {
86738	return awsutil.Prettify(s)
86739}
86740
86741// GoString returns the string representation
86742func (s Monitoring) GoString() string {
86743	return s.String()
86744}
86745
86746// SetState sets the State field's value.
86747func (s *Monitoring) SetState(v string) *Monitoring {
86748	s.State = &v
86749	return s
86750}
86751
86752type MoveAddressToVpcInput struct {
86753	_ struct{} `type:"structure"`
86754
86755	// Checks whether you have the required permissions for the action, without
86756	// actually making the request, and provides an error response. If you have
86757	// the required permissions, the error response is DryRunOperation. Otherwise,
86758	// it is UnauthorizedOperation.
86759	DryRun *bool `locationName:"dryRun" type:"boolean"`
86760
86761	// The Elastic IP address.
86762	//
86763	// PublicIp is a required field
86764	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
86765}
86766
86767// String returns the string representation
86768func (s MoveAddressToVpcInput) String() string {
86769	return awsutil.Prettify(s)
86770}
86771
86772// GoString returns the string representation
86773func (s MoveAddressToVpcInput) GoString() string {
86774	return s.String()
86775}
86776
86777// Validate inspects the fields of the type to determine if they are valid.
86778func (s *MoveAddressToVpcInput) Validate() error {
86779	invalidParams := request.ErrInvalidParams{Context: "MoveAddressToVpcInput"}
86780	if s.PublicIp == nil {
86781		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
86782	}
86783
86784	if invalidParams.Len() > 0 {
86785		return invalidParams
86786	}
86787	return nil
86788}
86789
86790// SetDryRun sets the DryRun field's value.
86791func (s *MoveAddressToVpcInput) SetDryRun(v bool) *MoveAddressToVpcInput {
86792	s.DryRun = &v
86793	return s
86794}
86795
86796// SetPublicIp sets the PublicIp field's value.
86797func (s *MoveAddressToVpcInput) SetPublicIp(v string) *MoveAddressToVpcInput {
86798	s.PublicIp = &v
86799	return s
86800}
86801
86802type MoveAddressToVpcOutput struct {
86803	_ struct{} `type:"structure"`
86804
86805	// The allocation ID for the Elastic IP address.
86806	AllocationId *string `locationName:"allocationId" type:"string"`
86807
86808	// The status of the move of the IP address.
86809	Status *string `locationName:"status" type:"string" enum:"Status"`
86810}
86811
86812// String returns the string representation
86813func (s MoveAddressToVpcOutput) String() string {
86814	return awsutil.Prettify(s)
86815}
86816
86817// GoString returns the string representation
86818func (s MoveAddressToVpcOutput) GoString() string {
86819	return s.String()
86820}
86821
86822// SetAllocationId sets the AllocationId field's value.
86823func (s *MoveAddressToVpcOutput) SetAllocationId(v string) *MoveAddressToVpcOutput {
86824	s.AllocationId = &v
86825	return s
86826}
86827
86828// SetStatus sets the Status field's value.
86829func (s *MoveAddressToVpcOutput) SetStatus(v string) *MoveAddressToVpcOutput {
86830	s.Status = &v
86831	return s
86832}
86833
86834// Describes the status of a moving Elastic IP address.
86835type MovingAddressStatus struct {
86836	_ struct{} `type:"structure"`
86837
86838	// The status of the Elastic IP address that's being moved to the EC2-VPC platform,
86839	// or restored to the EC2-Classic platform.
86840	MoveStatus *string `locationName:"moveStatus" type:"string" enum:"MoveStatus"`
86841
86842	// The Elastic IP address.
86843	PublicIp *string `locationName:"publicIp" type:"string"`
86844}
86845
86846// String returns the string representation
86847func (s MovingAddressStatus) String() string {
86848	return awsutil.Prettify(s)
86849}
86850
86851// GoString returns the string representation
86852func (s MovingAddressStatus) GoString() string {
86853	return s.String()
86854}
86855
86856// SetMoveStatus sets the MoveStatus field's value.
86857func (s *MovingAddressStatus) SetMoveStatus(v string) *MovingAddressStatus {
86858	s.MoveStatus = &v
86859	return s
86860}
86861
86862// SetPublicIp sets the PublicIp field's value.
86863func (s *MovingAddressStatus) SetPublicIp(v string) *MovingAddressStatus {
86864	s.PublicIp = &v
86865	return s
86866}
86867
86868// Describes a NAT gateway.
86869type NatGateway struct {
86870	_ struct{} `type:"structure"`
86871
86872	// The date and time the NAT gateway was created.
86873	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
86874
86875	// The date and time the NAT gateway was deleted, if applicable.
86876	DeleteTime *time.Time `locationName:"deleteTime" type:"timestamp"`
86877
86878	// If the NAT gateway could not be created, specifies the error code for the
86879	// failure. (InsufficientFreeAddressesInSubnet | Gateway.NotAttached | InvalidAllocationID.NotFound
86880	// | Resource.AlreadyAssociated | InternalError | InvalidSubnetID.NotFound)
86881	FailureCode *string `locationName:"failureCode" type:"string"`
86882
86883	// If the NAT gateway could not be created, specifies the error message for
86884	// the failure, that corresponds to the error code.
86885	//
86886	//    * For InsufficientFreeAddressesInSubnet: "Subnet has insufficient free
86887	//    addresses to create this NAT gateway"
86888	//
86889	//    * For Gateway.NotAttached: "Network vpc-xxxxxxxx has no Internet gateway
86890	//    attached"
86891	//
86892	//    * For InvalidAllocationID.NotFound: "Elastic IP address eipalloc-xxxxxxxx
86893	//    could not be associated with this NAT gateway"
86894	//
86895	//    * For Resource.AlreadyAssociated: "Elastic IP address eipalloc-xxxxxxxx
86896	//    is already associated"
86897	//
86898	//    * For InternalError: "Network interface eni-xxxxxxxx, created and used
86899	//    internally by this NAT gateway is in an invalid state. Please try again."
86900	//
86901	//    * For InvalidSubnetID.NotFound: "The specified subnet subnet-xxxxxxxx
86902	//    does not exist or could not be found."
86903	FailureMessage *string `locationName:"failureMessage" type:"string"`
86904
86905	// Information about the IP addresses and network interface associated with
86906	// the NAT gateway.
86907	NatGatewayAddresses []*NatGatewayAddress `locationName:"natGatewayAddressSet" locationNameList:"item" type:"list"`
86908
86909	// The ID of the NAT gateway.
86910	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
86911
86912	// Reserved. If you need to sustain traffic greater than the documented limits
86913	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
86914	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
86915	ProvisionedBandwidth *ProvisionedBandwidth `locationName:"provisionedBandwidth" type:"structure"`
86916
86917	// The state of the NAT gateway.
86918	//
86919	//    * pending: The NAT gateway is being created and is not ready to process
86920	//    traffic.
86921	//
86922	//    * failed: The NAT gateway could not be created. Check the failureCode
86923	//    and failureMessage fields for the reason.
86924	//
86925	//    * available: The NAT gateway is able to process traffic. This status remains
86926	//    until you delete the NAT gateway, and does not indicate the health of
86927	//    the NAT gateway.
86928	//
86929	//    * deleting: The NAT gateway is in the process of being terminated and
86930	//    may still be processing traffic.
86931	//
86932	//    * deleted: The NAT gateway has been terminated and is no longer processing
86933	//    traffic.
86934	State *string `locationName:"state" type:"string" enum:"NatGatewayState"`
86935
86936	// The ID of the subnet in which the NAT gateway is located.
86937	SubnetId *string `locationName:"subnetId" type:"string"`
86938
86939	// The tags for the NAT gateway.
86940	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
86941
86942	// The ID of the VPC in which the NAT gateway is located.
86943	VpcId *string `locationName:"vpcId" type:"string"`
86944}
86945
86946// String returns the string representation
86947func (s NatGateway) String() string {
86948	return awsutil.Prettify(s)
86949}
86950
86951// GoString returns the string representation
86952func (s NatGateway) GoString() string {
86953	return s.String()
86954}
86955
86956// SetCreateTime sets the CreateTime field's value.
86957func (s *NatGateway) SetCreateTime(v time.Time) *NatGateway {
86958	s.CreateTime = &v
86959	return s
86960}
86961
86962// SetDeleteTime sets the DeleteTime field's value.
86963func (s *NatGateway) SetDeleteTime(v time.Time) *NatGateway {
86964	s.DeleteTime = &v
86965	return s
86966}
86967
86968// SetFailureCode sets the FailureCode field's value.
86969func (s *NatGateway) SetFailureCode(v string) *NatGateway {
86970	s.FailureCode = &v
86971	return s
86972}
86973
86974// SetFailureMessage sets the FailureMessage field's value.
86975func (s *NatGateway) SetFailureMessage(v string) *NatGateway {
86976	s.FailureMessage = &v
86977	return s
86978}
86979
86980// SetNatGatewayAddresses sets the NatGatewayAddresses field's value.
86981func (s *NatGateway) SetNatGatewayAddresses(v []*NatGatewayAddress) *NatGateway {
86982	s.NatGatewayAddresses = v
86983	return s
86984}
86985
86986// SetNatGatewayId sets the NatGatewayId field's value.
86987func (s *NatGateway) SetNatGatewayId(v string) *NatGateway {
86988	s.NatGatewayId = &v
86989	return s
86990}
86991
86992// SetProvisionedBandwidth sets the ProvisionedBandwidth field's value.
86993func (s *NatGateway) SetProvisionedBandwidth(v *ProvisionedBandwidth) *NatGateway {
86994	s.ProvisionedBandwidth = v
86995	return s
86996}
86997
86998// SetState sets the State field's value.
86999func (s *NatGateway) SetState(v string) *NatGateway {
87000	s.State = &v
87001	return s
87002}
87003
87004// SetSubnetId sets the SubnetId field's value.
87005func (s *NatGateway) SetSubnetId(v string) *NatGateway {
87006	s.SubnetId = &v
87007	return s
87008}
87009
87010// SetTags sets the Tags field's value.
87011func (s *NatGateway) SetTags(v []*Tag) *NatGateway {
87012	s.Tags = v
87013	return s
87014}
87015
87016// SetVpcId sets the VpcId field's value.
87017func (s *NatGateway) SetVpcId(v string) *NatGateway {
87018	s.VpcId = &v
87019	return s
87020}
87021
87022// Describes the IP addresses and network interface associated with a NAT gateway.
87023type NatGatewayAddress struct {
87024	_ struct{} `type:"structure"`
87025
87026	// The allocation ID of the Elastic IP address that's associated with the NAT
87027	// gateway.
87028	AllocationId *string `locationName:"allocationId" type:"string"`
87029
87030	// The ID of the network interface associated with the NAT gateway.
87031	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
87032
87033	// The private IP address associated with the Elastic IP address.
87034	PrivateIp *string `locationName:"privateIp" type:"string"`
87035
87036	// The Elastic IP address associated with the NAT gateway.
87037	PublicIp *string `locationName:"publicIp" type:"string"`
87038}
87039
87040// String returns the string representation
87041func (s NatGatewayAddress) String() string {
87042	return awsutil.Prettify(s)
87043}
87044
87045// GoString returns the string representation
87046func (s NatGatewayAddress) GoString() string {
87047	return s.String()
87048}
87049
87050// SetAllocationId sets the AllocationId field's value.
87051func (s *NatGatewayAddress) SetAllocationId(v string) *NatGatewayAddress {
87052	s.AllocationId = &v
87053	return s
87054}
87055
87056// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
87057func (s *NatGatewayAddress) SetNetworkInterfaceId(v string) *NatGatewayAddress {
87058	s.NetworkInterfaceId = &v
87059	return s
87060}
87061
87062// SetPrivateIp sets the PrivateIp field's value.
87063func (s *NatGatewayAddress) SetPrivateIp(v string) *NatGatewayAddress {
87064	s.PrivateIp = &v
87065	return s
87066}
87067
87068// SetPublicIp sets the PublicIp field's value.
87069func (s *NatGatewayAddress) SetPublicIp(v string) *NatGatewayAddress {
87070	s.PublicIp = &v
87071	return s
87072}
87073
87074// Describes a network ACL.
87075type NetworkAcl struct {
87076	_ struct{} `type:"structure"`
87077
87078	// Any associations between the network ACL and one or more subnets
87079	Associations []*NetworkAclAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
87080
87081	// One or more entries (rules) in the network ACL.
87082	Entries []*NetworkAclEntry `locationName:"entrySet" locationNameList:"item" type:"list"`
87083
87084	// Indicates whether this is the default network ACL for the VPC.
87085	IsDefault *bool `locationName:"default" type:"boolean"`
87086
87087	// The ID of the network ACL.
87088	NetworkAclId *string `locationName:"networkAclId" type:"string"`
87089
87090	// The ID of the AWS account that owns the network ACL.
87091	OwnerId *string `locationName:"ownerId" type:"string"`
87092
87093	// Any tags assigned to the network ACL.
87094	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
87095
87096	// The ID of the VPC for the network ACL.
87097	VpcId *string `locationName:"vpcId" type:"string"`
87098}
87099
87100// String returns the string representation
87101func (s NetworkAcl) String() string {
87102	return awsutil.Prettify(s)
87103}
87104
87105// GoString returns the string representation
87106func (s NetworkAcl) GoString() string {
87107	return s.String()
87108}
87109
87110// SetAssociations sets the Associations field's value.
87111func (s *NetworkAcl) SetAssociations(v []*NetworkAclAssociation) *NetworkAcl {
87112	s.Associations = v
87113	return s
87114}
87115
87116// SetEntries sets the Entries field's value.
87117func (s *NetworkAcl) SetEntries(v []*NetworkAclEntry) *NetworkAcl {
87118	s.Entries = v
87119	return s
87120}
87121
87122// SetIsDefault sets the IsDefault field's value.
87123func (s *NetworkAcl) SetIsDefault(v bool) *NetworkAcl {
87124	s.IsDefault = &v
87125	return s
87126}
87127
87128// SetNetworkAclId sets the NetworkAclId field's value.
87129func (s *NetworkAcl) SetNetworkAclId(v string) *NetworkAcl {
87130	s.NetworkAclId = &v
87131	return s
87132}
87133
87134// SetOwnerId sets the OwnerId field's value.
87135func (s *NetworkAcl) SetOwnerId(v string) *NetworkAcl {
87136	s.OwnerId = &v
87137	return s
87138}
87139
87140// SetTags sets the Tags field's value.
87141func (s *NetworkAcl) SetTags(v []*Tag) *NetworkAcl {
87142	s.Tags = v
87143	return s
87144}
87145
87146// SetVpcId sets the VpcId field's value.
87147func (s *NetworkAcl) SetVpcId(v string) *NetworkAcl {
87148	s.VpcId = &v
87149	return s
87150}
87151
87152// Describes an association between a network ACL and a subnet.
87153type NetworkAclAssociation struct {
87154	_ struct{} `type:"structure"`
87155
87156	// The ID of the association between a network ACL and a subnet.
87157	NetworkAclAssociationId *string `locationName:"networkAclAssociationId" type:"string"`
87158
87159	// The ID of the network ACL.
87160	NetworkAclId *string `locationName:"networkAclId" type:"string"`
87161
87162	// The ID of the subnet.
87163	SubnetId *string `locationName:"subnetId" type:"string"`
87164}
87165
87166// String returns the string representation
87167func (s NetworkAclAssociation) String() string {
87168	return awsutil.Prettify(s)
87169}
87170
87171// GoString returns the string representation
87172func (s NetworkAclAssociation) GoString() string {
87173	return s.String()
87174}
87175
87176// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
87177func (s *NetworkAclAssociation) SetNetworkAclAssociationId(v string) *NetworkAclAssociation {
87178	s.NetworkAclAssociationId = &v
87179	return s
87180}
87181
87182// SetNetworkAclId sets the NetworkAclId field's value.
87183func (s *NetworkAclAssociation) SetNetworkAclId(v string) *NetworkAclAssociation {
87184	s.NetworkAclId = &v
87185	return s
87186}
87187
87188// SetSubnetId sets the SubnetId field's value.
87189func (s *NetworkAclAssociation) SetSubnetId(v string) *NetworkAclAssociation {
87190	s.SubnetId = &v
87191	return s
87192}
87193
87194// Describes an entry in a network ACL.
87195type NetworkAclEntry struct {
87196	_ struct{} `type:"structure"`
87197
87198	// The IPv4 network range to allow or deny, in CIDR notation.
87199	CidrBlock *string `locationName:"cidrBlock" type:"string"`
87200
87201	// Indicates whether the rule is an egress rule (applied to traffic leaving
87202	// the subnet).
87203	Egress *bool `locationName:"egress" type:"boolean"`
87204
87205	// ICMP protocol: The ICMP type and code.
87206	IcmpTypeCode *IcmpTypeCode `locationName:"icmpTypeCode" type:"structure"`
87207
87208	// The IPv6 network range to allow or deny, in CIDR notation.
87209	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
87210
87211	// TCP or UDP protocols: The range of ports the rule applies to.
87212	PortRange *PortRange `locationName:"portRange" type:"structure"`
87213
87214	// The protocol number. A value of "-1" means all protocols.
87215	Protocol *string `locationName:"protocol" type:"string"`
87216
87217	// Indicates whether to allow or deny the traffic that matches the rule.
87218	RuleAction *string `locationName:"ruleAction" type:"string" enum:"RuleAction"`
87219
87220	// The rule number for the entry. ACL entries are processed in ascending order
87221	// by rule number.
87222	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
87223}
87224
87225// String returns the string representation
87226func (s NetworkAclEntry) String() string {
87227	return awsutil.Prettify(s)
87228}
87229
87230// GoString returns the string representation
87231func (s NetworkAclEntry) GoString() string {
87232	return s.String()
87233}
87234
87235// SetCidrBlock sets the CidrBlock field's value.
87236func (s *NetworkAclEntry) SetCidrBlock(v string) *NetworkAclEntry {
87237	s.CidrBlock = &v
87238	return s
87239}
87240
87241// SetEgress sets the Egress field's value.
87242func (s *NetworkAclEntry) SetEgress(v bool) *NetworkAclEntry {
87243	s.Egress = &v
87244	return s
87245}
87246
87247// SetIcmpTypeCode sets the IcmpTypeCode field's value.
87248func (s *NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *NetworkAclEntry {
87249	s.IcmpTypeCode = v
87250	return s
87251}
87252
87253// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
87254func (s *NetworkAclEntry) SetIpv6CidrBlock(v string) *NetworkAclEntry {
87255	s.Ipv6CidrBlock = &v
87256	return s
87257}
87258
87259// SetPortRange sets the PortRange field's value.
87260func (s *NetworkAclEntry) SetPortRange(v *PortRange) *NetworkAclEntry {
87261	s.PortRange = v
87262	return s
87263}
87264
87265// SetProtocol sets the Protocol field's value.
87266func (s *NetworkAclEntry) SetProtocol(v string) *NetworkAclEntry {
87267	s.Protocol = &v
87268	return s
87269}
87270
87271// SetRuleAction sets the RuleAction field's value.
87272func (s *NetworkAclEntry) SetRuleAction(v string) *NetworkAclEntry {
87273	s.RuleAction = &v
87274	return s
87275}
87276
87277// SetRuleNumber sets the RuleNumber field's value.
87278func (s *NetworkAclEntry) SetRuleNumber(v int64) *NetworkAclEntry {
87279	s.RuleNumber = &v
87280	return s
87281}
87282
87283// Describes the networking features of the instance type.
87284type NetworkInfo struct {
87285	_ struct{} `type:"structure"`
87286
87287	// Indicates whether Elastic Network Adapter (ENA) is supported.
87288	EnaSupport *string `locationName:"enaSupport" type:"string" enum:"EnaSupport"`
87289
87290	// The maximum number of IPv4 addresses per network interface.
87291	Ipv4AddressesPerInterface *int64 `locationName:"ipv4AddressesPerInterface" type:"integer"`
87292
87293	// The maximum number of IPv6 addresses per network interface.
87294	Ipv6AddressesPerInterface *int64 `locationName:"ipv6AddressesPerInterface" type:"integer"`
87295
87296	// Indicates whether IPv6 is supported.
87297	Ipv6Supported *bool `locationName:"ipv6Supported" type:"boolean"`
87298
87299	// The maximum number of network interfaces for the instance type.
87300	MaximumNetworkInterfaces *int64 `locationName:"maximumNetworkInterfaces" type:"integer"`
87301
87302	// Describes the network performance.
87303	NetworkPerformance *string `locationName:"networkPerformance" type:"string"`
87304}
87305
87306// String returns the string representation
87307func (s NetworkInfo) String() string {
87308	return awsutil.Prettify(s)
87309}
87310
87311// GoString returns the string representation
87312func (s NetworkInfo) GoString() string {
87313	return s.String()
87314}
87315
87316// SetEnaSupport sets the EnaSupport field's value.
87317func (s *NetworkInfo) SetEnaSupport(v string) *NetworkInfo {
87318	s.EnaSupport = &v
87319	return s
87320}
87321
87322// SetIpv4AddressesPerInterface sets the Ipv4AddressesPerInterface field's value.
87323func (s *NetworkInfo) SetIpv4AddressesPerInterface(v int64) *NetworkInfo {
87324	s.Ipv4AddressesPerInterface = &v
87325	return s
87326}
87327
87328// SetIpv6AddressesPerInterface sets the Ipv6AddressesPerInterface field's value.
87329func (s *NetworkInfo) SetIpv6AddressesPerInterface(v int64) *NetworkInfo {
87330	s.Ipv6AddressesPerInterface = &v
87331	return s
87332}
87333
87334// SetIpv6Supported sets the Ipv6Supported field's value.
87335func (s *NetworkInfo) SetIpv6Supported(v bool) *NetworkInfo {
87336	s.Ipv6Supported = &v
87337	return s
87338}
87339
87340// SetMaximumNetworkInterfaces sets the MaximumNetworkInterfaces field's value.
87341func (s *NetworkInfo) SetMaximumNetworkInterfaces(v int64) *NetworkInfo {
87342	s.MaximumNetworkInterfaces = &v
87343	return s
87344}
87345
87346// SetNetworkPerformance sets the NetworkPerformance field's value.
87347func (s *NetworkInfo) SetNetworkPerformance(v string) *NetworkInfo {
87348	s.NetworkPerformance = &v
87349	return s
87350}
87351
87352// Describes a network interface.
87353type NetworkInterface struct {
87354	_ struct{} `type:"structure"`
87355
87356	// The association information for an Elastic IP address (IPv4) associated with
87357	// the network interface.
87358	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
87359
87360	// The network interface attachment.
87361	Attachment *NetworkInterfaceAttachment `locationName:"attachment" type:"structure"`
87362
87363	// The Availability Zone.
87364	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
87365
87366	// A description.
87367	Description *string `locationName:"description" type:"string"`
87368
87369	// Any security groups for the network interface.
87370	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
87371
87372	// The type of network interface.
87373	InterfaceType *string `locationName:"interfaceType" type:"string" enum:"NetworkInterfaceType"`
87374
87375	// The IPv6 addresses associated with the network interface.
87376	Ipv6Addresses []*NetworkInterfaceIpv6Address `locationName:"ipv6AddressesSet" locationNameList:"item" type:"list"`
87377
87378	// The MAC address.
87379	MacAddress *string `locationName:"macAddress" type:"string"`
87380
87381	// The ID of the network interface.
87382	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
87383
87384	// The Amazon Resource Name (ARN) of the Outpost.
87385	OutpostArn *string `locationName:"outpostArn" type:"string"`
87386
87387	// The AWS account ID of the owner of the network interface.
87388	OwnerId *string `locationName:"ownerId" type:"string"`
87389
87390	// The private DNS name.
87391	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
87392
87393	// The IPv4 address of the network interface within the subnet.
87394	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
87395
87396	// The private IPv4 addresses associated with the network interface.
87397	PrivateIpAddresses []*NetworkInterfacePrivateIpAddress `locationName:"privateIpAddressesSet" locationNameList:"item" type:"list"`
87398
87399	// The ID of the entity that launched the instance on your behalf (for example,
87400	// AWS Management Console or Auto Scaling).
87401	RequesterId *string `locationName:"requesterId" type:"string"`
87402
87403	// Indicates whether the network interface is being managed by AWS.
87404	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
87405
87406	// Indicates whether traffic to or from the instance is validated.
87407	SourceDestCheck *bool `locationName:"sourceDestCheck" type:"boolean"`
87408
87409	// The status of the network interface.
87410	Status *string `locationName:"status" type:"string" enum:"NetworkInterfaceStatus"`
87411
87412	// The ID of the subnet.
87413	SubnetId *string `locationName:"subnetId" type:"string"`
87414
87415	// Any tags assigned to the network interface.
87416	TagSet []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
87417
87418	// The ID of the VPC.
87419	VpcId *string `locationName:"vpcId" type:"string"`
87420}
87421
87422// String returns the string representation
87423func (s NetworkInterface) String() string {
87424	return awsutil.Prettify(s)
87425}
87426
87427// GoString returns the string representation
87428func (s NetworkInterface) GoString() string {
87429	return s.String()
87430}
87431
87432// SetAssociation sets the Association field's value.
87433func (s *NetworkInterface) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterface {
87434	s.Association = v
87435	return s
87436}
87437
87438// SetAttachment sets the Attachment field's value.
87439func (s *NetworkInterface) SetAttachment(v *NetworkInterfaceAttachment) *NetworkInterface {
87440	s.Attachment = v
87441	return s
87442}
87443
87444// SetAvailabilityZone sets the AvailabilityZone field's value.
87445func (s *NetworkInterface) SetAvailabilityZone(v string) *NetworkInterface {
87446	s.AvailabilityZone = &v
87447	return s
87448}
87449
87450// SetDescription sets the Description field's value.
87451func (s *NetworkInterface) SetDescription(v string) *NetworkInterface {
87452	s.Description = &v
87453	return s
87454}
87455
87456// SetGroups sets the Groups field's value.
87457func (s *NetworkInterface) SetGroups(v []*GroupIdentifier) *NetworkInterface {
87458	s.Groups = v
87459	return s
87460}
87461
87462// SetInterfaceType sets the InterfaceType field's value.
87463func (s *NetworkInterface) SetInterfaceType(v string) *NetworkInterface {
87464	s.InterfaceType = &v
87465	return s
87466}
87467
87468// SetIpv6Addresses sets the Ipv6Addresses field's value.
87469func (s *NetworkInterface) SetIpv6Addresses(v []*NetworkInterfaceIpv6Address) *NetworkInterface {
87470	s.Ipv6Addresses = v
87471	return s
87472}
87473
87474// SetMacAddress sets the MacAddress field's value.
87475func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
87476	s.MacAddress = &v
87477	return s
87478}
87479
87480// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
87481func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
87482	s.NetworkInterfaceId = &v
87483	return s
87484}
87485
87486// SetOutpostArn sets the OutpostArn field's value.
87487func (s *NetworkInterface) SetOutpostArn(v string) *NetworkInterface {
87488	s.OutpostArn = &v
87489	return s
87490}
87491
87492// SetOwnerId sets the OwnerId field's value.
87493func (s *NetworkInterface) SetOwnerId(v string) *NetworkInterface {
87494	s.OwnerId = &v
87495	return s
87496}
87497
87498// SetPrivateDnsName sets the PrivateDnsName field's value.
87499func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
87500	s.PrivateDnsName = &v
87501	return s
87502}
87503
87504// SetPrivateIpAddress sets the PrivateIpAddress field's value.
87505func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
87506	s.PrivateIpAddress = &v
87507	return s
87508}
87509
87510// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
87511func (s *NetworkInterface) SetPrivateIpAddresses(v []*NetworkInterfacePrivateIpAddress) *NetworkInterface {
87512	s.PrivateIpAddresses = v
87513	return s
87514}
87515
87516// SetRequesterId sets the RequesterId field's value.
87517func (s *NetworkInterface) SetRequesterId(v string) *NetworkInterface {
87518	s.RequesterId = &v
87519	return s
87520}
87521
87522// SetRequesterManaged sets the RequesterManaged field's value.
87523func (s *NetworkInterface) SetRequesterManaged(v bool) *NetworkInterface {
87524	s.RequesterManaged = &v
87525	return s
87526}
87527
87528// SetSourceDestCheck sets the SourceDestCheck field's value.
87529func (s *NetworkInterface) SetSourceDestCheck(v bool) *NetworkInterface {
87530	s.SourceDestCheck = &v
87531	return s
87532}
87533
87534// SetStatus sets the Status field's value.
87535func (s *NetworkInterface) SetStatus(v string) *NetworkInterface {
87536	s.Status = &v
87537	return s
87538}
87539
87540// SetSubnetId sets the SubnetId field's value.
87541func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
87542	s.SubnetId = &v
87543	return s
87544}
87545
87546// SetTagSet sets the TagSet field's value.
87547func (s *NetworkInterface) SetTagSet(v []*Tag) *NetworkInterface {
87548	s.TagSet = v
87549	return s
87550}
87551
87552// SetVpcId sets the VpcId field's value.
87553func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
87554	s.VpcId = &v
87555	return s
87556}
87557
87558// Describes association information for an Elastic IP address (IPv4 only).
87559type NetworkInterfaceAssociation struct {
87560	_ struct{} `type:"structure"`
87561
87562	// The allocation ID.
87563	AllocationId *string `locationName:"allocationId" type:"string"`
87564
87565	// The association ID.
87566	AssociationId *string `locationName:"associationId" type:"string"`
87567
87568	// The ID of the Elastic IP address owner.
87569	IpOwnerId *string `locationName:"ipOwnerId" type:"string"`
87570
87571	// The public DNS name.
87572	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
87573
87574	// The address of the Elastic IP address bound to the network interface.
87575	PublicIp *string `locationName:"publicIp" type:"string"`
87576}
87577
87578// String returns the string representation
87579func (s NetworkInterfaceAssociation) String() string {
87580	return awsutil.Prettify(s)
87581}
87582
87583// GoString returns the string representation
87584func (s NetworkInterfaceAssociation) GoString() string {
87585	return s.String()
87586}
87587
87588// SetAllocationId sets the AllocationId field's value.
87589func (s *NetworkInterfaceAssociation) SetAllocationId(v string) *NetworkInterfaceAssociation {
87590	s.AllocationId = &v
87591	return s
87592}
87593
87594// SetAssociationId sets the AssociationId field's value.
87595func (s *NetworkInterfaceAssociation) SetAssociationId(v string) *NetworkInterfaceAssociation {
87596	s.AssociationId = &v
87597	return s
87598}
87599
87600// SetIpOwnerId sets the IpOwnerId field's value.
87601func (s *NetworkInterfaceAssociation) SetIpOwnerId(v string) *NetworkInterfaceAssociation {
87602	s.IpOwnerId = &v
87603	return s
87604}
87605
87606// SetPublicDnsName sets the PublicDnsName field's value.
87607func (s *NetworkInterfaceAssociation) SetPublicDnsName(v string) *NetworkInterfaceAssociation {
87608	s.PublicDnsName = &v
87609	return s
87610}
87611
87612// SetPublicIp sets the PublicIp field's value.
87613func (s *NetworkInterfaceAssociation) SetPublicIp(v string) *NetworkInterfaceAssociation {
87614	s.PublicIp = &v
87615	return s
87616}
87617
87618// Describes a network interface attachment.
87619type NetworkInterfaceAttachment struct {
87620	_ struct{} `type:"structure"`
87621
87622	// The timestamp indicating when the attachment initiated.
87623	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
87624
87625	// The ID of the network interface attachment.
87626	AttachmentId *string `locationName:"attachmentId" type:"string"`
87627
87628	// Indicates whether the network interface is deleted when the instance is terminated.
87629	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
87630
87631	// The device index of the network interface attachment on the instance.
87632	DeviceIndex *int64 `locationName:"deviceIndex" type:"integer"`
87633
87634	// The ID of the instance.
87635	InstanceId *string `locationName:"instanceId" type:"string"`
87636
87637	// The AWS account ID of the owner of the instance.
87638	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
87639
87640	// The attachment state.
87641	Status *string `locationName:"status" type:"string" enum:"AttachmentStatus"`
87642}
87643
87644// String returns the string representation
87645func (s NetworkInterfaceAttachment) String() string {
87646	return awsutil.Prettify(s)
87647}
87648
87649// GoString returns the string representation
87650func (s NetworkInterfaceAttachment) GoString() string {
87651	return s.String()
87652}
87653
87654// SetAttachTime sets the AttachTime field's value.
87655func (s *NetworkInterfaceAttachment) SetAttachTime(v time.Time) *NetworkInterfaceAttachment {
87656	s.AttachTime = &v
87657	return s
87658}
87659
87660// SetAttachmentId sets the AttachmentId field's value.
87661func (s *NetworkInterfaceAttachment) SetAttachmentId(v string) *NetworkInterfaceAttachment {
87662	s.AttachmentId = &v
87663	return s
87664}
87665
87666// SetDeleteOnTermination sets the DeleteOnTermination field's value.
87667func (s *NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachment {
87668	s.DeleteOnTermination = &v
87669	return s
87670}
87671
87672// SetDeviceIndex sets the DeviceIndex field's value.
87673func (s *NetworkInterfaceAttachment) SetDeviceIndex(v int64) *NetworkInterfaceAttachment {
87674	s.DeviceIndex = &v
87675	return s
87676}
87677
87678// SetInstanceId sets the InstanceId field's value.
87679func (s *NetworkInterfaceAttachment) SetInstanceId(v string) *NetworkInterfaceAttachment {
87680	s.InstanceId = &v
87681	return s
87682}
87683
87684// SetInstanceOwnerId sets the InstanceOwnerId field's value.
87685func (s *NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *NetworkInterfaceAttachment {
87686	s.InstanceOwnerId = &v
87687	return s
87688}
87689
87690// SetStatus sets the Status field's value.
87691func (s *NetworkInterfaceAttachment) SetStatus(v string) *NetworkInterfaceAttachment {
87692	s.Status = &v
87693	return s
87694}
87695
87696// Describes an attachment change.
87697type NetworkInterfaceAttachmentChanges struct {
87698	_ struct{} `type:"structure"`
87699
87700	// The ID of the network interface attachment.
87701	AttachmentId *string `locationName:"attachmentId" type:"string"`
87702
87703	// Indicates whether the network interface is deleted when the instance is terminated.
87704	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
87705}
87706
87707// String returns the string representation
87708func (s NetworkInterfaceAttachmentChanges) String() string {
87709	return awsutil.Prettify(s)
87710}
87711
87712// GoString returns the string representation
87713func (s NetworkInterfaceAttachmentChanges) GoString() string {
87714	return s.String()
87715}
87716
87717// SetAttachmentId sets the AttachmentId field's value.
87718func (s *NetworkInterfaceAttachmentChanges) SetAttachmentId(v string) *NetworkInterfaceAttachmentChanges {
87719	s.AttachmentId = &v
87720	return s
87721}
87722
87723// SetDeleteOnTermination sets the DeleteOnTermination field's value.
87724func (s *NetworkInterfaceAttachmentChanges) SetDeleteOnTermination(v bool) *NetworkInterfaceAttachmentChanges {
87725	s.DeleteOnTermination = &v
87726	return s
87727}
87728
87729// Describes an IPv6 address associated with a network interface.
87730type NetworkInterfaceIpv6Address struct {
87731	_ struct{} `type:"structure"`
87732
87733	// The IPv6 address.
87734	Ipv6Address *string `locationName:"ipv6Address" type:"string"`
87735}
87736
87737// String returns the string representation
87738func (s NetworkInterfaceIpv6Address) String() string {
87739	return awsutil.Prettify(s)
87740}
87741
87742// GoString returns the string representation
87743func (s NetworkInterfaceIpv6Address) GoString() string {
87744	return s.String()
87745}
87746
87747// SetIpv6Address sets the Ipv6Address field's value.
87748func (s *NetworkInterfaceIpv6Address) SetIpv6Address(v string) *NetworkInterfaceIpv6Address {
87749	s.Ipv6Address = &v
87750	return s
87751}
87752
87753// Describes a permission for a network interface.
87754type NetworkInterfacePermission struct {
87755	_ struct{} `type:"structure"`
87756
87757	// The AWS account ID.
87758	AwsAccountId *string `locationName:"awsAccountId" type:"string"`
87759
87760	// The AWS service.
87761	AwsService *string `locationName:"awsService" type:"string"`
87762
87763	// The ID of the network interface.
87764	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
87765
87766	// The ID of the network interface permission.
87767	NetworkInterfacePermissionId *string `locationName:"networkInterfacePermissionId" type:"string"`
87768
87769	// The type of permission.
87770	Permission *string `locationName:"permission" type:"string" enum:"InterfacePermissionType"`
87771
87772	// Information about the state of the permission.
87773	PermissionState *NetworkInterfacePermissionState `locationName:"permissionState" type:"structure"`
87774}
87775
87776// String returns the string representation
87777func (s NetworkInterfacePermission) String() string {
87778	return awsutil.Prettify(s)
87779}
87780
87781// GoString returns the string representation
87782func (s NetworkInterfacePermission) GoString() string {
87783	return s.String()
87784}
87785
87786// SetAwsAccountId sets the AwsAccountId field's value.
87787func (s *NetworkInterfacePermission) SetAwsAccountId(v string) *NetworkInterfacePermission {
87788	s.AwsAccountId = &v
87789	return s
87790}
87791
87792// SetAwsService sets the AwsService field's value.
87793func (s *NetworkInterfacePermission) SetAwsService(v string) *NetworkInterfacePermission {
87794	s.AwsService = &v
87795	return s
87796}
87797
87798// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
87799func (s *NetworkInterfacePermission) SetNetworkInterfaceId(v string) *NetworkInterfacePermission {
87800	s.NetworkInterfaceId = &v
87801	return s
87802}
87803
87804// SetNetworkInterfacePermissionId sets the NetworkInterfacePermissionId field's value.
87805func (s *NetworkInterfacePermission) SetNetworkInterfacePermissionId(v string) *NetworkInterfacePermission {
87806	s.NetworkInterfacePermissionId = &v
87807	return s
87808}
87809
87810// SetPermission sets the Permission field's value.
87811func (s *NetworkInterfacePermission) SetPermission(v string) *NetworkInterfacePermission {
87812	s.Permission = &v
87813	return s
87814}
87815
87816// SetPermissionState sets the PermissionState field's value.
87817func (s *NetworkInterfacePermission) SetPermissionState(v *NetworkInterfacePermissionState) *NetworkInterfacePermission {
87818	s.PermissionState = v
87819	return s
87820}
87821
87822// Describes the state of a network interface permission.
87823type NetworkInterfacePermissionState struct {
87824	_ struct{} `type:"structure"`
87825
87826	// The state of the permission.
87827	State *string `locationName:"state" type:"string" enum:"NetworkInterfacePermissionStateCode"`
87828
87829	// A status message, if applicable.
87830	StatusMessage *string `locationName:"statusMessage" type:"string"`
87831}
87832
87833// String returns the string representation
87834func (s NetworkInterfacePermissionState) String() string {
87835	return awsutil.Prettify(s)
87836}
87837
87838// GoString returns the string representation
87839func (s NetworkInterfacePermissionState) GoString() string {
87840	return s.String()
87841}
87842
87843// SetState sets the State field's value.
87844func (s *NetworkInterfacePermissionState) SetState(v string) *NetworkInterfacePermissionState {
87845	s.State = &v
87846	return s
87847}
87848
87849// SetStatusMessage sets the StatusMessage field's value.
87850func (s *NetworkInterfacePermissionState) SetStatusMessage(v string) *NetworkInterfacePermissionState {
87851	s.StatusMessage = &v
87852	return s
87853}
87854
87855// Describes the private IPv4 address of a network interface.
87856type NetworkInterfacePrivateIpAddress struct {
87857	_ struct{} `type:"structure"`
87858
87859	// The association information for an Elastic IP address (IPv4) associated with
87860	// the network interface.
87861	Association *NetworkInterfaceAssociation `locationName:"association" type:"structure"`
87862
87863	// Indicates whether this IPv4 address is the primary private IPv4 address of
87864	// the network interface.
87865	Primary *bool `locationName:"primary" type:"boolean"`
87866
87867	// The private DNS name.
87868	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
87869
87870	// The private IPv4 address.
87871	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
87872}
87873
87874// String returns the string representation
87875func (s NetworkInterfacePrivateIpAddress) String() string {
87876	return awsutil.Prettify(s)
87877}
87878
87879// GoString returns the string representation
87880func (s NetworkInterfacePrivateIpAddress) GoString() string {
87881	return s.String()
87882}
87883
87884// SetAssociation sets the Association field's value.
87885func (s *NetworkInterfacePrivateIpAddress) SetAssociation(v *NetworkInterfaceAssociation) *NetworkInterfacePrivateIpAddress {
87886	s.Association = v
87887	return s
87888}
87889
87890// SetPrimary sets the Primary field's value.
87891func (s *NetworkInterfacePrivateIpAddress) SetPrimary(v bool) *NetworkInterfacePrivateIpAddress {
87892	s.Primary = &v
87893	return s
87894}
87895
87896// SetPrivateDnsName sets the PrivateDnsName field's value.
87897func (s *NetworkInterfacePrivateIpAddress) SetPrivateDnsName(v string) *NetworkInterfacePrivateIpAddress {
87898	s.PrivateDnsName = &v
87899	return s
87900}
87901
87902// SetPrivateIpAddress sets the PrivateIpAddress field's value.
87903func (s *NetworkInterfacePrivateIpAddress) SetPrivateIpAddress(v string) *NetworkInterfacePrivateIpAddress {
87904	s.PrivateIpAddress = &v
87905	return s
87906}
87907
87908type NewDhcpConfiguration struct {
87909	_ struct{} `type:"structure"`
87910
87911	Key *string `locationName:"key" type:"string"`
87912
87913	Values []*string `locationName:"Value" locationNameList:"item" type:"list"`
87914}
87915
87916// String returns the string representation
87917func (s NewDhcpConfiguration) String() string {
87918	return awsutil.Prettify(s)
87919}
87920
87921// GoString returns the string representation
87922func (s NewDhcpConfiguration) GoString() string {
87923	return s.String()
87924}
87925
87926// SetKey sets the Key field's value.
87927func (s *NewDhcpConfiguration) SetKey(v string) *NewDhcpConfiguration {
87928	s.Key = &v
87929	return s
87930}
87931
87932// SetValues sets the Values field's value.
87933func (s *NewDhcpConfiguration) SetValues(v []*string) *NewDhcpConfiguration {
87934	s.Values = v
87935	return s
87936}
87937
87938// Describes the configuration of On-Demand Instances in an EC2 Fleet.
87939type OnDemandOptions struct {
87940	_ struct{} `type:"structure"`
87941
87942	// The order of the launch template overrides to use in fulfilling On-Demand
87943	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
87944	// the order, launching the lowest price first. If you specify prioritized,
87945	// EC2 Fleet uses the priority that you assigned to each launch template override,
87946	// launching the highest priority first. If you do not specify a value, EC2
87947	// Fleet defaults to lowest-price.
87948	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"FleetOnDemandAllocationStrategy"`
87949
87950	// The strategy for using unused Capacity Reservations for fulfilling On-Demand
87951	// capacity. Supported only for fleets of type instant.
87952	CapacityReservationOptions *CapacityReservationOptions `locationName:"capacityReservationOptions" type:"structure"`
87953
87954	// The maximum amount per hour for On-Demand Instances that you're willing to
87955	// pay.
87956	MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
87957
87958	// The minimum target capacity for On-Demand Instances in the fleet. If the
87959	// minimum target capacity is not reached, the fleet launches no instances.
87960	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
87961
87962	// Indicates that the fleet launches all On-Demand Instances into a single Availability
87963	// Zone. Supported only for fleets of type instant.
87964	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
87965
87966	// Indicates that the fleet uses a single instance type to launch all On-Demand
87967	// Instances in the fleet. Supported only for fleets of type instant.
87968	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
87969}
87970
87971// String returns the string representation
87972func (s OnDemandOptions) String() string {
87973	return awsutil.Prettify(s)
87974}
87975
87976// GoString returns the string representation
87977func (s OnDemandOptions) GoString() string {
87978	return s.String()
87979}
87980
87981// SetAllocationStrategy sets the AllocationStrategy field's value.
87982func (s *OnDemandOptions) SetAllocationStrategy(v string) *OnDemandOptions {
87983	s.AllocationStrategy = &v
87984	return s
87985}
87986
87987// SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
87988func (s *OnDemandOptions) SetCapacityReservationOptions(v *CapacityReservationOptions) *OnDemandOptions {
87989	s.CapacityReservationOptions = v
87990	return s
87991}
87992
87993// SetMaxTotalPrice sets the MaxTotalPrice field's value.
87994func (s *OnDemandOptions) SetMaxTotalPrice(v string) *OnDemandOptions {
87995	s.MaxTotalPrice = &v
87996	return s
87997}
87998
87999// SetMinTargetCapacity sets the MinTargetCapacity field's value.
88000func (s *OnDemandOptions) SetMinTargetCapacity(v int64) *OnDemandOptions {
88001	s.MinTargetCapacity = &v
88002	return s
88003}
88004
88005// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
88006func (s *OnDemandOptions) SetSingleAvailabilityZone(v bool) *OnDemandOptions {
88007	s.SingleAvailabilityZone = &v
88008	return s
88009}
88010
88011// SetSingleInstanceType sets the SingleInstanceType field's value.
88012func (s *OnDemandOptions) SetSingleInstanceType(v bool) *OnDemandOptions {
88013	s.SingleInstanceType = &v
88014	return s
88015}
88016
88017// Describes the configuration of On-Demand Instances in an EC2 Fleet.
88018type OnDemandOptionsRequest struct {
88019	_ struct{} `type:"structure"`
88020
88021	// The order of the launch template overrides to use in fulfilling On-Demand
88022	// capacity. If you specify lowest-price, EC2 Fleet uses price to determine
88023	// the order, launching the lowest price first. If you specify prioritized,
88024	// EC2 Fleet uses the priority that you assigned to each launch template override,
88025	// launching the highest priority first. If you do not specify a value, EC2
88026	// Fleet defaults to lowest-price.
88027	AllocationStrategy *string `type:"string" enum:"FleetOnDemandAllocationStrategy"`
88028
88029	// The strategy for using unused Capacity Reservations for fulfilling On-Demand
88030	// capacity. Supported only for fleets of type instant.
88031	CapacityReservationOptions *CapacityReservationOptionsRequest `type:"structure"`
88032
88033	// The maximum amount per hour for On-Demand Instances that you're willing to
88034	// pay.
88035	MaxTotalPrice *string `type:"string"`
88036
88037	// The minimum target capacity for On-Demand Instances in the fleet. If the
88038	// minimum target capacity is not reached, the fleet launches no instances.
88039	MinTargetCapacity *int64 `type:"integer"`
88040
88041	// Indicates that the fleet launches all On-Demand Instances into a single Availability
88042	// Zone. Supported only for fleets of type instant.
88043	SingleAvailabilityZone *bool `type:"boolean"`
88044
88045	// Indicates that the fleet uses a single instance type to launch all On-Demand
88046	// Instances in the fleet. Supported only for fleets of type instant.
88047	SingleInstanceType *bool `type:"boolean"`
88048}
88049
88050// String returns the string representation
88051func (s OnDemandOptionsRequest) String() string {
88052	return awsutil.Prettify(s)
88053}
88054
88055// GoString returns the string representation
88056func (s OnDemandOptionsRequest) GoString() string {
88057	return s.String()
88058}
88059
88060// SetAllocationStrategy sets the AllocationStrategy field's value.
88061func (s *OnDemandOptionsRequest) SetAllocationStrategy(v string) *OnDemandOptionsRequest {
88062	s.AllocationStrategy = &v
88063	return s
88064}
88065
88066// SetCapacityReservationOptions sets the CapacityReservationOptions field's value.
88067func (s *OnDemandOptionsRequest) SetCapacityReservationOptions(v *CapacityReservationOptionsRequest) *OnDemandOptionsRequest {
88068	s.CapacityReservationOptions = v
88069	return s
88070}
88071
88072// SetMaxTotalPrice sets the MaxTotalPrice field's value.
88073func (s *OnDemandOptionsRequest) SetMaxTotalPrice(v string) *OnDemandOptionsRequest {
88074	s.MaxTotalPrice = &v
88075	return s
88076}
88077
88078// SetMinTargetCapacity sets the MinTargetCapacity field's value.
88079func (s *OnDemandOptionsRequest) SetMinTargetCapacity(v int64) *OnDemandOptionsRequest {
88080	s.MinTargetCapacity = &v
88081	return s
88082}
88083
88084// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
88085func (s *OnDemandOptionsRequest) SetSingleAvailabilityZone(v bool) *OnDemandOptionsRequest {
88086	s.SingleAvailabilityZone = &v
88087	return s
88088}
88089
88090// SetSingleInstanceType sets the SingleInstanceType field's value.
88091func (s *OnDemandOptionsRequest) SetSingleInstanceType(v bool) *OnDemandOptionsRequest {
88092	s.SingleInstanceType = &v
88093	return s
88094}
88095
88096// Describes the data that identifies an Amazon FPGA image (AFI) on the PCI
88097// bus.
88098type PciId struct {
88099	_ struct{} `type:"structure"`
88100
88101	// The ID of the device.
88102	DeviceId *string `type:"string"`
88103
88104	// The ID of the subsystem.
88105	SubsystemId *string `type:"string"`
88106
88107	// The ID of the vendor for the subsystem.
88108	SubsystemVendorId *string `type:"string"`
88109
88110	// The ID of the vendor.
88111	VendorId *string `type:"string"`
88112}
88113
88114// String returns the string representation
88115func (s PciId) String() string {
88116	return awsutil.Prettify(s)
88117}
88118
88119// GoString returns the string representation
88120func (s PciId) GoString() string {
88121	return s.String()
88122}
88123
88124// SetDeviceId sets the DeviceId field's value.
88125func (s *PciId) SetDeviceId(v string) *PciId {
88126	s.DeviceId = &v
88127	return s
88128}
88129
88130// SetSubsystemId sets the SubsystemId field's value.
88131func (s *PciId) SetSubsystemId(v string) *PciId {
88132	s.SubsystemId = &v
88133	return s
88134}
88135
88136// SetSubsystemVendorId sets the SubsystemVendorId field's value.
88137func (s *PciId) SetSubsystemVendorId(v string) *PciId {
88138	s.SubsystemVendorId = &v
88139	return s
88140}
88141
88142// SetVendorId sets the VendorId field's value.
88143func (s *PciId) SetVendorId(v string) *PciId {
88144	s.VendorId = &v
88145	return s
88146}
88147
88148// The status of the transit gateway peering attachment.
88149type PeeringAttachmentStatus struct {
88150	_ struct{} `type:"structure"`
88151
88152	// The status code.
88153	Code *string `locationName:"code" type:"string"`
88154
88155	// The status message, if applicable.
88156	Message *string `locationName:"message" type:"string"`
88157}
88158
88159// String returns the string representation
88160func (s PeeringAttachmentStatus) String() string {
88161	return awsutil.Prettify(s)
88162}
88163
88164// GoString returns the string representation
88165func (s PeeringAttachmentStatus) GoString() string {
88166	return s.String()
88167}
88168
88169// SetCode sets the Code field's value.
88170func (s *PeeringAttachmentStatus) SetCode(v string) *PeeringAttachmentStatus {
88171	s.Code = &v
88172	return s
88173}
88174
88175// SetMessage sets the Message field's value.
88176func (s *PeeringAttachmentStatus) SetMessage(v string) *PeeringAttachmentStatus {
88177	s.Message = &v
88178	return s
88179}
88180
88181// Describes the VPC peering connection options.
88182type PeeringConnectionOptions struct {
88183	_ struct{} `type:"structure"`
88184
88185	// If true, the public DNS hostnames of instances in the specified VPC resolve
88186	// to private IP addresses when queried from instances in the peer VPC.
88187	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
88188
88189	// If true, enables outbound communication from an EC2-Classic instance that's
88190	// linked to a local VPC using ClassicLink to instances in a peer VPC.
88191	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
88192
88193	// If true, enables outbound communication from instances in a local VPC to
88194	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
88195	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
88196}
88197
88198// String returns the string representation
88199func (s PeeringConnectionOptions) String() string {
88200	return awsutil.Prettify(s)
88201}
88202
88203// GoString returns the string representation
88204func (s PeeringConnectionOptions) GoString() string {
88205	return s.String()
88206}
88207
88208// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
88209func (s *PeeringConnectionOptions) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptions {
88210	s.AllowDnsResolutionFromRemoteVpc = &v
88211	return s
88212}
88213
88214// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
88215func (s *PeeringConnectionOptions) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptions {
88216	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
88217	return s
88218}
88219
88220// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
88221func (s *PeeringConnectionOptions) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptions {
88222	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
88223	return s
88224}
88225
88226// The VPC peering connection options.
88227type PeeringConnectionOptionsRequest struct {
88228	_ struct{} `type:"structure"`
88229
88230	// If true, enables a local VPC to resolve public DNS hostnames to private IP
88231	// addresses when queried from instances in the peer VPC.
88232	AllowDnsResolutionFromRemoteVpc *bool `type:"boolean"`
88233
88234	// If true, enables outbound communication from an EC2-Classic instance that's
88235	// linked to a local VPC using ClassicLink to instances in a peer VPC.
88236	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `type:"boolean"`
88237
88238	// If true, enables outbound communication from instances in a local VPC to
88239	// an EC2-Classic instance that's linked to a peer VPC using ClassicLink.
88240	AllowEgressFromLocalVpcToRemoteClassicLink *bool `type:"boolean"`
88241}
88242
88243// String returns the string representation
88244func (s PeeringConnectionOptionsRequest) String() string {
88245	return awsutil.Prettify(s)
88246}
88247
88248// GoString returns the string representation
88249func (s PeeringConnectionOptionsRequest) GoString() string {
88250	return s.String()
88251}
88252
88253// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
88254func (s *PeeringConnectionOptionsRequest) SetAllowDnsResolutionFromRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
88255	s.AllowDnsResolutionFromRemoteVpc = &v
88256	return s
88257}
88258
88259// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
88260func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *PeeringConnectionOptionsRequest {
88261	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
88262	return s
88263}
88264
88265// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
88266func (s *PeeringConnectionOptionsRequest) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *PeeringConnectionOptionsRequest {
88267	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
88268	return s
88269}
88270
88271// Information about the transit gateway in the peering attachment.
88272type PeeringTgwInfo struct {
88273	_ struct{} `type:"structure"`
88274
88275	// The AWS account ID of the owner of the transit gateway.
88276	OwnerId *string `locationName:"ownerId" type:"string"`
88277
88278	// The Region of the transit gateway.
88279	Region *string `locationName:"region" type:"string"`
88280
88281	// The ID of the transit gateway.
88282	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
88283}
88284
88285// String returns the string representation
88286func (s PeeringTgwInfo) String() string {
88287	return awsutil.Prettify(s)
88288}
88289
88290// GoString returns the string representation
88291func (s PeeringTgwInfo) GoString() string {
88292	return s.String()
88293}
88294
88295// SetOwnerId sets the OwnerId field's value.
88296func (s *PeeringTgwInfo) SetOwnerId(v string) *PeeringTgwInfo {
88297	s.OwnerId = &v
88298	return s
88299}
88300
88301// SetRegion sets the Region field's value.
88302func (s *PeeringTgwInfo) SetRegion(v string) *PeeringTgwInfo {
88303	s.Region = &v
88304	return s
88305}
88306
88307// SetTransitGatewayId sets the TransitGatewayId field's value.
88308func (s *PeeringTgwInfo) SetTransitGatewayId(v string) *PeeringTgwInfo {
88309	s.TransitGatewayId = &v
88310	return s
88311}
88312
88313// The Diffie-Hellmann group number for phase 1 IKE negotiations.
88314type Phase1DHGroupNumbersListValue struct {
88315	_ struct{} `type:"structure"`
88316
88317	// The Diffie-Hellmann group number.
88318	Value *int64 `locationName:"value" type:"integer"`
88319}
88320
88321// String returns the string representation
88322func (s Phase1DHGroupNumbersListValue) String() string {
88323	return awsutil.Prettify(s)
88324}
88325
88326// GoString returns the string representation
88327func (s Phase1DHGroupNumbersListValue) GoString() string {
88328	return s.String()
88329}
88330
88331// SetValue sets the Value field's value.
88332func (s *Phase1DHGroupNumbersListValue) SetValue(v int64) *Phase1DHGroupNumbersListValue {
88333	s.Value = &v
88334	return s
88335}
88336
88337// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 1 IKE
88338// negotiations.
88339type Phase1DHGroupNumbersRequestListValue struct {
88340	_ struct{} `type:"structure"`
88341
88342	// The Diffie-Hellmann group number.
88343	Value *int64 `type:"integer"`
88344}
88345
88346// String returns the string representation
88347func (s Phase1DHGroupNumbersRequestListValue) String() string {
88348	return awsutil.Prettify(s)
88349}
88350
88351// GoString returns the string representation
88352func (s Phase1DHGroupNumbersRequestListValue) GoString() string {
88353	return s.String()
88354}
88355
88356// SetValue sets the Value field's value.
88357func (s *Phase1DHGroupNumbersRequestListValue) SetValue(v int64) *Phase1DHGroupNumbersRequestListValue {
88358	s.Value = &v
88359	return s
88360}
88361
88362// The encryption algorithm for phase 1 IKE negotiations.
88363type Phase1EncryptionAlgorithmsListValue struct {
88364	_ struct{} `type:"structure"`
88365
88366	// The value for the encryption algorithm.
88367	Value *string `locationName:"value" type:"string"`
88368}
88369
88370// String returns the string representation
88371func (s Phase1EncryptionAlgorithmsListValue) String() string {
88372	return awsutil.Prettify(s)
88373}
88374
88375// GoString returns the string representation
88376func (s Phase1EncryptionAlgorithmsListValue) GoString() string {
88377	return s.String()
88378}
88379
88380// SetValue sets the Value field's value.
88381func (s *Phase1EncryptionAlgorithmsListValue) SetValue(v string) *Phase1EncryptionAlgorithmsListValue {
88382	s.Value = &v
88383	return s
88384}
88385
88386// Specifies the encryption algorithm for the VPN tunnel for phase 1 IKE negotiations.
88387type Phase1EncryptionAlgorithmsRequestListValue struct {
88388	_ struct{} `type:"structure"`
88389
88390	// The value for the encryption algorithm.
88391	Value *string `type:"string"`
88392}
88393
88394// String returns the string representation
88395func (s Phase1EncryptionAlgorithmsRequestListValue) String() string {
88396	return awsutil.Prettify(s)
88397}
88398
88399// GoString returns the string representation
88400func (s Phase1EncryptionAlgorithmsRequestListValue) GoString() string {
88401	return s.String()
88402}
88403
88404// SetValue sets the Value field's value.
88405func (s *Phase1EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase1EncryptionAlgorithmsRequestListValue {
88406	s.Value = &v
88407	return s
88408}
88409
88410// The integrity algorithm for phase 1 IKE negotiations.
88411type Phase1IntegrityAlgorithmsListValue struct {
88412	_ struct{} `type:"structure"`
88413
88414	// The value for the integrity algorithm.
88415	Value *string `locationName:"value" type:"string"`
88416}
88417
88418// String returns the string representation
88419func (s Phase1IntegrityAlgorithmsListValue) String() string {
88420	return awsutil.Prettify(s)
88421}
88422
88423// GoString returns the string representation
88424func (s Phase1IntegrityAlgorithmsListValue) GoString() string {
88425	return s.String()
88426}
88427
88428// SetValue sets the Value field's value.
88429func (s *Phase1IntegrityAlgorithmsListValue) SetValue(v string) *Phase1IntegrityAlgorithmsListValue {
88430	s.Value = &v
88431	return s
88432}
88433
88434// Specifies the integrity algorithm for the VPN tunnel for phase 1 IKE negotiations.
88435type Phase1IntegrityAlgorithmsRequestListValue struct {
88436	_ struct{} `type:"structure"`
88437
88438	// The value for the integrity algorithm.
88439	Value *string `type:"string"`
88440}
88441
88442// String returns the string representation
88443func (s Phase1IntegrityAlgorithmsRequestListValue) String() string {
88444	return awsutil.Prettify(s)
88445}
88446
88447// GoString returns the string representation
88448func (s Phase1IntegrityAlgorithmsRequestListValue) GoString() string {
88449	return s.String()
88450}
88451
88452// SetValue sets the Value field's value.
88453func (s *Phase1IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase1IntegrityAlgorithmsRequestListValue {
88454	s.Value = &v
88455	return s
88456}
88457
88458// The Diffie-Hellmann group number for phase 2 IKE negotiations.
88459type Phase2DHGroupNumbersListValue struct {
88460	_ struct{} `type:"structure"`
88461
88462	// The Diffie-Hellmann group number.
88463	Value *int64 `locationName:"value" type:"integer"`
88464}
88465
88466// String returns the string representation
88467func (s Phase2DHGroupNumbersListValue) String() string {
88468	return awsutil.Prettify(s)
88469}
88470
88471// GoString returns the string representation
88472func (s Phase2DHGroupNumbersListValue) GoString() string {
88473	return s.String()
88474}
88475
88476// SetValue sets the Value field's value.
88477func (s *Phase2DHGroupNumbersListValue) SetValue(v int64) *Phase2DHGroupNumbersListValue {
88478	s.Value = &v
88479	return s
88480}
88481
88482// Specifies a Diffie-Hellman group number for the VPN tunnel for phase 2 IKE
88483// negotiations.
88484type Phase2DHGroupNumbersRequestListValue struct {
88485	_ struct{} `type:"structure"`
88486
88487	// The Diffie-Hellmann group number.
88488	Value *int64 `type:"integer"`
88489}
88490
88491// String returns the string representation
88492func (s Phase2DHGroupNumbersRequestListValue) String() string {
88493	return awsutil.Prettify(s)
88494}
88495
88496// GoString returns the string representation
88497func (s Phase2DHGroupNumbersRequestListValue) GoString() string {
88498	return s.String()
88499}
88500
88501// SetValue sets the Value field's value.
88502func (s *Phase2DHGroupNumbersRequestListValue) SetValue(v int64) *Phase2DHGroupNumbersRequestListValue {
88503	s.Value = &v
88504	return s
88505}
88506
88507// The encryption algorithm for phase 2 IKE negotiations.
88508type Phase2EncryptionAlgorithmsListValue struct {
88509	_ struct{} `type:"structure"`
88510
88511	// The encryption algorithm.
88512	Value *string `locationName:"value" type:"string"`
88513}
88514
88515// String returns the string representation
88516func (s Phase2EncryptionAlgorithmsListValue) String() string {
88517	return awsutil.Prettify(s)
88518}
88519
88520// GoString returns the string representation
88521func (s Phase2EncryptionAlgorithmsListValue) GoString() string {
88522	return s.String()
88523}
88524
88525// SetValue sets the Value field's value.
88526func (s *Phase2EncryptionAlgorithmsListValue) SetValue(v string) *Phase2EncryptionAlgorithmsListValue {
88527	s.Value = &v
88528	return s
88529}
88530
88531// Specifies the encryption algorithm for the VPN tunnel for phase 2 IKE negotiations.
88532type Phase2EncryptionAlgorithmsRequestListValue struct {
88533	_ struct{} `type:"structure"`
88534
88535	// The encryption algorithm.
88536	Value *string `type:"string"`
88537}
88538
88539// String returns the string representation
88540func (s Phase2EncryptionAlgorithmsRequestListValue) String() string {
88541	return awsutil.Prettify(s)
88542}
88543
88544// GoString returns the string representation
88545func (s Phase2EncryptionAlgorithmsRequestListValue) GoString() string {
88546	return s.String()
88547}
88548
88549// SetValue sets the Value field's value.
88550func (s *Phase2EncryptionAlgorithmsRequestListValue) SetValue(v string) *Phase2EncryptionAlgorithmsRequestListValue {
88551	s.Value = &v
88552	return s
88553}
88554
88555// The integrity algorithm for phase 2 IKE negotiations.
88556type Phase2IntegrityAlgorithmsListValue struct {
88557	_ struct{} `type:"structure"`
88558
88559	// The integrity algorithm.
88560	Value *string `locationName:"value" type:"string"`
88561}
88562
88563// String returns the string representation
88564func (s Phase2IntegrityAlgorithmsListValue) String() string {
88565	return awsutil.Prettify(s)
88566}
88567
88568// GoString returns the string representation
88569func (s Phase2IntegrityAlgorithmsListValue) GoString() string {
88570	return s.String()
88571}
88572
88573// SetValue sets the Value field's value.
88574func (s *Phase2IntegrityAlgorithmsListValue) SetValue(v string) *Phase2IntegrityAlgorithmsListValue {
88575	s.Value = &v
88576	return s
88577}
88578
88579// Specifies the integrity algorithm for the VPN tunnel for phase 2 IKE negotiations.
88580type Phase2IntegrityAlgorithmsRequestListValue struct {
88581	_ struct{} `type:"structure"`
88582
88583	// The integrity algorithm.
88584	Value *string `type:"string"`
88585}
88586
88587// String returns the string representation
88588func (s Phase2IntegrityAlgorithmsRequestListValue) String() string {
88589	return awsutil.Prettify(s)
88590}
88591
88592// GoString returns the string representation
88593func (s Phase2IntegrityAlgorithmsRequestListValue) GoString() string {
88594	return s.String()
88595}
88596
88597// SetValue sets the Value field's value.
88598func (s *Phase2IntegrityAlgorithmsRequestListValue) SetValue(v string) *Phase2IntegrityAlgorithmsRequestListValue {
88599	s.Value = &v
88600	return s
88601}
88602
88603// Describes the placement of an instance.
88604type Placement struct {
88605	_ struct{} `type:"structure"`
88606
88607	// The affinity setting for the instance on the Dedicated Host. This parameter
88608	// is not supported for the ImportInstance command.
88609	Affinity *string `locationName:"affinity" type:"string"`
88610
88611	// The Availability Zone of the instance.
88612	//
88613	// If not specified, an Availability Zone will be automatically chosen for you
88614	// based on the load balancing criteria for the Region.
88615	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
88616
88617	// The name of the placement group the instance is in.
88618	GroupName *string `locationName:"groupName" type:"string"`
88619
88620	// The ID of the Dedicated Host on which the instance resides. This parameter
88621	// is not supported for the ImportInstance command.
88622	HostId *string `locationName:"hostId" type:"string"`
88623
88624	// The ARN of the host resource group in which to launch the instances. If you
88625	// specify a host resource group ARN, omit the Tenancy parameter or set it to
88626	// host.
88627	HostResourceGroupArn *string `locationName:"hostResourceGroupArn" type:"string"`
88628
88629	// The number of the partition the instance is in. Valid only if the placement
88630	// group strategy is set to partition.
88631	PartitionNumber *int64 `locationName:"partitionNumber" type:"integer"`
88632
88633	// Reserved for future use.
88634	SpreadDomain *string `locationName:"spreadDomain" type:"string"`
88635
88636	// The tenancy of the instance (if the instance is running in a VPC). An instance
88637	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
88638	// is not supported for the ImportInstance command.
88639	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
88640}
88641
88642// String returns the string representation
88643func (s Placement) String() string {
88644	return awsutil.Prettify(s)
88645}
88646
88647// GoString returns the string representation
88648func (s Placement) GoString() string {
88649	return s.String()
88650}
88651
88652// SetAffinity sets the Affinity field's value.
88653func (s *Placement) SetAffinity(v string) *Placement {
88654	s.Affinity = &v
88655	return s
88656}
88657
88658// SetAvailabilityZone sets the AvailabilityZone field's value.
88659func (s *Placement) SetAvailabilityZone(v string) *Placement {
88660	s.AvailabilityZone = &v
88661	return s
88662}
88663
88664// SetGroupName sets the GroupName field's value.
88665func (s *Placement) SetGroupName(v string) *Placement {
88666	s.GroupName = &v
88667	return s
88668}
88669
88670// SetHostId sets the HostId field's value.
88671func (s *Placement) SetHostId(v string) *Placement {
88672	s.HostId = &v
88673	return s
88674}
88675
88676// SetHostResourceGroupArn sets the HostResourceGroupArn field's value.
88677func (s *Placement) SetHostResourceGroupArn(v string) *Placement {
88678	s.HostResourceGroupArn = &v
88679	return s
88680}
88681
88682// SetPartitionNumber sets the PartitionNumber field's value.
88683func (s *Placement) SetPartitionNumber(v int64) *Placement {
88684	s.PartitionNumber = &v
88685	return s
88686}
88687
88688// SetSpreadDomain sets the SpreadDomain field's value.
88689func (s *Placement) SetSpreadDomain(v string) *Placement {
88690	s.SpreadDomain = &v
88691	return s
88692}
88693
88694// SetTenancy sets the Tenancy field's value.
88695func (s *Placement) SetTenancy(v string) *Placement {
88696	s.Tenancy = &v
88697	return s
88698}
88699
88700// Describes a placement group.
88701type PlacementGroup struct {
88702	_ struct{} `type:"structure"`
88703
88704	// The ID of the placement group.
88705	GroupId *string `locationName:"groupId" type:"string"`
88706
88707	// The name of the placement group.
88708	GroupName *string `locationName:"groupName" type:"string"`
88709
88710	// The number of partitions. Valid only if strategy is set to partition.
88711	PartitionCount *int64 `locationName:"partitionCount" type:"integer"`
88712
88713	// The state of the placement group.
88714	State *string `locationName:"state" type:"string" enum:"PlacementGroupState"`
88715
88716	// The placement strategy.
88717	Strategy *string `locationName:"strategy" type:"string" enum:"PlacementStrategy"`
88718
88719	// Any tags applied to the placement group.
88720	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
88721}
88722
88723// String returns the string representation
88724func (s PlacementGroup) String() string {
88725	return awsutil.Prettify(s)
88726}
88727
88728// GoString returns the string representation
88729func (s PlacementGroup) GoString() string {
88730	return s.String()
88731}
88732
88733// SetGroupId sets the GroupId field's value.
88734func (s *PlacementGroup) SetGroupId(v string) *PlacementGroup {
88735	s.GroupId = &v
88736	return s
88737}
88738
88739// SetGroupName sets the GroupName field's value.
88740func (s *PlacementGroup) SetGroupName(v string) *PlacementGroup {
88741	s.GroupName = &v
88742	return s
88743}
88744
88745// SetPartitionCount sets the PartitionCount field's value.
88746func (s *PlacementGroup) SetPartitionCount(v int64) *PlacementGroup {
88747	s.PartitionCount = &v
88748	return s
88749}
88750
88751// SetState sets the State field's value.
88752func (s *PlacementGroup) SetState(v string) *PlacementGroup {
88753	s.State = &v
88754	return s
88755}
88756
88757// SetStrategy sets the Strategy field's value.
88758func (s *PlacementGroup) SetStrategy(v string) *PlacementGroup {
88759	s.Strategy = &v
88760	return s
88761}
88762
88763// SetTags sets the Tags field's value.
88764func (s *PlacementGroup) SetTags(v []*Tag) *PlacementGroup {
88765	s.Tags = v
88766	return s
88767}
88768
88769// Describes the placement group support of the instance type.
88770type PlacementGroupInfo struct {
88771	_ struct{} `type:"structure"`
88772
88773	// A list of supported placement groups types.
88774	SupportedStrategies []*string `locationName:"supportedStrategies" locationNameList:"item" type:"list"`
88775}
88776
88777// String returns the string representation
88778func (s PlacementGroupInfo) String() string {
88779	return awsutil.Prettify(s)
88780}
88781
88782// GoString returns the string representation
88783func (s PlacementGroupInfo) GoString() string {
88784	return s.String()
88785}
88786
88787// SetSupportedStrategies sets the SupportedStrategies field's value.
88788func (s *PlacementGroupInfo) SetSupportedStrategies(v []*string) *PlacementGroupInfo {
88789	s.SupportedStrategies = v
88790	return s
88791}
88792
88793// Describes the placement of an instance.
88794type PlacementResponse struct {
88795	_ struct{} `type:"structure"`
88796
88797	// The name of the placement group that the instance is in.
88798	GroupName *string `locationName:"groupName" type:"string"`
88799}
88800
88801// String returns the string representation
88802func (s PlacementResponse) String() string {
88803	return awsutil.Prettify(s)
88804}
88805
88806// GoString returns the string representation
88807func (s PlacementResponse) GoString() string {
88808	return s.String()
88809}
88810
88811// SetGroupName sets the GroupName field's value.
88812func (s *PlacementResponse) SetGroupName(v string) *PlacementResponse {
88813	s.GroupName = &v
88814	return s
88815}
88816
88817// Describes a range of ports.
88818type PortRange struct {
88819	_ struct{} `type:"structure"`
88820
88821	// The first port in the range.
88822	From *int64 `locationName:"from" type:"integer"`
88823
88824	// The last port in the range.
88825	To *int64 `locationName:"to" type:"integer"`
88826}
88827
88828// String returns the string representation
88829func (s PortRange) String() string {
88830	return awsutil.Prettify(s)
88831}
88832
88833// GoString returns the string representation
88834func (s PortRange) GoString() string {
88835	return s.String()
88836}
88837
88838// SetFrom sets the From field's value.
88839func (s *PortRange) SetFrom(v int64) *PortRange {
88840	s.From = &v
88841	return s
88842}
88843
88844// SetTo sets the To field's value.
88845func (s *PortRange) SetTo(v int64) *PortRange {
88846	s.To = &v
88847	return s
88848}
88849
88850// Describes prefixes for AWS services.
88851type PrefixList struct {
88852	_ struct{} `type:"structure"`
88853
88854	// The IP address range of the AWS service.
88855	Cidrs []*string `locationName:"cidrSet" locationNameList:"item" type:"list"`
88856
88857	// The ID of the prefix.
88858	PrefixListId *string `locationName:"prefixListId" type:"string"`
88859
88860	// The name of the prefix.
88861	PrefixListName *string `locationName:"prefixListName" type:"string"`
88862}
88863
88864// String returns the string representation
88865func (s PrefixList) String() string {
88866	return awsutil.Prettify(s)
88867}
88868
88869// GoString returns the string representation
88870func (s PrefixList) GoString() string {
88871	return s.String()
88872}
88873
88874// SetCidrs sets the Cidrs field's value.
88875func (s *PrefixList) SetCidrs(v []*string) *PrefixList {
88876	s.Cidrs = v
88877	return s
88878}
88879
88880// SetPrefixListId sets the PrefixListId field's value.
88881func (s *PrefixList) SetPrefixListId(v string) *PrefixList {
88882	s.PrefixListId = &v
88883	return s
88884}
88885
88886// SetPrefixListName sets the PrefixListName field's value.
88887func (s *PrefixList) SetPrefixListName(v string) *PrefixList {
88888	s.PrefixListName = &v
88889	return s
88890}
88891
88892// Describes a prefix list ID.
88893type PrefixListId struct {
88894	_ struct{} `type:"structure"`
88895
88896	// A description for the security group rule that references this prefix list
88897	// ID.
88898	//
88899	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
88900	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
88901	Description *string `locationName:"description" type:"string"`
88902
88903	// The ID of the prefix.
88904	PrefixListId *string `locationName:"prefixListId" type:"string"`
88905}
88906
88907// String returns the string representation
88908func (s PrefixListId) String() string {
88909	return awsutil.Prettify(s)
88910}
88911
88912// GoString returns the string representation
88913func (s PrefixListId) GoString() string {
88914	return s.String()
88915}
88916
88917// SetDescription sets the Description field's value.
88918func (s *PrefixListId) SetDescription(v string) *PrefixListId {
88919	s.Description = &v
88920	return s
88921}
88922
88923// SetPrefixListId sets the PrefixListId field's value.
88924func (s *PrefixListId) SetPrefixListId(v string) *PrefixListId {
88925	s.PrefixListId = &v
88926	return s
88927}
88928
88929// Describes the price for a Reserved Instance.
88930type PriceSchedule struct {
88931	_ struct{} `type:"structure"`
88932
88933	// The current price schedule, as determined by the term remaining for the Reserved
88934	// Instance in the listing.
88935	//
88936	// A specific price schedule is always in effect, but only one price schedule
88937	// can be active at any time. Take, for example, a Reserved Instance listing
88938	// that has five months remaining in its term. When you specify price schedules
88939	// for five months and two months, this means that schedule 1, covering the
88940	// first three months of the remaining term, will be active during months 5,
88941	// 4, and 3. Then schedule 2, covering the last two months of the term, will
88942	// be active for months 2 and 1.
88943	Active *bool `locationName:"active" type:"boolean"`
88944
88945	// The currency for transacting the Reserved Instance resale. At this time,
88946	// the only supported currency is USD.
88947	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
88948
88949	// The fixed price for the term.
88950	Price *float64 `locationName:"price" type:"double"`
88951
88952	// The number of months remaining in the reservation. For example, 2 is the
88953	// second to the last month before the capacity reservation expires.
88954	Term *int64 `locationName:"term" type:"long"`
88955}
88956
88957// String returns the string representation
88958func (s PriceSchedule) String() string {
88959	return awsutil.Prettify(s)
88960}
88961
88962// GoString returns the string representation
88963func (s PriceSchedule) GoString() string {
88964	return s.String()
88965}
88966
88967// SetActive sets the Active field's value.
88968func (s *PriceSchedule) SetActive(v bool) *PriceSchedule {
88969	s.Active = &v
88970	return s
88971}
88972
88973// SetCurrencyCode sets the CurrencyCode field's value.
88974func (s *PriceSchedule) SetCurrencyCode(v string) *PriceSchedule {
88975	s.CurrencyCode = &v
88976	return s
88977}
88978
88979// SetPrice sets the Price field's value.
88980func (s *PriceSchedule) SetPrice(v float64) *PriceSchedule {
88981	s.Price = &v
88982	return s
88983}
88984
88985// SetTerm sets the Term field's value.
88986func (s *PriceSchedule) SetTerm(v int64) *PriceSchedule {
88987	s.Term = &v
88988	return s
88989}
88990
88991// Describes the price for a Reserved Instance.
88992type PriceScheduleSpecification struct {
88993	_ struct{} `type:"structure"`
88994
88995	// The currency for transacting the Reserved Instance resale. At this time,
88996	// the only supported currency is USD.
88997	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
88998
88999	// The fixed price for the term.
89000	Price *float64 `locationName:"price" type:"double"`
89001
89002	// The number of months remaining in the reservation. For example, 2 is the
89003	// second to the last month before the capacity reservation expires.
89004	Term *int64 `locationName:"term" type:"long"`
89005}
89006
89007// String returns the string representation
89008func (s PriceScheduleSpecification) String() string {
89009	return awsutil.Prettify(s)
89010}
89011
89012// GoString returns the string representation
89013func (s PriceScheduleSpecification) GoString() string {
89014	return s.String()
89015}
89016
89017// SetCurrencyCode sets the CurrencyCode field's value.
89018func (s *PriceScheduleSpecification) SetCurrencyCode(v string) *PriceScheduleSpecification {
89019	s.CurrencyCode = &v
89020	return s
89021}
89022
89023// SetPrice sets the Price field's value.
89024func (s *PriceScheduleSpecification) SetPrice(v float64) *PriceScheduleSpecification {
89025	s.Price = &v
89026	return s
89027}
89028
89029// SetTerm sets the Term field's value.
89030func (s *PriceScheduleSpecification) SetTerm(v int64) *PriceScheduleSpecification {
89031	s.Term = &v
89032	return s
89033}
89034
89035// Describes a Reserved Instance offering.
89036type PricingDetail struct {
89037	_ struct{} `type:"structure"`
89038
89039	// The number of reservations available for the price.
89040	Count *int64 `locationName:"count" type:"integer"`
89041
89042	// The price per instance.
89043	Price *float64 `locationName:"price" type:"double"`
89044}
89045
89046// String returns the string representation
89047func (s PricingDetail) String() string {
89048	return awsutil.Prettify(s)
89049}
89050
89051// GoString returns the string representation
89052func (s PricingDetail) GoString() string {
89053	return s.String()
89054}
89055
89056// SetCount sets the Count field's value.
89057func (s *PricingDetail) SetCount(v int64) *PricingDetail {
89058	s.Count = &v
89059	return s
89060}
89061
89062// SetPrice sets the Price field's value.
89063func (s *PricingDetail) SetPrice(v float64) *PricingDetail {
89064	s.Price = &v
89065	return s
89066}
89067
89068// PrincipalIdFormat description
89069type PrincipalIdFormat struct {
89070	_ struct{} `type:"structure"`
89071
89072	// PrincipalIdFormatARN description
89073	Arn *string `locationName:"arn" type:"string"`
89074
89075	// PrincipalIdFormatStatuses description
89076	Statuses []*IdFormat `locationName:"statusSet" locationNameList:"item" type:"list"`
89077}
89078
89079// String returns the string representation
89080func (s PrincipalIdFormat) String() string {
89081	return awsutil.Prettify(s)
89082}
89083
89084// GoString returns the string representation
89085func (s PrincipalIdFormat) GoString() string {
89086	return s.String()
89087}
89088
89089// SetArn sets the Arn field's value.
89090func (s *PrincipalIdFormat) SetArn(v string) *PrincipalIdFormat {
89091	s.Arn = &v
89092	return s
89093}
89094
89095// SetStatuses sets the Statuses field's value.
89096func (s *PrincipalIdFormat) SetStatuses(v []*IdFormat) *PrincipalIdFormat {
89097	s.Statuses = v
89098	return s
89099}
89100
89101// Describes a secondary private IPv4 address for a network interface.
89102type PrivateIpAddressSpecification struct {
89103	_ struct{} `type:"structure"`
89104
89105	// Indicates whether the private IPv4 address is the primary private IPv4 address.
89106	// Only one IPv4 address can be designated as primary.
89107	Primary *bool `locationName:"primary" type:"boolean"`
89108
89109	// The private IPv4 addresses.
89110	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
89111}
89112
89113// String returns the string representation
89114func (s PrivateIpAddressSpecification) String() string {
89115	return awsutil.Prettify(s)
89116}
89117
89118// GoString returns the string representation
89119func (s PrivateIpAddressSpecification) GoString() string {
89120	return s.String()
89121}
89122
89123// SetPrimary sets the Primary field's value.
89124func (s *PrivateIpAddressSpecification) SetPrimary(v bool) *PrivateIpAddressSpecification {
89125	s.Primary = &v
89126	return s
89127}
89128
89129// SetPrivateIpAddress sets the PrivateIpAddress field's value.
89130func (s *PrivateIpAddressSpecification) SetPrivateIpAddress(v string) *PrivateIpAddressSpecification {
89131	s.PrivateIpAddress = &v
89132	return s
89133}
89134
89135// Describes the processor used by the instance type.
89136type ProcessorInfo struct {
89137	_ struct{} `type:"structure"`
89138
89139	// A list of architectures supported by the instance type.
89140	SupportedArchitectures []*string `locationName:"supportedArchitectures" locationNameList:"item" type:"list"`
89141
89142	// The speed of the processor, in GHz.
89143	SustainedClockSpeedInGhz *float64 `locationName:"sustainedClockSpeedInGhz" type:"double"`
89144}
89145
89146// String returns the string representation
89147func (s ProcessorInfo) String() string {
89148	return awsutil.Prettify(s)
89149}
89150
89151// GoString returns the string representation
89152func (s ProcessorInfo) GoString() string {
89153	return s.String()
89154}
89155
89156// SetSupportedArchitectures sets the SupportedArchitectures field's value.
89157func (s *ProcessorInfo) SetSupportedArchitectures(v []*string) *ProcessorInfo {
89158	s.SupportedArchitectures = v
89159	return s
89160}
89161
89162// SetSustainedClockSpeedInGhz sets the SustainedClockSpeedInGhz field's value.
89163func (s *ProcessorInfo) SetSustainedClockSpeedInGhz(v float64) *ProcessorInfo {
89164	s.SustainedClockSpeedInGhz = &v
89165	return s
89166}
89167
89168// Describes a product code.
89169type ProductCode struct {
89170	_ struct{} `type:"structure"`
89171
89172	// The product code.
89173	ProductCodeId *string `locationName:"productCode" type:"string"`
89174
89175	// The type of product code.
89176	ProductCodeType *string `locationName:"type" type:"string" enum:"ProductCodeValues"`
89177}
89178
89179// String returns the string representation
89180func (s ProductCode) String() string {
89181	return awsutil.Prettify(s)
89182}
89183
89184// GoString returns the string representation
89185func (s ProductCode) GoString() string {
89186	return s.String()
89187}
89188
89189// SetProductCodeId sets the ProductCodeId field's value.
89190func (s *ProductCode) SetProductCodeId(v string) *ProductCode {
89191	s.ProductCodeId = &v
89192	return s
89193}
89194
89195// SetProductCodeType sets the ProductCodeType field's value.
89196func (s *ProductCode) SetProductCodeType(v string) *ProductCode {
89197	s.ProductCodeType = &v
89198	return s
89199}
89200
89201// Describes a virtual private gateway propagating route.
89202type PropagatingVgw struct {
89203	_ struct{} `type:"structure"`
89204
89205	// The ID of the virtual private gateway.
89206	GatewayId *string `locationName:"gatewayId" type:"string"`
89207}
89208
89209// String returns the string representation
89210func (s PropagatingVgw) String() string {
89211	return awsutil.Prettify(s)
89212}
89213
89214// GoString returns the string representation
89215func (s PropagatingVgw) GoString() string {
89216	return s.String()
89217}
89218
89219// SetGatewayId sets the GatewayId field's value.
89220func (s *PropagatingVgw) SetGatewayId(v string) *PropagatingVgw {
89221	s.GatewayId = &v
89222	return s
89223}
89224
89225type ProvisionByoipCidrInput struct {
89226	_ struct{} `type:"structure"`
89227
89228	// The public IPv4 address range, in CIDR notation. The most specific prefix
89229	// that you can specify is /24. The address range cannot overlap with another
89230	// address range that you've brought to this or another Region.
89231	//
89232	// Cidr is a required field
89233	Cidr *string `type:"string" required:"true"`
89234
89235	// A signed document that proves that you are authorized to bring the specified
89236	// IP address range to Amazon using BYOIP.
89237	CidrAuthorizationContext *CidrAuthorizationContext `type:"structure"`
89238
89239	// A description for the address range and the address pool.
89240	Description *string `type:"string"`
89241
89242	// Checks whether you have the required permissions for the action, without
89243	// actually making the request, and provides an error response. If you have
89244	// the required permissions, the error response is DryRunOperation. Otherwise,
89245	// it is UnauthorizedOperation.
89246	DryRun *bool `type:"boolean"`
89247}
89248
89249// String returns the string representation
89250func (s ProvisionByoipCidrInput) String() string {
89251	return awsutil.Prettify(s)
89252}
89253
89254// GoString returns the string representation
89255func (s ProvisionByoipCidrInput) GoString() string {
89256	return s.String()
89257}
89258
89259// Validate inspects the fields of the type to determine if they are valid.
89260func (s *ProvisionByoipCidrInput) Validate() error {
89261	invalidParams := request.ErrInvalidParams{Context: "ProvisionByoipCidrInput"}
89262	if s.Cidr == nil {
89263		invalidParams.Add(request.NewErrParamRequired("Cidr"))
89264	}
89265	if s.CidrAuthorizationContext != nil {
89266		if err := s.CidrAuthorizationContext.Validate(); err != nil {
89267			invalidParams.AddNested("CidrAuthorizationContext", err.(request.ErrInvalidParams))
89268		}
89269	}
89270
89271	if invalidParams.Len() > 0 {
89272		return invalidParams
89273	}
89274	return nil
89275}
89276
89277// SetCidr sets the Cidr field's value.
89278func (s *ProvisionByoipCidrInput) SetCidr(v string) *ProvisionByoipCidrInput {
89279	s.Cidr = &v
89280	return s
89281}
89282
89283// SetCidrAuthorizationContext sets the CidrAuthorizationContext field's value.
89284func (s *ProvisionByoipCidrInput) SetCidrAuthorizationContext(v *CidrAuthorizationContext) *ProvisionByoipCidrInput {
89285	s.CidrAuthorizationContext = v
89286	return s
89287}
89288
89289// SetDescription sets the Description field's value.
89290func (s *ProvisionByoipCidrInput) SetDescription(v string) *ProvisionByoipCidrInput {
89291	s.Description = &v
89292	return s
89293}
89294
89295// SetDryRun sets the DryRun field's value.
89296func (s *ProvisionByoipCidrInput) SetDryRun(v bool) *ProvisionByoipCidrInput {
89297	s.DryRun = &v
89298	return s
89299}
89300
89301type ProvisionByoipCidrOutput struct {
89302	_ struct{} `type:"structure"`
89303
89304	// Information about the address pool.
89305	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
89306}
89307
89308// String returns the string representation
89309func (s ProvisionByoipCidrOutput) String() string {
89310	return awsutil.Prettify(s)
89311}
89312
89313// GoString returns the string representation
89314func (s ProvisionByoipCidrOutput) GoString() string {
89315	return s.String()
89316}
89317
89318// SetByoipCidr sets the ByoipCidr field's value.
89319func (s *ProvisionByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *ProvisionByoipCidrOutput {
89320	s.ByoipCidr = v
89321	return s
89322}
89323
89324// Reserved. If you need to sustain traffic greater than the documented limits
89325// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
89326// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
89327type ProvisionedBandwidth struct {
89328	_ struct{} `type:"structure"`
89329
89330	// Reserved. If you need to sustain traffic greater than the documented limits
89331	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
89332	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
89333	ProvisionTime *time.Time `locationName:"provisionTime" type:"timestamp"`
89334
89335	// Reserved. If you need to sustain traffic greater than the documented limits
89336	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
89337	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
89338	Provisioned *string `locationName:"provisioned" type:"string"`
89339
89340	// Reserved. If you need to sustain traffic greater than the documented limits
89341	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
89342	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
89343	RequestTime *time.Time `locationName:"requestTime" type:"timestamp"`
89344
89345	// Reserved. If you need to sustain traffic greater than the documented limits
89346	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
89347	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
89348	Requested *string `locationName:"requested" type:"string"`
89349
89350	// Reserved. If you need to sustain traffic greater than the documented limits
89351	// (https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html),
89352	// contact us through the Support Center (https://console.aws.amazon.com/support/home?).
89353	Status *string `locationName:"status" type:"string"`
89354}
89355
89356// String returns the string representation
89357func (s ProvisionedBandwidth) String() string {
89358	return awsutil.Prettify(s)
89359}
89360
89361// GoString returns the string representation
89362func (s ProvisionedBandwidth) GoString() string {
89363	return s.String()
89364}
89365
89366// SetProvisionTime sets the ProvisionTime field's value.
89367func (s *ProvisionedBandwidth) SetProvisionTime(v time.Time) *ProvisionedBandwidth {
89368	s.ProvisionTime = &v
89369	return s
89370}
89371
89372// SetProvisioned sets the Provisioned field's value.
89373func (s *ProvisionedBandwidth) SetProvisioned(v string) *ProvisionedBandwidth {
89374	s.Provisioned = &v
89375	return s
89376}
89377
89378// SetRequestTime sets the RequestTime field's value.
89379func (s *ProvisionedBandwidth) SetRequestTime(v time.Time) *ProvisionedBandwidth {
89380	s.RequestTime = &v
89381	return s
89382}
89383
89384// SetRequested sets the Requested field's value.
89385func (s *ProvisionedBandwidth) SetRequested(v string) *ProvisionedBandwidth {
89386	s.Requested = &v
89387	return s
89388}
89389
89390// SetStatus sets the Status field's value.
89391func (s *ProvisionedBandwidth) SetStatus(v string) *ProvisionedBandwidth {
89392	s.Status = &v
89393	return s
89394}
89395
89396// Describes an address pool.
89397type PublicIpv4Pool struct {
89398	_ struct{} `type:"structure"`
89399
89400	// A description of the address pool.
89401	Description *string `locationName:"description" type:"string"`
89402
89403	// The address ranges.
89404	PoolAddressRanges []*PublicIpv4PoolRange `locationName:"poolAddressRangeSet" locationNameList:"item" type:"list"`
89405
89406	// The ID of the IPv4 address pool.
89407	PoolId *string `locationName:"poolId" type:"string"`
89408
89409	// The total number of addresses.
89410	TotalAddressCount *int64 `locationName:"totalAddressCount" type:"integer"`
89411
89412	// The total number of available addresses.
89413	TotalAvailableAddressCount *int64 `locationName:"totalAvailableAddressCount" type:"integer"`
89414}
89415
89416// String returns the string representation
89417func (s PublicIpv4Pool) String() string {
89418	return awsutil.Prettify(s)
89419}
89420
89421// GoString returns the string representation
89422func (s PublicIpv4Pool) GoString() string {
89423	return s.String()
89424}
89425
89426// SetDescription sets the Description field's value.
89427func (s *PublicIpv4Pool) SetDescription(v string) *PublicIpv4Pool {
89428	s.Description = &v
89429	return s
89430}
89431
89432// SetPoolAddressRanges sets the PoolAddressRanges field's value.
89433func (s *PublicIpv4Pool) SetPoolAddressRanges(v []*PublicIpv4PoolRange) *PublicIpv4Pool {
89434	s.PoolAddressRanges = v
89435	return s
89436}
89437
89438// SetPoolId sets the PoolId field's value.
89439func (s *PublicIpv4Pool) SetPoolId(v string) *PublicIpv4Pool {
89440	s.PoolId = &v
89441	return s
89442}
89443
89444// SetTotalAddressCount sets the TotalAddressCount field's value.
89445func (s *PublicIpv4Pool) SetTotalAddressCount(v int64) *PublicIpv4Pool {
89446	s.TotalAddressCount = &v
89447	return s
89448}
89449
89450// SetTotalAvailableAddressCount sets the TotalAvailableAddressCount field's value.
89451func (s *PublicIpv4Pool) SetTotalAvailableAddressCount(v int64) *PublicIpv4Pool {
89452	s.TotalAvailableAddressCount = &v
89453	return s
89454}
89455
89456// Describes an address range of an IPv4 address pool.
89457type PublicIpv4PoolRange struct {
89458	_ struct{} `type:"structure"`
89459
89460	// The number of addresses in the range.
89461	AddressCount *int64 `locationName:"addressCount" type:"integer"`
89462
89463	// The number of available addresses in the range.
89464	AvailableAddressCount *int64 `locationName:"availableAddressCount" type:"integer"`
89465
89466	// The first IP address in the range.
89467	FirstAddress *string `locationName:"firstAddress" type:"string"`
89468
89469	// The last IP address in the range.
89470	LastAddress *string `locationName:"lastAddress" type:"string"`
89471}
89472
89473// String returns the string representation
89474func (s PublicIpv4PoolRange) String() string {
89475	return awsutil.Prettify(s)
89476}
89477
89478// GoString returns the string representation
89479func (s PublicIpv4PoolRange) GoString() string {
89480	return s.String()
89481}
89482
89483// SetAddressCount sets the AddressCount field's value.
89484func (s *PublicIpv4PoolRange) SetAddressCount(v int64) *PublicIpv4PoolRange {
89485	s.AddressCount = &v
89486	return s
89487}
89488
89489// SetAvailableAddressCount sets the AvailableAddressCount field's value.
89490func (s *PublicIpv4PoolRange) SetAvailableAddressCount(v int64) *PublicIpv4PoolRange {
89491	s.AvailableAddressCount = &v
89492	return s
89493}
89494
89495// SetFirstAddress sets the FirstAddress field's value.
89496func (s *PublicIpv4PoolRange) SetFirstAddress(v string) *PublicIpv4PoolRange {
89497	s.FirstAddress = &v
89498	return s
89499}
89500
89501// SetLastAddress sets the LastAddress field's value.
89502func (s *PublicIpv4PoolRange) SetLastAddress(v string) *PublicIpv4PoolRange {
89503	s.LastAddress = &v
89504	return s
89505}
89506
89507// Describes the result of the purchase.
89508type Purchase struct {
89509	_ struct{} `type:"structure"`
89510
89511	// The currency in which the UpfrontPrice and HourlyPrice amounts are specified.
89512	// At this time, the only supported currency is USD.
89513	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
89514
89515	// The duration of the reservation's term in seconds.
89516	Duration *int64 `locationName:"duration" type:"integer"`
89517
89518	// The IDs of the Dedicated Hosts associated with the reservation.
89519	HostIdSet []*string `locationName:"hostIdSet" locationNameList:"item" type:"list"`
89520
89521	// The ID of the reservation.
89522	HostReservationId *string `locationName:"hostReservationId" type:"string"`
89523
89524	// The hourly price of the reservation per hour.
89525	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
89526
89527	// The instance family on the Dedicated Host that the reservation can be associated
89528	// with.
89529	InstanceFamily *string `locationName:"instanceFamily" type:"string"`
89530
89531	// The payment option for the reservation.
89532	PaymentOption *string `locationName:"paymentOption" type:"string" enum:"PaymentOption"`
89533
89534	// The upfront price of the reservation.
89535	UpfrontPrice *string `locationName:"upfrontPrice" type:"string"`
89536}
89537
89538// String returns the string representation
89539func (s Purchase) String() string {
89540	return awsutil.Prettify(s)
89541}
89542
89543// GoString returns the string representation
89544func (s Purchase) GoString() string {
89545	return s.String()
89546}
89547
89548// SetCurrencyCode sets the CurrencyCode field's value.
89549func (s *Purchase) SetCurrencyCode(v string) *Purchase {
89550	s.CurrencyCode = &v
89551	return s
89552}
89553
89554// SetDuration sets the Duration field's value.
89555func (s *Purchase) SetDuration(v int64) *Purchase {
89556	s.Duration = &v
89557	return s
89558}
89559
89560// SetHostIdSet sets the HostIdSet field's value.
89561func (s *Purchase) SetHostIdSet(v []*string) *Purchase {
89562	s.HostIdSet = v
89563	return s
89564}
89565
89566// SetHostReservationId sets the HostReservationId field's value.
89567func (s *Purchase) SetHostReservationId(v string) *Purchase {
89568	s.HostReservationId = &v
89569	return s
89570}
89571
89572// SetHourlyPrice sets the HourlyPrice field's value.
89573func (s *Purchase) SetHourlyPrice(v string) *Purchase {
89574	s.HourlyPrice = &v
89575	return s
89576}
89577
89578// SetInstanceFamily sets the InstanceFamily field's value.
89579func (s *Purchase) SetInstanceFamily(v string) *Purchase {
89580	s.InstanceFamily = &v
89581	return s
89582}
89583
89584// SetPaymentOption sets the PaymentOption field's value.
89585func (s *Purchase) SetPaymentOption(v string) *Purchase {
89586	s.PaymentOption = &v
89587	return s
89588}
89589
89590// SetUpfrontPrice sets the UpfrontPrice field's value.
89591func (s *Purchase) SetUpfrontPrice(v string) *Purchase {
89592	s.UpfrontPrice = &v
89593	return s
89594}
89595
89596type PurchaseHostReservationInput struct {
89597	_ struct{} `type:"structure"`
89598
89599	// Unique, case-sensitive identifier that you provide to ensure the idempotency
89600	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
89601	ClientToken *string `type:"string"`
89602
89603	// The currency in which the totalUpfrontPrice, LimitPrice, and totalHourlyPrice
89604	// amounts are specified. At this time, the only supported currency is USD.
89605	CurrencyCode *string `type:"string" enum:"CurrencyCodeValues"`
89606
89607	// The IDs of the Dedicated Hosts with which the reservation will be associated.
89608	//
89609	// HostIdSet is a required field
89610	HostIdSet []*string `locationNameList:"item" type:"list" required:"true"`
89611
89612	// The specified limit is checked against the total upfront cost of the reservation
89613	// (calculated as the offering's upfront cost multiplied by the host count).
89614	// If the total upfront cost is greater than the specified price limit, the
89615	// request fails. This is used to ensure that the purchase does not exceed the
89616	// expected upfront cost of the purchase. At this time, the only supported currency
89617	// is USD. For example, to indicate a limit price of USD 100, specify 100.00.
89618	LimitPrice *string `type:"string"`
89619
89620	// The ID of the offering.
89621	//
89622	// OfferingId is a required field
89623	OfferingId *string `type:"string" required:"true"`
89624}
89625
89626// String returns the string representation
89627func (s PurchaseHostReservationInput) String() string {
89628	return awsutil.Prettify(s)
89629}
89630
89631// GoString returns the string representation
89632func (s PurchaseHostReservationInput) GoString() string {
89633	return s.String()
89634}
89635
89636// Validate inspects the fields of the type to determine if they are valid.
89637func (s *PurchaseHostReservationInput) Validate() error {
89638	invalidParams := request.ErrInvalidParams{Context: "PurchaseHostReservationInput"}
89639	if s.HostIdSet == nil {
89640		invalidParams.Add(request.NewErrParamRequired("HostIdSet"))
89641	}
89642	if s.OfferingId == nil {
89643		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
89644	}
89645
89646	if invalidParams.Len() > 0 {
89647		return invalidParams
89648	}
89649	return nil
89650}
89651
89652// SetClientToken sets the ClientToken field's value.
89653func (s *PurchaseHostReservationInput) SetClientToken(v string) *PurchaseHostReservationInput {
89654	s.ClientToken = &v
89655	return s
89656}
89657
89658// SetCurrencyCode sets the CurrencyCode field's value.
89659func (s *PurchaseHostReservationInput) SetCurrencyCode(v string) *PurchaseHostReservationInput {
89660	s.CurrencyCode = &v
89661	return s
89662}
89663
89664// SetHostIdSet sets the HostIdSet field's value.
89665func (s *PurchaseHostReservationInput) SetHostIdSet(v []*string) *PurchaseHostReservationInput {
89666	s.HostIdSet = v
89667	return s
89668}
89669
89670// SetLimitPrice sets the LimitPrice field's value.
89671func (s *PurchaseHostReservationInput) SetLimitPrice(v string) *PurchaseHostReservationInput {
89672	s.LimitPrice = &v
89673	return s
89674}
89675
89676// SetOfferingId sets the OfferingId field's value.
89677func (s *PurchaseHostReservationInput) SetOfferingId(v string) *PurchaseHostReservationInput {
89678	s.OfferingId = &v
89679	return s
89680}
89681
89682type PurchaseHostReservationOutput struct {
89683	_ struct{} `type:"structure"`
89684
89685	// Unique, case-sensitive identifier that you provide to ensure the idempotency
89686	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
89687	ClientToken *string `locationName:"clientToken" type:"string"`
89688
89689	// The currency in which the totalUpfrontPrice and totalHourlyPrice amounts
89690	// are specified. At this time, the only supported currency is USD.
89691	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
89692
89693	// Describes the details of the purchase.
89694	Purchase []*Purchase `locationName:"purchase" locationNameList:"item" type:"list"`
89695
89696	// The total hourly price of the reservation calculated per hour.
89697	TotalHourlyPrice *string `locationName:"totalHourlyPrice" type:"string"`
89698
89699	// The total amount charged to your account when you purchase the reservation.
89700	TotalUpfrontPrice *string `locationName:"totalUpfrontPrice" type:"string"`
89701}
89702
89703// String returns the string representation
89704func (s PurchaseHostReservationOutput) String() string {
89705	return awsutil.Prettify(s)
89706}
89707
89708// GoString returns the string representation
89709func (s PurchaseHostReservationOutput) GoString() string {
89710	return s.String()
89711}
89712
89713// SetClientToken sets the ClientToken field's value.
89714func (s *PurchaseHostReservationOutput) SetClientToken(v string) *PurchaseHostReservationOutput {
89715	s.ClientToken = &v
89716	return s
89717}
89718
89719// SetCurrencyCode sets the CurrencyCode field's value.
89720func (s *PurchaseHostReservationOutput) SetCurrencyCode(v string) *PurchaseHostReservationOutput {
89721	s.CurrencyCode = &v
89722	return s
89723}
89724
89725// SetPurchase sets the Purchase field's value.
89726func (s *PurchaseHostReservationOutput) SetPurchase(v []*Purchase) *PurchaseHostReservationOutput {
89727	s.Purchase = v
89728	return s
89729}
89730
89731// SetTotalHourlyPrice sets the TotalHourlyPrice field's value.
89732func (s *PurchaseHostReservationOutput) SetTotalHourlyPrice(v string) *PurchaseHostReservationOutput {
89733	s.TotalHourlyPrice = &v
89734	return s
89735}
89736
89737// SetTotalUpfrontPrice sets the TotalUpfrontPrice field's value.
89738func (s *PurchaseHostReservationOutput) SetTotalUpfrontPrice(v string) *PurchaseHostReservationOutput {
89739	s.TotalUpfrontPrice = &v
89740	return s
89741}
89742
89743// Describes a request to purchase Scheduled Instances.
89744type PurchaseRequest struct {
89745	_ struct{} `type:"structure"`
89746
89747	// The number of instances.
89748	//
89749	// InstanceCount is a required field
89750	InstanceCount *int64 `type:"integer" required:"true"`
89751
89752	// The purchase token.
89753	//
89754	// PurchaseToken is a required field
89755	PurchaseToken *string `type:"string" required:"true"`
89756}
89757
89758// String returns the string representation
89759func (s PurchaseRequest) String() string {
89760	return awsutil.Prettify(s)
89761}
89762
89763// GoString returns the string representation
89764func (s PurchaseRequest) GoString() string {
89765	return s.String()
89766}
89767
89768// Validate inspects the fields of the type to determine if they are valid.
89769func (s *PurchaseRequest) Validate() error {
89770	invalidParams := request.ErrInvalidParams{Context: "PurchaseRequest"}
89771	if s.InstanceCount == nil {
89772		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
89773	}
89774	if s.PurchaseToken == nil {
89775		invalidParams.Add(request.NewErrParamRequired("PurchaseToken"))
89776	}
89777
89778	if invalidParams.Len() > 0 {
89779		return invalidParams
89780	}
89781	return nil
89782}
89783
89784// SetInstanceCount sets the InstanceCount field's value.
89785func (s *PurchaseRequest) SetInstanceCount(v int64) *PurchaseRequest {
89786	s.InstanceCount = &v
89787	return s
89788}
89789
89790// SetPurchaseToken sets the PurchaseToken field's value.
89791func (s *PurchaseRequest) SetPurchaseToken(v string) *PurchaseRequest {
89792	s.PurchaseToken = &v
89793	return s
89794}
89795
89796// Contains the parameters for PurchaseReservedInstancesOffering.
89797type PurchaseReservedInstancesOfferingInput struct {
89798	_ struct{} `type:"structure"`
89799
89800	// Checks whether you have the required permissions for the action, without
89801	// actually making the request, and provides an error response. If you have
89802	// the required permissions, the error response is DryRunOperation. Otherwise,
89803	// it is UnauthorizedOperation.
89804	DryRun *bool `locationName:"dryRun" type:"boolean"`
89805
89806	// The number of Reserved Instances to purchase.
89807	//
89808	// InstanceCount is a required field
89809	InstanceCount *int64 `type:"integer" required:"true"`
89810
89811	// Specified for Reserved Instance Marketplace offerings to limit the total
89812	// order and ensure that the Reserved Instances are not purchased at unexpected
89813	// prices.
89814	LimitPrice *ReservedInstanceLimitPrice `locationName:"limitPrice" type:"structure"`
89815
89816	// The time at which to purchase the Reserved Instance, in UTC format (for example,
89817	// YYYY-MM-DDTHH:MM:SSZ).
89818	PurchaseTime *time.Time `type:"timestamp"`
89819
89820	// The ID of the Reserved Instance offering to purchase.
89821	//
89822	// ReservedInstancesOfferingId is a required field
89823	ReservedInstancesOfferingId *string `type:"string" required:"true"`
89824}
89825
89826// String returns the string representation
89827func (s PurchaseReservedInstancesOfferingInput) String() string {
89828	return awsutil.Prettify(s)
89829}
89830
89831// GoString returns the string representation
89832func (s PurchaseReservedInstancesOfferingInput) GoString() string {
89833	return s.String()
89834}
89835
89836// Validate inspects the fields of the type to determine if they are valid.
89837func (s *PurchaseReservedInstancesOfferingInput) Validate() error {
89838	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedInstancesOfferingInput"}
89839	if s.InstanceCount == nil {
89840		invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
89841	}
89842	if s.ReservedInstancesOfferingId == nil {
89843		invalidParams.Add(request.NewErrParamRequired("ReservedInstancesOfferingId"))
89844	}
89845
89846	if invalidParams.Len() > 0 {
89847		return invalidParams
89848	}
89849	return nil
89850}
89851
89852// SetDryRun sets the DryRun field's value.
89853func (s *PurchaseReservedInstancesOfferingInput) SetDryRun(v bool) *PurchaseReservedInstancesOfferingInput {
89854	s.DryRun = &v
89855	return s
89856}
89857
89858// SetInstanceCount sets the InstanceCount field's value.
89859func (s *PurchaseReservedInstancesOfferingInput) SetInstanceCount(v int64) *PurchaseReservedInstancesOfferingInput {
89860	s.InstanceCount = &v
89861	return s
89862}
89863
89864// SetLimitPrice sets the LimitPrice field's value.
89865func (s *PurchaseReservedInstancesOfferingInput) SetLimitPrice(v *ReservedInstanceLimitPrice) *PurchaseReservedInstancesOfferingInput {
89866	s.LimitPrice = v
89867	return s
89868}
89869
89870// SetPurchaseTime sets the PurchaseTime field's value.
89871func (s *PurchaseReservedInstancesOfferingInput) SetPurchaseTime(v time.Time) *PurchaseReservedInstancesOfferingInput {
89872	s.PurchaseTime = &v
89873	return s
89874}
89875
89876// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
89877func (s *PurchaseReservedInstancesOfferingInput) SetReservedInstancesOfferingId(v string) *PurchaseReservedInstancesOfferingInput {
89878	s.ReservedInstancesOfferingId = &v
89879	return s
89880}
89881
89882// Contains the output of PurchaseReservedInstancesOffering.
89883type PurchaseReservedInstancesOfferingOutput struct {
89884	_ struct{} `type:"structure"`
89885
89886	// The IDs of the purchased Reserved Instances.
89887	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
89888}
89889
89890// String returns the string representation
89891func (s PurchaseReservedInstancesOfferingOutput) String() string {
89892	return awsutil.Prettify(s)
89893}
89894
89895// GoString returns the string representation
89896func (s PurchaseReservedInstancesOfferingOutput) GoString() string {
89897	return s.String()
89898}
89899
89900// SetReservedInstancesId sets the ReservedInstancesId field's value.
89901func (s *PurchaseReservedInstancesOfferingOutput) SetReservedInstancesId(v string) *PurchaseReservedInstancesOfferingOutput {
89902	s.ReservedInstancesId = &v
89903	return s
89904}
89905
89906// Contains the parameters for PurchaseScheduledInstances.
89907type PurchaseScheduledInstancesInput struct {
89908	_ struct{} `type:"structure"`
89909
89910	// Unique, case-sensitive identifier that ensures the idempotency of the request.
89911	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
89912	ClientToken *string `type:"string" idempotencyToken:"true"`
89913
89914	// Checks whether you have the required permissions for the action, without
89915	// actually making the request, and provides an error response. If you have
89916	// the required permissions, the error response is DryRunOperation. Otherwise,
89917	// it is UnauthorizedOperation.
89918	DryRun *bool `type:"boolean"`
89919
89920	// The purchase requests.
89921	//
89922	// PurchaseRequests is a required field
89923	PurchaseRequests []*PurchaseRequest `locationName:"PurchaseRequest" locationNameList:"PurchaseRequest" min:"1" type:"list" required:"true"`
89924}
89925
89926// String returns the string representation
89927func (s PurchaseScheduledInstancesInput) String() string {
89928	return awsutil.Prettify(s)
89929}
89930
89931// GoString returns the string representation
89932func (s PurchaseScheduledInstancesInput) GoString() string {
89933	return s.String()
89934}
89935
89936// Validate inspects the fields of the type to determine if they are valid.
89937func (s *PurchaseScheduledInstancesInput) Validate() error {
89938	invalidParams := request.ErrInvalidParams{Context: "PurchaseScheduledInstancesInput"}
89939	if s.PurchaseRequests == nil {
89940		invalidParams.Add(request.NewErrParamRequired("PurchaseRequests"))
89941	}
89942	if s.PurchaseRequests != nil && len(s.PurchaseRequests) < 1 {
89943		invalidParams.Add(request.NewErrParamMinLen("PurchaseRequests", 1))
89944	}
89945	if s.PurchaseRequests != nil {
89946		for i, v := range s.PurchaseRequests {
89947			if v == nil {
89948				continue
89949			}
89950			if err := v.Validate(); err != nil {
89951				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PurchaseRequests", i), err.(request.ErrInvalidParams))
89952			}
89953		}
89954	}
89955
89956	if invalidParams.Len() > 0 {
89957		return invalidParams
89958	}
89959	return nil
89960}
89961
89962// SetClientToken sets the ClientToken field's value.
89963func (s *PurchaseScheduledInstancesInput) SetClientToken(v string) *PurchaseScheduledInstancesInput {
89964	s.ClientToken = &v
89965	return s
89966}
89967
89968// SetDryRun sets the DryRun field's value.
89969func (s *PurchaseScheduledInstancesInput) SetDryRun(v bool) *PurchaseScheduledInstancesInput {
89970	s.DryRun = &v
89971	return s
89972}
89973
89974// SetPurchaseRequests sets the PurchaseRequests field's value.
89975func (s *PurchaseScheduledInstancesInput) SetPurchaseRequests(v []*PurchaseRequest) *PurchaseScheduledInstancesInput {
89976	s.PurchaseRequests = v
89977	return s
89978}
89979
89980// Contains the output of PurchaseScheduledInstances.
89981type PurchaseScheduledInstancesOutput struct {
89982	_ struct{} `type:"structure"`
89983
89984	// Information about the Scheduled Instances.
89985	ScheduledInstanceSet []*ScheduledInstance `locationName:"scheduledInstanceSet" locationNameList:"item" type:"list"`
89986}
89987
89988// String returns the string representation
89989func (s PurchaseScheduledInstancesOutput) String() string {
89990	return awsutil.Prettify(s)
89991}
89992
89993// GoString returns the string representation
89994func (s PurchaseScheduledInstancesOutput) GoString() string {
89995	return s.String()
89996}
89997
89998// SetScheduledInstanceSet sets the ScheduledInstanceSet field's value.
89999func (s *PurchaseScheduledInstancesOutput) SetScheduledInstanceSet(v []*ScheduledInstance) *PurchaseScheduledInstancesOutput {
90000	s.ScheduledInstanceSet = v
90001	return s
90002}
90003
90004type RebootInstancesInput struct {
90005	_ struct{} `type:"structure"`
90006
90007	// Checks whether you have the required permissions for the action, without
90008	// actually making the request, and provides an error response. If you have
90009	// the required permissions, the error response is DryRunOperation. Otherwise,
90010	// it is UnauthorizedOperation.
90011	DryRun *bool `locationName:"dryRun" type:"boolean"`
90012
90013	// The instance IDs.
90014	//
90015	// InstanceIds is a required field
90016	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
90017}
90018
90019// String returns the string representation
90020func (s RebootInstancesInput) String() string {
90021	return awsutil.Prettify(s)
90022}
90023
90024// GoString returns the string representation
90025func (s RebootInstancesInput) GoString() string {
90026	return s.String()
90027}
90028
90029// Validate inspects the fields of the type to determine if they are valid.
90030func (s *RebootInstancesInput) Validate() error {
90031	invalidParams := request.ErrInvalidParams{Context: "RebootInstancesInput"}
90032	if s.InstanceIds == nil {
90033		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
90034	}
90035
90036	if invalidParams.Len() > 0 {
90037		return invalidParams
90038	}
90039	return nil
90040}
90041
90042// SetDryRun sets the DryRun field's value.
90043func (s *RebootInstancesInput) SetDryRun(v bool) *RebootInstancesInput {
90044	s.DryRun = &v
90045	return s
90046}
90047
90048// SetInstanceIds sets the InstanceIds field's value.
90049func (s *RebootInstancesInput) SetInstanceIds(v []*string) *RebootInstancesInput {
90050	s.InstanceIds = v
90051	return s
90052}
90053
90054type RebootInstancesOutput struct {
90055	_ struct{} `type:"structure"`
90056}
90057
90058// String returns the string representation
90059func (s RebootInstancesOutput) String() string {
90060	return awsutil.Prettify(s)
90061}
90062
90063// GoString returns the string representation
90064func (s RebootInstancesOutput) GoString() string {
90065	return s.String()
90066}
90067
90068// Describes a recurring charge.
90069type RecurringCharge struct {
90070	_ struct{} `type:"structure"`
90071
90072	// The amount of the recurring charge.
90073	Amount *float64 `locationName:"amount" type:"double"`
90074
90075	// The frequency of the recurring charge.
90076	Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
90077}
90078
90079// String returns the string representation
90080func (s RecurringCharge) String() string {
90081	return awsutil.Prettify(s)
90082}
90083
90084// GoString returns the string representation
90085func (s RecurringCharge) GoString() string {
90086	return s.String()
90087}
90088
90089// SetAmount sets the Amount field's value.
90090func (s *RecurringCharge) SetAmount(v float64) *RecurringCharge {
90091	s.Amount = &v
90092	return s
90093}
90094
90095// SetFrequency sets the Frequency field's value.
90096func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
90097	s.Frequency = &v
90098	return s
90099}
90100
90101// Describes a Region.
90102type Region struct {
90103	_ struct{} `type:"structure"`
90104
90105	// The Region service endpoint.
90106	Endpoint *string `locationName:"regionEndpoint" type:"string"`
90107
90108	// The Region opt-in status. The possible values are opt-in-not-required, opted-in,
90109	// and not-opted-in.
90110	OptInStatus *string `locationName:"optInStatus" type:"string"`
90111
90112	// The name of the Region.
90113	RegionName *string `locationName:"regionName" type:"string"`
90114}
90115
90116// String returns the string representation
90117func (s Region) String() string {
90118	return awsutil.Prettify(s)
90119}
90120
90121// GoString returns the string representation
90122func (s Region) GoString() string {
90123	return s.String()
90124}
90125
90126// SetEndpoint sets the Endpoint field's value.
90127func (s *Region) SetEndpoint(v string) *Region {
90128	s.Endpoint = &v
90129	return s
90130}
90131
90132// SetOptInStatus sets the OptInStatus field's value.
90133func (s *Region) SetOptInStatus(v string) *Region {
90134	s.OptInStatus = &v
90135	return s
90136}
90137
90138// SetRegionName sets the RegionName field's value.
90139func (s *Region) SetRegionName(v string) *Region {
90140	s.RegionName = &v
90141	return s
90142}
90143
90144// Contains the parameters for RegisterImage.
90145type RegisterImageInput struct {
90146	_ struct{} `type:"structure"`
90147
90148	// The architecture of the AMI.
90149	//
90150	// Default: For Amazon EBS-backed AMIs, i386. For instance store-backed AMIs,
90151	// the architecture specified in the manifest file.
90152	Architecture *string `locationName:"architecture" type:"string" enum:"ArchitectureValues"`
90153
90154	// The billing product codes. Your account must be authorized to specify billing
90155	// product codes. Otherwise, you can use the AWS Marketplace to bill for the
90156	// use of an AMI.
90157	BillingProducts []*string `locationName:"BillingProduct" locationNameList:"item" type:"list"`
90158
90159	// The block device mapping entries.
90160	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
90161
90162	// A description for your AMI.
90163	Description *string `locationName:"description" type:"string"`
90164
90165	// Checks whether you have the required permissions for the action, without
90166	// actually making the request, and provides an error response. If you have
90167	// the required permissions, the error response is DryRunOperation. Otherwise,
90168	// it is UnauthorizedOperation.
90169	DryRun *bool `locationName:"dryRun" type:"boolean"`
90170
90171	// Set to true to enable enhanced networking with ENA for the AMI and any instances
90172	// that you launch from the AMI.
90173	//
90174	// This option is supported only for HVM AMIs. Specifying this option with a
90175	// PV AMI can make instances launched from the AMI unreachable.
90176	EnaSupport *bool `locationName:"enaSupport" type:"boolean"`
90177
90178	// The full path to your AMI manifest in Amazon S3 storage. The specified bucket
90179	// must have the aws-exec-read canned access control list (ACL) to ensure that
90180	// 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)
90181	// in the Amazon S3 Service Developer Guide.
90182	ImageLocation *string `type:"string"`
90183
90184	// The ID of the kernel.
90185	KernelId *string `locationName:"kernelId" type:"string"`
90186
90187	// A name for your AMI.
90188	//
90189	// Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets
90190	// ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('),
90191	// at-signs (@), or underscores(_)
90192	//
90193	// Name is a required field
90194	Name *string `locationName:"name" type:"string" required:"true"`
90195
90196	// The ID of the RAM disk.
90197	RamdiskId *string `locationName:"ramdiskId" type:"string"`
90198
90199	// The device name of the root device volume (for example, /dev/sda1).
90200	RootDeviceName *string `locationName:"rootDeviceName" type:"string"`
90201
90202	// Set to simple to enable enhanced networking with the Intel 82599 Virtual
90203	// Function interface for the AMI and any instances that you launch from the
90204	// AMI.
90205	//
90206	// There is no way to disable sriovNetSupport at this time.
90207	//
90208	// This option is supported only for HVM AMIs. Specifying this option with a
90209	// PV AMI can make instances launched from the AMI unreachable.
90210	SriovNetSupport *string `locationName:"sriovNetSupport" type:"string"`
90211
90212	// The type of virtualization (hvm | paravirtual).
90213	//
90214	// Default: paravirtual
90215	VirtualizationType *string `locationName:"virtualizationType" type:"string"`
90216}
90217
90218// String returns the string representation
90219func (s RegisterImageInput) String() string {
90220	return awsutil.Prettify(s)
90221}
90222
90223// GoString returns the string representation
90224func (s RegisterImageInput) GoString() string {
90225	return s.String()
90226}
90227
90228// Validate inspects the fields of the type to determine if they are valid.
90229func (s *RegisterImageInput) Validate() error {
90230	invalidParams := request.ErrInvalidParams{Context: "RegisterImageInput"}
90231	if s.Name == nil {
90232		invalidParams.Add(request.NewErrParamRequired("Name"))
90233	}
90234
90235	if invalidParams.Len() > 0 {
90236		return invalidParams
90237	}
90238	return nil
90239}
90240
90241// SetArchitecture sets the Architecture field's value.
90242func (s *RegisterImageInput) SetArchitecture(v string) *RegisterImageInput {
90243	s.Architecture = &v
90244	return s
90245}
90246
90247// SetBillingProducts sets the BillingProducts field's value.
90248func (s *RegisterImageInput) SetBillingProducts(v []*string) *RegisterImageInput {
90249	s.BillingProducts = v
90250	return s
90251}
90252
90253// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
90254func (s *RegisterImageInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RegisterImageInput {
90255	s.BlockDeviceMappings = v
90256	return s
90257}
90258
90259// SetDescription sets the Description field's value.
90260func (s *RegisterImageInput) SetDescription(v string) *RegisterImageInput {
90261	s.Description = &v
90262	return s
90263}
90264
90265// SetDryRun sets the DryRun field's value.
90266func (s *RegisterImageInput) SetDryRun(v bool) *RegisterImageInput {
90267	s.DryRun = &v
90268	return s
90269}
90270
90271// SetEnaSupport sets the EnaSupport field's value.
90272func (s *RegisterImageInput) SetEnaSupport(v bool) *RegisterImageInput {
90273	s.EnaSupport = &v
90274	return s
90275}
90276
90277// SetImageLocation sets the ImageLocation field's value.
90278func (s *RegisterImageInput) SetImageLocation(v string) *RegisterImageInput {
90279	s.ImageLocation = &v
90280	return s
90281}
90282
90283// SetKernelId sets the KernelId field's value.
90284func (s *RegisterImageInput) SetKernelId(v string) *RegisterImageInput {
90285	s.KernelId = &v
90286	return s
90287}
90288
90289// SetName sets the Name field's value.
90290func (s *RegisterImageInput) SetName(v string) *RegisterImageInput {
90291	s.Name = &v
90292	return s
90293}
90294
90295// SetRamdiskId sets the RamdiskId field's value.
90296func (s *RegisterImageInput) SetRamdiskId(v string) *RegisterImageInput {
90297	s.RamdiskId = &v
90298	return s
90299}
90300
90301// SetRootDeviceName sets the RootDeviceName field's value.
90302func (s *RegisterImageInput) SetRootDeviceName(v string) *RegisterImageInput {
90303	s.RootDeviceName = &v
90304	return s
90305}
90306
90307// SetSriovNetSupport sets the SriovNetSupport field's value.
90308func (s *RegisterImageInput) SetSriovNetSupport(v string) *RegisterImageInput {
90309	s.SriovNetSupport = &v
90310	return s
90311}
90312
90313// SetVirtualizationType sets the VirtualizationType field's value.
90314func (s *RegisterImageInput) SetVirtualizationType(v string) *RegisterImageInput {
90315	s.VirtualizationType = &v
90316	return s
90317}
90318
90319// Contains the output of RegisterImage.
90320type RegisterImageOutput struct {
90321	_ struct{} `type:"structure"`
90322
90323	// The ID of the newly registered AMI.
90324	ImageId *string `locationName:"imageId" type:"string"`
90325}
90326
90327// String returns the string representation
90328func (s RegisterImageOutput) String() string {
90329	return awsutil.Prettify(s)
90330}
90331
90332// GoString returns the string representation
90333func (s RegisterImageOutput) GoString() string {
90334	return s.String()
90335}
90336
90337// SetImageId sets the ImageId field's value.
90338func (s *RegisterImageOutput) SetImageId(v string) *RegisterImageOutput {
90339	s.ImageId = &v
90340	return s
90341}
90342
90343type RegisterTransitGatewayMulticastGroupMembersInput struct {
90344	_ struct{} `type:"structure"`
90345
90346	// Checks whether you have the required permissions for the action, without
90347	// actually making the request, and provides an error response. If you have
90348	// the required permissions, the error response is DryRunOperation. Otherwise,
90349	// it is UnauthorizedOperation.
90350	DryRun *bool `type:"boolean"`
90351
90352	// The IP address assigned to the transit gateway multicast group.
90353	GroupIpAddress *string `type:"string"`
90354
90355	// The group members' network interface IDs to register with the transit gateway
90356	// multicast group.
90357	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
90358
90359	// The ID of the transit gateway multicast domain.
90360	TransitGatewayMulticastDomainId *string `type:"string"`
90361}
90362
90363// String returns the string representation
90364func (s RegisterTransitGatewayMulticastGroupMembersInput) String() string {
90365	return awsutil.Prettify(s)
90366}
90367
90368// GoString returns the string representation
90369func (s RegisterTransitGatewayMulticastGroupMembersInput) GoString() string {
90370	return s.String()
90371}
90372
90373// SetDryRun sets the DryRun field's value.
90374func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupMembersInput {
90375	s.DryRun = &v
90376	return s
90377}
90378
90379// SetGroupIpAddress sets the GroupIpAddress field's value.
90380func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
90381	s.GroupIpAddress = &v
90382	return s
90383}
90384
90385// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
90386func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupMembersInput {
90387	s.NetworkInterfaceIds = v
90388	return s
90389}
90390
90391// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
90392func (s *RegisterTransitGatewayMulticastGroupMembersInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupMembersInput {
90393	s.TransitGatewayMulticastDomainId = &v
90394	return s
90395}
90396
90397type RegisterTransitGatewayMulticastGroupMembersOutput struct {
90398	_ struct{} `type:"structure"`
90399
90400	// Information about the registered transit gateway multicast group members.
90401	RegisteredMulticastGroupMembers *TransitGatewayMulticastRegisteredGroupMembers `locationName:"registeredMulticastGroupMembers" type:"structure"`
90402}
90403
90404// String returns the string representation
90405func (s RegisterTransitGatewayMulticastGroupMembersOutput) String() string {
90406	return awsutil.Prettify(s)
90407}
90408
90409// GoString returns the string representation
90410func (s RegisterTransitGatewayMulticastGroupMembersOutput) GoString() string {
90411	return s.String()
90412}
90413
90414// SetRegisteredMulticastGroupMembers sets the RegisteredMulticastGroupMembers field's value.
90415func (s *RegisterTransitGatewayMulticastGroupMembersOutput) SetRegisteredMulticastGroupMembers(v *TransitGatewayMulticastRegisteredGroupMembers) *RegisterTransitGatewayMulticastGroupMembersOutput {
90416	s.RegisteredMulticastGroupMembers = v
90417	return s
90418}
90419
90420type RegisterTransitGatewayMulticastGroupSourcesInput struct {
90421	_ struct{} `type:"structure"`
90422
90423	// Checks whether you have the required permissions for the action, without
90424	// actually making the request, and provides an error response. If you have
90425	// the required permissions, the error response is DryRunOperation. Otherwise,
90426	// it is UnauthorizedOperation.
90427	DryRun *bool `type:"boolean"`
90428
90429	// The IP address assigned to the transit gateway multicast group.
90430	GroupIpAddress *string `type:"string"`
90431
90432	// The group sources' network interface IDs to register with the transit gateway
90433	// multicast group.
90434	NetworkInterfaceIds []*string `locationNameList:"item" type:"list"`
90435
90436	// The ID of the transit gateway multicast domain.
90437	TransitGatewayMulticastDomainId *string `type:"string"`
90438}
90439
90440// String returns the string representation
90441func (s RegisterTransitGatewayMulticastGroupSourcesInput) String() string {
90442	return awsutil.Prettify(s)
90443}
90444
90445// GoString returns the string representation
90446func (s RegisterTransitGatewayMulticastGroupSourcesInput) GoString() string {
90447	return s.String()
90448}
90449
90450// SetDryRun sets the DryRun field's value.
90451func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetDryRun(v bool) *RegisterTransitGatewayMulticastGroupSourcesInput {
90452	s.DryRun = &v
90453	return s
90454}
90455
90456// SetGroupIpAddress sets the GroupIpAddress field's value.
90457func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetGroupIpAddress(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
90458	s.GroupIpAddress = &v
90459	return s
90460}
90461
90462// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
90463func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetNetworkInterfaceIds(v []*string) *RegisterTransitGatewayMulticastGroupSourcesInput {
90464	s.NetworkInterfaceIds = v
90465	return s
90466}
90467
90468// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
90469func (s *RegisterTransitGatewayMulticastGroupSourcesInput) SetTransitGatewayMulticastDomainId(v string) *RegisterTransitGatewayMulticastGroupSourcesInput {
90470	s.TransitGatewayMulticastDomainId = &v
90471	return s
90472}
90473
90474type RegisterTransitGatewayMulticastGroupSourcesOutput struct {
90475	_ struct{} `type:"structure"`
90476
90477	// Information about the transit gateway multicast group sources.
90478	RegisteredMulticastGroupSources *TransitGatewayMulticastRegisteredGroupSources `locationName:"registeredMulticastGroupSources" type:"structure"`
90479}
90480
90481// String returns the string representation
90482func (s RegisterTransitGatewayMulticastGroupSourcesOutput) String() string {
90483	return awsutil.Prettify(s)
90484}
90485
90486// GoString returns the string representation
90487func (s RegisterTransitGatewayMulticastGroupSourcesOutput) GoString() string {
90488	return s.String()
90489}
90490
90491// SetRegisteredMulticastGroupSources sets the RegisteredMulticastGroupSources field's value.
90492func (s *RegisterTransitGatewayMulticastGroupSourcesOutput) SetRegisteredMulticastGroupSources(v *TransitGatewayMulticastRegisteredGroupSources) *RegisterTransitGatewayMulticastGroupSourcesOutput {
90493	s.RegisteredMulticastGroupSources = v
90494	return s
90495}
90496
90497type RejectTransitGatewayPeeringAttachmentInput struct {
90498	_ struct{} `type:"structure"`
90499
90500	// Checks whether you have the required permissions for the action, without
90501	// actually making the request, and provides an error response. If you have
90502	// the required permissions, the error response is DryRunOperation. Otherwise,
90503	// it is UnauthorizedOperation.
90504	DryRun *bool `type:"boolean"`
90505
90506	// The ID of the transit gateway peering attachment.
90507	//
90508	// TransitGatewayAttachmentId is a required field
90509	TransitGatewayAttachmentId *string `type:"string" required:"true"`
90510}
90511
90512// String returns the string representation
90513func (s RejectTransitGatewayPeeringAttachmentInput) String() string {
90514	return awsutil.Prettify(s)
90515}
90516
90517// GoString returns the string representation
90518func (s RejectTransitGatewayPeeringAttachmentInput) GoString() string {
90519	return s.String()
90520}
90521
90522// Validate inspects the fields of the type to determine if they are valid.
90523func (s *RejectTransitGatewayPeeringAttachmentInput) Validate() error {
90524	invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayPeeringAttachmentInput"}
90525	if s.TransitGatewayAttachmentId == nil {
90526		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
90527	}
90528
90529	if invalidParams.Len() > 0 {
90530		return invalidParams
90531	}
90532	return nil
90533}
90534
90535// SetDryRun sets the DryRun field's value.
90536func (s *RejectTransitGatewayPeeringAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayPeeringAttachmentInput {
90537	s.DryRun = &v
90538	return s
90539}
90540
90541// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
90542func (s *RejectTransitGatewayPeeringAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayPeeringAttachmentInput {
90543	s.TransitGatewayAttachmentId = &v
90544	return s
90545}
90546
90547type RejectTransitGatewayPeeringAttachmentOutput struct {
90548	_ struct{} `type:"structure"`
90549
90550	// The transit gateway peering attachment.
90551	TransitGatewayPeeringAttachment *TransitGatewayPeeringAttachment `locationName:"transitGatewayPeeringAttachment" type:"structure"`
90552}
90553
90554// String returns the string representation
90555func (s RejectTransitGatewayPeeringAttachmentOutput) String() string {
90556	return awsutil.Prettify(s)
90557}
90558
90559// GoString returns the string representation
90560func (s RejectTransitGatewayPeeringAttachmentOutput) GoString() string {
90561	return s.String()
90562}
90563
90564// SetTransitGatewayPeeringAttachment sets the TransitGatewayPeeringAttachment field's value.
90565func (s *RejectTransitGatewayPeeringAttachmentOutput) SetTransitGatewayPeeringAttachment(v *TransitGatewayPeeringAttachment) *RejectTransitGatewayPeeringAttachmentOutput {
90566	s.TransitGatewayPeeringAttachment = v
90567	return s
90568}
90569
90570type RejectTransitGatewayVpcAttachmentInput struct {
90571	_ struct{} `type:"structure"`
90572
90573	// Checks whether you have the required permissions for the action, without
90574	// actually making the request, and provides an error response. If you have
90575	// the required permissions, the error response is DryRunOperation. Otherwise,
90576	// it is UnauthorizedOperation.
90577	DryRun *bool `type:"boolean"`
90578
90579	// The ID of the attachment.
90580	//
90581	// TransitGatewayAttachmentId is a required field
90582	TransitGatewayAttachmentId *string `type:"string" required:"true"`
90583}
90584
90585// String returns the string representation
90586func (s RejectTransitGatewayVpcAttachmentInput) String() string {
90587	return awsutil.Prettify(s)
90588}
90589
90590// GoString returns the string representation
90591func (s RejectTransitGatewayVpcAttachmentInput) GoString() string {
90592	return s.String()
90593}
90594
90595// Validate inspects the fields of the type to determine if they are valid.
90596func (s *RejectTransitGatewayVpcAttachmentInput) Validate() error {
90597	invalidParams := request.ErrInvalidParams{Context: "RejectTransitGatewayVpcAttachmentInput"}
90598	if s.TransitGatewayAttachmentId == nil {
90599		invalidParams.Add(request.NewErrParamRequired("TransitGatewayAttachmentId"))
90600	}
90601
90602	if invalidParams.Len() > 0 {
90603		return invalidParams
90604	}
90605	return nil
90606}
90607
90608// SetDryRun sets the DryRun field's value.
90609func (s *RejectTransitGatewayVpcAttachmentInput) SetDryRun(v bool) *RejectTransitGatewayVpcAttachmentInput {
90610	s.DryRun = &v
90611	return s
90612}
90613
90614// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
90615func (s *RejectTransitGatewayVpcAttachmentInput) SetTransitGatewayAttachmentId(v string) *RejectTransitGatewayVpcAttachmentInput {
90616	s.TransitGatewayAttachmentId = &v
90617	return s
90618}
90619
90620type RejectTransitGatewayVpcAttachmentOutput struct {
90621	_ struct{} `type:"structure"`
90622
90623	// Information about the attachment.
90624	TransitGatewayVpcAttachment *TransitGatewayVpcAttachment `locationName:"transitGatewayVpcAttachment" type:"structure"`
90625}
90626
90627// String returns the string representation
90628func (s RejectTransitGatewayVpcAttachmentOutput) String() string {
90629	return awsutil.Prettify(s)
90630}
90631
90632// GoString returns the string representation
90633func (s RejectTransitGatewayVpcAttachmentOutput) GoString() string {
90634	return s.String()
90635}
90636
90637// SetTransitGatewayVpcAttachment sets the TransitGatewayVpcAttachment field's value.
90638func (s *RejectTransitGatewayVpcAttachmentOutput) SetTransitGatewayVpcAttachment(v *TransitGatewayVpcAttachment) *RejectTransitGatewayVpcAttachmentOutput {
90639	s.TransitGatewayVpcAttachment = v
90640	return s
90641}
90642
90643type RejectVpcEndpointConnectionsInput struct {
90644	_ struct{} `type:"structure"`
90645
90646	// Checks whether you have the required permissions for the action, without
90647	// actually making the request, and provides an error response. If you have
90648	// the required permissions, the error response is DryRunOperation. Otherwise,
90649	// it is UnauthorizedOperation.
90650	DryRun *bool `type:"boolean"`
90651
90652	// The ID of the service.
90653	//
90654	// ServiceId is a required field
90655	ServiceId *string `type:"string" required:"true"`
90656
90657	// The IDs of one or more VPC endpoints.
90658	//
90659	// VpcEndpointIds is a required field
90660	VpcEndpointIds []*string `locationName:"VpcEndpointId" locationNameList:"item" type:"list" required:"true"`
90661}
90662
90663// String returns the string representation
90664func (s RejectVpcEndpointConnectionsInput) String() string {
90665	return awsutil.Prettify(s)
90666}
90667
90668// GoString returns the string representation
90669func (s RejectVpcEndpointConnectionsInput) GoString() string {
90670	return s.String()
90671}
90672
90673// Validate inspects the fields of the type to determine if they are valid.
90674func (s *RejectVpcEndpointConnectionsInput) Validate() error {
90675	invalidParams := request.ErrInvalidParams{Context: "RejectVpcEndpointConnectionsInput"}
90676	if s.ServiceId == nil {
90677		invalidParams.Add(request.NewErrParamRequired("ServiceId"))
90678	}
90679	if s.VpcEndpointIds == nil {
90680		invalidParams.Add(request.NewErrParamRequired("VpcEndpointIds"))
90681	}
90682
90683	if invalidParams.Len() > 0 {
90684		return invalidParams
90685	}
90686	return nil
90687}
90688
90689// SetDryRun sets the DryRun field's value.
90690func (s *RejectVpcEndpointConnectionsInput) SetDryRun(v bool) *RejectVpcEndpointConnectionsInput {
90691	s.DryRun = &v
90692	return s
90693}
90694
90695// SetServiceId sets the ServiceId field's value.
90696func (s *RejectVpcEndpointConnectionsInput) SetServiceId(v string) *RejectVpcEndpointConnectionsInput {
90697	s.ServiceId = &v
90698	return s
90699}
90700
90701// SetVpcEndpointIds sets the VpcEndpointIds field's value.
90702func (s *RejectVpcEndpointConnectionsInput) SetVpcEndpointIds(v []*string) *RejectVpcEndpointConnectionsInput {
90703	s.VpcEndpointIds = v
90704	return s
90705}
90706
90707type RejectVpcEndpointConnectionsOutput struct {
90708	_ struct{} `type:"structure"`
90709
90710	// Information about the endpoints that were not rejected, if applicable.
90711	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
90712}
90713
90714// String returns the string representation
90715func (s RejectVpcEndpointConnectionsOutput) String() string {
90716	return awsutil.Prettify(s)
90717}
90718
90719// GoString returns the string representation
90720func (s RejectVpcEndpointConnectionsOutput) GoString() string {
90721	return s.String()
90722}
90723
90724// SetUnsuccessful sets the Unsuccessful field's value.
90725func (s *RejectVpcEndpointConnectionsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *RejectVpcEndpointConnectionsOutput {
90726	s.Unsuccessful = v
90727	return s
90728}
90729
90730type RejectVpcPeeringConnectionInput struct {
90731	_ struct{} `type:"structure"`
90732
90733	// Checks whether you have the required permissions for the action, without
90734	// actually making the request, and provides an error response. If you have
90735	// the required permissions, the error response is DryRunOperation. Otherwise,
90736	// it is UnauthorizedOperation.
90737	DryRun *bool `locationName:"dryRun" type:"boolean"`
90738
90739	// The ID of the VPC peering connection.
90740	//
90741	// VpcPeeringConnectionId is a required field
90742	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string" required:"true"`
90743}
90744
90745// String returns the string representation
90746func (s RejectVpcPeeringConnectionInput) String() string {
90747	return awsutil.Prettify(s)
90748}
90749
90750// GoString returns the string representation
90751func (s RejectVpcPeeringConnectionInput) GoString() string {
90752	return s.String()
90753}
90754
90755// Validate inspects the fields of the type to determine if they are valid.
90756func (s *RejectVpcPeeringConnectionInput) Validate() error {
90757	invalidParams := request.ErrInvalidParams{Context: "RejectVpcPeeringConnectionInput"}
90758	if s.VpcPeeringConnectionId == nil {
90759		invalidParams.Add(request.NewErrParamRequired("VpcPeeringConnectionId"))
90760	}
90761
90762	if invalidParams.Len() > 0 {
90763		return invalidParams
90764	}
90765	return nil
90766}
90767
90768// SetDryRun sets the DryRun field's value.
90769func (s *RejectVpcPeeringConnectionInput) SetDryRun(v bool) *RejectVpcPeeringConnectionInput {
90770	s.DryRun = &v
90771	return s
90772}
90773
90774// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
90775func (s *RejectVpcPeeringConnectionInput) SetVpcPeeringConnectionId(v string) *RejectVpcPeeringConnectionInput {
90776	s.VpcPeeringConnectionId = &v
90777	return s
90778}
90779
90780type RejectVpcPeeringConnectionOutput struct {
90781	_ struct{} `type:"structure"`
90782
90783	// Returns true if the request succeeds; otherwise, it returns an error.
90784	Return *bool `locationName:"return" type:"boolean"`
90785}
90786
90787// String returns the string representation
90788func (s RejectVpcPeeringConnectionOutput) String() string {
90789	return awsutil.Prettify(s)
90790}
90791
90792// GoString returns the string representation
90793func (s RejectVpcPeeringConnectionOutput) GoString() string {
90794	return s.String()
90795}
90796
90797// SetReturn sets the Return field's value.
90798func (s *RejectVpcPeeringConnectionOutput) SetReturn(v bool) *RejectVpcPeeringConnectionOutput {
90799	s.Return = &v
90800	return s
90801}
90802
90803type ReleaseAddressInput struct {
90804	_ struct{} `type:"structure"`
90805
90806	// [EC2-VPC] The allocation ID. Required for EC2-VPC.
90807	AllocationId *string `type:"string"`
90808
90809	// Checks whether you have the required permissions for the action, without
90810	// actually making the request, and provides an error response. If you have
90811	// the required permissions, the error response is DryRunOperation. Otherwise,
90812	// it is UnauthorizedOperation.
90813	DryRun *bool `locationName:"dryRun" type:"boolean"`
90814
90815	// The location that the IP address is released from.
90816	//
90817	// If you provide an incorrect network border group, you will receive an InvalidAddress.NotFound
90818	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
90819	//
90820	// You cannot use a network border group with EC2 Classic. If you attempt this
90821	// operation on EC2 classic, you will receive an InvalidParameterCombination
90822	// error. For more information, see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
90823	NetworkBorderGroup *string `type:"string"`
90824
90825	// [EC2-Classic] The Elastic IP address. Required for EC2-Classic.
90826	PublicIp *string `type:"string"`
90827}
90828
90829// String returns the string representation
90830func (s ReleaseAddressInput) String() string {
90831	return awsutil.Prettify(s)
90832}
90833
90834// GoString returns the string representation
90835func (s ReleaseAddressInput) GoString() string {
90836	return s.String()
90837}
90838
90839// SetAllocationId sets the AllocationId field's value.
90840func (s *ReleaseAddressInput) SetAllocationId(v string) *ReleaseAddressInput {
90841	s.AllocationId = &v
90842	return s
90843}
90844
90845// SetDryRun sets the DryRun field's value.
90846func (s *ReleaseAddressInput) SetDryRun(v bool) *ReleaseAddressInput {
90847	s.DryRun = &v
90848	return s
90849}
90850
90851// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
90852func (s *ReleaseAddressInput) SetNetworkBorderGroup(v string) *ReleaseAddressInput {
90853	s.NetworkBorderGroup = &v
90854	return s
90855}
90856
90857// SetPublicIp sets the PublicIp field's value.
90858func (s *ReleaseAddressInput) SetPublicIp(v string) *ReleaseAddressInput {
90859	s.PublicIp = &v
90860	return s
90861}
90862
90863type ReleaseAddressOutput struct {
90864	_ struct{} `type:"structure"`
90865}
90866
90867// String returns the string representation
90868func (s ReleaseAddressOutput) String() string {
90869	return awsutil.Prettify(s)
90870}
90871
90872// GoString returns the string representation
90873func (s ReleaseAddressOutput) GoString() string {
90874	return s.String()
90875}
90876
90877type ReleaseHostsInput struct {
90878	_ struct{} `type:"structure"`
90879
90880	// The IDs of the Dedicated Hosts to release.
90881	//
90882	// HostIds is a required field
90883	HostIds []*string `locationName:"hostId" locationNameList:"item" type:"list" required:"true"`
90884}
90885
90886// String returns the string representation
90887func (s ReleaseHostsInput) String() string {
90888	return awsutil.Prettify(s)
90889}
90890
90891// GoString returns the string representation
90892func (s ReleaseHostsInput) GoString() string {
90893	return s.String()
90894}
90895
90896// Validate inspects the fields of the type to determine if they are valid.
90897func (s *ReleaseHostsInput) Validate() error {
90898	invalidParams := request.ErrInvalidParams{Context: "ReleaseHostsInput"}
90899	if s.HostIds == nil {
90900		invalidParams.Add(request.NewErrParamRequired("HostIds"))
90901	}
90902
90903	if invalidParams.Len() > 0 {
90904		return invalidParams
90905	}
90906	return nil
90907}
90908
90909// SetHostIds sets the HostIds field's value.
90910func (s *ReleaseHostsInput) SetHostIds(v []*string) *ReleaseHostsInput {
90911	s.HostIds = v
90912	return s
90913}
90914
90915type ReleaseHostsOutput struct {
90916	_ struct{} `type:"structure"`
90917
90918	// The IDs of the Dedicated Hosts that were successfully released.
90919	Successful []*string `locationName:"successful" locationNameList:"item" type:"list"`
90920
90921	// The IDs of the Dedicated Hosts that could not be released, including an error
90922	// message.
90923	Unsuccessful []*UnsuccessfulItem `locationName:"unsuccessful" locationNameList:"item" type:"list"`
90924}
90925
90926// String returns the string representation
90927func (s ReleaseHostsOutput) String() string {
90928	return awsutil.Prettify(s)
90929}
90930
90931// GoString returns the string representation
90932func (s ReleaseHostsOutput) GoString() string {
90933	return s.String()
90934}
90935
90936// SetSuccessful sets the Successful field's value.
90937func (s *ReleaseHostsOutput) SetSuccessful(v []*string) *ReleaseHostsOutput {
90938	s.Successful = v
90939	return s
90940}
90941
90942// SetUnsuccessful sets the Unsuccessful field's value.
90943func (s *ReleaseHostsOutput) SetUnsuccessful(v []*UnsuccessfulItem) *ReleaseHostsOutput {
90944	s.Unsuccessful = v
90945	return s
90946}
90947
90948type ReplaceIamInstanceProfileAssociationInput struct {
90949	_ struct{} `type:"structure"`
90950
90951	// The ID of the existing IAM instance profile association.
90952	//
90953	// AssociationId is a required field
90954	AssociationId *string `type:"string" required:"true"`
90955
90956	// The IAM instance profile.
90957	//
90958	// IamInstanceProfile is a required field
90959	IamInstanceProfile *IamInstanceProfileSpecification `type:"structure" required:"true"`
90960}
90961
90962// String returns the string representation
90963func (s ReplaceIamInstanceProfileAssociationInput) String() string {
90964	return awsutil.Prettify(s)
90965}
90966
90967// GoString returns the string representation
90968func (s ReplaceIamInstanceProfileAssociationInput) GoString() string {
90969	return s.String()
90970}
90971
90972// Validate inspects the fields of the type to determine if they are valid.
90973func (s *ReplaceIamInstanceProfileAssociationInput) Validate() error {
90974	invalidParams := request.ErrInvalidParams{Context: "ReplaceIamInstanceProfileAssociationInput"}
90975	if s.AssociationId == nil {
90976		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
90977	}
90978	if s.IamInstanceProfile == nil {
90979		invalidParams.Add(request.NewErrParamRequired("IamInstanceProfile"))
90980	}
90981
90982	if invalidParams.Len() > 0 {
90983		return invalidParams
90984	}
90985	return nil
90986}
90987
90988// SetAssociationId sets the AssociationId field's value.
90989func (s *ReplaceIamInstanceProfileAssociationInput) SetAssociationId(v string) *ReplaceIamInstanceProfileAssociationInput {
90990	s.AssociationId = &v
90991	return s
90992}
90993
90994// SetIamInstanceProfile sets the IamInstanceProfile field's value.
90995func (s *ReplaceIamInstanceProfileAssociationInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *ReplaceIamInstanceProfileAssociationInput {
90996	s.IamInstanceProfile = v
90997	return s
90998}
90999
91000type ReplaceIamInstanceProfileAssociationOutput struct {
91001	_ struct{} `type:"structure"`
91002
91003	// Information about the IAM instance profile association.
91004	IamInstanceProfileAssociation *IamInstanceProfileAssociation `locationName:"iamInstanceProfileAssociation" type:"structure"`
91005}
91006
91007// String returns the string representation
91008func (s ReplaceIamInstanceProfileAssociationOutput) String() string {
91009	return awsutil.Prettify(s)
91010}
91011
91012// GoString returns the string representation
91013func (s ReplaceIamInstanceProfileAssociationOutput) GoString() string {
91014	return s.String()
91015}
91016
91017// SetIamInstanceProfileAssociation sets the IamInstanceProfileAssociation field's value.
91018func (s *ReplaceIamInstanceProfileAssociationOutput) SetIamInstanceProfileAssociation(v *IamInstanceProfileAssociation) *ReplaceIamInstanceProfileAssociationOutput {
91019	s.IamInstanceProfileAssociation = v
91020	return s
91021}
91022
91023type ReplaceNetworkAclAssociationInput struct {
91024	_ struct{} `type:"structure"`
91025
91026	// The ID of the current association between the original network ACL and the
91027	// subnet.
91028	//
91029	// AssociationId is a required field
91030	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
91031
91032	// Checks whether you have the required permissions for the action, without
91033	// actually making the request, and provides an error response. If you have
91034	// the required permissions, the error response is DryRunOperation. Otherwise,
91035	// it is UnauthorizedOperation.
91036	DryRun *bool `locationName:"dryRun" type:"boolean"`
91037
91038	// The ID of the new network ACL to associate with the subnet.
91039	//
91040	// NetworkAclId is a required field
91041	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
91042}
91043
91044// String returns the string representation
91045func (s ReplaceNetworkAclAssociationInput) String() string {
91046	return awsutil.Prettify(s)
91047}
91048
91049// GoString returns the string representation
91050func (s ReplaceNetworkAclAssociationInput) GoString() string {
91051	return s.String()
91052}
91053
91054// Validate inspects the fields of the type to determine if they are valid.
91055func (s *ReplaceNetworkAclAssociationInput) Validate() error {
91056	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclAssociationInput"}
91057	if s.AssociationId == nil {
91058		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
91059	}
91060	if s.NetworkAclId == nil {
91061		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
91062	}
91063
91064	if invalidParams.Len() > 0 {
91065		return invalidParams
91066	}
91067	return nil
91068}
91069
91070// SetAssociationId sets the AssociationId field's value.
91071func (s *ReplaceNetworkAclAssociationInput) SetAssociationId(v string) *ReplaceNetworkAclAssociationInput {
91072	s.AssociationId = &v
91073	return s
91074}
91075
91076// SetDryRun sets the DryRun field's value.
91077func (s *ReplaceNetworkAclAssociationInput) SetDryRun(v bool) *ReplaceNetworkAclAssociationInput {
91078	s.DryRun = &v
91079	return s
91080}
91081
91082// SetNetworkAclId sets the NetworkAclId field's value.
91083func (s *ReplaceNetworkAclAssociationInput) SetNetworkAclId(v string) *ReplaceNetworkAclAssociationInput {
91084	s.NetworkAclId = &v
91085	return s
91086}
91087
91088type ReplaceNetworkAclAssociationOutput struct {
91089	_ struct{} `type:"structure"`
91090
91091	// The ID of the new association.
91092	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
91093}
91094
91095// String returns the string representation
91096func (s ReplaceNetworkAclAssociationOutput) String() string {
91097	return awsutil.Prettify(s)
91098}
91099
91100// GoString returns the string representation
91101func (s ReplaceNetworkAclAssociationOutput) GoString() string {
91102	return s.String()
91103}
91104
91105// SetNewAssociationId sets the NewAssociationId field's value.
91106func (s *ReplaceNetworkAclAssociationOutput) SetNewAssociationId(v string) *ReplaceNetworkAclAssociationOutput {
91107	s.NewAssociationId = &v
91108	return s
91109}
91110
91111type ReplaceNetworkAclEntryInput struct {
91112	_ struct{} `type:"structure"`
91113
91114	// The IPv4 network range to allow or deny, in CIDR notation (for example 172.16.0.0/24).
91115	CidrBlock *string `locationName:"cidrBlock" type:"string"`
91116
91117	// Checks whether you have the required permissions for the action, without
91118	// actually making the request, and provides an error response. If you have
91119	// the required permissions, the error response is DryRunOperation. Otherwise,
91120	// it is UnauthorizedOperation.
91121	DryRun *bool `locationName:"dryRun" type:"boolean"`
91122
91123	// Indicates whether to replace the egress rule.
91124	//
91125	// Default: If no value is specified, we replace the ingress rule.
91126	//
91127	// Egress is a required field
91128	Egress *bool `locationName:"egress" type:"boolean" required:"true"`
91129
91130	// ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
91131	// 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.
91132	IcmpTypeCode *IcmpTypeCode `locationName:"Icmp" type:"structure"`
91133
91134	// The IPv6 network range to allow or deny, in CIDR notation (for example 2001:bd8:1234:1a00::/64).
91135	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
91136
91137	// The ID of the ACL.
91138	//
91139	// NetworkAclId is a required field
91140	NetworkAclId *string `locationName:"networkAclId" type:"string" required:"true"`
91141
91142	// TCP or UDP protocols: The range of ports the rule applies to. Required if
91143	// specifying protocol 6 (TCP) or 17 (UDP).
91144	PortRange *PortRange `locationName:"portRange" type:"structure"`
91145
91146	// The protocol number. A value of "-1" means all protocols. If you specify
91147	// "-1" or a protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP),
91148	// traffic on all ports is allowed, regardless of any ports or ICMP types or
91149	// codes that you specify. If you specify protocol "58" (ICMPv6) and specify
91150	// an IPv4 CIDR block, traffic for all ICMP types and codes allowed, regardless
91151	// of any that you specify. If you specify protocol "58" (ICMPv6) and specify
91152	// an IPv6 CIDR block, you must specify an ICMP type and code.
91153	//
91154	// Protocol is a required field
91155	Protocol *string `locationName:"protocol" type:"string" required:"true"`
91156
91157	// Indicates whether to allow or deny the traffic that matches the rule.
91158	//
91159	// RuleAction is a required field
91160	RuleAction *string `locationName:"ruleAction" type:"string" required:"true" enum:"RuleAction"`
91161
91162	// The rule number of the entry to replace.
91163	//
91164	// RuleNumber is a required field
91165	RuleNumber *int64 `locationName:"ruleNumber" type:"integer" required:"true"`
91166}
91167
91168// String returns the string representation
91169func (s ReplaceNetworkAclEntryInput) String() string {
91170	return awsutil.Prettify(s)
91171}
91172
91173// GoString returns the string representation
91174func (s ReplaceNetworkAclEntryInput) GoString() string {
91175	return s.String()
91176}
91177
91178// Validate inspects the fields of the type to determine if they are valid.
91179func (s *ReplaceNetworkAclEntryInput) Validate() error {
91180	invalidParams := request.ErrInvalidParams{Context: "ReplaceNetworkAclEntryInput"}
91181	if s.Egress == nil {
91182		invalidParams.Add(request.NewErrParamRequired("Egress"))
91183	}
91184	if s.NetworkAclId == nil {
91185		invalidParams.Add(request.NewErrParamRequired("NetworkAclId"))
91186	}
91187	if s.Protocol == nil {
91188		invalidParams.Add(request.NewErrParamRequired("Protocol"))
91189	}
91190	if s.RuleAction == nil {
91191		invalidParams.Add(request.NewErrParamRequired("RuleAction"))
91192	}
91193	if s.RuleNumber == nil {
91194		invalidParams.Add(request.NewErrParamRequired("RuleNumber"))
91195	}
91196
91197	if invalidParams.Len() > 0 {
91198		return invalidParams
91199	}
91200	return nil
91201}
91202
91203// SetCidrBlock sets the CidrBlock field's value.
91204func (s *ReplaceNetworkAclEntryInput) SetCidrBlock(v string) *ReplaceNetworkAclEntryInput {
91205	s.CidrBlock = &v
91206	return s
91207}
91208
91209// SetDryRun sets the DryRun field's value.
91210func (s *ReplaceNetworkAclEntryInput) SetDryRun(v bool) *ReplaceNetworkAclEntryInput {
91211	s.DryRun = &v
91212	return s
91213}
91214
91215// SetEgress sets the Egress field's value.
91216func (s *ReplaceNetworkAclEntryInput) SetEgress(v bool) *ReplaceNetworkAclEntryInput {
91217	s.Egress = &v
91218	return s
91219}
91220
91221// SetIcmpTypeCode sets the IcmpTypeCode field's value.
91222func (s *ReplaceNetworkAclEntryInput) SetIcmpTypeCode(v *IcmpTypeCode) *ReplaceNetworkAclEntryInput {
91223	s.IcmpTypeCode = v
91224	return s
91225}
91226
91227// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
91228func (s *ReplaceNetworkAclEntryInput) SetIpv6CidrBlock(v string) *ReplaceNetworkAclEntryInput {
91229	s.Ipv6CidrBlock = &v
91230	return s
91231}
91232
91233// SetNetworkAclId sets the NetworkAclId field's value.
91234func (s *ReplaceNetworkAclEntryInput) SetNetworkAclId(v string) *ReplaceNetworkAclEntryInput {
91235	s.NetworkAclId = &v
91236	return s
91237}
91238
91239// SetPortRange sets the PortRange field's value.
91240func (s *ReplaceNetworkAclEntryInput) SetPortRange(v *PortRange) *ReplaceNetworkAclEntryInput {
91241	s.PortRange = v
91242	return s
91243}
91244
91245// SetProtocol sets the Protocol field's value.
91246func (s *ReplaceNetworkAclEntryInput) SetProtocol(v string) *ReplaceNetworkAclEntryInput {
91247	s.Protocol = &v
91248	return s
91249}
91250
91251// SetRuleAction sets the RuleAction field's value.
91252func (s *ReplaceNetworkAclEntryInput) SetRuleAction(v string) *ReplaceNetworkAclEntryInput {
91253	s.RuleAction = &v
91254	return s
91255}
91256
91257// SetRuleNumber sets the RuleNumber field's value.
91258func (s *ReplaceNetworkAclEntryInput) SetRuleNumber(v int64) *ReplaceNetworkAclEntryInput {
91259	s.RuleNumber = &v
91260	return s
91261}
91262
91263type ReplaceNetworkAclEntryOutput struct {
91264	_ struct{} `type:"structure"`
91265}
91266
91267// String returns the string representation
91268func (s ReplaceNetworkAclEntryOutput) String() string {
91269	return awsutil.Prettify(s)
91270}
91271
91272// GoString returns the string representation
91273func (s ReplaceNetworkAclEntryOutput) GoString() string {
91274	return s.String()
91275}
91276
91277type ReplaceRouteInput struct {
91278	_ struct{} `type:"structure"`
91279
91280	// The IPv4 CIDR address block used for the destination match. The value that
91281	// you provide must match the CIDR of an existing route in the table.
91282	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
91283
91284	// The IPv6 CIDR address block used for the destination match. The value that
91285	// you provide must match the CIDR of an existing route in the table.
91286	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
91287
91288	// Checks whether you have the required permissions for the action, without
91289	// actually making the request, and provides an error response. If you have
91290	// the required permissions, the error response is DryRunOperation. Otherwise,
91291	// it is UnauthorizedOperation.
91292	DryRun *bool `locationName:"dryRun" type:"boolean"`
91293
91294	// [IPv6 traffic only] The ID of an egress-only internet gateway.
91295	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
91296
91297	// The ID of an internet gateway or virtual private gateway.
91298	GatewayId *string `locationName:"gatewayId" type:"string"`
91299
91300	// The ID of a NAT instance in your VPC.
91301	InstanceId *string `locationName:"instanceId" type:"string"`
91302
91303	// The ID of the local gateway.
91304	LocalGatewayId *string `type:"string"`
91305
91306	// Specifies whether to reset the local route to its default target (local).
91307	LocalTarget *bool `type:"boolean"`
91308
91309	// [IPv4 traffic only] The ID of a NAT gateway.
91310	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
91311
91312	// The ID of a network interface.
91313	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
91314
91315	// The ID of the route table.
91316	//
91317	// RouteTableId is a required field
91318	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
91319
91320	// The ID of a transit gateway.
91321	TransitGatewayId *string `type:"string"`
91322
91323	// The ID of a VPC peering connection.
91324	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
91325}
91326
91327// String returns the string representation
91328func (s ReplaceRouteInput) String() string {
91329	return awsutil.Prettify(s)
91330}
91331
91332// GoString returns the string representation
91333func (s ReplaceRouteInput) GoString() string {
91334	return s.String()
91335}
91336
91337// Validate inspects the fields of the type to determine if they are valid.
91338func (s *ReplaceRouteInput) Validate() error {
91339	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteInput"}
91340	if s.RouteTableId == nil {
91341		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
91342	}
91343
91344	if invalidParams.Len() > 0 {
91345		return invalidParams
91346	}
91347	return nil
91348}
91349
91350// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
91351func (s *ReplaceRouteInput) SetDestinationCidrBlock(v string) *ReplaceRouteInput {
91352	s.DestinationCidrBlock = &v
91353	return s
91354}
91355
91356// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
91357func (s *ReplaceRouteInput) SetDestinationIpv6CidrBlock(v string) *ReplaceRouteInput {
91358	s.DestinationIpv6CidrBlock = &v
91359	return s
91360}
91361
91362// SetDryRun sets the DryRun field's value.
91363func (s *ReplaceRouteInput) SetDryRun(v bool) *ReplaceRouteInput {
91364	s.DryRun = &v
91365	return s
91366}
91367
91368// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
91369func (s *ReplaceRouteInput) SetEgressOnlyInternetGatewayId(v string) *ReplaceRouteInput {
91370	s.EgressOnlyInternetGatewayId = &v
91371	return s
91372}
91373
91374// SetGatewayId sets the GatewayId field's value.
91375func (s *ReplaceRouteInput) SetGatewayId(v string) *ReplaceRouteInput {
91376	s.GatewayId = &v
91377	return s
91378}
91379
91380// SetInstanceId sets the InstanceId field's value.
91381func (s *ReplaceRouteInput) SetInstanceId(v string) *ReplaceRouteInput {
91382	s.InstanceId = &v
91383	return s
91384}
91385
91386// SetLocalGatewayId sets the LocalGatewayId field's value.
91387func (s *ReplaceRouteInput) SetLocalGatewayId(v string) *ReplaceRouteInput {
91388	s.LocalGatewayId = &v
91389	return s
91390}
91391
91392// SetLocalTarget sets the LocalTarget field's value.
91393func (s *ReplaceRouteInput) SetLocalTarget(v bool) *ReplaceRouteInput {
91394	s.LocalTarget = &v
91395	return s
91396}
91397
91398// SetNatGatewayId sets the NatGatewayId field's value.
91399func (s *ReplaceRouteInput) SetNatGatewayId(v string) *ReplaceRouteInput {
91400	s.NatGatewayId = &v
91401	return s
91402}
91403
91404// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
91405func (s *ReplaceRouteInput) SetNetworkInterfaceId(v string) *ReplaceRouteInput {
91406	s.NetworkInterfaceId = &v
91407	return s
91408}
91409
91410// SetRouteTableId sets the RouteTableId field's value.
91411func (s *ReplaceRouteInput) SetRouteTableId(v string) *ReplaceRouteInput {
91412	s.RouteTableId = &v
91413	return s
91414}
91415
91416// SetTransitGatewayId sets the TransitGatewayId field's value.
91417func (s *ReplaceRouteInput) SetTransitGatewayId(v string) *ReplaceRouteInput {
91418	s.TransitGatewayId = &v
91419	return s
91420}
91421
91422// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
91423func (s *ReplaceRouteInput) SetVpcPeeringConnectionId(v string) *ReplaceRouteInput {
91424	s.VpcPeeringConnectionId = &v
91425	return s
91426}
91427
91428type ReplaceRouteOutput struct {
91429	_ struct{} `type:"structure"`
91430}
91431
91432// String returns the string representation
91433func (s ReplaceRouteOutput) String() string {
91434	return awsutil.Prettify(s)
91435}
91436
91437// GoString returns the string representation
91438func (s ReplaceRouteOutput) GoString() string {
91439	return s.String()
91440}
91441
91442type ReplaceRouteTableAssociationInput struct {
91443	_ struct{} `type:"structure"`
91444
91445	// The association ID.
91446	//
91447	// AssociationId is a required field
91448	AssociationId *string `locationName:"associationId" type:"string" required:"true"`
91449
91450	// Checks whether you have the required permissions for the action, without
91451	// actually making the request, and provides an error response. If you have
91452	// the required permissions, the error response is DryRunOperation. Otherwise,
91453	// it is UnauthorizedOperation.
91454	DryRun *bool `locationName:"dryRun" type:"boolean"`
91455
91456	// The ID of the new route table to associate with the subnet.
91457	//
91458	// RouteTableId is a required field
91459	RouteTableId *string `locationName:"routeTableId" type:"string" required:"true"`
91460}
91461
91462// String returns the string representation
91463func (s ReplaceRouteTableAssociationInput) String() string {
91464	return awsutil.Prettify(s)
91465}
91466
91467// GoString returns the string representation
91468func (s ReplaceRouteTableAssociationInput) GoString() string {
91469	return s.String()
91470}
91471
91472// Validate inspects the fields of the type to determine if they are valid.
91473func (s *ReplaceRouteTableAssociationInput) Validate() error {
91474	invalidParams := request.ErrInvalidParams{Context: "ReplaceRouteTableAssociationInput"}
91475	if s.AssociationId == nil {
91476		invalidParams.Add(request.NewErrParamRequired("AssociationId"))
91477	}
91478	if s.RouteTableId == nil {
91479		invalidParams.Add(request.NewErrParamRequired("RouteTableId"))
91480	}
91481
91482	if invalidParams.Len() > 0 {
91483		return invalidParams
91484	}
91485	return nil
91486}
91487
91488// SetAssociationId sets the AssociationId field's value.
91489func (s *ReplaceRouteTableAssociationInput) SetAssociationId(v string) *ReplaceRouteTableAssociationInput {
91490	s.AssociationId = &v
91491	return s
91492}
91493
91494// SetDryRun sets the DryRun field's value.
91495func (s *ReplaceRouteTableAssociationInput) SetDryRun(v bool) *ReplaceRouteTableAssociationInput {
91496	s.DryRun = &v
91497	return s
91498}
91499
91500// SetRouteTableId sets the RouteTableId field's value.
91501func (s *ReplaceRouteTableAssociationInput) SetRouteTableId(v string) *ReplaceRouteTableAssociationInput {
91502	s.RouteTableId = &v
91503	return s
91504}
91505
91506type ReplaceRouteTableAssociationOutput struct {
91507	_ struct{} `type:"structure"`
91508
91509	// The state of the association.
91510	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
91511
91512	// The ID of the new association.
91513	NewAssociationId *string `locationName:"newAssociationId" type:"string"`
91514}
91515
91516// String returns the string representation
91517func (s ReplaceRouteTableAssociationOutput) String() string {
91518	return awsutil.Prettify(s)
91519}
91520
91521// GoString returns the string representation
91522func (s ReplaceRouteTableAssociationOutput) GoString() string {
91523	return s.String()
91524}
91525
91526// SetAssociationState sets the AssociationState field's value.
91527func (s *ReplaceRouteTableAssociationOutput) SetAssociationState(v *RouteTableAssociationState) *ReplaceRouteTableAssociationOutput {
91528	s.AssociationState = v
91529	return s
91530}
91531
91532// SetNewAssociationId sets the NewAssociationId field's value.
91533func (s *ReplaceRouteTableAssociationOutput) SetNewAssociationId(v string) *ReplaceRouteTableAssociationOutput {
91534	s.NewAssociationId = &v
91535	return s
91536}
91537
91538type ReplaceTransitGatewayRouteInput struct {
91539	_ struct{} `type:"structure"`
91540
91541	// Indicates whether traffic matching this route is to be dropped.
91542	Blackhole *bool `type:"boolean"`
91543
91544	// The CIDR range used for the destination match. Routing decisions are based
91545	// on the most specific match.
91546	//
91547	// DestinationCidrBlock is a required field
91548	DestinationCidrBlock *string `type:"string" required:"true"`
91549
91550	// Checks whether you have the required permissions for the action, without
91551	// actually making the request, and provides an error response. If you have
91552	// the required permissions, the error response is DryRunOperation. Otherwise,
91553	// it is UnauthorizedOperation.
91554	DryRun *bool `type:"boolean"`
91555
91556	// The ID of the attachment.
91557	TransitGatewayAttachmentId *string `type:"string"`
91558
91559	// The ID of the route table.
91560	//
91561	// TransitGatewayRouteTableId is a required field
91562	TransitGatewayRouteTableId *string `type:"string" required:"true"`
91563}
91564
91565// String returns the string representation
91566func (s ReplaceTransitGatewayRouteInput) String() string {
91567	return awsutil.Prettify(s)
91568}
91569
91570// GoString returns the string representation
91571func (s ReplaceTransitGatewayRouteInput) GoString() string {
91572	return s.String()
91573}
91574
91575// Validate inspects the fields of the type to determine if they are valid.
91576func (s *ReplaceTransitGatewayRouteInput) Validate() error {
91577	invalidParams := request.ErrInvalidParams{Context: "ReplaceTransitGatewayRouteInput"}
91578	if s.DestinationCidrBlock == nil {
91579		invalidParams.Add(request.NewErrParamRequired("DestinationCidrBlock"))
91580	}
91581	if s.TransitGatewayRouteTableId == nil {
91582		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
91583	}
91584
91585	if invalidParams.Len() > 0 {
91586		return invalidParams
91587	}
91588	return nil
91589}
91590
91591// SetBlackhole sets the Blackhole field's value.
91592func (s *ReplaceTransitGatewayRouteInput) SetBlackhole(v bool) *ReplaceTransitGatewayRouteInput {
91593	s.Blackhole = &v
91594	return s
91595}
91596
91597// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
91598func (s *ReplaceTransitGatewayRouteInput) SetDestinationCidrBlock(v string) *ReplaceTransitGatewayRouteInput {
91599	s.DestinationCidrBlock = &v
91600	return s
91601}
91602
91603// SetDryRun sets the DryRun field's value.
91604func (s *ReplaceTransitGatewayRouteInput) SetDryRun(v bool) *ReplaceTransitGatewayRouteInput {
91605	s.DryRun = &v
91606	return s
91607}
91608
91609// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
91610func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayAttachmentId(v string) *ReplaceTransitGatewayRouteInput {
91611	s.TransitGatewayAttachmentId = &v
91612	return s
91613}
91614
91615// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
91616func (s *ReplaceTransitGatewayRouteInput) SetTransitGatewayRouteTableId(v string) *ReplaceTransitGatewayRouteInput {
91617	s.TransitGatewayRouteTableId = &v
91618	return s
91619}
91620
91621type ReplaceTransitGatewayRouteOutput struct {
91622	_ struct{} `type:"structure"`
91623
91624	// Information about the modified route.
91625	Route *TransitGatewayRoute `locationName:"route" type:"structure"`
91626}
91627
91628// String returns the string representation
91629func (s ReplaceTransitGatewayRouteOutput) String() string {
91630	return awsutil.Prettify(s)
91631}
91632
91633// GoString returns the string representation
91634func (s ReplaceTransitGatewayRouteOutput) GoString() string {
91635	return s.String()
91636}
91637
91638// SetRoute sets the Route field's value.
91639func (s *ReplaceTransitGatewayRouteOutput) SetRoute(v *TransitGatewayRoute) *ReplaceTransitGatewayRouteOutput {
91640	s.Route = v
91641	return s
91642}
91643
91644type ReportInstanceStatusInput struct {
91645	_ struct{} `type:"structure"`
91646
91647	// Descriptive text about the health state of your instance.
91648	Description *string `locationName:"description" type:"string"`
91649
91650	// Checks whether you have the required permissions for the action, without
91651	// actually making the request, and provides an error response. If you have
91652	// the required permissions, the error response is DryRunOperation. Otherwise,
91653	// it is UnauthorizedOperation.
91654	DryRun *bool `locationName:"dryRun" type:"boolean"`
91655
91656	// The time at which the reported instance health state ended.
91657	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
91658
91659	// The instances.
91660	//
91661	// Instances is a required field
91662	Instances []*string `locationName:"instanceId" locationNameList:"InstanceId" type:"list" required:"true"`
91663
91664	// The reason codes that describe the health state of your instance.
91665	//
91666	//    * instance-stuck-in-state: My instance is stuck in a state.
91667	//
91668	//    * unresponsive: My instance is unresponsive.
91669	//
91670	//    * not-accepting-credentials: My instance is not accepting my credentials.
91671	//
91672	//    * password-not-available: A password is not available for my instance.
91673	//
91674	//    * performance-network: My instance is experiencing performance problems
91675	//    that I believe are network related.
91676	//
91677	//    * performance-instance-store: My instance is experiencing performance
91678	//    problems that I believe are related to the instance stores.
91679	//
91680	//    * performance-ebs-volume: My instance is experiencing performance problems
91681	//    that I believe are related to an EBS volume.
91682	//
91683	//    * performance-other: My instance is experiencing performance problems.
91684	//
91685	//    * other: [explain using the description parameter]
91686	//
91687	// ReasonCodes is a required field
91688	ReasonCodes []*string `locationName:"reasonCode" locationNameList:"item" type:"list" required:"true"`
91689
91690	// The time at which the reported instance health state began.
91691	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
91692
91693	// The status of all instances listed.
91694	//
91695	// Status is a required field
91696	Status *string `locationName:"status" type:"string" required:"true" enum:"ReportStatusType"`
91697}
91698
91699// String returns the string representation
91700func (s ReportInstanceStatusInput) String() string {
91701	return awsutil.Prettify(s)
91702}
91703
91704// GoString returns the string representation
91705func (s ReportInstanceStatusInput) GoString() string {
91706	return s.String()
91707}
91708
91709// Validate inspects the fields of the type to determine if they are valid.
91710func (s *ReportInstanceStatusInput) Validate() error {
91711	invalidParams := request.ErrInvalidParams{Context: "ReportInstanceStatusInput"}
91712	if s.Instances == nil {
91713		invalidParams.Add(request.NewErrParamRequired("Instances"))
91714	}
91715	if s.ReasonCodes == nil {
91716		invalidParams.Add(request.NewErrParamRequired("ReasonCodes"))
91717	}
91718	if s.Status == nil {
91719		invalidParams.Add(request.NewErrParamRequired("Status"))
91720	}
91721
91722	if invalidParams.Len() > 0 {
91723		return invalidParams
91724	}
91725	return nil
91726}
91727
91728// SetDescription sets the Description field's value.
91729func (s *ReportInstanceStatusInput) SetDescription(v string) *ReportInstanceStatusInput {
91730	s.Description = &v
91731	return s
91732}
91733
91734// SetDryRun sets the DryRun field's value.
91735func (s *ReportInstanceStatusInput) SetDryRun(v bool) *ReportInstanceStatusInput {
91736	s.DryRun = &v
91737	return s
91738}
91739
91740// SetEndTime sets the EndTime field's value.
91741func (s *ReportInstanceStatusInput) SetEndTime(v time.Time) *ReportInstanceStatusInput {
91742	s.EndTime = &v
91743	return s
91744}
91745
91746// SetInstances sets the Instances field's value.
91747func (s *ReportInstanceStatusInput) SetInstances(v []*string) *ReportInstanceStatusInput {
91748	s.Instances = v
91749	return s
91750}
91751
91752// SetReasonCodes sets the ReasonCodes field's value.
91753func (s *ReportInstanceStatusInput) SetReasonCodes(v []*string) *ReportInstanceStatusInput {
91754	s.ReasonCodes = v
91755	return s
91756}
91757
91758// SetStartTime sets the StartTime field's value.
91759func (s *ReportInstanceStatusInput) SetStartTime(v time.Time) *ReportInstanceStatusInput {
91760	s.StartTime = &v
91761	return s
91762}
91763
91764// SetStatus sets the Status field's value.
91765func (s *ReportInstanceStatusInput) SetStatus(v string) *ReportInstanceStatusInput {
91766	s.Status = &v
91767	return s
91768}
91769
91770type ReportInstanceStatusOutput struct {
91771	_ struct{} `type:"structure"`
91772}
91773
91774// String returns the string representation
91775func (s ReportInstanceStatusOutput) String() string {
91776	return awsutil.Prettify(s)
91777}
91778
91779// GoString returns the string representation
91780func (s ReportInstanceStatusOutput) GoString() string {
91781	return s.String()
91782}
91783
91784// The information to include in the launch template.
91785type RequestLaunchTemplateData struct {
91786	_ struct{} `type:"structure"`
91787
91788	// The block device mapping.
91789	//
91790	// Supplying both a snapshot ID and an encryption value as arguments for block-device
91791	// mapping results in an error. This is because only blank volumes can be encrypted
91792	// on start, and these are not created from a snapshot. If a snapshot is the
91793	// basis for the volume, it contains data by definition and its encryption status
91794	// cannot be changed using this action.
91795	BlockDeviceMappings []*LaunchTemplateBlockDeviceMappingRequest `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
91796
91797	// The Capacity Reservation targeting option. If you do not specify this parameter,
91798	// the instance's Capacity Reservation preference defaults to open, which enables
91799	// it to run in any open Capacity Reservation that has matching attributes (instance
91800	// type, platform, Availability Zone).
91801	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationRequest `type:"structure"`
91802
91803	// The CPU options for the instance. For more information, see Optimizing CPU
91804	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
91805	// in the Amazon Elastic Compute Cloud User Guide.
91806	CpuOptions *LaunchTemplateCpuOptionsRequest `type:"structure"`
91807
91808	// The credit option for CPU usage of the instance. Valid for T2 or T3 instances
91809	// only.
91810	CreditSpecification *CreditSpecificationRequest `type:"structure"`
91811
91812	// If you set this parameter to true, you can't terminate the instance using
91813	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
91814	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
91815	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
91816	// you can terminate the instance by running the shutdown command from the instance.
91817	DisableApiTermination *bool `type:"boolean"`
91818
91819	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
91820	// provides dedicated throughput to Amazon EBS and an optimized configuration
91821	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
91822	// available with all instance types. Additional usage charges apply when using
91823	// an EBS-optimized instance.
91824	EbsOptimized *bool `type:"boolean"`
91825
91826	// An elastic GPU to associate with the instance.
91827	ElasticGpuSpecifications []*ElasticGpuSpecification `locationName:"ElasticGpuSpecification" locationNameList:"ElasticGpuSpecification" type:"list"`
91828
91829	// The elastic inference accelerator for the instance.
91830	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
91831
91832	// Indicates whether an instance is enabled for hibernation. This parameter
91833	// is valid only if the instance meets the hibernation prerequisites (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites).
91834	// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
91835	// in the Amazon Elastic Compute Cloud User Guide.
91836	HibernationOptions *LaunchTemplateHibernationOptionsRequest `type:"structure"`
91837
91838	// The IAM instance profile.
91839	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest `type:"structure"`
91840
91841	// The ID of the AMI.
91842	ImageId *string `type:"string"`
91843
91844	// Indicates whether an instance stops or terminates when you initiate shutdown
91845	// from the instance (using the operating system command for system shutdown).
91846	//
91847	// Default: stop
91848	InstanceInitiatedShutdownBehavior *string `type:"string" enum:"ShutdownBehavior"`
91849
91850	// The market (purchasing) option for the instances.
91851	InstanceMarketOptions *LaunchTemplateInstanceMarketOptionsRequest `type:"structure"`
91852
91853	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
91854	// in the Amazon Elastic Compute Cloud User Guide.
91855	InstanceType *string `type:"string" enum:"InstanceType"`
91856
91857	// The ID of the kernel.
91858	//
91859	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
91860	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
91861	// in the Amazon Elastic Compute Cloud User Guide.
91862	KernelId *string `type:"string"`
91863
91864	// 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)
91865	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
91866	//
91867	// If you do not specify a key pair, you can't connect to the instance unless
91868	// you choose an AMI that is configured to allow users another way to log in.
91869	KeyName *string `type:"string"`
91870
91871	// The license configurations.
91872	LicenseSpecifications []*LaunchTemplateLicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
91873
91874	// The monitoring for the instance.
91875	Monitoring *LaunchTemplatesMonitoringRequest `type:"structure"`
91876
91877	// One or more network interfaces. If you specify a network interface, you must
91878	// specify any security groups and subnets as part of the network interface.
91879	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest `locationName:"NetworkInterface" locationNameList:"InstanceNetworkInterfaceSpecification" type:"list"`
91880
91881	// The placement for the instance.
91882	Placement *LaunchTemplatePlacementRequest `type:"structure"`
91883
91884	// The ID of the RAM disk.
91885	//
91886	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
91887	// information, see User Provided Kernels (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
91888	// in the Amazon Elastic Compute Cloud User Guide.
91889	RamDiskId *string `type:"string"`
91890
91891	// One or more security group IDs. You can create a security group using CreateSecurityGroup
91892	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
91893	// You cannot specify both a security group ID and security name in the same
91894	// request.
91895	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
91896
91897	// [EC2-Classic, default VPC] One or more security group names. For a nondefault
91898	// VPC, you must use security group IDs instead. You cannot specify both a security
91899	// group ID and security name in the same request.
91900	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
91901
91902	// The tags to apply to the resources during launch. You can only tag instances
91903	// and volumes on launch. The specified tags are applied to all instances or
91904	// volumes that are created during launch. To tag a resource after it has been
91905	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
91906	TagSpecifications []*LaunchTemplateTagSpecificationRequest `locationName:"TagSpecification" locationNameList:"LaunchTemplateTagSpecificationRequest" type:"list"`
91907
91908	// The Base64-encoded user data to make available to the instance. For more
91909	// information, see Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
91910	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
91911	// (Windows).
91912	UserData *string `type:"string"`
91913}
91914
91915// String returns the string representation
91916func (s RequestLaunchTemplateData) String() string {
91917	return awsutil.Prettify(s)
91918}
91919
91920// GoString returns the string representation
91921func (s RequestLaunchTemplateData) GoString() string {
91922	return s.String()
91923}
91924
91925// Validate inspects the fields of the type to determine if they are valid.
91926func (s *RequestLaunchTemplateData) Validate() error {
91927	invalidParams := request.ErrInvalidParams{Context: "RequestLaunchTemplateData"}
91928	if s.CreditSpecification != nil {
91929		if err := s.CreditSpecification.Validate(); err != nil {
91930			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
91931		}
91932	}
91933	if s.ElasticGpuSpecifications != nil {
91934		for i, v := range s.ElasticGpuSpecifications {
91935			if v == nil {
91936				continue
91937			}
91938			if err := v.Validate(); err != nil {
91939				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecifications", i), err.(request.ErrInvalidParams))
91940			}
91941		}
91942	}
91943	if s.ElasticInferenceAccelerators != nil {
91944		for i, v := range s.ElasticInferenceAccelerators {
91945			if v == nil {
91946				continue
91947			}
91948			if err := v.Validate(); err != nil {
91949				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
91950			}
91951		}
91952	}
91953
91954	if invalidParams.Len() > 0 {
91955		return invalidParams
91956	}
91957	return nil
91958}
91959
91960// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
91961func (s *RequestLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMappingRequest) *RequestLaunchTemplateData {
91962	s.BlockDeviceMappings = v
91963	return s
91964}
91965
91966// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
91967func (s *RequestLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationRequest) *RequestLaunchTemplateData {
91968	s.CapacityReservationSpecification = v
91969	return s
91970}
91971
91972// SetCpuOptions sets the CpuOptions field's value.
91973func (s *RequestLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptionsRequest) *RequestLaunchTemplateData {
91974	s.CpuOptions = v
91975	return s
91976}
91977
91978// SetCreditSpecification sets the CreditSpecification field's value.
91979func (s *RequestLaunchTemplateData) SetCreditSpecification(v *CreditSpecificationRequest) *RequestLaunchTemplateData {
91980	s.CreditSpecification = v
91981	return s
91982}
91983
91984// SetDisableApiTermination sets the DisableApiTermination field's value.
91985func (s *RequestLaunchTemplateData) SetDisableApiTermination(v bool) *RequestLaunchTemplateData {
91986	s.DisableApiTermination = &v
91987	return s
91988}
91989
91990// SetEbsOptimized sets the EbsOptimized field's value.
91991func (s *RequestLaunchTemplateData) SetEbsOptimized(v bool) *RequestLaunchTemplateData {
91992	s.EbsOptimized = &v
91993	return s
91994}
91995
91996// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
91997func (s *RequestLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecification) *RequestLaunchTemplateData {
91998	s.ElasticGpuSpecifications = v
91999	return s
92000}
92001
92002// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
92003func (s *RequestLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAccelerator) *RequestLaunchTemplateData {
92004	s.ElasticInferenceAccelerators = v
92005	return s
92006}
92007
92008// SetHibernationOptions sets the HibernationOptions field's value.
92009func (s *RequestLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptionsRequest) *RequestLaunchTemplateData {
92010	s.HibernationOptions = v
92011	return s
92012}
92013
92014// SetIamInstanceProfile sets the IamInstanceProfile field's value.
92015func (s *RequestLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecificationRequest) *RequestLaunchTemplateData {
92016	s.IamInstanceProfile = v
92017	return s
92018}
92019
92020// SetImageId sets the ImageId field's value.
92021func (s *RequestLaunchTemplateData) SetImageId(v string) *RequestLaunchTemplateData {
92022	s.ImageId = &v
92023	return s
92024}
92025
92026// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
92027func (s *RequestLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *RequestLaunchTemplateData {
92028	s.InstanceInitiatedShutdownBehavior = &v
92029	return s
92030}
92031
92032// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
92033func (s *RequestLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptionsRequest) *RequestLaunchTemplateData {
92034	s.InstanceMarketOptions = v
92035	return s
92036}
92037
92038// SetInstanceType sets the InstanceType field's value.
92039func (s *RequestLaunchTemplateData) SetInstanceType(v string) *RequestLaunchTemplateData {
92040	s.InstanceType = &v
92041	return s
92042}
92043
92044// SetKernelId sets the KernelId field's value.
92045func (s *RequestLaunchTemplateData) SetKernelId(v string) *RequestLaunchTemplateData {
92046	s.KernelId = &v
92047	return s
92048}
92049
92050// SetKeyName sets the KeyName field's value.
92051func (s *RequestLaunchTemplateData) SetKeyName(v string) *RequestLaunchTemplateData {
92052	s.KeyName = &v
92053	return s
92054}
92055
92056// SetLicenseSpecifications sets the LicenseSpecifications field's value.
92057func (s *RequestLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfigurationRequest) *RequestLaunchTemplateData {
92058	s.LicenseSpecifications = v
92059	return s
92060}
92061
92062// SetMonitoring sets the Monitoring field's value.
92063func (s *RequestLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoringRequest) *RequestLaunchTemplateData {
92064	s.Monitoring = v
92065	return s
92066}
92067
92068// SetNetworkInterfaces sets the NetworkInterfaces field's value.
92069func (s *RequestLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecificationRequest) *RequestLaunchTemplateData {
92070	s.NetworkInterfaces = v
92071	return s
92072}
92073
92074// SetPlacement sets the Placement field's value.
92075func (s *RequestLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacementRequest) *RequestLaunchTemplateData {
92076	s.Placement = v
92077	return s
92078}
92079
92080// SetRamDiskId sets the RamDiskId field's value.
92081func (s *RequestLaunchTemplateData) SetRamDiskId(v string) *RequestLaunchTemplateData {
92082	s.RamDiskId = &v
92083	return s
92084}
92085
92086// SetSecurityGroupIds sets the SecurityGroupIds field's value.
92087func (s *RequestLaunchTemplateData) SetSecurityGroupIds(v []*string) *RequestLaunchTemplateData {
92088	s.SecurityGroupIds = v
92089	return s
92090}
92091
92092// SetSecurityGroups sets the SecurityGroups field's value.
92093func (s *RequestLaunchTemplateData) SetSecurityGroups(v []*string) *RequestLaunchTemplateData {
92094	s.SecurityGroups = v
92095	return s
92096}
92097
92098// SetTagSpecifications sets the TagSpecifications field's value.
92099func (s *RequestLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecificationRequest) *RequestLaunchTemplateData {
92100	s.TagSpecifications = v
92101	return s
92102}
92103
92104// SetUserData sets the UserData field's value.
92105func (s *RequestLaunchTemplateData) SetUserData(v string) *RequestLaunchTemplateData {
92106	s.UserData = &v
92107	return s
92108}
92109
92110// Contains the parameters for RequestSpotFleet.
92111type RequestSpotFleetInput struct {
92112	_ struct{} `type:"structure"`
92113
92114	// Checks whether you have the required permissions for the action, without
92115	// actually making the request, and provides an error response. If you have
92116	// the required permissions, the error response is DryRunOperation. Otherwise,
92117	// it is UnauthorizedOperation.
92118	DryRun *bool `locationName:"dryRun" type:"boolean"`
92119
92120	// The configuration for the Spot Fleet request.
92121	//
92122	// SpotFleetRequestConfig is a required field
92123	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure" required:"true"`
92124}
92125
92126// String returns the string representation
92127func (s RequestSpotFleetInput) String() string {
92128	return awsutil.Prettify(s)
92129}
92130
92131// GoString returns the string representation
92132func (s RequestSpotFleetInput) GoString() string {
92133	return s.String()
92134}
92135
92136// Validate inspects the fields of the type to determine if they are valid.
92137func (s *RequestSpotFleetInput) Validate() error {
92138	invalidParams := request.ErrInvalidParams{Context: "RequestSpotFleetInput"}
92139	if s.SpotFleetRequestConfig == nil {
92140		invalidParams.Add(request.NewErrParamRequired("SpotFleetRequestConfig"))
92141	}
92142	if s.SpotFleetRequestConfig != nil {
92143		if err := s.SpotFleetRequestConfig.Validate(); err != nil {
92144			invalidParams.AddNested("SpotFleetRequestConfig", err.(request.ErrInvalidParams))
92145		}
92146	}
92147
92148	if invalidParams.Len() > 0 {
92149		return invalidParams
92150	}
92151	return nil
92152}
92153
92154// SetDryRun sets the DryRun field's value.
92155func (s *RequestSpotFleetInput) SetDryRun(v bool) *RequestSpotFleetInput {
92156	s.DryRun = &v
92157	return s
92158}
92159
92160// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
92161func (s *RequestSpotFleetInput) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *RequestSpotFleetInput {
92162	s.SpotFleetRequestConfig = v
92163	return s
92164}
92165
92166// Contains the output of RequestSpotFleet.
92167type RequestSpotFleetOutput struct {
92168	_ struct{} `type:"structure"`
92169
92170	// The ID of the Spot Fleet request.
92171	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
92172}
92173
92174// String returns the string representation
92175func (s RequestSpotFleetOutput) String() string {
92176	return awsutil.Prettify(s)
92177}
92178
92179// GoString returns the string representation
92180func (s RequestSpotFleetOutput) GoString() string {
92181	return s.String()
92182}
92183
92184// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
92185func (s *RequestSpotFleetOutput) SetSpotFleetRequestId(v string) *RequestSpotFleetOutput {
92186	s.SpotFleetRequestId = &v
92187	return s
92188}
92189
92190// Contains the parameters for RequestSpotInstances.
92191type RequestSpotInstancesInput struct {
92192	_ struct{} `type:"structure"`
92193
92194	// The user-specified name for a logical grouping of requests.
92195	//
92196	// When you specify an Availability Zone group in a Spot Instance request, all
92197	// Spot Instances in the request are launched in the same Availability Zone.
92198	// Instance proximity is maintained with this parameter, but the choice of Availability
92199	// Zone is not. The group applies only to requests for Spot Instances of the
92200	// same instance type. Any additional Spot Instance requests that are specified
92201	// with the same Availability Zone group name are launched in that same Availability
92202	// Zone, as long as at least one instance from the group is still active.
92203	//
92204	// If there is no active instance running in the Availability Zone group that
92205	// you specify for a new Spot Instance request (all instances are terminated,
92206	// the request is expired, or the maximum price you specified falls below current
92207	// Spot price), then Amazon EC2 launches the instance in any Availability Zone
92208	// where the constraint can be met. Consequently, the subsequent set of Spot
92209	// Instances could be placed in a different zone from the original request,
92210	// even if you specified the same Availability Zone group.
92211	//
92212	// Default: Instances are launched in any available Availability Zone.
92213	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
92214
92215	// The required duration for the Spot Instances (also known as Spot blocks),
92216	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
92217	// or 360).
92218	//
92219	// The duration period starts as soon as your Spot Instance receives its instance
92220	// ID. At the end of the duration period, Amazon EC2 marks the Spot Instance
92221	// for termination and provides a Spot Instance termination notice, which gives
92222	// the instance a two-minute warning before it terminates.
92223	//
92224	// You can't specify an Availability Zone group or a launch group if you specify
92225	// a duration.
92226	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
92227
92228	// Unique, case-sensitive identifier that you provide to ensure the idempotency
92229	// of the request. For more information, see How to Ensure Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Run_Instance_Idempotency.html)
92230	// in the Amazon EC2 User Guide for Linux Instances.
92231	ClientToken *string `locationName:"clientToken" type:"string"`
92232
92233	// Checks whether you have the required permissions for the action, without
92234	// actually making the request, and provides an error response. If you have
92235	// the required permissions, the error response is DryRunOperation. Otherwise,
92236	// it is UnauthorizedOperation.
92237	DryRun *bool `locationName:"dryRun" type:"boolean"`
92238
92239	// The maximum number of Spot Instances to launch.
92240	//
92241	// Default: 1
92242	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
92243
92244	// The behavior when a Spot Instance is interrupted. The default is terminate.
92245	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
92246
92247	// The instance launch group. Launch groups are Spot Instances that launch together
92248	// and terminate together.
92249	//
92250	// Default: Instances are launched and terminated individually
92251	LaunchGroup *string `locationName:"launchGroup" type:"string"`
92252
92253	// The launch specification.
92254	LaunchSpecification *RequestSpotLaunchSpecification `type:"structure"`
92255
92256	// The maximum price per hour that you are willing to pay for a Spot Instance.
92257	// The default is the On-Demand price.
92258	SpotPrice *string `locationName:"spotPrice" type:"string"`
92259
92260	// The Spot Instance request type.
92261	//
92262	// Default: one-time
92263	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
92264
92265	// The start date of the request. If this is a one-time request, the request
92266	// becomes active at this date and time and remains active until all instances
92267	// launch, the request expires, or the request is canceled. If the request is
92268	// persistent, the request becomes active at this date and time and remains
92269	// active until it expires or is canceled.
92270	//
92271	// The specified start date and time cannot be equal to the current date and
92272	// time. You must specify a start date and time that occurs after the current
92273	// date and time.
92274	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
92275
92276	// The end date of the request. If this is a one-time request, the request remains
92277	// active until all instances launch, the request is canceled, or this date
92278	// is reached. If the request is persistent, it remains active until it is canceled
92279	// or this date is reached. The default end date is 7 days from the current
92280	// date.
92281	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
92282}
92283
92284// String returns the string representation
92285func (s RequestSpotInstancesInput) String() string {
92286	return awsutil.Prettify(s)
92287}
92288
92289// GoString returns the string representation
92290func (s RequestSpotInstancesInput) GoString() string {
92291	return s.String()
92292}
92293
92294// Validate inspects the fields of the type to determine if they are valid.
92295func (s *RequestSpotInstancesInput) Validate() error {
92296	invalidParams := request.ErrInvalidParams{Context: "RequestSpotInstancesInput"}
92297	if s.LaunchSpecification != nil {
92298		if err := s.LaunchSpecification.Validate(); err != nil {
92299			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
92300		}
92301	}
92302
92303	if invalidParams.Len() > 0 {
92304		return invalidParams
92305	}
92306	return nil
92307}
92308
92309// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
92310func (s *RequestSpotInstancesInput) SetAvailabilityZoneGroup(v string) *RequestSpotInstancesInput {
92311	s.AvailabilityZoneGroup = &v
92312	return s
92313}
92314
92315// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
92316func (s *RequestSpotInstancesInput) SetBlockDurationMinutes(v int64) *RequestSpotInstancesInput {
92317	s.BlockDurationMinutes = &v
92318	return s
92319}
92320
92321// SetClientToken sets the ClientToken field's value.
92322func (s *RequestSpotInstancesInput) SetClientToken(v string) *RequestSpotInstancesInput {
92323	s.ClientToken = &v
92324	return s
92325}
92326
92327// SetDryRun sets the DryRun field's value.
92328func (s *RequestSpotInstancesInput) SetDryRun(v bool) *RequestSpotInstancesInput {
92329	s.DryRun = &v
92330	return s
92331}
92332
92333// SetInstanceCount sets the InstanceCount field's value.
92334func (s *RequestSpotInstancesInput) SetInstanceCount(v int64) *RequestSpotInstancesInput {
92335	s.InstanceCount = &v
92336	return s
92337}
92338
92339// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
92340func (s *RequestSpotInstancesInput) SetInstanceInterruptionBehavior(v string) *RequestSpotInstancesInput {
92341	s.InstanceInterruptionBehavior = &v
92342	return s
92343}
92344
92345// SetLaunchGroup sets the LaunchGroup field's value.
92346func (s *RequestSpotInstancesInput) SetLaunchGroup(v string) *RequestSpotInstancesInput {
92347	s.LaunchGroup = &v
92348	return s
92349}
92350
92351// SetLaunchSpecification sets the LaunchSpecification field's value.
92352func (s *RequestSpotInstancesInput) SetLaunchSpecification(v *RequestSpotLaunchSpecification) *RequestSpotInstancesInput {
92353	s.LaunchSpecification = v
92354	return s
92355}
92356
92357// SetSpotPrice sets the SpotPrice field's value.
92358func (s *RequestSpotInstancesInput) SetSpotPrice(v string) *RequestSpotInstancesInput {
92359	s.SpotPrice = &v
92360	return s
92361}
92362
92363// SetType sets the Type field's value.
92364func (s *RequestSpotInstancesInput) SetType(v string) *RequestSpotInstancesInput {
92365	s.Type = &v
92366	return s
92367}
92368
92369// SetValidFrom sets the ValidFrom field's value.
92370func (s *RequestSpotInstancesInput) SetValidFrom(v time.Time) *RequestSpotInstancesInput {
92371	s.ValidFrom = &v
92372	return s
92373}
92374
92375// SetValidUntil sets the ValidUntil field's value.
92376func (s *RequestSpotInstancesInput) SetValidUntil(v time.Time) *RequestSpotInstancesInput {
92377	s.ValidUntil = &v
92378	return s
92379}
92380
92381// Contains the output of RequestSpotInstances.
92382type RequestSpotInstancesOutput struct {
92383	_ struct{} `type:"structure"`
92384
92385	// One or more Spot Instance requests.
92386	SpotInstanceRequests []*SpotInstanceRequest `locationName:"spotInstanceRequestSet" locationNameList:"item" type:"list"`
92387}
92388
92389// String returns the string representation
92390func (s RequestSpotInstancesOutput) String() string {
92391	return awsutil.Prettify(s)
92392}
92393
92394// GoString returns the string representation
92395func (s RequestSpotInstancesOutput) GoString() string {
92396	return s.String()
92397}
92398
92399// SetSpotInstanceRequests sets the SpotInstanceRequests field's value.
92400func (s *RequestSpotInstancesOutput) SetSpotInstanceRequests(v []*SpotInstanceRequest) *RequestSpotInstancesOutput {
92401	s.SpotInstanceRequests = v
92402	return s
92403}
92404
92405// Describes the launch specification for an instance.
92406type RequestSpotLaunchSpecification struct {
92407	_ struct{} `type:"structure"`
92408
92409	// Deprecated.
92410	AddressingType *string `locationName:"addressingType" type:"string"`
92411
92412	// One or more block device mapping entries. You can't specify both a snapshot
92413	// ID and an encryption value. This is because only blank volumes can be encrypted
92414	// on creation. If a snapshot is the basis for a volume, it is not blank and
92415	// its encryption status is used for the volume encryption status.
92416	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
92417
92418	// Indicates whether the instance is optimized for EBS I/O. This optimization
92419	// provides dedicated throughput to Amazon EBS and an optimized configuration
92420	// stack to provide optimal EBS I/O performance. This optimization isn't available
92421	// with all instance types. Additional usage charges apply when using an EBS
92422	// Optimized instance.
92423	//
92424	// Default: false
92425	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
92426
92427	// The IAM instance profile.
92428	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
92429
92430	// The ID of the AMI.
92431	ImageId *string `locationName:"imageId" type:"string"`
92432
92433	// The instance type.
92434	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
92435
92436	// The ID of the kernel.
92437	KernelId *string `locationName:"kernelId" type:"string"`
92438
92439	// The name of the key pair.
92440	KeyName *string `locationName:"keyName" type:"string"`
92441
92442	// Indicates whether basic or detailed monitoring is enabled for the instance.
92443	//
92444	// Default: Disabled
92445	Monitoring *RunInstancesMonitoringEnabled `locationName:"monitoring" type:"structure"`
92446
92447	// One or more network interfaces. If you specify a network interface, you must
92448	// specify subnet IDs and security group IDs using the network interface.
92449	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"NetworkInterface" locationNameList:"item" type:"list"`
92450
92451	// The placement information for the instance.
92452	Placement *SpotPlacement `locationName:"placement" type:"structure"`
92453
92454	// The ID of the RAM disk.
92455	RamdiskId *string `locationName:"ramdiskId" type:"string"`
92456
92457	// One or more security group IDs.
92458	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"item" type:"list"`
92459
92460	// One or more security groups. When requesting instances in a VPC, you must
92461	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
92462	// you can specify the names or the IDs of the security groups.
92463	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"item" type:"list"`
92464
92465	// The IDs of the subnets in which to launch the instance. To specify multiple
92466	// subnets, separate them using commas; for example, "subnet-1234abcdeexample1,
92467	// subnet-0987cdef6example2".
92468	SubnetId *string `locationName:"subnetId" type:"string"`
92469
92470	// The Base64-encoded user data for the instance. User data is limited to 16
92471	// KB.
92472	UserData *string `locationName:"userData" type:"string"`
92473}
92474
92475// String returns the string representation
92476func (s RequestSpotLaunchSpecification) String() string {
92477	return awsutil.Prettify(s)
92478}
92479
92480// GoString returns the string representation
92481func (s RequestSpotLaunchSpecification) GoString() string {
92482	return s.String()
92483}
92484
92485// Validate inspects the fields of the type to determine if they are valid.
92486func (s *RequestSpotLaunchSpecification) Validate() error {
92487	invalidParams := request.ErrInvalidParams{Context: "RequestSpotLaunchSpecification"}
92488	if s.Monitoring != nil {
92489		if err := s.Monitoring.Validate(); err != nil {
92490			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
92491		}
92492	}
92493
92494	if invalidParams.Len() > 0 {
92495		return invalidParams
92496	}
92497	return nil
92498}
92499
92500// SetAddressingType sets the AddressingType field's value.
92501func (s *RequestSpotLaunchSpecification) SetAddressingType(v string) *RequestSpotLaunchSpecification {
92502	s.AddressingType = &v
92503	return s
92504}
92505
92506// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
92507func (s *RequestSpotLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RequestSpotLaunchSpecification {
92508	s.BlockDeviceMappings = v
92509	return s
92510}
92511
92512// SetEbsOptimized sets the EbsOptimized field's value.
92513func (s *RequestSpotLaunchSpecification) SetEbsOptimized(v bool) *RequestSpotLaunchSpecification {
92514	s.EbsOptimized = &v
92515	return s
92516}
92517
92518// SetIamInstanceProfile sets the IamInstanceProfile field's value.
92519func (s *RequestSpotLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RequestSpotLaunchSpecification {
92520	s.IamInstanceProfile = v
92521	return s
92522}
92523
92524// SetImageId sets the ImageId field's value.
92525func (s *RequestSpotLaunchSpecification) SetImageId(v string) *RequestSpotLaunchSpecification {
92526	s.ImageId = &v
92527	return s
92528}
92529
92530// SetInstanceType sets the InstanceType field's value.
92531func (s *RequestSpotLaunchSpecification) SetInstanceType(v string) *RequestSpotLaunchSpecification {
92532	s.InstanceType = &v
92533	return s
92534}
92535
92536// SetKernelId sets the KernelId field's value.
92537func (s *RequestSpotLaunchSpecification) SetKernelId(v string) *RequestSpotLaunchSpecification {
92538	s.KernelId = &v
92539	return s
92540}
92541
92542// SetKeyName sets the KeyName field's value.
92543func (s *RequestSpotLaunchSpecification) SetKeyName(v string) *RequestSpotLaunchSpecification {
92544	s.KeyName = &v
92545	return s
92546}
92547
92548// SetMonitoring sets the Monitoring field's value.
92549func (s *RequestSpotLaunchSpecification) SetMonitoring(v *RunInstancesMonitoringEnabled) *RequestSpotLaunchSpecification {
92550	s.Monitoring = v
92551	return s
92552}
92553
92554// SetNetworkInterfaces sets the NetworkInterfaces field's value.
92555func (s *RequestSpotLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RequestSpotLaunchSpecification {
92556	s.NetworkInterfaces = v
92557	return s
92558}
92559
92560// SetPlacement sets the Placement field's value.
92561func (s *RequestSpotLaunchSpecification) SetPlacement(v *SpotPlacement) *RequestSpotLaunchSpecification {
92562	s.Placement = v
92563	return s
92564}
92565
92566// SetRamdiskId sets the RamdiskId field's value.
92567func (s *RequestSpotLaunchSpecification) SetRamdiskId(v string) *RequestSpotLaunchSpecification {
92568	s.RamdiskId = &v
92569	return s
92570}
92571
92572// SetSecurityGroupIds sets the SecurityGroupIds field's value.
92573func (s *RequestSpotLaunchSpecification) SetSecurityGroupIds(v []*string) *RequestSpotLaunchSpecification {
92574	s.SecurityGroupIds = v
92575	return s
92576}
92577
92578// SetSecurityGroups sets the SecurityGroups field's value.
92579func (s *RequestSpotLaunchSpecification) SetSecurityGroups(v []*string) *RequestSpotLaunchSpecification {
92580	s.SecurityGroups = v
92581	return s
92582}
92583
92584// SetSubnetId sets the SubnetId field's value.
92585func (s *RequestSpotLaunchSpecification) SetSubnetId(v string) *RequestSpotLaunchSpecification {
92586	s.SubnetId = &v
92587	return s
92588}
92589
92590// SetUserData sets the UserData field's value.
92591func (s *RequestSpotLaunchSpecification) SetUserData(v string) *RequestSpotLaunchSpecification {
92592	s.UserData = &v
92593	return s
92594}
92595
92596// Describes a reservation.
92597type Reservation struct {
92598	_ struct{} `type:"structure"`
92599
92600	// [EC2-Classic only] The security groups.
92601	Groups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
92602
92603	// The instances.
92604	Instances []*Instance `locationName:"instancesSet" locationNameList:"item" type:"list"`
92605
92606	// The ID of the AWS account that owns the reservation.
92607	OwnerId *string `locationName:"ownerId" type:"string"`
92608
92609	// The ID of the requester that launched the instances on your behalf (for example,
92610	// AWS Management Console or Auto Scaling).
92611	RequesterId *string `locationName:"requesterId" type:"string"`
92612
92613	// The ID of the reservation.
92614	ReservationId *string `locationName:"reservationId" type:"string"`
92615}
92616
92617// String returns the string representation
92618func (s Reservation) String() string {
92619	return awsutil.Prettify(s)
92620}
92621
92622// GoString returns the string representation
92623func (s Reservation) GoString() string {
92624	return s.String()
92625}
92626
92627// SetGroups sets the Groups field's value.
92628func (s *Reservation) SetGroups(v []*GroupIdentifier) *Reservation {
92629	s.Groups = v
92630	return s
92631}
92632
92633// SetInstances sets the Instances field's value.
92634func (s *Reservation) SetInstances(v []*Instance) *Reservation {
92635	s.Instances = v
92636	return s
92637}
92638
92639// SetOwnerId sets the OwnerId field's value.
92640func (s *Reservation) SetOwnerId(v string) *Reservation {
92641	s.OwnerId = &v
92642	return s
92643}
92644
92645// SetRequesterId sets the RequesterId field's value.
92646func (s *Reservation) SetRequesterId(v string) *Reservation {
92647	s.RequesterId = &v
92648	return s
92649}
92650
92651// SetReservationId sets the ReservationId field's value.
92652func (s *Reservation) SetReservationId(v string) *Reservation {
92653	s.ReservationId = &v
92654	return s
92655}
92656
92657// The cost associated with the Reserved Instance.
92658type ReservationValue struct {
92659	_ struct{} `type:"structure"`
92660
92661	// The hourly rate of the reservation.
92662	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
92663
92664	// The balance of the total value (the sum of remainingUpfrontValue + hourlyPrice
92665	// * number of hours remaining).
92666	RemainingTotalValue *string `locationName:"remainingTotalValue" type:"string"`
92667
92668	// The remaining upfront cost of the reservation.
92669	RemainingUpfrontValue *string `locationName:"remainingUpfrontValue" type:"string"`
92670}
92671
92672// String returns the string representation
92673func (s ReservationValue) String() string {
92674	return awsutil.Prettify(s)
92675}
92676
92677// GoString returns the string representation
92678func (s ReservationValue) GoString() string {
92679	return s.String()
92680}
92681
92682// SetHourlyPrice sets the HourlyPrice field's value.
92683func (s *ReservationValue) SetHourlyPrice(v string) *ReservationValue {
92684	s.HourlyPrice = &v
92685	return s
92686}
92687
92688// SetRemainingTotalValue sets the RemainingTotalValue field's value.
92689func (s *ReservationValue) SetRemainingTotalValue(v string) *ReservationValue {
92690	s.RemainingTotalValue = &v
92691	return s
92692}
92693
92694// SetRemainingUpfrontValue sets the RemainingUpfrontValue field's value.
92695func (s *ReservationValue) SetRemainingUpfrontValue(v string) *ReservationValue {
92696	s.RemainingUpfrontValue = &v
92697	return s
92698}
92699
92700// Describes the limit price of a Reserved Instance offering.
92701type ReservedInstanceLimitPrice struct {
92702	_ struct{} `type:"structure"`
92703
92704	// Used for Reserved Instance Marketplace offerings. Specifies the limit price
92705	// on the total order (instanceCount * price).
92706	Amount *float64 `locationName:"amount" type:"double"`
92707
92708	// The currency in which the limitPrice amount is specified. At this time, the
92709	// only supported currency is USD.
92710	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
92711}
92712
92713// String returns the string representation
92714func (s ReservedInstanceLimitPrice) String() string {
92715	return awsutil.Prettify(s)
92716}
92717
92718// GoString returns the string representation
92719func (s ReservedInstanceLimitPrice) GoString() string {
92720	return s.String()
92721}
92722
92723// SetAmount sets the Amount field's value.
92724func (s *ReservedInstanceLimitPrice) SetAmount(v float64) *ReservedInstanceLimitPrice {
92725	s.Amount = &v
92726	return s
92727}
92728
92729// SetCurrencyCode sets the CurrencyCode field's value.
92730func (s *ReservedInstanceLimitPrice) SetCurrencyCode(v string) *ReservedInstanceLimitPrice {
92731	s.CurrencyCode = &v
92732	return s
92733}
92734
92735// The total value of the Convertible Reserved Instance.
92736type ReservedInstanceReservationValue struct {
92737	_ struct{} `type:"structure"`
92738
92739	// The total value of the Convertible Reserved Instance that you are exchanging.
92740	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
92741
92742	// The ID of the Convertible Reserved Instance that you are exchanging.
92743	ReservedInstanceId *string `locationName:"reservedInstanceId" type:"string"`
92744}
92745
92746// String returns the string representation
92747func (s ReservedInstanceReservationValue) String() string {
92748	return awsutil.Prettify(s)
92749}
92750
92751// GoString returns the string representation
92752func (s ReservedInstanceReservationValue) GoString() string {
92753	return s.String()
92754}
92755
92756// SetReservationValue sets the ReservationValue field's value.
92757func (s *ReservedInstanceReservationValue) SetReservationValue(v *ReservationValue) *ReservedInstanceReservationValue {
92758	s.ReservationValue = v
92759	return s
92760}
92761
92762// SetReservedInstanceId sets the ReservedInstanceId field's value.
92763func (s *ReservedInstanceReservationValue) SetReservedInstanceId(v string) *ReservedInstanceReservationValue {
92764	s.ReservedInstanceId = &v
92765	return s
92766}
92767
92768// Describes a Reserved Instance.
92769type ReservedInstances struct {
92770	_ struct{} `type:"structure"`
92771
92772	// The Availability Zone in which the Reserved Instance can be used.
92773	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
92774
92775	// The currency of the Reserved Instance. It's specified using ISO 4217 standard
92776	// currency codes. At this time, the only supported currency is USD.
92777	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
92778
92779	// The duration of the Reserved Instance, in seconds.
92780	Duration *int64 `locationName:"duration" type:"long"`
92781
92782	// The time when the Reserved Instance expires.
92783	End *time.Time `locationName:"end" type:"timestamp"`
92784
92785	// The purchase price of the Reserved Instance.
92786	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
92787
92788	// The number of reservations purchased.
92789	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
92790
92791	// The tenancy of the instance.
92792	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
92793
92794	// The instance type on which the Reserved Instance can be used.
92795	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
92796
92797	// The offering class of the Reserved Instance.
92798	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
92799
92800	// The Reserved Instance offering type.
92801	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
92802
92803	// The Reserved Instance product platform description.
92804	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
92805
92806	// The recurring charge tag assigned to the resource.
92807	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
92808
92809	// The ID of the Reserved Instance.
92810	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
92811
92812	// The scope of the Reserved Instance.
92813	Scope *string `locationName:"scope" type:"string" enum:"scope"`
92814
92815	// The date and time the Reserved Instance started.
92816	Start *time.Time `locationName:"start" type:"timestamp"`
92817
92818	// The state of the Reserved Instance purchase.
92819	State *string `locationName:"state" type:"string" enum:"ReservedInstanceState"`
92820
92821	// Any tags assigned to the resource.
92822	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
92823
92824	// The usage price of the Reserved Instance, per hour.
92825	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
92826}
92827
92828// String returns the string representation
92829func (s ReservedInstances) String() string {
92830	return awsutil.Prettify(s)
92831}
92832
92833// GoString returns the string representation
92834func (s ReservedInstances) GoString() string {
92835	return s.String()
92836}
92837
92838// SetAvailabilityZone sets the AvailabilityZone field's value.
92839func (s *ReservedInstances) SetAvailabilityZone(v string) *ReservedInstances {
92840	s.AvailabilityZone = &v
92841	return s
92842}
92843
92844// SetCurrencyCode sets the CurrencyCode field's value.
92845func (s *ReservedInstances) SetCurrencyCode(v string) *ReservedInstances {
92846	s.CurrencyCode = &v
92847	return s
92848}
92849
92850// SetDuration sets the Duration field's value.
92851func (s *ReservedInstances) SetDuration(v int64) *ReservedInstances {
92852	s.Duration = &v
92853	return s
92854}
92855
92856// SetEnd sets the End field's value.
92857func (s *ReservedInstances) SetEnd(v time.Time) *ReservedInstances {
92858	s.End = &v
92859	return s
92860}
92861
92862// SetFixedPrice sets the FixedPrice field's value.
92863func (s *ReservedInstances) SetFixedPrice(v float64) *ReservedInstances {
92864	s.FixedPrice = &v
92865	return s
92866}
92867
92868// SetInstanceCount sets the InstanceCount field's value.
92869func (s *ReservedInstances) SetInstanceCount(v int64) *ReservedInstances {
92870	s.InstanceCount = &v
92871	return s
92872}
92873
92874// SetInstanceTenancy sets the InstanceTenancy field's value.
92875func (s *ReservedInstances) SetInstanceTenancy(v string) *ReservedInstances {
92876	s.InstanceTenancy = &v
92877	return s
92878}
92879
92880// SetInstanceType sets the InstanceType field's value.
92881func (s *ReservedInstances) SetInstanceType(v string) *ReservedInstances {
92882	s.InstanceType = &v
92883	return s
92884}
92885
92886// SetOfferingClass sets the OfferingClass field's value.
92887func (s *ReservedInstances) SetOfferingClass(v string) *ReservedInstances {
92888	s.OfferingClass = &v
92889	return s
92890}
92891
92892// SetOfferingType sets the OfferingType field's value.
92893func (s *ReservedInstances) SetOfferingType(v string) *ReservedInstances {
92894	s.OfferingType = &v
92895	return s
92896}
92897
92898// SetProductDescription sets the ProductDescription field's value.
92899func (s *ReservedInstances) SetProductDescription(v string) *ReservedInstances {
92900	s.ProductDescription = &v
92901	return s
92902}
92903
92904// SetRecurringCharges sets the RecurringCharges field's value.
92905func (s *ReservedInstances) SetRecurringCharges(v []*RecurringCharge) *ReservedInstances {
92906	s.RecurringCharges = v
92907	return s
92908}
92909
92910// SetReservedInstancesId sets the ReservedInstancesId field's value.
92911func (s *ReservedInstances) SetReservedInstancesId(v string) *ReservedInstances {
92912	s.ReservedInstancesId = &v
92913	return s
92914}
92915
92916// SetScope sets the Scope field's value.
92917func (s *ReservedInstances) SetScope(v string) *ReservedInstances {
92918	s.Scope = &v
92919	return s
92920}
92921
92922// SetStart sets the Start field's value.
92923func (s *ReservedInstances) SetStart(v time.Time) *ReservedInstances {
92924	s.Start = &v
92925	return s
92926}
92927
92928// SetState sets the State field's value.
92929func (s *ReservedInstances) SetState(v string) *ReservedInstances {
92930	s.State = &v
92931	return s
92932}
92933
92934// SetTags sets the Tags field's value.
92935func (s *ReservedInstances) SetTags(v []*Tag) *ReservedInstances {
92936	s.Tags = v
92937	return s
92938}
92939
92940// SetUsagePrice sets the UsagePrice field's value.
92941func (s *ReservedInstances) SetUsagePrice(v float64) *ReservedInstances {
92942	s.UsagePrice = &v
92943	return s
92944}
92945
92946// Describes the configuration settings for the modified Reserved Instances.
92947type ReservedInstancesConfiguration struct {
92948	_ struct{} `type:"structure"`
92949
92950	// The Availability Zone for the modified Reserved Instances.
92951	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
92952
92953	// The number of modified Reserved Instances.
92954	//
92955	// This is a required field for a request.
92956	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
92957
92958	// The instance type for the modified Reserved Instances.
92959	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
92960
92961	// The network platform of the modified Reserved Instances, which is either
92962	// EC2-Classic or EC2-VPC.
92963	Platform *string `locationName:"platform" type:"string"`
92964
92965	// Whether the Reserved Instance is applied to instances in a Region or instances
92966	// in a specific Availability Zone.
92967	Scope *string `locationName:"scope" type:"string" enum:"scope"`
92968}
92969
92970// String returns the string representation
92971func (s ReservedInstancesConfiguration) String() string {
92972	return awsutil.Prettify(s)
92973}
92974
92975// GoString returns the string representation
92976func (s ReservedInstancesConfiguration) GoString() string {
92977	return s.String()
92978}
92979
92980// SetAvailabilityZone sets the AvailabilityZone field's value.
92981func (s *ReservedInstancesConfiguration) SetAvailabilityZone(v string) *ReservedInstancesConfiguration {
92982	s.AvailabilityZone = &v
92983	return s
92984}
92985
92986// SetInstanceCount sets the InstanceCount field's value.
92987func (s *ReservedInstancesConfiguration) SetInstanceCount(v int64) *ReservedInstancesConfiguration {
92988	s.InstanceCount = &v
92989	return s
92990}
92991
92992// SetInstanceType sets the InstanceType field's value.
92993func (s *ReservedInstancesConfiguration) SetInstanceType(v string) *ReservedInstancesConfiguration {
92994	s.InstanceType = &v
92995	return s
92996}
92997
92998// SetPlatform sets the Platform field's value.
92999func (s *ReservedInstancesConfiguration) SetPlatform(v string) *ReservedInstancesConfiguration {
93000	s.Platform = &v
93001	return s
93002}
93003
93004// SetScope sets the Scope field's value.
93005func (s *ReservedInstancesConfiguration) SetScope(v string) *ReservedInstancesConfiguration {
93006	s.Scope = &v
93007	return s
93008}
93009
93010// Describes the ID of a Reserved Instance.
93011type ReservedInstancesId struct {
93012	_ struct{} `type:"structure"`
93013
93014	// The ID of the Reserved Instance.
93015	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
93016}
93017
93018// String returns the string representation
93019func (s ReservedInstancesId) String() string {
93020	return awsutil.Prettify(s)
93021}
93022
93023// GoString returns the string representation
93024func (s ReservedInstancesId) GoString() string {
93025	return s.String()
93026}
93027
93028// SetReservedInstancesId sets the ReservedInstancesId field's value.
93029func (s *ReservedInstancesId) SetReservedInstancesId(v string) *ReservedInstancesId {
93030	s.ReservedInstancesId = &v
93031	return s
93032}
93033
93034// Describes a Reserved Instance listing.
93035type ReservedInstancesListing struct {
93036	_ struct{} `type:"structure"`
93037
93038	// A unique, case-sensitive key supplied by the client to ensure that the request
93039	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
93040	ClientToken *string `locationName:"clientToken" type:"string"`
93041
93042	// The time the listing was created.
93043	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
93044
93045	// The number of instances in this state.
93046	InstanceCounts []*InstanceCount `locationName:"instanceCounts" locationNameList:"item" type:"list"`
93047
93048	// The price of the Reserved Instance listing.
93049	PriceSchedules []*PriceSchedule `locationName:"priceSchedules" locationNameList:"item" type:"list"`
93050
93051	// The ID of the Reserved Instance.
93052	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
93053
93054	// The ID of the Reserved Instance listing.
93055	ReservedInstancesListingId *string `locationName:"reservedInstancesListingId" type:"string"`
93056
93057	// The status of the Reserved Instance listing.
93058	Status *string `locationName:"status" type:"string" enum:"ListingStatus"`
93059
93060	// The reason for the current status of the Reserved Instance listing. The response
93061	// can be blank.
93062	StatusMessage *string `locationName:"statusMessage" type:"string"`
93063
93064	// Any tags assigned to the resource.
93065	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
93066
93067	// The last modified timestamp of the listing.
93068	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
93069}
93070
93071// String returns the string representation
93072func (s ReservedInstancesListing) String() string {
93073	return awsutil.Prettify(s)
93074}
93075
93076// GoString returns the string representation
93077func (s ReservedInstancesListing) GoString() string {
93078	return s.String()
93079}
93080
93081// SetClientToken sets the ClientToken field's value.
93082func (s *ReservedInstancesListing) SetClientToken(v string) *ReservedInstancesListing {
93083	s.ClientToken = &v
93084	return s
93085}
93086
93087// SetCreateDate sets the CreateDate field's value.
93088func (s *ReservedInstancesListing) SetCreateDate(v time.Time) *ReservedInstancesListing {
93089	s.CreateDate = &v
93090	return s
93091}
93092
93093// SetInstanceCounts sets the InstanceCounts field's value.
93094func (s *ReservedInstancesListing) SetInstanceCounts(v []*InstanceCount) *ReservedInstancesListing {
93095	s.InstanceCounts = v
93096	return s
93097}
93098
93099// SetPriceSchedules sets the PriceSchedules field's value.
93100func (s *ReservedInstancesListing) SetPriceSchedules(v []*PriceSchedule) *ReservedInstancesListing {
93101	s.PriceSchedules = v
93102	return s
93103}
93104
93105// SetReservedInstancesId sets the ReservedInstancesId field's value.
93106func (s *ReservedInstancesListing) SetReservedInstancesId(v string) *ReservedInstancesListing {
93107	s.ReservedInstancesId = &v
93108	return s
93109}
93110
93111// SetReservedInstancesListingId sets the ReservedInstancesListingId field's value.
93112func (s *ReservedInstancesListing) SetReservedInstancesListingId(v string) *ReservedInstancesListing {
93113	s.ReservedInstancesListingId = &v
93114	return s
93115}
93116
93117// SetStatus sets the Status field's value.
93118func (s *ReservedInstancesListing) SetStatus(v string) *ReservedInstancesListing {
93119	s.Status = &v
93120	return s
93121}
93122
93123// SetStatusMessage sets the StatusMessage field's value.
93124func (s *ReservedInstancesListing) SetStatusMessage(v string) *ReservedInstancesListing {
93125	s.StatusMessage = &v
93126	return s
93127}
93128
93129// SetTags sets the Tags field's value.
93130func (s *ReservedInstancesListing) SetTags(v []*Tag) *ReservedInstancesListing {
93131	s.Tags = v
93132	return s
93133}
93134
93135// SetUpdateDate sets the UpdateDate field's value.
93136func (s *ReservedInstancesListing) SetUpdateDate(v time.Time) *ReservedInstancesListing {
93137	s.UpdateDate = &v
93138	return s
93139}
93140
93141// Describes a Reserved Instance modification.
93142type ReservedInstancesModification struct {
93143	_ struct{} `type:"structure"`
93144
93145	// A unique, case-sensitive key supplied by the client to ensure that the request
93146	// is idempotent. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
93147	ClientToken *string `locationName:"clientToken" type:"string"`
93148
93149	// The time when the modification request was created.
93150	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
93151
93152	// The time for the modification to become effective.
93153	EffectiveDate *time.Time `locationName:"effectiveDate" type:"timestamp"`
93154
93155	// Contains target configurations along with their corresponding new Reserved
93156	// Instance IDs.
93157	ModificationResults []*ReservedInstancesModificationResult `locationName:"modificationResultSet" locationNameList:"item" type:"list"`
93158
93159	// The IDs of one or more Reserved Instances.
93160	ReservedInstancesIds []*ReservedInstancesId `locationName:"reservedInstancesSet" locationNameList:"item" type:"list"`
93161
93162	// A unique ID for the Reserved Instance modification.
93163	ReservedInstancesModificationId *string `locationName:"reservedInstancesModificationId" type:"string"`
93164
93165	// The status of the Reserved Instances modification request.
93166	Status *string `locationName:"status" type:"string"`
93167
93168	// The reason for the status.
93169	StatusMessage *string `locationName:"statusMessage" type:"string"`
93170
93171	// The time when the modification request was last updated.
93172	UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"`
93173}
93174
93175// String returns the string representation
93176func (s ReservedInstancesModification) String() string {
93177	return awsutil.Prettify(s)
93178}
93179
93180// GoString returns the string representation
93181func (s ReservedInstancesModification) GoString() string {
93182	return s.String()
93183}
93184
93185// SetClientToken sets the ClientToken field's value.
93186func (s *ReservedInstancesModification) SetClientToken(v string) *ReservedInstancesModification {
93187	s.ClientToken = &v
93188	return s
93189}
93190
93191// SetCreateDate sets the CreateDate field's value.
93192func (s *ReservedInstancesModification) SetCreateDate(v time.Time) *ReservedInstancesModification {
93193	s.CreateDate = &v
93194	return s
93195}
93196
93197// SetEffectiveDate sets the EffectiveDate field's value.
93198func (s *ReservedInstancesModification) SetEffectiveDate(v time.Time) *ReservedInstancesModification {
93199	s.EffectiveDate = &v
93200	return s
93201}
93202
93203// SetModificationResults sets the ModificationResults field's value.
93204func (s *ReservedInstancesModification) SetModificationResults(v []*ReservedInstancesModificationResult) *ReservedInstancesModification {
93205	s.ModificationResults = v
93206	return s
93207}
93208
93209// SetReservedInstancesIds sets the ReservedInstancesIds field's value.
93210func (s *ReservedInstancesModification) SetReservedInstancesIds(v []*ReservedInstancesId) *ReservedInstancesModification {
93211	s.ReservedInstancesIds = v
93212	return s
93213}
93214
93215// SetReservedInstancesModificationId sets the ReservedInstancesModificationId field's value.
93216func (s *ReservedInstancesModification) SetReservedInstancesModificationId(v string) *ReservedInstancesModification {
93217	s.ReservedInstancesModificationId = &v
93218	return s
93219}
93220
93221// SetStatus sets the Status field's value.
93222func (s *ReservedInstancesModification) SetStatus(v string) *ReservedInstancesModification {
93223	s.Status = &v
93224	return s
93225}
93226
93227// SetStatusMessage sets the StatusMessage field's value.
93228func (s *ReservedInstancesModification) SetStatusMessage(v string) *ReservedInstancesModification {
93229	s.StatusMessage = &v
93230	return s
93231}
93232
93233// SetUpdateDate sets the UpdateDate field's value.
93234func (s *ReservedInstancesModification) SetUpdateDate(v time.Time) *ReservedInstancesModification {
93235	s.UpdateDate = &v
93236	return s
93237}
93238
93239// Describes the modification request/s.
93240type ReservedInstancesModificationResult struct {
93241	_ struct{} `type:"structure"`
93242
93243	// The ID for the Reserved Instances that were created as part of the modification
93244	// request. This field is only available when the modification is fulfilled.
93245	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
93246
93247	// The target Reserved Instances configurations supplied as part of the modification
93248	// request.
93249	TargetConfiguration *ReservedInstancesConfiguration `locationName:"targetConfiguration" type:"structure"`
93250}
93251
93252// String returns the string representation
93253func (s ReservedInstancesModificationResult) String() string {
93254	return awsutil.Prettify(s)
93255}
93256
93257// GoString returns the string representation
93258func (s ReservedInstancesModificationResult) GoString() string {
93259	return s.String()
93260}
93261
93262// SetReservedInstancesId sets the ReservedInstancesId field's value.
93263func (s *ReservedInstancesModificationResult) SetReservedInstancesId(v string) *ReservedInstancesModificationResult {
93264	s.ReservedInstancesId = &v
93265	return s
93266}
93267
93268// SetTargetConfiguration sets the TargetConfiguration field's value.
93269func (s *ReservedInstancesModificationResult) SetTargetConfiguration(v *ReservedInstancesConfiguration) *ReservedInstancesModificationResult {
93270	s.TargetConfiguration = v
93271	return s
93272}
93273
93274// Describes a Reserved Instance offering.
93275type ReservedInstancesOffering struct {
93276	_ struct{} `type:"structure"`
93277
93278	// The Availability Zone in which the Reserved Instance can be used.
93279	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
93280
93281	// The currency of the Reserved Instance offering you are purchasing. It's specified
93282	// using ISO 4217 standard currency codes. At this time, the only supported
93283	// currency is USD.
93284	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCodeValues"`
93285
93286	// The duration of the Reserved Instance, in seconds.
93287	Duration *int64 `locationName:"duration" type:"long"`
93288
93289	// The purchase price of the Reserved Instance.
93290	FixedPrice *float64 `locationName:"fixedPrice" type:"float"`
93291
93292	// The tenancy of the instance.
93293	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
93294
93295	// The instance type on which the Reserved Instance can be used.
93296	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
93297
93298	// Indicates whether the offering is available through the Reserved Instance
93299	// Marketplace (resale) or AWS. If it's a Reserved Instance Marketplace offering,
93300	// this is true.
93301	Marketplace *bool `locationName:"marketplace" type:"boolean"`
93302
93303	// If convertible it can be exchanged for Reserved Instances of the same or
93304	// higher monetary value, with different configurations. If standard, it is
93305	// not possible to perform an exchange.
93306	OfferingClass *string `locationName:"offeringClass" type:"string" enum:"OfferingClassType"`
93307
93308	// The Reserved Instance offering type.
93309	OfferingType *string `locationName:"offeringType" type:"string" enum:"OfferingTypeValues"`
93310
93311	// The pricing details of the Reserved Instance offering.
93312	PricingDetails []*PricingDetail `locationName:"pricingDetailsSet" locationNameList:"item" type:"list"`
93313
93314	// The Reserved Instance product platform description.
93315	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
93316
93317	// The recurring charge tag assigned to the resource.
93318	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" locationNameList:"item" type:"list"`
93319
93320	// The ID of the Reserved Instance offering. This is the offering ID used in
93321	// GetReservedInstancesExchangeQuote to confirm that an exchange can be made.
93322	ReservedInstancesOfferingId *string `locationName:"reservedInstancesOfferingId" type:"string"`
93323
93324	// Whether the Reserved Instance is applied to instances in a Region or an Availability
93325	// Zone.
93326	Scope *string `locationName:"scope" type:"string" enum:"scope"`
93327
93328	// The usage price of the Reserved Instance, per hour.
93329	UsagePrice *float64 `locationName:"usagePrice" type:"float"`
93330}
93331
93332// String returns the string representation
93333func (s ReservedInstancesOffering) String() string {
93334	return awsutil.Prettify(s)
93335}
93336
93337// GoString returns the string representation
93338func (s ReservedInstancesOffering) GoString() string {
93339	return s.String()
93340}
93341
93342// SetAvailabilityZone sets the AvailabilityZone field's value.
93343func (s *ReservedInstancesOffering) SetAvailabilityZone(v string) *ReservedInstancesOffering {
93344	s.AvailabilityZone = &v
93345	return s
93346}
93347
93348// SetCurrencyCode sets the CurrencyCode field's value.
93349func (s *ReservedInstancesOffering) SetCurrencyCode(v string) *ReservedInstancesOffering {
93350	s.CurrencyCode = &v
93351	return s
93352}
93353
93354// SetDuration sets the Duration field's value.
93355func (s *ReservedInstancesOffering) SetDuration(v int64) *ReservedInstancesOffering {
93356	s.Duration = &v
93357	return s
93358}
93359
93360// SetFixedPrice sets the FixedPrice field's value.
93361func (s *ReservedInstancesOffering) SetFixedPrice(v float64) *ReservedInstancesOffering {
93362	s.FixedPrice = &v
93363	return s
93364}
93365
93366// SetInstanceTenancy sets the InstanceTenancy field's value.
93367func (s *ReservedInstancesOffering) SetInstanceTenancy(v string) *ReservedInstancesOffering {
93368	s.InstanceTenancy = &v
93369	return s
93370}
93371
93372// SetInstanceType sets the InstanceType field's value.
93373func (s *ReservedInstancesOffering) SetInstanceType(v string) *ReservedInstancesOffering {
93374	s.InstanceType = &v
93375	return s
93376}
93377
93378// SetMarketplace sets the Marketplace field's value.
93379func (s *ReservedInstancesOffering) SetMarketplace(v bool) *ReservedInstancesOffering {
93380	s.Marketplace = &v
93381	return s
93382}
93383
93384// SetOfferingClass sets the OfferingClass field's value.
93385func (s *ReservedInstancesOffering) SetOfferingClass(v string) *ReservedInstancesOffering {
93386	s.OfferingClass = &v
93387	return s
93388}
93389
93390// SetOfferingType sets the OfferingType field's value.
93391func (s *ReservedInstancesOffering) SetOfferingType(v string) *ReservedInstancesOffering {
93392	s.OfferingType = &v
93393	return s
93394}
93395
93396// SetPricingDetails sets the PricingDetails field's value.
93397func (s *ReservedInstancesOffering) SetPricingDetails(v []*PricingDetail) *ReservedInstancesOffering {
93398	s.PricingDetails = v
93399	return s
93400}
93401
93402// SetProductDescription sets the ProductDescription field's value.
93403func (s *ReservedInstancesOffering) SetProductDescription(v string) *ReservedInstancesOffering {
93404	s.ProductDescription = &v
93405	return s
93406}
93407
93408// SetRecurringCharges sets the RecurringCharges field's value.
93409func (s *ReservedInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedInstancesOffering {
93410	s.RecurringCharges = v
93411	return s
93412}
93413
93414// SetReservedInstancesOfferingId sets the ReservedInstancesOfferingId field's value.
93415func (s *ReservedInstancesOffering) SetReservedInstancesOfferingId(v string) *ReservedInstancesOffering {
93416	s.ReservedInstancesOfferingId = &v
93417	return s
93418}
93419
93420// SetScope sets the Scope field's value.
93421func (s *ReservedInstancesOffering) SetScope(v string) *ReservedInstancesOffering {
93422	s.Scope = &v
93423	return s
93424}
93425
93426// SetUsagePrice sets the UsagePrice field's value.
93427func (s *ReservedInstancesOffering) SetUsagePrice(v float64) *ReservedInstancesOffering {
93428	s.UsagePrice = &v
93429	return s
93430}
93431
93432type ResetEbsDefaultKmsKeyIdInput struct {
93433	_ struct{} `type:"structure"`
93434
93435	// Checks whether you have the required permissions for the action, without
93436	// actually making the request, and provides an error response. If you have
93437	// the required permissions, the error response is DryRunOperation. Otherwise,
93438	// it is UnauthorizedOperation.
93439	DryRun *bool `type:"boolean"`
93440}
93441
93442// String returns the string representation
93443func (s ResetEbsDefaultKmsKeyIdInput) String() string {
93444	return awsutil.Prettify(s)
93445}
93446
93447// GoString returns the string representation
93448func (s ResetEbsDefaultKmsKeyIdInput) GoString() string {
93449	return s.String()
93450}
93451
93452// SetDryRun sets the DryRun field's value.
93453func (s *ResetEbsDefaultKmsKeyIdInput) SetDryRun(v bool) *ResetEbsDefaultKmsKeyIdInput {
93454	s.DryRun = &v
93455	return s
93456}
93457
93458type ResetEbsDefaultKmsKeyIdOutput struct {
93459	_ struct{} `type:"structure"`
93460
93461	// The Amazon Resource Name (ARN) of the default CMK for EBS encryption by default.
93462	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
93463}
93464
93465// String returns the string representation
93466func (s ResetEbsDefaultKmsKeyIdOutput) String() string {
93467	return awsutil.Prettify(s)
93468}
93469
93470// GoString returns the string representation
93471func (s ResetEbsDefaultKmsKeyIdOutput) GoString() string {
93472	return s.String()
93473}
93474
93475// SetKmsKeyId sets the KmsKeyId field's value.
93476func (s *ResetEbsDefaultKmsKeyIdOutput) SetKmsKeyId(v string) *ResetEbsDefaultKmsKeyIdOutput {
93477	s.KmsKeyId = &v
93478	return s
93479}
93480
93481type ResetFpgaImageAttributeInput struct {
93482	_ struct{} `type:"structure"`
93483
93484	// The attribute.
93485	Attribute *string `type:"string" enum:"ResetFpgaImageAttributeName"`
93486
93487	// Checks whether you have the required permissions for the action, without
93488	// actually making the request, and provides an error response. If you have
93489	// the required permissions, the error response is DryRunOperation. Otherwise,
93490	// it is UnauthorizedOperation.
93491	DryRun *bool `type:"boolean"`
93492
93493	// The ID of the AFI.
93494	//
93495	// FpgaImageId is a required field
93496	FpgaImageId *string `type:"string" required:"true"`
93497}
93498
93499// String returns the string representation
93500func (s ResetFpgaImageAttributeInput) String() string {
93501	return awsutil.Prettify(s)
93502}
93503
93504// GoString returns the string representation
93505func (s ResetFpgaImageAttributeInput) GoString() string {
93506	return s.String()
93507}
93508
93509// Validate inspects the fields of the type to determine if they are valid.
93510func (s *ResetFpgaImageAttributeInput) Validate() error {
93511	invalidParams := request.ErrInvalidParams{Context: "ResetFpgaImageAttributeInput"}
93512	if s.FpgaImageId == nil {
93513		invalidParams.Add(request.NewErrParamRequired("FpgaImageId"))
93514	}
93515
93516	if invalidParams.Len() > 0 {
93517		return invalidParams
93518	}
93519	return nil
93520}
93521
93522// SetAttribute sets the Attribute field's value.
93523func (s *ResetFpgaImageAttributeInput) SetAttribute(v string) *ResetFpgaImageAttributeInput {
93524	s.Attribute = &v
93525	return s
93526}
93527
93528// SetDryRun sets the DryRun field's value.
93529func (s *ResetFpgaImageAttributeInput) SetDryRun(v bool) *ResetFpgaImageAttributeInput {
93530	s.DryRun = &v
93531	return s
93532}
93533
93534// SetFpgaImageId sets the FpgaImageId field's value.
93535func (s *ResetFpgaImageAttributeInput) SetFpgaImageId(v string) *ResetFpgaImageAttributeInput {
93536	s.FpgaImageId = &v
93537	return s
93538}
93539
93540type ResetFpgaImageAttributeOutput struct {
93541	_ struct{} `type:"structure"`
93542
93543	// Is true if the request succeeds, and an error otherwise.
93544	Return *bool `locationName:"return" type:"boolean"`
93545}
93546
93547// String returns the string representation
93548func (s ResetFpgaImageAttributeOutput) String() string {
93549	return awsutil.Prettify(s)
93550}
93551
93552// GoString returns the string representation
93553func (s ResetFpgaImageAttributeOutput) GoString() string {
93554	return s.String()
93555}
93556
93557// SetReturn sets the Return field's value.
93558func (s *ResetFpgaImageAttributeOutput) SetReturn(v bool) *ResetFpgaImageAttributeOutput {
93559	s.Return = &v
93560	return s
93561}
93562
93563// Contains the parameters for ResetImageAttribute.
93564type ResetImageAttributeInput struct {
93565	_ struct{} `type:"structure"`
93566
93567	// The attribute to reset (currently you can only reset the launch permission
93568	// attribute).
93569	//
93570	// Attribute is a required field
93571	Attribute *string `type:"string" required:"true" enum:"ResetImageAttributeName"`
93572
93573	// Checks whether you have the required permissions for the action, without
93574	// actually making the request, and provides an error response. If you have
93575	// the required permissions, the error response is DryRunOperation. Otherwise,
93576	// it is UnauthorizedOperation.
93577	DryRun *bool `locationName:"dryRun" type:"boolean"`
93578
93579	// The ID of the AMI.
93580	//
93581	// ImageId is a required field
93582	ImageId *string `type:"string" required:"true"`
93583}
93584
93585// String returns the string representation
93586func (s ResetImageAttributeInput) String() string {
93587	return awsutil.Prettify(s)
93588}
93589
93590// GoString returns the string representation
93591func (s ResetImageAttributeInput) GoString() string {
93592	return s.String()
93593}
93594
93595// Validate inspects the fields of the type to determine if they are valid.
93596func (s *ResetImageAttributeInput) Validate() error {
93597	invalidParams := request.ErrInvalidParams{Context: "ResetImageAttributeInput"}
93598	if s.Attribute == nil {
93599		invalidParams.Add(request.NewErrParamRequired("Attribute"))
93600	}
93601	if s.ImageId == nil {
93602		invalidParams.Add(request.NewErrParamRequired("ImageId"))
93603	}
93604
93605	if invalidParams.Len() > 0 {
93606		return invalidParams
93607	}
93608	return nil
93609}
93610
93611// SetAttribute sets the Attribute field's value.
93612func (s *ResetImageAttributeInput) SetAttribute(v string) *ResetImageAttributeInput {
93613	s.Attribute = &v
93614	return s
93615}
93616
93617// SetDryRun sets the DryRun field's value.
93618func (s *ResetImageAttributeInput) SetDryRun(v bool) *ResetImageAttributeInput {
93619	s.DryRun = &v
93620	return s
93621}
93622
93623// SetImageId sets the ImageId field's value.
93624func (s *ResetImageAttributeInput) SetImageId(v string) *ResetImageAttributeInput {
93625	s.ImageId = &v
93626	return s
93627}
93628
93629type ResetImageAttributeOutput struct {
93630	_ struct{} `type:"structure"`
93631}
93632
93633// String returns the string representation
93634func (s ResetImageAttributeOutput) String() string {
93635	return awsutil.Prettify(s)
93636}
93637
93638// GoString returns the string representation
93639func (s ResetImageAttributeOutput) GoString() string {
93640	return s.String()
93641}
93642
93643type ResetInstanceAttributeInput struct {
93644	_ struct{} `type:"structure"`
93645
93646	// The attribute to reset.
93647	//
93648	// You can only reset the following attributes: kernel | ramdisk | sourceDestCheck.
93649	// To change an instance attribute, use ModifyInstanceAttribute.
93650	//
93651	// Attribute is a required field
93652	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"InstanceAttributeName"`
93653
93654	// Checks whether you have the required permissions for the action, without
93655	// actually making the request, and provides an error response. If you have
93656	// the required permissions, the error response is DryRunOperation. Otherwise,
93657	// it is UnauthorizedOperation.
93658	DryRun *bool `locationName:"dryRun" type:"boolean"`
93659
93660	// The ID of the instance.
93661	//
93662	// InstanceId is a required field
93663	InstanceId *string `locationName:"instanceId" type:"string" required:"true"`
93664}
93665
93666// String returns the string representation
93667func (s ResetInstanceAttributeInput) String() string {
93668	return awsutil.Prettify(s)
93669}
93670
93671// GoString returns the string representation
93672func (s ResetInstanceAttributeInput) GoString() string {
93673	return s.String()
93674}
93675
93676// Validate inspects the fields of the type to determine if they are valid.
93677func (s *ResetInstanceAttributeInput) Validate() error {
93678	invalidParams := request.ErrInvalidParams{Context: "ResetInstanceAttributeInput"}
93679	if s.Attribute == nil {
93680		invalidParams.Add(request.NewErrParamRequired("Attribute"))
93681	}
93682	if s.InstanceId == nil {
93683		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
93684	}
93685
93686	if invalidParams.Len() > 0 {
93687		return invalidParams
93688	}
93689	return nil
93690}
93691
93692// SetAttribute sets the Attribute field's value.
93693func (s *ResetInstanceAttributeInput) SetAttribute(v string) *ResetInstanceAttributeInput {
93694	s.Attribute = &v
93695	return s
93696}
93697
93698// SetDryRun sets the DryRun field's value.
93699func (s *ResetInstanceAttributeInput) SetDryRun(v bool) *ResetInstanceAttributeInput {
93700	s.DryRun = &v
93701	return s
93702}
93703
93704// SetInstanceId sets the InstanceId field's value.
93705func (s *ResetInstanceAttributeInput) SetInstanceId(v string) *ResetInstanceAttributeInput {
93706	s.InstanceId = &v
93707	return s
93708}
93709
93710type ResetInstanceAttributeOutput struct {
93711	_ struct{} `type:"structure"`
93712}
93713
93714// String returns the string representation
93715func (s ResetInstanceAttributeOutput) String() string {
93716	return awsutil.Prettify(s)
93717}
93718
93719// GoString returns the string representation
93720func (s ResetInstanceAttributeOutput) GoString() string {
93721	return s.String()
93722}
93723
93724// Contains the parameters for ResetNetworkInterfaceAttribute.
93725type ResetNetworkInterfaceAttributeInput struct {
93726	_ struct{} `type:"structure"`
93727
93728	// Checks whether you have the required permissions for the action, without
93729	// actually making the request, and provides an error response. If you have
93730	// the required permissions, the error response is DryRunOperation. Otherwise,
93731	// it is UnauthorizedOperation.
93732	DryRun *bool `locationName:"dryRun" type:"boolean"`
93733
93734	// The ID of the network interface.
93735	//
93736	// NetworkInterfaceId is a required field
93737	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
93738
93739	// The source/destination checking attribute. Resets the value to true.
93740	SourceDestCheck *string `locationName:"sourceDestCheck" type:"string"`
93741}
93742
93743// String returns the string representation
93744func (s ResetNetworkInterfaceAttributeInput) String() string {
93745	return awsutil.Prettify(s)
93746}
93747
93748// GoString returns the string representation
93749func (s ResetNetworkInterfaceAttributeInput) GoString() string {
93750	return s.String()
93751}
93752
93753// Validate inspects the fields of the type to determine if they are valid.
93754func (s *ResetNetworkInterfaceAttributeInput) Validate() error {
93755	invalidParams := request.ErrInvalidParams{Context: "ResetNetworkInterfaceAttributeInput"}
93756	if s.NetworkInterfaceId == nil {
93757		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
93758	}
93759
93760	if invalidParams.Len() > 0 {
93761		return invalidParams
93762	}
93763	return nil
93764}
93765
93766// SetDryRun sets the DryRun field's value.
93767func (s *ResetNetworkInterfaceAttributeInput) SetDryRun(v bool) *ResetNetworkInterfaceAttributeInput {
93768	s.DryRun = &v
93769	return s
93770}
93771
93772// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
93773func (s *ResetNetworkInterfaceAttributeInput) SetNetworkInterfaceId(v string) *ResetNetworkInterfaceAttributeInput {
93774	s.NetworkInterfaceId = &v
93775	return s
93776}
93777
93778// SetSourceDestCheck sets the SourceDestCheck field's value.
93779func (s *ResetNetworkInterfaceAttributeInput) SetSourceDestCheck(v string) *ResetNetworkInterfaceAttributeInput {
93780	s.SourceDestCheck = &v
93781	return s
93782}
93783
93784type ResetNetworkInterfaceAttributeOutput struct {
93785	_ struct{} `type:"structure"`
93786}
93787
93788// String returns the string representation
93789func (s ResetNetworkInterfaceAttributeOutput) String() string {
93790	return awsutil.Prettify(s)
93791}
93792
93793// GoString returns the string representation
93794func (s ResetNetworkInterfaceAttributeOutput) GoString() string {
93795	return s.String()
93796}
93797
93798type ResetSnapshotAttributeInput struct {
93799	_ struct{} `type:"structure"`
93800
93801	// The attribute to reset. Currently, only the attribute for permission to create
93802	// volumes can be reset.
93803	//
93804	// Attribute is a required field
93805	Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeName"`
93806
93807	// Checks whether you have the required permissions for the action, without
93808	// actually making the request, and provides an error response. If you have
93809	// the required permissions, the error response is DryRunOperation. Otherwise,
93810	// it is UnauthorizedOperation.
93811	DryRun *bool `locationName:"dryRun" type:"boolean"`
93812
93813	// The ID of the snapshot.
93814	//
93815	// SnapshotId is a required field
93816	SnapshotId *string `type:"string" required:"true"`
93817}
93818
93819// String returns the string representation
93820func (s ResetSnapshotAttributeInput) String() string {
93821	return awsutil.Prettify(s)
93822}
93823
93824// GoString returns the string representation
93825func (s ResetSnapshotAttributeInput) GoString() string {
93826	return s.String()
93827}
93828
93829// Validate inspects the fields of the type to determine if they are valid.
93830func (s *ResetSnapshotAttributeInput) Validate() error {
93831	invalidParams := request.ErrInvalidParams{Context: "ResetSnapshotAttributeInput"}
93832	if s.Attribute == nil {
93833		invalidParams.Add(request.NewErrParamRequired("Attribute"))
93834	}
93835	if s.SnapshotId == nil {
93836		invalidParams.Add(request.NewErrParamRequired("SnapshotId"))
93837	}
93838
93839	if invalidParams.Len() > 0 {
93840		return invalidParams
93841	}
93842	return nil
93843}
93844
93845// SetAttribute sets the Attribute field's value.
93846func (s *ResetSnapshotAttributeInput) SetAttribute(v string) *ResetSnapshotAttributeInput {
93847	s.Attribute = &v
93848	return s
93849}
93850
93851// SetDryRun sets the DryRun field's value.
93852func (s *ResetSnapshotAttributeInput) SetDryRun(v bool) *ResetSnapshotAttributeInput {
93853	s.DryRun = &v
93854	return s
93855}
93856
93857// SetSnapshotId sets the SnapshotId field's value.
93858func (s *ResetSnapshotAttributeInput) SetSnapshotId(v string) *ResetSnapshotAttributeInput {
93859	s.SnapshotId = &v
93860	return s
93861}
93862
93863type ResetSnapshotAttributeOutput struct {
93864	_ struct{} `type:"structure"`
93865}
93866
93867// String returns the string representation
93868func (s ResetSnapshotAttributeOutput) String() string {
93869	return awsutil.Prettify(s)
93870}
93871
93872// GoString returns the string representation
93873func (s ResetSnapshotAttributeOutput) GoString() string {
93874	return s.String()
93875}
93876
93877// Describes the error that's returned when you cannot delete a launch template
93878// version.
93879type ResponseError struct {
93880	_ struct{} `type:"structure"`
93881
93882	// The error code.
93883	Code *string `locationName:"code" type:"string" enum:"LaunchTemplateErrorCode"`
93884
93885	// The error message, if applicable.
93886	Message *string `locationName:"message" type:"string"`
93887}
93888
93889// String returns the string representation
93890func (s ResponseError) String() string {
93891	return awsutil.Prettify(s)
93892}
93893
93894// GoString returns the string representation
93895func (s ResponseError) GoString() string {
93896	return s.String()
93897}
93898
93899// SetCode sets the Code field's value.
93900func (s *ResponseError) SetCode(v string) *ResponseError {
93901	s.Code = &v
93902	return s
93903}
93904
93905// SetMessage sets the Message field's value.
93906func (s *ResponseError) SetMessage(v string) *ResponseError {
93907	s.Message = &v
93908	return s
93909}
93910
93911// The information for a launch template.
93912type ResponseLaunchTemplateData struct {
93913	_ struct{} `type:"structure"`
93914
93915	// The block device mappings.
93916	BlockDeviceMappings []*LaunchTemplateBlockDeviceMapping `locationName:"blockDeviceMappingSet" locationNameList:"item" type:"list"`
93917
93918	// Information about the Capacity Reservation targeting option.
93919	CapacityReservationSpecification *LaunchTemplateCapacityReservationSpecificationResponse `locationName:"capacityReservationSpecification" type:"structure"`
93920
93921	// The CPU options for the instance. For more information, see Optimizing CPU
93922	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
93923	// in the Amazon Elastic Compute Cloud User Guide.
93924	CpuOptions *LaunchTemplateCpuOptions `locationName:"cpuOptions" type:"structure"`
93925
93926	// The credit option for CPU usage of the instance.
93927	CreditSpecification *CreditSpecification `locationName:"creditSpecification" type:"structure"`
93928
93929	// If set to true, indicates that the instance cannot be terminated using the
93930	// Amazon EC2 console, command line tool, or API.
93931	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
93932
93933	// Indicates whether the instance is optimized for Amazon EBS I/O.
93934	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
93935
93936	// The elastic GPU specification.
93937	ElasticGpuSpecifications []*ElasticGpuSpecificationResponse `locationName:"elasticGpuSpecificationSet" locationNameList:"item" type:"list"`
93938
93939	// The elastic inference accelerator for the instance.
93940	ElasticInferenceAccelerators []*LaunchTemplateElasticInferenceAcceleratorResponse `locationName:"elasticInferenceAcceleratorSet" locationNameList:"item" type:"list"`
93941
93942	// Indicates whether an instance is configured for hibernation. For more information,
93943	// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
93944	// in the Amazon Elastic Compute Cloud User Guide.
93945	HibernationOptions *LaunchTemplateHibernationOptions `locationName:"hibernationOptions" type:"structure"`
93946
93947	// The IAM instance profile.
93948	IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
93949
93950	// The ID of the AMI that was used to launch the instance.
93951	ImageId *string `locationName:"imageId" type:"string"`
93952
93953	// Indicates whether an instance stops or terminates when you initiate shutdown
93954	// from the instance (using the operating system command for system shutdown).
93955	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
93956
93957	// The market (purchasing) option for the instances.
93958	InstanceMarketOptions *LaunchTemplateInstanceMarketOptions `locationName:"instanceMarketOptions" type:"structure"`
93959
93960	// The instance type.
93961	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
93962
93963	// The ID of the kernel, if applicable.
93964	KernelId *string `locationName:"kernelId" type:"string"`
93965
93966	// The name of the key pair.
93967	KeyName *string `locationName:"keyName" type:"string"`
93968
93969	// The license configurations.
93970	LicenseSpecifications []*LaunchTemplateLicenseConfiguration `locationName:"licenseSet" locationNameList:"item" type:"list"`
93971
93972	// The monitoring for the instance.
93973	Monitoring *LaunchTemplatesMonitoring `locationName:"monitoring" type:"structure"`
93974
93975	// The network interfaces.
93976	NetworkInterfaces []*LaunchTemplateInstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
93977
93978	// The placement of the instance.
93979	Placement *LaunchTemplatePlacement `locationName:"placement" type:"structure"`
93980
93981	// The ID of the RAM disk, if applicable.
93982	RamDiskId *string `locationName:"ramDiskId" type:"string"`
93983
93984	// The security group IDs.
93985	SecurityGroupIds []*string `locationName:"securityGroupIdSet" locationNameList:"item" type:"list"`
93986
93987	// The security group names.
93988	SecurityGroups []*string `locationName:"securityGroupSet" locationNameList:"item" type:"list"`
93989
93990	// The tags.
93991	TagSpecifications []*LaunchTemplateTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
93992
93993	// The user data for the instance.
93994	UserData *string `locationName:"userData" type:"string"`
93995}
93996
93997// String returns the string representation
93998func (s ResponseLaunchTemplateData) String() string {
93999	return awsutil.Prettify(s)
94000}
94001
94002// GoString returns the string representation
94003func (s ResponseLaunchTemplateData) GoString() string {
94004	return s.String()
94005}
94006
94007// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
94008func (s *ResponseLaunchTemplateData) SetBlockDeviceMappings(v []*LaunchTemplateBlockDeviceMapping) *ResponseLaunchTemplateData {
94009	s.BlockDeviceMappings = v
94010	return s
94011}
94012
94013// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
94014func (s *ResponseLaunchTemplateData) SetCapacityReservationSpecification(v *LaunchTemplateCapacityReservationSpecificationResponse) *ResponseLaunchTemplateData {
94015	s.CapacityReservationSpecification = v
94016	return s
94017}
94018
94019// SetCpuOptions sets the CpuOptions field's value.
94020func (s *ResponseLaunchTemplateData) SetCpuOptions(v *LaunchTemplateCpuOptions) *ResponseLaunchTemplateData {
94021	s.CpuOptions = v
94022	return s
94023}
94024
94025// SetCreditSpecification sets the CreditSpecification field's value.
94026func (s *ResponseLaunchTemplateData) SetCreditSpecification(v *CreditSpecification) *ResponseLaunchTemplateData {
94027	s.CreditSpecification = v
94028	return s
94029}
94030
94031// SetDisableApiTermination sets the DisableApiTermination field's value.
94032func (s *ResponseLaunchTemplateData) SetDisableApiTermination(v bool) *ResponseLaunchTemplateData {
94033	s.DisableApiTermination = &v
94034	return s
94035}
94036
94037// SetEbsOptimized sets the EbsOptimized field's value.
94038func (s *ResponseLaunchTemplateData) SetEbsOptimized(v bool) *ResponseLaunchTemplateData {
94039	s.EbsOptimized = &v
94040	return s
94041}
94042
94043// SetElasticGpuSpecifications sets the ElasticGpuSpecifications field's value.
94044func (s *ResponseLaunchTemplateData) SetElasticGpuSpecifications(v []*ElasticGpuSpecificationResponse) *ResponseLaunchTemplateData {
94045	s.ElasticGpuSpecifications = v
94046	return s
94047}
94048
94049// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
94050func (s *ResponseLaunchTemplateData) SetElasticInferenceAccelerators(v []*LaunchTemplateElasticInferenceAcceleratorResponse) *ResponseLaunchTemplateData {
94051	s.ElasticInferenceAccelerators = v
94052	return s
94053}
94054
94055// SetHibernationOptions sets the HibernationOptions field's value.
94056func (s *ResponseLaunchTemplateData) SetHibernationOptions(v *LaunchTemplateHibernationOptions) *ResponseLaunchTemplateData {
94057	s.HibernationOptions = v
94058	return s
94059}
94060
94061// SetIamInstanceProfile sets the IamInstanceProfile field's value.
94062func (s *ResponseLaunchTemplateData) SetIamInstanceProfile(v *LaunchTemplateIamInstanceProfileSpecification) *ResponseLaunchTemplateData {
94063	s.IamInstanceProfile = v
94064	return s
94065}
94066
94067// SetImageId sets the ImageId field's value.
94068func (s *ResponseLaunchTemplateData) SetImageId(v string) *ResponseLaunchTemplateData {
94069	s.ImageId = &v
94070	return s
94071}
94072
94073// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
94074func (s *ResponseLaunchTemplateData) SetInstanceInitiatedShutdownBehavior(v string) *ResponseLaunchTemplateData {
94075	s.InstanceInitiatedShutdownBehavior = &v
94076	return s
94077}
94078
94079// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
94080func (s *ResponseLaunchTemplateData) SetInstanceMarketOptions(v *LaunchTemplateInstanceMarketOptions) *ResponseLaunchTemplateData {
94081	s.InstanceMarketOptions = v
94082	return s
94083}
94084
94085// SetInstanceType sets the InstanceType field's value.
94086func (s *ResponseLaunchTemplateData) SetInstanceType(v string) *ResponseLaunchTemplateData {
94087	s.InstanceType = &v
94088	return s
94089}
94090
94091// SetKernelId sets the KernelId field's value.
94092func (s *ResponseLaunchTemplateData) SetKernelId(v string) *ResponseLaunchTemplateData {
94093	s.KernelId = &v
94094	return s
94095}
94096
94097// SetKeyName sets the KeyName field's value.
94098func (s *ResponseLaunchTemplateData) SetKeyName(v string) *ResponseLaunchTemplateData {
94099	s.KeyName = &v
94100	return s
94101}
94102
94103// SetLicenseSpecifications sets the LicenseSpecifications field's value.
94104func (s *ResponseLaunchTemplateData) SetLicenseSpecifications(v []*LaunchTemplateLicenseConfiguration) *ResponseLaunchTemplateData {
94105	s.LicenseSpecifications = v
94106	return s
94107}
94108
94109// SetMonitoring sets the Monitoring field's value.
94110func (s *ResponseLaunchTemplateData) SetMonitoring(v *LaunchTemplatesMonitoring) *ResponseLaunchTemplateData {
94111	s.Monitoring = v
94112	return s
94113}
94114
94115// SetNetworkInterfaces sets the NetworkInterfaces field's value.
94116func (s *ResponseLaunchTemplateData) SetNetworkInterfaces(v []*LaunchTemplateInstanceNetworkInterfaceSpecification) *ResponseLaunchTemplateData {
94117	s.NetworkInterfaces = v
94118	return s
94119}
94120
94121// SetPlacement sets the Placement field's value.
94122func (s *ResponseLaunchTemplateData) SetPlacement(v *LaunchTemplatePlacement) *ResponseLaunchTemplateData {
94123	s.Placement = v
94124	return s
94125}
94126
94127// SetRamDiskId sets the RamDiskId field's value.
94128func (s *ResponseLaunchTemplateData) SetRamDiskId(v string) *ResponseLaunchTemplateData {
94129	s.RamDiskId = &v
94130	return s
94131}
94132
94133// SetSecurityGroupIds sets the SecurityGroupIds field's value.
94134func (s *ResponseLaunchTemplateData) SetSecurityGroupIds(v []*string) *ResponseLaunchTemplateData {
94135	s.SecurityGroupIds = v
94136	return s
94137}
94138
94139// SetSecurityGroups sets the SecurityGroups field's value.
94140func (s *ResponseLaunchTemplateData) SetSecurityGroups(v []*string) *ResponseLaunchTemplateData {
94141	s.SecurityGroups = v
94142	return s
94143}
94144
94145// SetTagSpecifications sets the TagSpecifications field's value.
94146func (s *ResponseLaunchTemplateData) SetTagSpecifications(v []*LaunchTemplateTagSpecification) *ResponseLaunchTemplateData {
94147	s.TagSpecifications = v
94148	return s
94149}
94150
94151// SetUserData sets the UserData field's value.
94152func (s *ResponseLaunchTemplateData) SetUserData(v string) *ResponseLaunchTemplateData {
94153	s.UserData = &v
94154	return s
94155}
94156
94157type RestoreAddressToClassicInput struct {
94158	_ struct{} `type:"structure"`
94159
94160	// Checks whether you have the required permissions for the action, without
94161	// actually making the request, and provides an error response. If you have
94162	// the required permissions, the error response is DryRunOperation. Otherwise,
94163	// it is UnauthorizedOperation.
94164	DryRun *bool `locationName:"dryRun" type:"boolean"`
94165
94166	// The Elastic IP address.
94167	//
94168	// PublicIp is a required field
94169	PublicIp *string `locationName:"publicIp" type:"string" required:"true"`
94170}
94171
94172// String returns the string representation
94173func (s RestoreAddressToClassicInput) String() string {
94174	return awsutil.Prettify(s)
94175}
94176
94177// GoString returns the string representation
94178func (s RestoreAddressToClassicInput) GoString() string {
94179	return s.String()
94180}
94181
94182// Validate inspects the fields of the type to determine if they are valid.
94183func (s *RestoreAddressToClassicInput) Validate() error {
94184	invalidParams := request.ErrInvalidParams{Context: "RestoreAddressToClassicInput"}
94185	if s.PublicIp == nil {
94186		invalidParams.Add(request.NewErrParamRequired("PublicIp"))
94187	}
94188
94189	if invalidParams.Len() > 0 {
94190		return invalidParams
94191	}
94192	return nil
94193}
94194
94195// SetDryRun sets the DryRun field's value.
94196func (s *RestoreAddressToClassicInput) SetDryRun(v bool) *RestoreAddressToClassicInput {
94197	s.DryRun = &v
94198	return s
94199}
94200
94201// SetPublicIp sets the PublicIp field's value.
94202func (s *RestoreAddressToClassicInput) SetPublicIp(v string) *RestoreAddressToClassicInput {
94203	s.PublicIp = &v
94204	return s
94205}
94206
94207type RestoreAddressToClassicOutput struct {
94208	_ struct{} `type:"structure"`
94209
94210	// The Elastic IP address.
94211	PublicIp *string `locationName:"publicIp" type:"string"`
94212
94213	// The move status for the IP address.
94214	Status *string `locationName:"status" type:"string" enum:"Status"`
94215}
94216
94217// String returns the string representation
94218func (s RestoreAddressToClassicOutput) String() string {
94219	return awsutil.Prettify(s)
94220}
94221
94222// GoString returns the string representation
94223func (s RestoreAddressToClassicOutput) GoString() string {
94224	return s.String()
94225}
94226
94227// SetPublicIp sets the PublicIp field's value.
94228func (s *RestoreAddressToClassicOutput) SetPublicIp(v string) *RestoreAddressToClassicOutput {
94229	s.PublicIp = &v
94230	return s
94231}
94232
94233// SetStatus sets the Status field's value.
94234func (s *RestoreAddressToClassicOutput) SetStatus(v string) *RestoreAddressToClassicOutput {
94235	s.Status = &v
94236	return s
94237}
94238
94239type RevokeClientVpnIngressInput struct {
94240	_ struct{} `type:"structure"`
94241
94242	// The ID of the Active Directory group for which to revoke access.
94243	AccessGroupId *string `type:"string"`
94244
94245	// The ID of the Client VPN endpoint with which the authorization rule is associated.
94246	//
94247	// ClientVpnEndpointId is a required field
94248	ClientVpnEndpointId *string `type:"string" required:"true"`
94249
94250	// Checks whether you have the required permissions for the action, without
94251	// actually making the request, and provides an error response. If you have
94252	// the required permissions, the error response is DryRunOperation. Otherwise,
94253	// it is UnauthorizedOperation.
94254	DryRun *bool `type:"boolean"`
94255
94256	// Indicates whether access should be revoked for all clients.
94257	RevokeAllGroups *bool `type:"boolean"`
94258
94259	// The IPv4 address range, in CIDR notation, of the network for which access
94260	// is being removed.
94261	//
94262	// TargetNetworkCidr is a required field
94263	TargetNetworkCidr *string `type:"string" required:"true"`
94264}
94265
94266// String returns the string representation
94267func (s RevokeClientVpnIngressInput) String() string {
94268	return awsutil.Prettify(s)
94269}
94270
94271// GoString returns the string representation
94272func (s RevokeClientVpnIngressInput) GoString() string {
94273	return s.String()
94274}
94275
94276// Validate inspects the fields of the type to determine if they are valid.
94277func (s *RevokeClientVpnIngressInput) Validate() error {
94278	invalidParams := request.ErrInvalidParams{Context: "RevokeClientVpnIngressInput"}
94279	if s.ClientVpnEndpointId == nil {
94280		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
94281	}
94282	if s.TargetNetworkCidr == nil {
94283		invalidParams.Add(request.NewErrParamRequired("TargetNetworkCidr"))
94284	}
94285
94286	if invalidParams.Len() > 0 {
94287		return invalidParams
94288	}
94289	return nil
94290}
94291
94292// SetAccessGroupId sets the AccessGroupId field's value.
94293func (s *RevokeClientVpnIngressInput) SetAccessGroupId(v string) *RevokeClientVpnIngressInput {
94294	s.AccessGroupId = &v
94295	return s
94296}
94297
94298// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
94299func (s *RevokeClientVpnIngressInput) SetClientVpnEndpointId(v string) *RevokeClientVpnIngressInput {
94300	s.ClientVpnEndpointId = &v
94301	return s
94302}
94303
94304// SetDryRun sets the DryRun field's value.
94305func (s *RevokeClientVpnIngressInput) SetDryRun(v bool) *RevokeClientVpnIngressInput {
94306	s.DryRun = &v
94307	return s
94308}
94309
94310// SetRevokeAllGroups sets the RevokeAllGroups field's value.
94311func (s *RevokeClientVpnIngressInput) SetRevokeAllGroups(v bool) *RevokeClientVpnIngressInput {
94312	s.RevokeAllGroups = &v
94313	return s
94314}
94315
94316// SetTargetNetworkCidr sets the TargetNetworkCidr field's value.
94317func (s *RevokeClientVpnIngressInput) SetTargetNetworkCidr(v string) *RevokeClientVpnIngressInput {
94318	s.TargetNetworkCidr = &v
94319	return s
94320}
94321
94322type RevokeClientVpnIngressOutput struct {
94323	_ struct{} `type:"structure"`
94324
94325	// The current state of the authorization rule.
94326	Status *ClientVpnAuthorizationRuleStatus `locationName:"status" type:"structure"`
94327}
94328
94329// String returns the string representation
94330func (s RevokeClientVpnIngressOutput) String() string {
94331	return awsutil.Prettify(s)
94332}
94333
94334// GoString returns the string representation
94335func (s RevokeClientVpnIngressOutput) GoString() string {
94336	return s.String()
94337}
94338
94339// SetStatus sets the Status field's value.
94340func (s *RevokeClientVpnIngressOutput) SetStatus(v *ClientVpnAuthorizationRuleStatus) *RevokeClientVpnIngressOutput {
94341	s.Status = v
94342	return s
94343}
94344
94345type RevokeSecurityGroupEgressInput struct {
94346	_ struct{} `type:"structure"`
94347
94348	// Not supported. Use a set of IP permissions to specify the CIDR.
94349	CidrIp *string `locationName:"cidrIp" type:"string"`
94350
94351	// Checks whether you have the required permissions for the action, without
94352	// actually making the request, and provides an error response. If you have
94353	// the required permissions, the error response is DryRunOperation. Otherwise,
94354	// it is UnauthorizedOperation.
94355	DryRun *bool `locationName:"dryRun" type:"boolean"`
94356
94357	// Not supported. Use a set of IP permissions to specify the port.
94358	FromPort *int64 `locationName:"fromPort" type:"integer"`
94359
94360	// The ID of the security group.
94361	//
94362	// GroupId is a required field
94363	GroupId *string `locationName:"groupId" type:"string" required:"true"`
94364
94365	// The sets of IP permissions. You can't specify a destination security group
94366	// and a CIDR IP address range in the same set of permissions.
94367	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
94368
94369	// Not supported. Use a set of IP permissions to specify the protocol name or
94370	// number.
94371	IpProtocol *string `locationName:"ipProtocol" type:"string"`
94372
94373	// Not supported. Use a set of IP permissions to specify a destination security
94374	// group.
94375	SourceSecurityGroupName *string `locationName:"sourceSecurityGroupName" type:"string"`
94376
94377	// Not supported. Use a set of IP permissions to specify a destination security
94378	// group.
94379	SourceSecurityGroupOwnerId *string `locationName:"sourceSecurityGroupOwnerId" type:"string"`
94380
94381	// Not supported. Use a set of IP permissions to specify the port.
94382	ToPort *int64 `locationName:"toPort" type:"integer"`
94383}
94384
94385// String returns the string representation
94386func (s RevokeSecurityGroupEgressInput) String() string {
94387	return awsutil.Prettify(s)
94388}
94389
94390// GoString returns the string representation
94391func (s RevokeSecurityGroupEgressInput) GoString() string {
94392	return s.String()
94393}
94394
94395// Validate inspects the fields of the type to determine if they are valid.
94396func (s *RevokeSecurityGroupEgressInput) Validate() error {
94397	invalidParams := request.ErrInvalidParams{Context: "RevokeSecurityGroupEgressInput"}
94398	if s.GroupId == nil {
94399		invalidParams.Add(request.NewErrParamRequired("GroupId"))
94400	}
94401
94402	if invalidParams.Len() > 0 {
94403		return invalidParams
94404	}
94405	return nil
94406}
94407
94408// SetCidrIp sets the CidrIp field's value.
94409func (s *RevokeSecurityGroupEgressInput) SetCidrIp(v string) *RevokeSecurityGroupEgressInput {
94410	s.CidrIp = &v
94411	return s
94412}
94413
94414// SetDryRun sets the DryRun field's value.
94415func (s *RevokeSecurityGroupEgressInput) SetDryRun(v bool) *RevokeSecurityGroupEgressInput {
94416	s.DryRun = &v
94417	return s
94418}
94419
94420// SetFromPort sets the FromPort field's value.
94421func (s *RevokeSecurityGroupEgressInput) SetFromPort(v int64) *RevokeSecurityGroupEgressInput {
94422	s.FromPort = &v
94423	return s
94424}
94425
94426// SetGroupId sets the GroupId field's value.
94427func (s *RevokeSecurityGroupEgressInput) SetGroupId(v string) *RevokeSecurityGroupEgressInput {
94428	s.GroupId = &v
94429	return s
94430}
94431
94432// SetIpPermissions sets the IpPermissions field's value.
94433func (s *RevokeSecurityGroupEgressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupEgressInput {
94434	s.IpPermissions = v
94435	return s
94436}
94437
94438// SetIpProtocol sets the IpProtocol field's value.
94439func (s *RevokeSecurityGroupEgressInput) SetIpProtocol(v string) *RevokeSecurityGroupEgressInput {
94440	s.IpProtocol = &v
94441	return s
94442}
94443
94444// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
94445func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupEgressInput {
94446	s.SourceSecurityGroupName = &v
94447	return s
94448}
94449
94450// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
94451func (s *RevokeSecurityGroupEgressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupEgressInput {
94452	s.SourceSecurityGroupOwnerId = &v
94453	return s
94454}
94455
94456// SetToPort sets the ToPort field's value.
94457func (s *RevokeSecurityGroupEgressInput) SetToPort(v int64) *RevokeSecurityGroupEgressInput {
94458	s.ToPort = &v
94459	return s
94460}
94461
94462type RevokeSecurityGroupEgressOutput struct {
94463	_ struct{} `type:"structure"`
94464}
94465
94466// String returns the string representation
94467func (s RevokeSecurityGroupEgressOutput) String() string {
94468	return awsutil.Prettify(s)
94469}
94470
94471// GoString returns the string representation
94472func (s RevokeSecurityGroupEgressOutput) GoString() string {
94473	return s.String()
94474}
94475
94476type RevokeSecurityGroupIngressInput struct {
94477	_ struct{} `type:"structure"`
94478
94479	// The CIDR IP address range. You can't specify this parameter when specifying
94480	// a source security group.
94481	CidrIp *string `type:"string"`
94482
94483	// Checks whether you have the required permissions for the action, without
94484	// actually making the request, and provides an error response. If you have
94485	// the required permissions, the error response is DryRunOperation. Otherwise,
94486	// it is UnauthorizedOperation.
94487	DryRun *bool `locationName:"dryRun" type:"boolean"`
94488
94489	// The start of port range for the TCP and UDP protocols, or an ICMP type number.
94490	// For the ICMP type number, use -1 to specify all ICMP types.
94491	FromPort *int64 `type:"integer"`
94492
94493	// The ID of the security group. You must specify either the security group
94494	// ID or the security group name in the request. For security groups in a nondefault
94495	// VPC, you must specify the security group ID.
94496	GroupId *string `type:"string"`
94497
94498	// [EC2-Classic, default VPC] The name of the security group. You must specify
94499	// either the security group ID or the security group name in the request.
94500	GroupName *string `type:"string"`
94501
94502	// The sets of IP permissions. You can't specify a source security group and
94503	// a CIDR IP address range in the same set of permissions.
94504	IpPermissions []*IpPermission `locationNameList:"item" type:"list"`
94505
94506	// The IP protocol name (tcp, udp, icmp) or number (see Protocol Numbers (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml)).
94507	// Use -1 to specify all.
94508	IpProtocol *string `type:"string"`
94509
94510	// [EC2-Classic, default VPC] The name of the source security group. You can't
94511	// specify this parameter in combination with the following parameters: the
94512	// CIDR IP address range, the start of the port range, the IP protocol, and
94513	// the end of the port range. For EC2-VPC, the source security group must be
94514	// in the same VPC. To revoke a specific rule for an IP protocol and port range,
94515	// use a set of IP permissions instead.
94516	SourceSecurityGroupName *string `type:"string"`
94517
94518	// [EC2-Classic] The AWS account ID of the source security group, if the source
94519	// security group is in a different account. You can't specify this parameter
94520	// in combination with the following parameters: the CIDR IP address range,
94521	// the IP protocol, the start of the port range, and the end of the port range.
94522	// To revoke a specific rule for an IP protocol and port range, use a set of
94523	// IP permissions instead.
94524	SourceSecurityGroupOwnerId *string `type:"string"`
94525
94526	// The end of port range for the TCP and UDP protocols, or an ICMP code number.
94527	// For the ICMP code number, use -1 to specify all ICMP codes for the ICMP type.
94528	ToPort *int64 `type:"integer"`
94529}
94530
94531// String returns the string representation
94532func (s RevokeSecurityGroupIngressInput) String() string {
94533	return awsutil.Prettify(s)
94534}
94535
94536// GoString returns the string representation
94537func (s RevokeSecurityGroupIngressInput) GoString() string {
94538	return s.String()
94539}
94540
94541// SetCidrIp sets the CidrIp field's value.
94542func (s *RevokeSecurityGroupIngressInput) SetCidrIp(v string) *RevokeSecurityGroupIngressInput {
94543	s.CidrIp = &v
94544	return s
94545}
94546
94547// SetDryRun sets the DryRun field's value.
94548func (s *RevokeSecurityGroupIngressInput) SetDryRun(v bool) *RevokeSecurityGroupIngressInput {
94549	s.DryRun = &v
94550	return s
94551}
94552
94553// SetFromPort sets the FromPort field's value.
94554func (s *RevokeSecurityGroupIngressInput) SetFromPort(v int64) *RevokeSecurityGroupIngressInput {
94555	s.FromPort = &v
94556	return s
94557}
94558
94559// SetGroupId sets the GroupId field's value.
94560func (s *RevokeSecurityGroupIngressInput) SetGroupId(v string) *RevokeSecurityGroupIngressInput {
94561	s.GroupId = &v
94562	return s
94563}
94564
94565// SetGroupName sets the GroupName field's value.
94566func (s *RevokeSecurityGroupIngressInput) SetGroupName(v string) *RevokeSecurityGroupIngressInput {
94567	s.GroupName = &v
94568	return s
94569}
94570
94571// SetIpPermissions sets the IpPermissions field's value.
94572func (s *RevokeSecurityGroupIngressInput) SetIpPermissions(v []*IpPermission) *RevokeSecurityGroupIngressInput {
94573	s.IpPermissions = v
94574	return s
94575}
94576
94577// SetIpProtocol sets the IpProtocol field's value.
94578func (s *RevokeSecurityGroupIngressInput) SetIpProtocol(v string) *RevokeSecurityGroupIngressInput {
94579	s.IpProtocol = &v
94580	return s
94581}
94582
94583// SetSourceSecurityGroupName sets the SourceSecurityGroupName field's value.
94584func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupName(v string) *RevokeSecurityGroupIngressInput {
94585	s.SourceSecurityGroupName = &v
94586	return s
94587}
94588
94589// SetSourceSecurityGroupOwnerId sets the SourceSecurityGroupOwnerId field's value.
94590func (s *RevokeSecurityGroupIngressInput) SetSourceSecurityGroupOwnerId(v string) *RevokeSecurityGroupIngressInput {
94591	s.SourceSecurityGroupOwnerId = &v
94592	return s
94593}
94594
94595// SetToPort sets the ToPort field's value.
94596func (s *RevokeSecurityGroupIngressInput) SetToPort(v int64) *RevokeSecurityGroupIngressInput {
94597	s.ToPort = &v
94598	return s
94599}
94600
94601type RevokeSecurityGroupIngressOutput struct {
94602	_ struct{} `type:"structure"`
94603}
94604
94605// String returns the string representation
94606func (s RevokeSecurityGroupIngressOutput) String() string {
94607	return awsutil.Prettify(s)
94608}
94609
94610// GoString returns the string representation
94611func (s RevokeSecurityGroupIngressOutput) GoString() string {
94612	return s.String()
94613}
94614
94615// Describes a route in a route table.
94616type Route struct {
94617	_ struct{} `type:"structure"`
94618
94619	// The IPv4 CIDR block used for the destination match.
94620	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
94621
94622	// The IPv6 CIDR block used for the destination match.
94623	DestinationIpv6CidrBlock *string `locationName:"destinationIpv6CidrBlock" type:"string"`
94624
94625	// The prefix of the AWS service.
94626	DestinationPrefixListId *string `locationName:"destinationPrefixListId" type:"string"`
94627
94628	// The ID of the egress-only internet gateway.
94629	EgressOnlyInternetGatewayId *string `locationName:"egressOnlyInternetGatewayId" type:"string"`
94630
94631	// The ID of a gateway attached to your VPC.
94632	GatewayId *string `locationName:"gatewayId" type:"string"`
94633
94634	// The ID of a NAT instance in your VPC.
94635	InstanceId *string `locationName:"instanceId" type:"string"`
94636
94637	// The AWS account ID of the owner of the instance.
94638	InstanceOwnerId *string `locationName:"instanceOwnerId" type:"string"`
94639
94640	// The ID of the local gateway.
94641	LocalGatewayId *string `locationName:"localGatewayId" type:"string"`
94642
94643	// The ID of a NAT gateway.
94644	NatGatewayId *string `locationName:"natGatewayId" type:"string"`
94645
94646	// The ID of the network interface.
94647	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
94648
94649	// Describes how the route was created.
94650	//
94651	//    * CreateRouteTable - The route was automatically created when the route
94652	//    table was created.
94653	//
94654	//    * CreateRoute - The route was manually added to the route table.
94655	//
94656	//    * EnableVgwRoutePropagation - The route was propagated by route propagation.
94657	Origin *string `locationName:"origin" type:"string" enum:"RouteOrigin"`
94658
94659	// The state of the route. The blackhole state indicates that the route's target
94660	// isn't available (for example, the specified gateway isn't attached to the
94661	// VPC, or the specified NAT instance has been terminated).
94662	State *string `locationName:"state" type:"string" enum:"RouteState"`
94663
94664	// The ID of a transit gateway.
94665	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
94666
94667	// The ID of a VPC peering connection.
94668	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
94669}
94670
94671// String returns the string representation
94672func (s Route) String() string {
94673	return awsutil.Prettify(s)
94674}
94675
94676// GoString returns the string representation
94677func (s Route) GoString() string {
94678	return s.String()
94679}
94680
94681// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
94682func (s *Route) SetDestinationCidrBlock(v string) *Route {
94683	s.DestinationCidrBlock = &v
94684	return s
94685}
94686
94687// SetDestinationIpv6CidrBlock sets the DestinationIpv6CidrBlock field's value.
94688func (s *Route) SetDestinationIpv6CidrBlock(v string) *Route {
94689	s.DestinationIpv6CidrBlock = &v
94690	return s
94691}
94692
94693// SetDestinationPrefixListId sets the DestinationPrefixListId field's value.
94694func (s *Route) SetDestinationPrefixListId(v string) *Route {
94695	s.DestinationPrefixListId = &v
94696	return s
94697}
94698
94699// SetEgressOnlyInternetGatewayId sets the EgressOnlyInternetGatewayId field's value.
94700func (s *Route) SetEgressOnlyInternetGatewayId(v string) *Route {
94701	s.EgressOnlyInternetGatewayId = &v
94702	return s
94703}
94704
94705// SetGatewayId sets the GatewayId field's value.
94706func (s *Route) SetGatewayId(v string) *Route {
94707	s.GatewayId = &v
94708	return s
94709}
94710
94711// SetInstanceId sets the InstanceId field's value.
94712func (s *Route) SetInstanceId(v string) *Route {
94713	s.InstanceId = &v
94714	return s
94715}
94716
94717// SetInstanceOwnerId sets the InstanceOwnerId field's value.
94718func (s *Route) SetInstanceOwnerId(v string) *Route {
94719	s.InstanceOwnerId = &v
94720	return s
94721}
94722
94723// SetLocalGatewayId sets the LocalGatewayId field's value.
94724func (s *Route) SetLocalGatewayId(v string) *Route {
94725	s.LocalGatewayId = &v
94726	return s
94727}
94728
94729// SetNatGatewayId sets the NatGatewayId field's value.
94730func (s *Route) SetNatGatewayId(v string) *Route {
94731	s.NatGatewayId = &v
94732	return s
94733}
94734
94735// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
94736func (s *Route) SetNetworkInterfaceId(v string) *Route {
94737	s.NetworkInterfaceId = &v
94738	return s
94739}
94740
94741// SetOrigin sets the Origin field's value.
94742func (s *Route) SetOrigin(v string) *Route {
94743	s.Origin = &v
94744	return s
94745}
94746
94747// SetState sets the State field's value.
94748func (s *Route) SetState(v string) *Route {
94749	s.State = &v
94750	return s
94751}
94752
94753// SetTransitGatewayId sets the TransitGatewayId field's value.
94754func (s *Route) SetTransitGatewayId(v string) *Route {
94755	s.TransitGatewayId = &v
94756	return s
94757}
94758
94759// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
94760func (s *Route) SetVpcPeeringConnectionId(v string) *Route {
94761	s.VpcPeeringConnectionId = &v
94762	return s
94763}
94764
94765// Describes a route table.
94766type RouteTable struct {
94767	_ struct{} `type:"structure"`
94768
94769	// The associations between the route table and one or more subnets or a gateway.
94770	Associations []*RouteTableAssociation `locationName:"associationSet" locationNameList:"item" type:"list"`
94771
94772	// The ID of the AWS account that owns the route table.
94773	OwnerId *string `locationName:"ownerId" type:"string"`
94774
94775	// Any virtual private gateway (VGW) propagating routes.
94776	PropagatingVgws []*PropagatingVgw `locationName:"propagatingVgwSet" locationNameList:"item" type:"list"`
94777
94778	// The ID of the route table.
94779	RouteTableId *string `locationName:"routeTableId" type:"string"`
94780
94781	// The routes in the route table.
94782	Routes []*Route `locationName:"routeSet" locationNameList:"item" type:"list"`
94783
94784	// Any tags assigned to the route table.
94785	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
94786
94787	// The ID of the VPC.
94788	VpcId *string `locationName:"vpcId" type:"string"`
94789}
94790
94791// String returns the string representation
94792func (s RouteTable) String() string {
94793	return awsutil.Prettify(s)
94794}
94795
94796// GoString returns the string representation
94797func (s RouteTable) GoString() string {
94798	return s.String()
94799}
94800
94801// SetAssociations sets the Associations field's value.
94802func (s *RouteTable) SetAssociations(v []*RouteTableAssociation) *RouteTable {
94803	s.Associations = v
94804	return s
94805}
94806
94807// SetOwnerId sets the OwnerId field's value.
94808func (s *RouteTable) SetOwnerId(v string) *RouteTable {
94809	s.OwnerId = &v
94810	return s
94811}
94812
94813// SetPropagatingVgws sets the PropagatingVgws field's value.
94814func (s *RouteTable) SetPropagatingVgws(v []*PropagatingVgw) *RouteTable {
94815	s.PropagatingVgws = v
94816	return s
94817}
94818
94819// SetRouteTableId sets the RouteTableId field's value.
94820func (s *RouteTable) SetRouteTableId(v string) *RouteTable {
94821	s.RouteTableId = &v
94822	return s
94823}
94824
94825// SetRoutes sets the Routes field's value.
94826func (s *RouteTable) SetRoutes(v []*Route) *RouteTable {
94827	s.Routes = v
94828	return s
94829}
94830
94831// SetTags sets the Tags field's value.
94832func (s *RouteTable) SetTags(v []*Tag) *RouteTable {
94833	s.Tags = v
94834	return s
94835}
94836
94837// SetVpcId sets the VpcId field's value.
94838func (s *RouteTable) SetVpcId(v string) *RouteTable {
94839	s.VpcId = &v
94840	return s
94841}
94842
94843// Describes an association between a route table and a subnet or gateway.
94844type RouteTableAssociation struct {
94845	_ struct{} `type:"structure"`
94846
94847	// The state of the association.
94848	AssociationState *RouteTableAssociationState `locationName:"associationState" type:"structure"`
94849
94850	// The ID of the internet gateway or virtual private gateway.
94851	GatewayId *string `locationName:"gatewayId" type:"string"`
94852
94853	// Indicates whether this is the main route table.
94854	Main *bool `locationName:"main" type:"boolean"`
94855
94856	// The ID of the association.
94857	RouteTableAssociationId *string `locationName:"routeTableAssociationId" type:"string"`
94858
94859	// The ID of the route table.
94860	RouteTableId *string `locationName:"routeTableId" type:"string"`
94861
94862	// The ID of the subnet. A subnet ID is not returned for an implicit association.
94863	SubnetId *string `locationName:"subnetId" type:"string"`
94864}
94865
94866// String returns the string representation
94867func (s RouteTableAssociation) String() string {
94868	return awsutil.Prettify(s)
94869}
94870
94871// GoString returns the string representation
94872func (s RouteTableAssociation) GoString() string {
94873	return s.String()
94874}
94875
94876// SetAssociationState sets the AssociationState field's value.
94877func (s *RouteTableAssociation) SetAssociationState(v *RouteTableAssociationState) *RouteTableAssociation {
94878	s.AssociationState = v
94879	return s
94880}
94881
94882// SetGatewayId sets the GatewayId field's value.
94883func (s *RouteTableAssociation) SetGatewayId(v string) *RouteTableAssociation {
94884	s.GatewayId = &v
94885	return s
94886}
94887
94888// SetMain sets the Main field's value.
94889func (s *RouteTableAssociation) SetMain(v bool) *RouteTableAssociation {
94890	s.Main = &v
94891	return s
94892}
94893
94894// SetRouteTableAssociationId sets the RouteTableAssociationId field's value.
94895func (s *RouteTableAssociation) SetRouteTableAssociationId(v string) *RouteTableAssociation {
94896	s.RouteTableAssociationId = &v
94897	return s
94898}
94899
94900// SetRouteTableId sets the RouteTableId field's value.
94901func (s *RouteTableAssociation) SetRouteTableId(v string) *RouteTableAssociation {
94902	s.RouteTableId = &v
94903	return s
94904}
94905
94906// SetSubnetId sets the SubnetId field's value.
94907func (s *RouteTableAssociation) SetSubnetId(v string) *RouteTableAssociation {
94908	s.SubnetId = &v
94909	return s
94910}
94911
94912// Describes the state of an association between a route table and a subnet
94913// or gateway.
94914type RouteTableAssociationState struct {
94915	_ struct{} `type:"structure"`
94916
94917	// The state of the association.
94918	State *string `locationName:"state" type:"string" enum:"RouteTableAssociationStateCode"`
94919
94920	// The status message, if applicable.
94921	StatusMessage *string `locationName:"statusMessage" type:"string"`
94922}
94923
94924// String returns the string representation
94925func (s RouteTableAssociationState) String() string {
94926	return awsutil.Prettify(s)
94927}
94928
94929// GoString returns the string representation
94930func (s RouteTableAssociationState) GoString() string {
94931	return s.String()
94932}
94933
94934// SetState sets the State field's value.
94935func (s *RouteTableAssociationState) SetState(v string) *RouteTableAssociationState {
94936	s.State = &v
94937	return s
94938}
94939
94940// SetStatusMessage sets the StatusMessage field's value.
94941func (s *RouteTableAssociationState) SetStatusMessage(v string) *RouteTableAssociationState {
94942	s.StatusMessage = &v
94943	return s
94944}
94945
94946type RunInstancesInput struct {
94947	_ struct{} `type:"structure"`
94948
94949	// Reserved.
94950	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
94951
94952	// The block device mapping entries.
94953	BlockDeviceMappings []*BlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
94954
94955	// Information about the Capacity Reservation targeting option. If you do not
94956	// specify this parameter, the instance's Capacity Reservation preference defaults
94957	// to open, which enables it to run in any open Capacity Reservation that has
94958	// matching attributes (instance type, platform, Availability Zone).
94959	CapacityReservationSpecification *CapacityReservationSpecification `type:"structure"`
94960
94961	// Unique, case-sensitive identifier you provide to ensure the idempotency of
94962	// the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
94963	//
94964	// Constraints: Maximum 64 ASCII characters
94965	ClientToken *string `locationName:"clientToken" type:"string"`
94966
94967	// The CPU options for the instance. For more information, see Optimizing CPU
94968	// Options (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html)
94969	// in the Amazon Elastic Compute Cloud User Guide.
94970	CpuOptions *CpuOptionsRequest `type:"structure"`
94971
94972	// The credit option for CPU usage of the burstable performance instance. Valid
94973	// values are standard and unlimited. To change this attribute after launch,
94974	// use ModifyInstanceCreditSpecification (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceCreditSpecification.html).
94975	// For more information, see Burstable Performance Instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html)
94976	// in the Amazon Elastic Compute Cloud User Guide.
94977	//
94978	// Default: standard (T2 instances) or unlimited (T3/T3a instances)
94979	CreditSpecification *CreditSpecificationRequest `type:"structure"`
94980
94981	// If you set this parameter to true, you can't terminate the instance using
94982	// the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute
94983	// after launch, use ModifyInstanceAttribute (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html).
94984	// Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate,
94985	// you can terminate the instance by running the shutdown command from the instance.
94986	//
94987	// Default: false
94988	DisableApiTermination *bool `locationName:"disableApiTermination" type:"boolean"`
94989
94990	// Checks whether you have the required permissions for the action, without
94991	// actually making the request, and provides an error response. If you have
94992	// the required permissions, the error response is DryRunOperation. Otherwise,
94993	// it is UnauthorizedOperation.
94994	DryRun *bool `locationName:"dryRun" type:"boolean"`
94995
94996	// Indicates whether the instance is optimized for Amazon EBS I/O. This optimization
94997	// provides dedicated throughput to Amazon EBS and an optimized configuration
94998	// stack to provide optimal Amazon EBS I/O performance. This optimization isn't
94999	// available with all instance types. Additional usage charges apply when using
95000	// an EBS-optimized instance.
95001	//
95002	// Default: false
95003	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
95004
95005	// An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource
95006	// that you can attach to your Windows instance to accelerate the graphics performance
95007	// of your applications. For more information, see Amazon EC2 Elastic GPUs (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html)
95008	// in the Amazon Elastic Compute Cloud User Guide.
95009	ElasticGpuSpecification []*ElasticGpuSpecification `locationNameList:"item" type:"list"`
95010
95011	// An elastic inference accelerator to associate with the instance. Elastic
95012	// inference accelerators are a resource you can attach to your Amazon EC2 instances
95013	// to accelerate your Deep Learning (DL) inference workloads.
95014	ElasticInferenceAccelerators []*ElasticInferenceAccelerator `locationName:"ElasticInferenceAccelerator" locationNameList:"item" type:"list"`
95015
95016	// Indicates whether an instance is enabled for hibernation. For more information,
95017	// see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
95018	// in the Amazon Elastic Compute Cloud User Guide.
95019	HibernationOptions *HibernationOptionsRequest `type:"structure"`
95020
95021	// The IAM instance profile.
95022	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
95023
95024	// The ID of the AMI. An AMI ID is required to launch an instance and must be
95025	// specified here or in a launch template.
95026	ImageId *string `type:"string"`
95027
95028	// Indicates whether an instance stops or terminates when you initiate shutdown
95029	// from the instance (using the operating system command for system shutdown).
95030	//
95031	// Default: stop
95032	InstanceInitiatedShutdownBehavior *string `locationName:"instanceInitiatedShutdownBehavior" type:"string" enum:"ShutdownBehavior"`
95033
95034	// The market (purchasing) option for the instances.
95035	//
95036	// For RunInstances, persistent Spot Instance requests are only supported when
95037	// InstanceInterruptionBehavior is set to either hibernate or stop.
95038	InstanceMarketOptions *InstanceMarketOptionsRequest `type:"structure"`
95039
95040	// The instance type. For more information, see Instance Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)
95041	// in the Amazon Elastic Compute Cloud User Guide.
95042	//
95043	// Default: m1.small
95044	InstanceType *string `type:"string" enum:"InstanceType"`
95045
95046	// [EC2-VPC] The number of IPv6 addresses to associate with the primary network
95047	// interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
95048	// You cannot specify this option and the option to assign specific IPv6 addresses
95049	// in the same request. You can specify this option if you've specified a minimum
95050	// number of instances to launch.
95051	//
95052	// You cannot specify this option and the network interfaces option in the same
95053	// request.
95054	Ipv6AddressCount *int64 `type:"integer"`
95055
95056	// [EC2-VPC] The IPv6 addresses from the range of the subnet to associate with
95057	// the primary network interface. You cannot specify this option and the option
95058	// to assign a number of IPv6 addresses in the same request. You cannot specify
95059	// this option if you've specified a minimum number of instances to launch.
95060	//
95061	// You cannot specify this option and the network interfaces option in the same
95062	// request.
95063	Ipv6Addresses []*InstanceIpv6Address `locationName:"Ipv6Address" locationNameList:"item" type:"list"`
95064
95065	// The ID of the kernel.
95066	//
95067	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
95068	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
95069	// in the Amazon Elastic Compute Cloud User Guide.
95070	KernelId *string `type:"string"`
95071
95072	// 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)
95073	// or ImportKeyPair (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html).
95074	//
95075	// If you do not specify a key pair, you can't connect to the instance unless
95076	// you choose an AMI that is configured to allow users another way to log in.
95077	KeyName *string `type:"string"`
95078
95079	// The launch template to use to launch the instances. Any parameters that you
95080	// specify in RunInstances override the same parameters in the launch template.
95081	// You can specify either the name or ID of a launch template, but not both.
95082	LaunchTemplate *LaunchTemplateSpecification `type:"structure"`
95083
95084	// The license configurations.
95085	LicenseSpecifications []*LicenseConfigurationRequest `locationName:"LicenseSpecification" locationNameList:"item" type:"list"`
95086
95087	// The maximum number of instances to launch. If you specify more instances
95088	// than Amazon EC2 can launch in the target Availability Zone, Amazon EC2 launches
95089	// the largest possible number of instances above MinCount.
95090	//
95091	// Constraints: Between 1 and the maximum number you're allowed for the specified
95092	// instance type. For more information about the default limits, and how to
95093	// 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)
95094	// in the Amazon EC2 FAQ.
95095	//
95096	// MaxCount is a required field
95097	MaxCount *int64 `type:"integer" required:"true"`
95098
95099	// The metadata options for the instance. For more information, see Instance
95100	// Metadata and User Data (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html).
95101	MetadataOptions *InstanceMetadataOptionsRequest `type:"structure"`
95102
95103	// The minimum number of instances to launch. If you specify a minimum that
95104	// is more instances than Amazon EC2 can launch in the target Availability Zone,
95105	// Amazon EC2 launches no instances.
95106	//
95107	// Constraints: Between 1 and the maximum number you're allowed for the specified
95108	// instance type. For more information about the default limits, and how to
95109	// 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)
95110	// in the Amazon EC2 General FAQ.
95111	//
95112	// MinCount is a required field
95113	MinCount *int64 `type:"integer" required:"true"`
95114
95115	// Specifies whether detailed monitoring is enabled for the instance.
95116	Monitoring *RunInstancesMonitoringEnabled `type:"structure"`
95117
95118	// The network interfaces to associate with the instance. If you specify a network
95119	// interface, you must specify any security groups and subnets as part of the
95120	// network interface.
95121	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterface" locationNameList:"item" type:"list"`
95122
95123	// The placement for the instance.
95124	Placement *Placement `type:"structure"`
95125
95126	// [EC2-VPC] The primary IPv4 address. You must specify a value from the IPv4
95127	// address range of the subnet.
95128	//
95129	// Only one private IP address can be designated as primary. You can't specify
95130	// this option if you've specified the option to designate a private IP address
95131	// as the primary IP address in a network interface specification. You cannot
95132	// specify this option if you're launching more than one instance in the request.
95133	//
95134	// You cannot specify this option and the network interfaces option in the same
95135	// request.
95136	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
95137
95138	// The ID of the RAM disk to select. Some kernels require additional drivers
95139	// at launch. Check the kernel requirements for information about whether you
95140	// need to specify a RAM disk. To find kernel requirements, go to the AWS Resource
95141	// Center and search for the kernel ID.
95142	//
95143	// We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
95144	// information, see PV-GRUB (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html)
95145	// in the Amazon Elastic Compute Cloud User Guide.
95146	RamdiskId *string `type:"string"`
95147
95148	// The IDs of the security groups. You can create a security group using CreateSecurityGroup
95149	// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html).
95150	//
95151	// If you specify a network interface, you must specify any security groups
95152	// as part of the network interface.
95153	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
95154
95155	// [EC2-Classic, default VPC] The names of the security groups. For a nondefault
95156	// VPC, you must use security group IDs instead.
95157	//
95158	// If you specify a network interface, you must specify any security groups
95159	// as part of the network interface.
95160	//
95161	// Default: Amazon EC2 uses the default security group.
95162	SecurityGroups []*string `locationName:"SecurityGroup" locationNameList:"SecurityGroup" type:"list"`
95163
95164	// [EC2-VPC] The ID of the subnet to launch the instance into.
95165	//
95166	// If you specify a network interface, you must specify any subnets as part
95167	// of the network interface.
95168	SubnetId *string `type:"string"`
95169
95170	// The tags to apply to the resources during launch. You can only tag instances
95171	// and volumes on launch. The specified tags are applied to all instances or
95172	// volumes that are created during launch. To tag a resource after it has been
95173	// created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
95174	TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"`
95175
95176	// The user data to make available to the instance. For more information, see
95177	// Running Commands on Your Linux Instance at Launch (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html)
95178	// (Linux) and Adding User Data (https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data)
95179	// (Windows). If you are using a command line tool, base64-encoding is performed
95180	// for you, and you can load the text from a file. Otherwise, you must provide
95181	// base64-encoded text. User data is limited to 16 KB.
95182	UserData *string `type:"string"`
95183}
95184
95185// String returns the string representation
95186func (s RunInstancesInput) String() string {
95187	return awsutil.Prettify(s)
95188}
95189
95190// GoString returns the string representation
95191func (s RunInstancesInput) GoString() string {
95192	return s.String()
95193}
95194
95195// Validate inspects the fields of the type to determine if they are valid.
95196func (s *RunInstancesInput) Validate() error {
95197	invalidParams := request.ErrInvalidParams{Context: "RunInstancesInput"}
95198	if s.MaxCount == nil {
95199		invalidParams.Add(request.NewErrParamRequired("MaxCount"))
95200	}
95201	if s.MinCount == nil {
95202		invalidParams.Add(request.NewErrParamRequired("MinCount"))
95203	}
95204	if s.CreditSpecification != nil {
95205		if err := s.CreditSpecification.Validate(); err != nil {
95206			invalidParams.AddNested("CreditSpecification", err.(request.ErrInvalidParams))
95207		}
95208	}
95209	if s.ElasticGpuSpecification != nil {
95210		for i, v := range s.ElasticGpuSpecification {
95211			if v == nil {
95212				continue
95213			}
95214			if err := v.Validate(); err != nil {
95215				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticGpuSpecification", i), err.(request.ErrInvalidParams))
95216			}
95217		}
95218	}
95219	if s.ElasticInferenceAccelerators != nil {
95220		for i, v := range s.ElasticInferenceAccelerators {
95221			if v == nil {
95222				continue
95223			}
95224			if err := v.Validate(); err != nil {
95225				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ElasticInferenceAccelerators", i), err.(request.ErrInvalidParams))
95226			}
95227		}
95228	}
95229	if s.Monitoring != nil {
95230		if err := s.Monitoring.Validate(); err != nil {
95231			invalidParams.AddNested("Monitoring", err.(request.ErrInvalidParams))
95232		}
95233	}
95234
95235	if invalidParams.Len() > 0 {
95236		return invalidParams
95237	}
95238	return nil
95239}
95240
95241// SetAdditionalInfo sets the AdditionalInfo field's value.
95242func (s *RunInstancesInput) SetAdditionalInfo(v string) *RunInstancesInput {
95243	s.AdditionalInfo = &v
95244	return s
95245}
95246
95247// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
95248func (s *RunInstancesInput) SetBlockDeviceMappings(v []*BlockDeviceMapping) *RunInstancesInput {
95249	s.BlockDeviceMappings = v
95250	return s
95251}
95252
95253// SetCapacityReservationSpecification sets the CapacityReservationSpecification field's value.
95254func (s *RunInstancesInput) SetCapacityReservationSpecification(v *CapacityReservationSpecification) *RunInstancesInput {
95255	s.CapacityReservationSpecification = v
95256	return s
95257}
95258
95259// SetClientToken sets the ClientToken field's value.
95260func (s *RunInstancesInput) SetClientToken(v string) *RunInstancesInput {
95261	s.ClientToken = &v
95262	return s
95263}
95264
95265// SetCpuOptions sets the CpuOptions field's value.
95266func (s *RunInstancesInput) SetCpuOptions(v *CpuOptionsRequest) *RunInstancesInput {
95267	s.CpuOptions = v
95268	return s
95269}
95270
95271// SetCreditSpecification sets the CreditSpecification field's value.
95272func (s *RunInstancesInput) SetCreditSpecification(v *CreditSpecificationRequest) *RunInstancesInput {
95273	s.CreditSpecification = v
95274	return s
95275}
95276
95277// SetDisableApiTermination sets the DisableApiTermination field's value.
95278func (s *RunInstancesInput) SetDisableApiTermination(v bool) *RunInstancesInput {
95279	s.DisableApiTermination = &v
95280	return s
95281}
95282
95283// SetDryRun sets the DryRun field's value.
95284func (s *RunInstancesInput) SetDryRun(v bool) *RunInstancesInput {
95285	s.DryRun = &v
95286	return s
95287}
95288
95289// SetEbsOptimized sets the EbsOptimized field's value.
95290func (s *RunInstancesInput) SetEbsOptimized(v bool) *RunInstancesInput {
95291	s.EbsOptimized = &v
95292	return s
95293}
95294
95295// SetElasticGpuSpecification sets the ElasticGpuSpecification field's value.
95296func (s *RunInstancesInput) SetElasticGpuSpecification(v []*ElasticGpuSpecification) *RunInstancesInput {
95297	s.ElasticGpuSpecification = v
95298	return s
95299}
95300
95301// SetElasticInferenceAccelerators sets the ElasticInferenceAccelerators field's value.
95302func (s *RunInstancesInput) SetElasticInferenceAccelerators(v []*ElasticInferenceAccelerator) *RunInstancesInput {
95303	s.ElasticInferenceAccelerators = v
95304	return s
95305}
95306
95307// SetHibernationOptions sets the HibernationOptions field's value.
95308func (s *RunInstancesInput) SetHibernationOptions(v *HibernationOptionsRequest) *RunInstancesInput {
95309	s.HibernationOptions = v
95310	return s
95311}
95312
95313// SetIamInstanceProfile sets the IamInstanceProfile field's value.
95314func (s *RunInstancesInput) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *RunInstancesInput {
95315	s.IamInstanceProfile = v
95316	return s
95317}
95318
95319// SetImageId sets the ImageId field's value.
95320func (s *RunInstancesInput) SetImageId(v string) *RunInstancesInput {
95321	s.ImageId = &v
95322	return s
95323}
95324
95325// SetInstanceInitiatedShutdownBehavior sets the InstanceInitiatedShutdownBehavior field's value.
95326func (s *RunInstancesInput) SetInstanceInitiatedShutdownBehavior(v string) *RunInstancesInput {
95327	s.InstanceInitiatedShutdownBehavior = &v
95328	return s
95329}
95330
95331// SetInstanceMarketOptions sets the InstanceMarketOptions field's value.
95332func (s *RunInstancesInput) SetInstanceMarketOptions(v *InstanceMarketOptionsRequest) *RunInstancesInput {
95333	s.InstanceMarketOptions = v
95334	return s
95335}
95336
95337// SetInstanceType sets the InstanceType field's value.
95338func (s *RunInstancesInput) SetInstanceType(v string) *RunInstancesInput {
95339	s.InstanceType = &v
95340	return s
95341}
95342
95343// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
95344func (s *RunInstancesInput) SetIpv6AddressCount(v int64) *RunInstancesInput {
95345	s.Ipv6AddressCount = &v
95346	return s
95347}
95348
95349// SetIpv6Addresses sets the Ipv6Addresses field's value.
95350func (s *RunInstancesInput) SetIpv6Addresses(v []*InstanceIpv6Address) *RunInstancesInput {
95351	s.Ipv6Addresses = v
95352	return s
95353}
95354
95355// SetKernelId sets the KernelId field's value.
95356func (s *RunInstancesInput) SetKernelId(v string) *RunInstancesInput {
95357	s.KernelId = &v
95358	return s
95359}
95360
95361// SetKeyName sets the KeyName field's value.
95362func (s *RunInstancesInput) SetKeyName(v string) *RunInstancesInput {
95363	s.KeyName = &v
95364	return s
95365}
95366
95367// SetLaunchTemplate sets the LaunchTemplate field's value.
95368func (s *RunInstancesInput) SetLaunchTemplate(v *LaunchTemplateSpecification) *RunInstancesInput {
95369	s.LaunchTemplate = v
95370	return s
95371}
95372
95373// SetLicenseSpecifications sets the LicenseSpecifications field's value.
95374func (s *RunInstancesInput) SetLicenseSpecifications(v []*LicenseConfigurationRequest) *RunInstancesInput {
95375	s.LicenseSpecifications = v
95376	return s
95377}
95378
95379// SetMaxCount sets the MaxCount field's value.
95380func (s *RunInstancesInput) SetMaxCount(v int64) *RunInstancesInput {
95381	s.MaxCount = &v
95382	return s
95383}
95384
95385// SetMetadataOptions sets the MetadataOptions field's value.
95386func (s *RunInstancesInput) SetMetadataOptions(v *InstanceMetadataOptionsRequest) *RunInstancesInput {
95387	s.MetadataOptions = v
95388	return s
95389}
95390
95391// SetMinCount sets the MinCount field's value.
95392func (s *RunInstancesInput) SetMinCount(v int64) *RunInstancesInput {
95393	s.MinCount = &v
95394	return s
95395}
95396
95397// SetMonitoring sets the Monitoring field's value.
95398func (s *RunInstancesInput) SetMonitoring(v *RunInstancesMonitoringEnabled) *RunInstancesInput {
95399	s.Monitoring = v
95400	return s
95401}
95402
95403// SetNetworkInterfaces sets the NetworkInterfaces field's value.
95404func (s *RunInstancesInput) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *RunInstancesInput {
95405	s.NetworkInterfaces = v
95406	return s
95407}
95408
95409// SetPlacement sets the Placement field's value.
95410func (s *RunInstancesInput) SetPlacement(v *Placement) *RunInstancesInput {
95411	s.Placement = v
95412	return s
95413}
95414
95415// SetPrivateIpAddress sets the PrivateIpAddress field's value.
95416func (s *RunInstancesInput) SetPrivateIpAddress(v string) *RunInstancesInput {
95417	s.PrivateIpAddress = &v
95418	return s
95419}
95420
95421// SetRamdiskId sets the RamdiskId field's value.
95422func (s *RunInstancesInput) SetRamdiskId(v string) *RunInstancesInput {
95423	s.RamdiskId = &v
95424	return s
95425}
95426
95427// SetSecurityGroupIds sets the SecurityGroupIds field's value.
95428func (s *RunInstancesInput) SetSecurityGroupIds(v []*string) *RunInstancesInput {
95429	s.SecurityGroupIds = v
95430	return s
95431}
95432
95433// SetSecurityGroups sets the SecurityGroups field's value.
95434func (s *RunInstancesInput) SetSecurityGroups(v []*string) *RunInstancesInput {
95435	s.SecurityGroups = v
95436	return s
95437}
95438
95439// SetSubnetId sets the SubnetId field's value.
95440func (s *RunInstancesInput) SetSubnetId(v string) *RunInstancesInput {
95441	s.SubnetId = &v
95442	return s
95443}
95444
95445// SetTagSpecifications sets the TagSpecifications field's value.
95446func (s *RunInstancesInput) SetTagSpecifications(v []*TagSpecification) *RunInstancesInput {
95447	s.TagSpecifications = v
95448	return s
95449}
95450
95451// SetUserData sets the UserData field's value.
95452func (s *RunInstancesInput) SetUserData(v string) *RunInstancesInput {
95453	s.UserData = &v
95454	return s
95455}
95456
95457// Describes the monitoring of an instance.
95458type RunInstancesMonitoringEnabled struct {
95459	_ struct{} `type:"structure"`
95460
95461	// Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring
95462	// is enabled.
95463	//
95464	// Enabled is a required field
95465	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
95466}
95467
95468// String returns the string representation
95469func (s RunInstancesMonitoringEnabled) String() string {
95470	return awsutil.Prettify(s)
95471}
95472
95473// GoString returns the string representation
95474func (s RunInstancesMonitoringEnabled) GoString() string {
95475	return s.String()
95476}
95477
95478// Validate inspects the fields of the type to determine if they are valid.
95479func (s *RunInstancesMonitoringEnabled) Validate() error {
95480	invalidParams := request.ErrInvalidParams{Context: "RunInstancesMonitoringEnabled"}
95481	if s.Enabled == nil {
95482		invalidParams.Add(request.NewErrParamRequired("Enabled"))
95483	}
95484
95485	if invalidParams.Len() > 0 {
95486		return invalidParams
95487	}
95488	return nil
95489}
95490
95491// SetEnabled sets the Enabled field's value.
95492func (s *RunInstancesMonitoringEnabled) SetEnabled(v bool) *RunInstancesMonitoringEnabled {
95493	s.Enabled = &v
95494	return s
95495}
95496
95497// Contains the parameters for RunScheduledInstances.
95498type RunScheduledInstancesInput struct {
95499	_ struct{} `type:"structure"`
95500
95501	// Unique, case-sensitive identifier that ensures the idempotency of the request.
95502	// For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
95503	ClientToken *string `type:"string" idempotencyToken:"true"`
95504
95505	// Checks whether you have the required permissions for the action, without
95506	// actually making the request, and provides an error response. If you have
95507	// the required permissions, the error response is DryRunOperation. Otherwise,
95508	// it is UnauthorizedOperation.
95509	DryRun *bool `type:"boolean"`
95510
95511	// The number of instances.
95512	//
95513	// Default: 1
95514	InstanceCount *int64 `type:"integer"`
95515
95516	// The launch specification. You must match the instance type, Availability
95517	// Zone, network, and platform of the schedule that you purchased.
95518	//
95519	// LaunchSpecification is a required field
95520	LaunchSpecification *ScheduledInstancesLaunchSpecification `type:"structure" required:"true"`
95521
95522	// The Scheduled Instance ID.
95523	//
95524	// ScheduledInstanceId is a required field
95525	ScheduledInstanceId *string `type:"string" required:"true"`
95526}
95527
95528// String returns the string representation
95529func (s RunScheduledInstancesInput) String() string {
95530	return awsutil.Prettify(s)
95531}
95532
95533// GoString returns the string representation
95534func (s RunScheduledInstancesInput) GoString() string {
95535	return s.String()
95536}
95537
95538// Validate inspects the fields of the type to determine if they are valid.
95539func (s *RunScheduledInstancesInput) Validate() error {
95540	invalidParams := request.ErrInvalidParams{Context: "RunScheduledInstancesInput"}
95541	if s.LaunchSpecification == nil {
95542		invalidParams.Add(request.NewErrParamRequired("LaunchSpecification"))
95543	}
95544	if s.ScheduledInstanceId == nil {
95545		invalidParams.Add(request.NewErrParamRequired("ScheduledInstanceId"))
95546	}
95547	if s.LaunchSpecification != nil {
95548		if err := s.LaunchSpecification.Validate(); err != nil {
95549			invalidParams.AddNested("LaunchSpecification", err.(request.ErrInvalidParams))
95550		}
95551	}
95552
95553	if invalidParams.Len() > 0 {
95554		return invalidParams
95555	}
95556	return nil
95557}
95558
95559// SetClientToken sets the ClientToken field's value.
95560func (s *RunScheduledInstancesInput) SetClientToken(v string) *RunScheduledInstancesInput {
95561	s.ClientToken = &v
95562	return s
95563}
95564
95565// SetDryRun sets the DryRun field's value.
95566func (s *RunScheduledInstancesInput) SetDryRun(v bool) *RunScheduledInstancesInput {
95567	s.DryRun = &v
95568	return s
95569}
95570
95571// SetInstanceCount sets the InstanceCount field's value.
95572func (s *RunScheduledInstancesInput) SetInstanceCount(v int64) *RunScheduledInstancesInput {
95573	s.InstanceCount = &v
95574	return s
95575}
95576
95577// SetLaunchSpecification sets the LaunchSpecification field's value.
95578func (s *RunScheduledInstancesInput) SetLaunchSpecification(v *ScheduledInstancesLaunchSpecification) *RunScheduledInstancesInput {
95579	s.LaunchSpecification = v
95580	return s
95581}
95582
95583// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
95584func (s *RunScheduledInstancesInput) SetScheduledInstanceId(v string) *RunScheduledInstancesInput {
95585	s.ScheduledInstanceId = &v
95586	return s
95587}
95588
95589// Contains the output of RunScheduledInstances.
95590type RunScheduledInstancesOutput struct {
95591	_ struct{} `type:"structure"`
95592
95593	// The IDs of the newly launched instances.
95594	InstanceIdSet []*string `locationName:"instanceIdSet" locationNameList:"item" type:"list"`
95595}
95596
95597// String returns the string representation
95598func (s RunScheduledInstancesOutput) String() string {
95599	return awsutil.Prettify(s)
95600}
95601
95602// GoString returns the string representation
95603func (s RunScheduledInstancesOutput) GoString() string {
95604	return s.String()
95605}
95606
95607// SetInstanceIdSet sets the InstanceIdSet field's value.
95608func (s *RunScheduledInstancesOutput) SetInstanceIdSet(v []*string) *RunScheduledInstancesOutput {
95609	s.InstanceIdSet = v
95610	return s
95611}
95612
95613// Describes the storage parameters for S3 and S3 buckets for an instance store-backed
95614// AMI.
95615type S3Storage struct {
95616	_ struct{} `type:"structure"`
95617
95618	// The access key ID of the owner of the bucket. Before you specify a value
95619	// for your access key ID, review and follow the guidance in Best Practices
95620	// for Managing AWS Access Keys (https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html).
95621	AWSAccessKeyId *string `type:"string"`
95622
95623	// The bucket in which to store the AMI. You can specify a bucket that you already
95624	// own or a new bucket that Amazon EC2 creates on your behalf. If you specify
95625	// a bucket that belongs to someone else, Amazon EC2 returns an error.
95626	Bucket *string `locationName:"bucket" type:"string"`
95627
95628	// The beginning of the file name of the AMI.
95629	Prefix *string `locationName:"prefix" type:"string"`
95630
95631	// An Amazon S3 upload policy that gives Amazon EC2 permission to upload items
95632	// into Amazon S3 on your behalf.
95633	//
95634	// UploadPolicy is automatically base64 encoded/decoded by the SDK.
95635	UploadPolicy []byte `locationName:"uploadPolicy" type:"blob"`
95636
95637	// The signature of the JSON document.
95638	UploadPolicySignature *string `locationName:"uploadPolicySignature" type:"string"`
95639}
95640
95641// String returns the string representation
95642func (s S3Storage) String() string {
95643	return awsutil.Prettify(s)
95644}
95645
95646// GoString returns the string representation
95647func (s S3Storage) GoString() string {
95648	return s.String()
95649}
95650
95651// SetAWSAccessKeyId sets the AWSAccessKeyId field's value.
95652func (s *S3Storage) SetAWSAccessKeyId(v string) *S3Storage {
95653	s.AWSAccessKeyId = &v
95654	return s
95655}
95656
95657// SetBucket sets the Bucket field's value.
95658func (s *S3Storage) SetBucket(v string) *S3Storage {
95659	s.Bucket = &v
95660	return s
95661}
95662
95663// SetPrefix sets the Prefix field's value.
95664func (s *S3Storage) SetPrefix(v string) *S3Storage {
95665	s.Prefix = &v
95666	return s
95667}
95668
95669// SetUploadPolicy sets the UploadPolicy field's value.
95670func (s *S3Storage) SetUploadPolicy(v []byte) *S3Storage {
95671	s.UploadPolicy = v
95672	return s
95673}
95674
95675// SetUploadPolicySignature sets the UploadPolicySignature field's value.
95676func (s *S3Storage) SetUploadPolicySignature(v string) *S3Storage {
95677	s.UploadPolicySignature = &v
95678	return s
95679}
95680
95681// Describes a Scheduled Instance.
95682type ScheduledInstance struct {
95683	_ struct{} `type:"structure"`
95684
95685	// The Availability Zone.
95686	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
95687
95688	// The date when the Scheduled Instance was purchased.
95689	CreateDate *time.Time `locationName:"createDate" type:"timestamp"`
95690
95691	// The hourly price for a single instance.
95692	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
95693
95694	// The number of instances.
95695	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
95696
95697	// The instance type.
95698	InstanceType *string `locationName:"instanceType" type:"string"`
95699
95700	// The network platform (EC2-Classic or EC2-VPC).
95701	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
95702
95703	// The time for the next schedule to start.
95704	NextSlotStartTime *time.Time `locationName:"nextSlotStartTime" type:"timestamp"`
95705
95706	// The platform (Linux/UNIX or Windows).
95707	Platform *string `locationName:"platform" type:"string"`
95708
95709	// The time that the previous schedule ended or will end.
95710	PreviousSlotEndTime *time.Time `locationName:"previousSlotEndTime" type:"timestamp"`
95711
95712	// The schedule recurrence.
95713	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
95714
95715	// The Scheduled Instance ID.
95716	ScheduledInstanceId *string `locationName:"scheduledInstanceId" type:"string"`
95717
95718	// The number of hours in the schedule.
95719	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
95720
95721	// The end date for the Scheduled Instance.
95722	TermEndDate *time.Time `locationName:"termEndDate" type:"timestamp"`
95723
95724	// The start date for the Scheduled Instance.
95725	TermStartDate *time.Time `locationName:"termStartDate" type:"timestamp"`
95726
95727	// The total number of hours for a single instance for the entire term.
95728	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
95729}
95730
95731// String returns the string representation
95732func (s ScheduledInstance) String() string {
95733	return awsutil.Prettify(s)
95734}
95735
95736// GoString returns the string representation
95737func (s ScheduledInstance) GoString() string {
95738	return s.String()
95739}
95740
95741// SetAvailabilityZone sets the AvailabilityZone field's value.
95742func (s *ScheduledInstance) SetAvailabilityZone(v string) *ScheduledInstance {
95743	s.AvailabilityZone = &v
95744	return s
95745}
95746
95747// SetCreateDate sets the CreateDate field's value.
95748func (s *ScheduledInstance) SetCreateDate(v time.Time) *ScheduledInstance {
95749	s.CreateDate = &v
95750	return s
95751}
95752
95753// SetHourlyPrice sets the HourlyPrice field's value.
95754func (s *ScheduledInstance) SetHourlyPrice(v string) *ScheduledInstance {
95755	s.HourlyPrice = &v
95756	return s
95757}
95758
95759// SetInstanceCount sets the InstanceCount field's value.
95760func (s *ScheduledInstance) SetInstanceCount(v int64) *ScheduledInstance {
95761	s.InstanceCount = &v
95762	return s
95763}
95764
95765// SetInstanceType sets the InstanceType field's value.
95766func (s *ScheduledInstance) SetInstanceType(v string) *ScheduledInstance {
95767	s.InstanceType = &v
95768	return s
95769}
95770
95771// SetNetworkPlatform sets the NetworkPlatform field's value.
95772func (s *ScheduledInstance) SetNetworkPlatform(v string) *ScheduledInstance {
95773	s.NetworkPlatform = &v
95774	return s
95775}
95776
95777// SetNextSlotStartTime sets the NextSlotStartTime field's value.
95778func (s *ScheduledInstance) SetNextSlotStartTime(v time.Time) *ScheduledInstance {
95779	s.NextSlotStartTime = &v
95780	return s
95781}
95782
95783// SetPlatform sets the Platform field's value.
95784func (s *ScheduledInstance) SetPlatform(v string) *ScheduledInstance {
95785	s.Platform = &v
95786	return s
95787}
95788
95789// SetPreviousSlotEndTime sets the PreviousSlotEndTime field's value.
95790func (s *ScheduledInstance) SetPreviousSlotEndTime(v time.Time) *ScheduledInstance {
95791	s.PreviousSlotEndTime = &v
95792	return s
95793}
95794
95795// SetRecurrence sets the Recurrence field's value.
95796func (s *ScheduledInstance) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstance {
95797	s.Recurrence = v
95798	return s
95799}
95800
95801// SetScheduledInstanceId sets the ScheduledInstanceId field's value.
95802func (s *ScheduledInstance) SetScheduledInstanceId(v string) *ScheduledInstance {
95803	s.ScheduledInstanceId = &v
95804	return s
95805}
95806
95807// SetSlotDurationInHours sets the SlotDurationInHours field's value.
95808func (s *ScheduledInstance) SetSlotDurationInHours(v int64) *ScheduledInstance {
95809	s.SlotDurationInHours = &v
95810	return s
95811}
95812
95813// SetTermEndDate sets the TermEndDate field's value.
95814func (s *ScheduledInstance) SetTermEndDate(v time.Time) *ScheduledInstance {
95815	s.TermEndDate = &v
95816	return s
95817}
95818
95819// SetTermStartDate sets the TermStartDate field's value.
95820func (s *ScheduledInstance) SetTermStartDate(v time.Time) *ScheduledInstance {
95821	s.TermStartDate = &v
95822	return s
95823}
95824
95825// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
95826func (s *ScheduledInstance) SetTotalScheduledInstanceHours(v int64) *ScheduledInstance {
95827	s.TotalScheduledInstanceHours = &v
95828	return s
95829}
95830
95831// Describes a schedule that is available for your Scheduled Instances.
95832type ScheduledInstanceAvailability struct {
95833	_ struct{} `type:"structure"`
95834
95835	// The Availability Zone.
95836	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
95837
95838	// The number of available instances.
95839	AvailableInstanceCount *int64 `locationName:"availableInstanceCount" type:"integer"`
95840
95841	// The time period for the first schedule to start.
95842	FirstSlotStartTime *time.Time `locationName:"firstSlotStartTime" type:"timestamp"`
95843
95844	// The hourly price for a single instance.
95845	HourlyPrice *string `locationName:"hourlyPrice" type:"string"`
95846
95847	// The instance type. You can specify one of the C3, C4, M4, or R3 instance
95848	// types.
95849	InstanceType *string `locationName:"instanceType" type:"string"`
95850
95851	// The maximum term. The only possible value is 365 days.
95852	MaxTermDurationInDays *int64 `locationName:"maxTermDurationInDays" type:"integer"`
95853
95854	// The minimum term. The only possible value is 365 days.
95855	MinTermDurationInDays *int64 `locationName:"minTermDurationInDays" type:"integer"`
95856
95857	// The network platform (EC2-Classic or EC2-VPC).
95858	NetworkPlatform *string `locationName:"networkPlatform" type:"string"`
95859
95860	// The platform (Linux/UNIX or Windows).
95861	Platform *string `locationName:"platform" type:"string"`
95862
95863	// The purchase token. This token expires in two hours.
95864	PurchaseToken *string `locationName:"purchaseToken" type:"string"`
95865
95866	// The schedule recurrence.
95867	Recurrence *ScheduledInstanceRecurrence `locationName:"recurrence" type:"structure"`
95868
95869	// The number of hours in the schedule.
95870	SlotDurationInHours *int64 `locationName:"slotDurationInHours" type:"integer"`
95871
95872	// The total number of hours for a single instance for the entire term.
95873	TotalScheduledInstanceHours *int64 `locationName:"totalScheduledInstanceHours" type:"integer"`
95874}
95875
95876// String returns the string representation
95877func (s ScheduledInstanceAvailability) String() string {
95878	return awsutil.Prettify(s)
95879}
95880
95881// GoString returns the string representation
95882func (s ScheduledInstanceAvailability) GoString() string {
95883	return s.String()
95884}
95885
95886// SetAvailabilityZone sets the AvailabilityZone field's value.
95887func (s *ScheduledInstanceAvailability) SetAvailabilityZone(v string) *ScheduledInstanceAvailability {
95888	s.AvailabilityZone = &v
95889	return s
95890}
95891
95892// SetAvailableInstanceCount sets the AvailableInstanceCount field's value.
95893func (s *ScheduledInstanceAvailability) SetAvailableInstanceCount(v int64) *ScheduledInstanceAvailability {
95894	s.AvailableInstanceCount = &v
95895	return s
95896}
95897
95898// SetFirstSlotStartTime sets the FirstSlotStartTime field's value.
95899func (s *ScheduledInstanceAvailability) SetFirstSlotStartTime(v time.Time) *ScheduledInstanceAvailability {
95900	s.FirstSlotStartTime = &v
95901	return s
95902}
95903
95904// SetHourlyPrice sets the HourlyPrice field's value.
95905func (s *ScheduledInstanceAvailability) SetHourlyPrice(v string) *ScheduledInstanceAvailability {
95906	s.HourlyPrice = &v
95907	return s
95908}
95909
95910// SetInstanceType sets the InstanceType field's value.
95911func (s *ScheduledInstanceAvailability) SetInstanceType(v string) *ScheduledInstanceAvailability {
95912	s.InstanceType = &v
95913	return s
95914}
95915
95916// SetMaxTermDurationInDays sets the MaxTermDurationInDays field's value.
95917func (s *ScheduledInstanceAvailability) SetMaxTermDurationInDays(v int64) *ScheduledInstanceAvailability {
95918	s.MaxTermDurationInDays = &v
95919	return s
95920}
95921
95922// SetMinTermDurationInDays sets the MinTermDurationInDays field's value.
95923func (s *ScheduledInstanceAvailability) SetMinTermDurationInDays(v int64) *ScheduledInstanceAvailability {
95924	s.MinTermDurationInDays = &v
95925	return s
95926}
95927
95928// SetNetworkPlatform sets the NetworkPlatform field's value.
95929func (s *ScheduledInstanceAvailability) SetNetworkPlatform(v string) *ScheduledInstanceAvailability {
95930	s.NetworkPlatform = &v
95931	return s
95932}
95933
95934// SetPlatform sets the Platform field's value.
95935func (s *ScheduledInstanceAvailability) SetPlatform(v string) *ScheduledInstanceAvailability {
95936	s.Platform = &v
95937	return s
95938}
95939
95940// SetPurchaseToken sets the PurchaseToken field's value.
95941func (s *ScheduledInstanceAvailability) SetPurchaseToken(v string) *ScheduledInstanceAvailability {
95942	s.PurchaseToken = &v
95943	return s
95944}
95945
95946// SetRecurrence sets the Recurrence field's value.
95947func (s *ScheduledInstanceAvailability) SetRecurrence(v *ScheduledInstanceRecurrence) *ScheduledInstanceAvailability {
95948	s.Recurrence = v
95949	return s
95950}
95951
95952// SetSlotDurationInHours sets the SlotDurationInHours field's value.
95953func (s *ScheduledInstanceAvailability) SetSlotDurationInHours(v int64) *ScheduledInstanceAvailability {
95954	s.SlotDurationInHours = &v
95955	return s
95956}
95957
95958// SetTotalScheduledInstanceHours sets the TotalScheduledInstanceHours field's value.
95959func (s *ScheduledInstanceAvailability) SetTotalScheduledInstanceHours(v int64) *ScheduledInstanceAvailability {
95960	s.TotalScheduledInstanceHours = &v
95961	return s
95962}
95963
95964// Describes the recurring schedule for a Scheduled Instance.
95965type ScheduledInstanceRecurrence struct {
95966	_ struct{} `type:"structure"`
95967
95968	// The frequency (Daily, Weekly, or Monthly).
95969	Frequency *string `locationName:"frequency" type:"string"`
95970
95971	// The interval quantity. The interval unit depends on the value of frequency.
95972	// For example, every 2 weeks or every 2 months.
95973	Interval *int64 `locationName:"interval" type:"integer"`
95974
95975	// The days. For a monthly schedule, this is one or more days of the month (1-31).
95976	// For a weekly schedule, this is one or more days of the week (1-7, where 1
95977	// is Sunday).
95978	OccurrenceDaySet []*int64 `locationName:"occurrenceDaySet" locationNameList:"item" type:"list"`
95979
95980	// Indicates whether the occurrence is relative to the end of the specified
95981	// week or month.
95982	OccurrenceRelativeToEnd *bool `locationName:"occurrenceRelativeToEnd" type:"boolean"`
95983
95984	// The unit for occurrenceDaySet (DayOfWeek or DayOfMonth).
95985	OccurrenceUnit *string `locationName:"occurrenceUnit" type:"string"`
95986}
95987
95988// String returns the string representation
95989func (s ScheduledInstanceRecurrence) String() string {
95990	return awsutil.Prettify(s)
95991}
95992
95993// GoString returns the string representation
95994func (s ScheduledInstanceRecurrence) GoString() string {
95995	return s.String()
95996}
95997
95998// SetFrequency sets the Frequency field's value.
95999func (s *ScheduledInstanceRecurrence) SetFrequency(v string) *ScheduledInstanceRecurrence {
96000	s.Frequency = &v
96001	return s
96002}
96003
96004// SetInterval sets the Interval field's value.
96005func (s *ScheduledInstanceRecurrence) SetInterval(v int64) *ScheduledInstanceRecurrence {
96006	s.Interval = &v
96007	return s
96008}
96009
96010// SetOccurrenceDaySet sets the OccurrenceDaySet field's value.
96011func (s *ScheduledInstanceRecurrence) SetOccurrenceDaySet(v []*int64) *ScheduledInstanceRecurrence {
96012	s.OccurrenceDaySet = v
96013	return s
96014}
96015
96016// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
96017func (s *ScheduledInstanceRecurrence) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrence {
96018	s.OccurrenceRelativeToEnd = &v
96019	return s
96020}
96021
96022// SetOccurrenceUnit sets the OccurrenceUnit field's value.
96023func (s *ScheduledInstanceRecurrence) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrence {
96024	s.OccurrenceUnit = &v
96025	return s
96026}
96027
96028// Describes the recurring schedule for a Scheduled Instance.
96029type ScheduledInstanceRecurrenceRequest struct {
96030	_ struct{} `type:"structure"`
96031
96032	// The frequency (Daily, Weekly, or Monthly).
96033	Frequency *string `type:"string"`
96034
96035	// The interval quantity. The interval unit depends on the value of Frequency.
96036	// For example, every 2 weeks or every 2 months.
96037	Interval *int64 `type:"integer"`
96038
96039	// The days. For a monthly schedule, this is one or more days of the month (1-31).
96040	// For a weekly schedule, this is one or more days of the week (1-7, where 1
96041	// is Sunday). You can't specify this value with a daily schedule. If the occurrence
96042	// is relative to the end of the month, you can specify only a single day.
96043	OccurrenceDays []*int64 `locationName:"OccurrenceDay" locationNameList:"OccurenceDay" type:"list"`
96044
96045	// Indicates whether the occurrence is relative to the end of the specified
96046	// week or month. You can't specify this value with a daily schedule.
96047	OccurrenceRelativeToEnd *bool `type:"boolean"`
96048
96049	// The unit for OccurrenceDays (DayOfWeek or DayOfMonth). This value is required
96050	// for a monthly schedule. You can't specify DayOfWeek with a weekly schedule.
96051	// You can't specify this value with a daily schedule.
96052	OccurrenceUnit *string `type:"string"`
96053}
96054
96055// String returns the string representation
96056func (s ScheduledInstanceRecurrenceRequest) String() string {
96057	return awsutil.Prettify(s)
96058}
96059
96060// GoString returns the string representation
96061func (s ScheduledInstanceRecurrenceRequest) GoString() string {
96062	return s.String()
96063}
96064
96065// SetFrequency sets the Frequency field's value.
96066func (s *ScheduledInstanceRecurrenceRequest) SetFrequency(v string) *ScheduledInstanceRecurrenceRequest {
96067	s.Frequency = &v
96068	return s
96069}
96070
96071// SetInterval sets the Interval field's value.
96072func (s *ScheduledInstanceRecurrenceRequest) SetInterval(v int64) *ScheduledInstanceRecurrenceRequest {
96073	s.Interval = &v
96074	return s
96075}
96076
96077// SetOccurrenceDays sets the OccurrenceDays field's value.
96078func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceDays(v []*int64) *ScheduledInstanceRecurrenceRequest {
96079	s.OccurrenceDays = v
96080	return s
96081}
96082
96083// SetOccurrenceRelativeToEnd sets the OccurrenceRelativeToEnd field's value.
96084func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceRelativeToEnd(v bool) *ScheduledInstanceRecurrenceRequest {
96085	s.OccurrenceRelativeToEnd = &v
96086	return s
96087}
96088
96089// SetOccurrenceUnit sets the OccurrenceUnit field's value.
96090func (s *ScheduledInstanceRecurrenceRequest) SetOccurrenceUnit(v string) *ScheduledInstanceRecurrenceRequest {
96091	s.OccurrenceUnit = &v
96092	return s
96093}
96094
96095// Describes a block device mapping for a Scheduled Instance.
96096type ScheduledInstancesBlockDeviceMapping struct {
96097	_ struct{} `type:"structure"`
96098
96099	// The device name (for example, /dev/sdh or xvdh).
96100	DeviceName *string `type:"string"`
96101
96102	// Parameters used to set up EBS volumes automatically when the instance is
96103	// launched.
96104	Ebs *ScheduledInstancesEbs `type:"structure"`
96105
96106	// Suppresses the specified device included in the block device mapping of the
96107	// AMI.
96108	NoDevice *string `type:"string"`
96109
96110	// The virtual device name (ephemeralN). Instance store volumes are numbered
96111	// starting from 0. An instance type with two available instance store volumes
96112	// can specify mappings for ephemeral0 and ephemeral1. The number of available
96113	// instance store volumes depends on the instance type. After you connect to
96114	// the instance, you must mount the volume.
96115	//
96116	// Constraints: For M3 instances, you must specify instance store volumes in
96117	// the block device mapping for the instance. When you launch an M3 instance,
96118	// we ignore any instance store volumes specified in the block device mapping
96119	// for the AMI.
96120	VirtualName *string `type:"string"`
96121}
96122
96123// String returns the string representation
96124func (s ScheduledInstancesBlockDeviceMapping) String() string {
96125	return awsutil.Prettify(s)
96126}
96127
96128// GoString returns the string representation
96129func (s ScheduledInstancesBlockDeviceMapping) GoString() string {
96130	return s.String()
96131}
96132
96133// SetDeviceName sets the DeviceName field's value.
96134func (s *ScheduledInstancesBlockDeviceMapping) SetDeviceName(v string) *ScheduledInstancesBlockDeviceMapping {
96135	s.DeviceName = &v
96136	return s
96137}
96138
96139// SetEbs sets the Ebs field's value.
96140func (s *ScheduledInstancesBlockDeviceMapping) SetEbs(v *ScheduledInstancesEbs) *ScheduledInstancesBlockDeviceMapping {
96141	s.Ebs = v
96142	return s
96143}
96144
96145// SetNoDevice sets the NoDevice field's value.
96146func (s *ScheduledInstancesBlockDeviceMapping) SetNoDevice(v string) *ScheduledInstancesBlockDeviceMapping {
96147	s.NoDevice = &v
96148	return s
96149}
96150
96151// SetVirtualName sets the VirtualName field's value.
96152func (s *ScheduledInstancesBlockDeviceMapping) SetVirtualName(v string) *ScheduledInstancesBlockDeviceMapping {
96153	s.VirtualName = &v
96154	return s
96155}
96156
96157// Describes an EBS volume for a Scheduled Instance.
96158type ScheduledInstancesEbs struct {
96159	_ struct{} `type:"structure"`
96160
96161	// Indicates whether the volume is deleted on instance termination.
96162	DeleteOnTermination *bool `type:"boolean"`
96163
96164	// Indicates whether the volume is encrypted. You can attached encrypted volumes
96165	// only to instances that support them.
96166	Encrypted *bool `type:"boolean"`
96167
96168	// The number of I/O operations per second (IOPS) that the volume supports.
96169	// For io1 volumes, this represents the number of IOPS that are provisioned
96170	// for the volume. For gp2 volumes, this represents the baseline performance
96171	// of the volume and the rate at which the volume accumulates I/O credits for
96172	// bursting. For more information about gp2 baseline performance, I/O credits,
96173	// and bursting, see Amazon EBS Volume Types (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
96174	// in the Amazon Elastic Compute Cloud User Guide.
96175	//
96176	// Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for
96177	// gp2 volumes.
96178	//
96179	// Condition: This parameter is required for requests to create io1volumes;
96180	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
96181	Iops *int64 `type:"integer"`
96182
96183	// The ID of the snapshot.
96184	SnapshotId *string `type:"string"`
96185
96186	// The size of the volume, in GiB.
96187	//
96188	// Default: If you're creating the volume from a snapshot and don't specify
96189	// a volume size, the default is the snapshot size.
96190	VolumeSize *int64 `type:"integer"`
96191
96192	// The volume type. gp2 for General Purpose SSD, io1 for Provisioned IOPS SSD,
96193	// Throughput Optimized HDD for st1, Cold HDD for sc1, or standard for Magnetic.
96194	//
96195	// Default: gp2
96196	VolumeType *string `type:"string"`
96197}
96198
96199// String returns the string representation
96200func (s ScheduledInstancesEbs) String() string {
96201	return awsutil.Prettify(s)
96202}
96203
96204// GoString returns the string representation
96205func (s ScheduledInstancesEbs) GoString() string {
96206	return s.String()
96207}
96208
96209// SetDeleteOnTermination sets the DeleteOnTermination field's value.
96210func (s *ScheduledInstancesEbs) SetDeleteOnTermination(v bool) *ScheduledInstancesEbs {
96211	s.DeleteOnTermination = &v
96212	return s
96213}
96214
96215// SetEncrypted sets the Encrypted field's value.
96216func (s *ScheduledInstancesEbs) SetEncrypted(v bool) *ScheduledInstancesEbs {
96217	s.Encrypted = &v
96218	return s
96219}
96220
96221// SetIops sets the Iops field's value.
96222func (s *ScheduledInstancesEbs) SetIops(v int64) *ScheduledInstancesEbs {
96223	s.Iops = &v
96224	return s
96225}
96226
96227// SetSnapshotId sets the SnapshotId field's value.
96228func (s *ScheduledInstancesEbs) SetSnapshotId(v string) *ScheduledInstancesEbs {
96229	s.SnapshotId = &v
96230	return s
96231}
96232
96233// SetVolumeSize sets the VolumeSize field's value.
96234func (s *ScheduledInstancesEbs) SetVolumeSize(v int64) *ScheduledInstancesEbs {
96235	s.VolumeSize = &v
96236	return s
96237}
96238
96239// SetVolumeType sets the VolumeType field's value.
96240func (s *ScheduledInstancesEbs) SetVolumeType(v string) *ScheduledInstancesEbs {
96241	s.VolumeType = &v
96242	return s
96243}
96244
96245// Describes an IAM instance profile for a Scheduled Instance.
96246type ScheduledInstancesIamInstanceProfile struct {
96247	_ struct{} `type:"structure"`
96248
96249	// The Amazon Resource Name (ARN).
96250	Arn *string `type:"string"`
96251
96252	// The name.
96253	Name *string `type:"string"`
96254}
96255
96256// String returns the string representation
96257func (s ScheduledInstancesIamInstanceProfile) String() string {
96258	return awsutil.Prettify(s)
96259}
96260
96261// GoString returns the string representation
96262func (s ScheduledInstancesIamInstanceProfile) GoString() string {
96263	return s.String()
96264}
96265
96266// SetArn sets the Arn field's value.
96267func (s *ScheduledInstancesIamInstanceProfile) SetArn(v string) *ScheduledInstancesIamInstanceProfile {
96268	s.Arn = &v
96269	return s
96270}
96271
96272// SetName sets the Name field's value.
96273func (s *ScheduledInstancesIamInstanceProfile) SetName(v string) *ScheduledInstancesIamInstanceProfile {
96274	s.Name = &v
96275	return s
96276}
96277
96278// Describes an IPv6 address.
96279type ScheduledInstancesIpv6Address struct {
96280	_ struct{} `type:"structure"`
96281
96282	// The IPv6 address.
96283	Ipv6Address *string `type:"string"`
96284}
96285
96286// String returns the string representation
96287func (s ScheduledInstancesIpv6Address) String() string {
96288	return awsutil.Prettify(s)
96289}
96290
96291// GoString returns the string representation
96292func (s ScheduledInstancesIpv6Address) GoString() string {
96293	return s.String()
96294}
96295
96296// SetIpv6Address sets the Ipv6Address field's value.
96297func (s *ScheduledInstancesIpv6Address) SetIpv6Address(v string) *ScheduledInstancesIpv6Address {
96298	s.Ipv6Address = &v
96299	return s
96300}
96301
96302// Describes the launch specification for a Scheduled Instance.
96303//
96304// If you are launching the Scheduled Instance in EC2-VPC, you must specify
96305// the ID of the subnet. You can specify the subnet using either SubnetId or
96306// NetworkInterface.
96307type ScheduledInstancesLaunchSpecification struct {
96308	_ struct{} `type:"structure"`
96309
96310	// The block device mapping entries.
96311	BlockDeviceMappings []*ScheduledInstancesBlockDeviceMapping `locationName:"BlockDeviceMapping" locationNameList:"BlockDeviceMapping" type:"list"`
96312
96313	// Indicates whether the instances are optimized for EBS I/O. This optimization
96314	// provides dedicated throughput to Amazon EBS and an optimized configuration
96315	// stack to provide optimal EBS I/O performance. This optimization isn't available
96316	// with all instance types. Additional usage charges apply when using an EBS-optimized
96317	// instance.
96318	//
96319	// Default: false
96320	EbsOptimized *bool `type:"boolean"`
96321
96322	// The IAM instance profile.
96323	IamInstanceProfile *ScheduledInstancesIamInstanceProfile `type:"structure"`
96324
96325	// The ID of the Amazon Machine Image (AMI).
96326	//
96327	// ImageId is a required field
96328	ImageId *string `type:"string" required:"true"`
96329
96330	// The instance type.
96331	InstanceType *string `type:"string"`
96332
96333	// The ID of the kernel.
96334	KernelId *string `type:"string"`
96335
96336	// The name of the key pair.
96337	KeyName *string `type:"string"`
96338
96339	// Enable or disable monitoring for the instances.
96340	Monitoring *ScheduledInstancesMonitoring `type:"structure"`
96341
96342	// The network interfaces.
96343	NetworkInterfaces []*ScheduledInstancesNetworkInterface `locationName:"NetworkInterface" locationNameList:"NetworkInterface" type:"list"`
96344
96345	// The placement information.
96346	Placement *ScheduledInstancesPlacement `type:"structure"`
96347
96348	// The ID of the RAM disk.
96349	RamdiskId *string `type:"string"`
96350
96351	// The IDs of the security groups.
96352	SecurityGroupIds []*string `locationName:"SecurityGroupId" locationNameList:"SecurityGroupId" type:"list"`
96353
96354	// The ID of the subnet in which to launch the instances.
96355	SubnetId *string `type:"string"`
96356
96357	// The base64-encoded MIME user data.
96358	UserData *string `type:"string"`
96359}
96360
96361// String returns the string representation
96362func (s ScheduledInstancesLaunchSpecification) String() string {
96363	return awsutil.Prettify(s)
96364}
96365
96366// GoString returns the string representation
96367func (s ScheduledInstancesLaunchSpecification) GoString() string {
96368	return s.String()
96369}
96370
96371// Validate inspects the fields of the type to determine if they are valid.
96372func (s *ScheduledInstancesLaunchSpecification) Validate() error {
96373	invalidParams := request.ErrInvalidParams{Context: "ScheduledInstancesLaunchSpecification"}
96374	if s.ImageId == nil {
96375		invalidParams.Add(request.NewErrParamRequired("ImageId"))
96376	}
96377
96378	if invalidParams.Len() > 0 {
96379		return invalidParams
96380	}
96381	return nil
96382}
96383
96384// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
96385func (s *ScheduledInstancesLaunchSpecification) SetBlockDeviceMappings(v []*ScheduledInstancesBlockDeviceMapping) *ScheduledInstancesLaunchSpecification {
96386	s.BlockDeviceMappings = v
96387	return s
96388}
96389
96390// SetEbsOptimized sets the EbsOptimized field's value.
96391func (s *ScheduledInstancesLaunchSpecification) SetEbsOptimized(v bool) *ScheduledInstancesLaunchSpecification {
96392	s.EbsOptimized = &v
96393	return s
96394}
96395
96396// SetIamInstanceProfile sets the IamInstanceProfile field's value.
96397func (s *ScheduledInstancesLaunchSpecification) SetIamInstanceProfile(v *ScheduledInstancesIamInstanceProfile) *ScheduledInstancesLaunchSpecification {
96398	s.IamInstanceProfile = v
96399	return s
96400}
96401
96402// SetImageId sets the ImageId field's value.
96403func (s *ScheduledInstancesLaunchSpecification) SetImageId(v string) *ScheduledInstancesLaunchSpecification {
96404	s.ImageId = &v
96405	return s
96406}
96407
96408// SetInstanceType sets the InstanceType field's value.
96409func (s *ScheduledInstancesLaunchSpecification) SetInstanceType(v string) *ScheduledInstancesLaunchSpecification {
96410	s.InstanceType = &v
96411	return s
96412}
96413
96414// SetKernelId sets the KernelId field's value.
96415func (s *ScheduledInstancesLaunchSpecification) SetKernelId(v string) *ScheduledInstancesLaunchSpecification {
96416	s.KernelId = &v
96417	return s
96418}
96419
96420// SetKeyName sets the KeyName field's value.
96421func (s *ScheduledInstancesLaunchSpecification) SetKeyName(v string) *ScheduledInstancesLaunchSpecification {
96422	s.KeyName = &v
96423	return s
96424}
96425
96426// SetMonitoring sets the Monitoring field's value.
96427func (s *ScheduledInstancesLaunchSpecification) SetMonitoring(v *ScheduledInstancesMonitoring) *ScheduledInstancesLaunchSpecification {
96428	s.Monitoring = v
96429	return s
96430}
96431
96432// SetNetworkInterfaces sets the NetworkInterfaces field's value.
96433func (s *ScheduledInstancesLaunchSpecification) SetNetworkInterfaces(v []*ScheduledInstancesNetworkInterface) *ScheduledInstancesLaunchSpecification {
96434	s.NetworkInterfaces = v
96435	return s
96436}
96437
96438// SetPlacement sets the Placement field's value.
96439func (s *ScheduledInstancesLaunchSpecification) SetPlacement(v *ScheduledInstancesPlacement) *ScheduledInstancesLaunchSpecification {
96440	s.Placement = v
96441	return s
96442}
96443
96444// SetRamdiskId sets the RamdiskId field's value.
96445func (s *ScheduledInstancesLaunchSpecification) SetRamdiskId(v string) *ScheduledInstancesLaunchSpecification {
96446	s.RamdiskId = &v
96447	return s
96448}
96449
96450// SetSecurityGroupIds sets the SecurityGroupIds field's value.
96451func (s *ScheduledInstancesLaunchSpecification) SetSecurityGroupIds(v []*string) *ScheduledInstancesLaunchSpecification {
96452	s.SecurityGroupIds = v
96453	return s
96454}
96455
96456// SetSubnetId sets the SubnetId field's value.
96457func (s *ScheduledInstancesLaunchSpecification) SetSubnetId(v string) *ScheduledInstancesLaunchSpecification {
96458	s.SubnetId = &v
96459	return s
96460}
96461
96462// SetUserData sets the UserData field's value.
96463func (s *ScheduledInstancesLaunchSpecification) SetUserData(v string) *ScheduledInstancesLaunchSpecification {
96464	s.UserData = &v
96465	return s
96466}
96467
96468// Describes whether monitoring is enabled for a Scheduled Instance.
96469type ScheduledInstancesMonitoring struct {
96470	_ struct{} `type:"structure"`
96471
96472	// Indicates whether monitoring is enabled.
96473	Enabled *bool `type:"boolean"`
96474}
96475
96476// String returns the string representation
96477func (s ScheduledInstancesMonitoring) String() string {
96478	return awsutil.Prettify(s)
96479}
96480
96481// GoString returns the string representation
96482func (s ScheduledInstancesMonitoring) GoString() string {
96483	return s.String()
96484}
96485
96486// SetEnabled sets the Enabled field's value.
96487func (s *ScheduledInstancesMonitoring) SetEnabled(v bool) *ScheduledInstancesMonitoring {
96488	s.Enabled = &v
96489	return s
96490}
96491
96492// Describes a network interface for a Scheduled Instance.
96493type ScheduledInstancesNetworkInterface struct {
96494	_ struct{} `type:"structure"`
96495
96496	// Indicates whether to assign a public IPv4 address to instances launched in
96497	// a VPC. The public IPv4 address can only be assigned to a network interface
96498	// for eth0, and can only be assigned to a new network interface, not an existing
96499	// one. You cannot specify more than one network interface in the request. If
96500	// launching into a default subnet, the default value is true.
96501	AssociatePublicIpAddress *bool `type:"boolean"`
96502
96503	// Indicates whether to delete the interface when the instance is terminated.
96504	DeleteOnTermination *bool `type:"boolean"`
96505
96506	// The description.
96507	Description *string `type:"string"`
96508
96509	// The index of the device for the network interface attachment.
96510	DeviceIndex *int64 `type:"integer"`
96511
96512	// The IDs of the security groups.
96513	Groups []*string `locationName:"Group" locationNameList:"SecurityGroupId" type:"list"`
96514
96515	// The number of IPv6 addresses to assign to the network interface. The IPv6
96516	// addresses are automatically selected from the subnet range.
96517	Ipv6AddressCount *int64 `type:"integer"`
96518
96519	// The specific IPv6 addresses from the subnet range.
96520	Ipv6Addresses []*ScheduledInstancesIpv6Address `locationName:"Ipv6Address" locationNameList:"Ipv6Address" type:"list"`
96521
96522	// The ID of the network interface.
96523	NetworkInterfaceId *string `type:"string"`
96524
96525	// The IPv4 address of the network interface within the subnet.
96526	PrivateIpAddress *string `type:"string"`
96527
96528	// The private IPv4 addresses.
96529	PrivateIpAddressConfigs []*ScheduledInstancesPrivateIpAddressConfig `locationName:"PrivateIpAddressConfig" locationNameList:"PrivateIpAddressConfigSet" type:"list"`
96530
96531	// The number of secondary private IPv4 addresses.
96532	SecondaryPrivateIpAddressCount *int64 `type:"integer"`
96533
96534	// The ID of the subnet.
96535	SubnetId *string `type:"string"`
96536}
96537
96538// String returns the string representation
96539func (s ScheduledInstancesNetworkInterface) String() string {
96540	return awsutil.Prettify(s)
96541}
96542
96543// GoString returns the string representation
96544func (s ScheduledInstancesNetworkInterface) GoString() string {
96545	return s.String()
96546}
96547
96548// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
96549func (s *ScheduledInstancesNetworkInterface) SetAssociatePublicIpAddress(v bool) *ScheduledInstancesNetworkInterface {
96550	s.AssociatePublicIpAddress = &v
96551	return s
96552}
96553
96554// SetDeleteOnTermination sets the DeleteOnTermination field's value.
96555func (s *ScheduledInstancesNetworkInterface) SetDeleteOnTermination(v bool) *ScheduledInstancesNetworkInterface {
96556	s.DeleteOnTermination = &v
96557	return s
96558}
96559
96560// SetDescription sets the Description field's value.
96561func (s *ScheduledInstancesNetworkInterface) SetDescription(v string) *ScheduledInstancesNetworkInterface {
96562	s.Description = &v
96563	return s
96564}
96565
96566// SetDeviceIndex sets the DeviceIndex field's value.
96567func (s *ScheduledInstancesNetworkInterface) SetDeviceIndex(v int64) *ScheduledInstancesNetworkInterface {
96568	s.DeviceIndex = &v
96569	return s
96570}
96571
96572// SetGroups sets the Groups field's value.
96573func (s *ScheduledInstancesNetworkInterface) SetGroups(v []*string) *ScheduledInstancesNetworkInterface {
96574	s.Groups = v
96575	return s
96576}
96577
96578// SetIpv6AddressCount sets the Ipv6AddressCount field's value.
96579func (s *ScheduledInstancesNetworkInterface) SetIpv6AddressCount(v int64) *ScheduledInstancesNetworkInterface {
96580	s.Ipv6AddressCount = &v
96581	return s
96582}
96583
96584// SetIpv6Addresses sets the Ipv6Addresses field's value.
96585func (s *ScheduledInstancesNetworkInterface) SetIpv6Addresses(v []*ScheduledInstancesIpv6Address) *ScheduledInstancesNetworkInterface {
96586	s.Ipv6Addresses = v
96587	return s
96588}
96589
96590// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
96591func (s *ScheduledInstancesNetworkInterface) SetNetworkInterfaceId(v string) *ScheduledInstancesNetworkInterface {
96592	s.NetworkInterfaceId = &v
96593	return s
96594}
96595
96596// SetPrivateIpAddress sets the PrivateIpAddress field's value.
96597func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddress(v string) *ScheduledInstancesNetworkInterface {
96598	s.PrivateIpAddress = &v
96599	return s
96600}
96601
96602// SetPrivateIpAddressConfigs sets the PrivateIpAddressConfigs field's value.
96603func (s *ScheduledInstancesNetworkInterface) SetPrivateIpAddressConfigs(v []*ScheduledInstancesPrivateIpAddressConfig) *ScheduledInstancesNetworkInterface {
96604	s.PrivateIpAddressConfigs = v
96605	return s
96606}
96607
96608// SetSecondaryPrivateIpAddressCount sets the SecondaryPrivateIpAddressCount field's value.
96609func (s *ScheduledInstancesNetworkInterface) SetSecondaryPrivateIpAddressCount(v int64) *ScheduledInstancesNetworkInterface {
96610	s.SecondaryPrivateIpAddressCount = &v
96611	return s
96612}
96613
96614// SetSubnetId sets the SubnetId field's value.
96615func (s *ScheduledInstancesNetworkInterface) SetSubnetId(v string) *ScheduledInstancesNetworkInterface {
96616	s.SubnetId = &v
96617	return s
96618}
96619
96620// Describes the placement for a Scheduled Instance.
96621type ScheduledInstancesPlacement struct {
96622	_ struct{} `type:"structure"`
96623
96624	// The Availability Zone.
96625	AvailabilityZone *string `type:"string"`
96626
96627	// The name of the placement group.
96628	GroupName *string `type:"string"`
96629}
96630
96631// String returns the string representation
96632func (s ScheduledInstancesPlacement) String() string {
96633	return awsutil.Prettify(s)
96634}
96635
96636// GoString returns the string representation
96637func (s ScheduledInstancesPlacement) GoString() string {
96638	return s.String()
96639}
96640
96641// SetAvailabilityZone sets the AvailabilityZone field's value.
96642func (s *ScheduledInstancesPlacement) SetAvailabilityZone(v string) *ScheduledInstancesPlacement {
96643	s.AvailabilityZone = &v
96644	return s
96645}
96646
96647// SetGroupName sets the GroupName field's value.
96648func (s *ScheduledInstancesPlacement) SetGroupName(v string) *ScheduledInstancesPlacement {
96649	s.GroupName = &v
96650	return s
96651}
96652
96653// Describes a private IPv4 address for a Scheduled Instance.
96654type ScheduledInstancesPrivateIpAddressConfig struct {
96655	_ struct{} `type:"structure"`
96656
96657	// Indicates whether this is a primary IPv4 address. Otherwise, this is a secondary
96658	// IPv4 address.
96659	Primary *bool `type:"boolean"`
96660
96661	// The IPv4 address.
96662	PrivateIpAddress *string `type:"string"`
96663}
96664
96665// String returns the string representation
96666func (s ScheduledInstancesPrivateIpAddressConfig) String() string {
96667	return awsutil.Prettify(s)
96668}
96669
96670// GoString returns the string representation
96671func (s ScheduledInstancesPrivateIpAddressConfig) GoString() string {
96672	return s.String()
96673}
96674
96675// SetPrimary sets the Primary field's value.
96676func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrimary(v bool) *ScheduledInstancesPrivateIpAddressConfig {
96677	s.Primary = &v
96678	return s
96679}
96680
96681// SetPrivateIpAddress sets the PrivateIpAddress field's value.
96682func (s *ScheduledInstancesPrivateIpAddressConfig) SetPrivateIpAddress(v string) *ScheduledInstancesPrivateIpAddressConfig {
96683	s.PrivateIpAddress = &v
96684	return s
96685}
96686
96687type SearchLocalGatewayRoutesInput struct {
96688	_ struct{} `type:"structure"`
96689
96690	// Checks whether you have the required permissions for the action, without
96691	// actually making the request, and provides an error response. If you have
96692	// the required permissions, the error response is DryRunOperation. Otherwise,
96693	// it is UnauthorizedOperation.
96694	DryRun *bool `type:"boolean"`
96695
96696	// One or more filters.
96697	//
96698	// Filters is a required field
96699	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
96700
96701	// The ID of the local gateway route table.
96702	//
96703	// LocalGatewayRouteTableId is a required field
96704	LocalGatewayRouteTableId *string `type:"string" required:"true"`
96705
96706	// The maximum number of results to return with a single call. To retrieve the
96707	// remaining results, make another call with the returned nextToken value.
96708	MaxResults *int64 `type:"integer"`
96709
96710	// The token for the next page of results.
96711	NextToken *string `type:"string"`
96712}
96713
96714// String returns the string representation
96715func (s SearchLocalGatewayRoutesInput) String() string {
96716	return awsutil.Prettify(s)
96717}
96718
96719// GoString returns the string representation
96720func (s SearchLocalGatewayRoutesInput) GoString() string {
96721	return s.String()
96722}
96723
96724// Validate inspects the fields of the type to determine if they are valid.
96725func (s *SearchLocalGatewayRoutesInput) Validate() error {
96726	invalidParams := request.ErrInvalidParams{Context: "SearchLocalGatewayRoutesInput"}
96727	if s.Filters == nil {
96728		invalidParams.Add(request.NewErrParamRequired("Filters"))
96729	}
96730	if s.LocalGatewayRouteTableId == nil {
96731		invalidParams.Add(request.NewErrParamRequired("LocalGatewayRouteTableId"))
96732	}
96733
96734	if invalidParams.Len() > 0 {
96735		return invalidParams
96736	}
96737	return nil
96738}
96739
96740// SetDryRun sets the DryRun field's value.
96741func (s *SearchLocalGatewayRoutesInput) SetDryRun(v bool) *SearchLocalGatewayRoutesInput {
96742	s.DryRun = &v
96743	return s
96744}
96745
96746// SetFilters sets the Filters field's value.
96747func (s *SearchLocalGatewayRoutesInput) SetFilters(v []*Filter) *SearchLocalGatewayRoutesInput {
96748	s.Filters = v
96749	return s
96750}
96751
96752// SetLocalGatewayRouteTableId sets the LocalGatewayRouteTableId field's value.
96753func (s *SearchLocalGatewayRoutesInput) SetLocalGatewayRouteTableId(v string) *SearchLocalGatewayRoutesInput {
96754	s.LocalGatewayRouteTableId = &v
96755	return s
96756}
96757
96758// SetMaxResults sets the MaxResults field's value.
96759func (s *SearchLocalGatewayRoutesInput) SetMaxResults(v int64) *SearchLocalGatewayRoutesInput {
96760	s.MaxResults = &v
96761	return s
96762}
96763
96764// SetNextToken sets the NextToken field's value.
96765func (s *SearchLocalGatewayRoutesInput) SetNextToken(v string) *SearchLocalGatewayRoutesInput {
96766	s.NextToken = &v
96767	return s
96768}
96769
96770type SearchLocalGatewayRoutesOutput struct {
96771	_ struct{} `type:"structure"`
96772
96773	// The token to use to retrieve the next page of results. This value is null
96774	// when there are no more results to return.
96775	NextToken *string `locationName:"nextToken" type:"string"`
96776
96777	// Information about the routes.
96778	Routes []*LocalGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
96779}
96780
96781// String returns the string representation
96782func (s SearchLocalGatewayRoutesOutput) String() string {
96783	return awsutil.Prettify(s)
96784}
96785
96786// GoString returns the string representation
96787func (s SearchLocalGatewayRoutesOutput) GoString() string {
96788	return s.String()
96789}
96790
96791// SetNextToken sets the NextToken field's value.
96792func (s *SearchLocalGatewayRoutesOutput) SetNextToken(v string) *SearchLocalGatewayRoutesOutput {
96793	s.NextToken = &v
96794	return s
96795}
96796
96797// SetRoutes sets the Routes field's value.
96798func (s *SearchLocalGatewayRoutesOutput) SetRoutes(v []*LocalGatewayRoute) *SearchLocalGatewayRoutesOutput {
96799	s.Routes = v
96800	return s
96801}
96802
96803type SearchTransitGatewayMulticastGroupsInput struct {
96804	_ struct{} `type:"structure"`
96805
96806	// Checks whether you have the required permissions for the action, without
96807	// actually making the request, and provides an error response. If you have
96808	// the required permissions, the error response is DryRunOperation. Otherwise,
96809	// it is UnauthorizedOperation.
96810	DryRun *bool `type:"boolean"`
96811
96812	// One or more filters. The possible values are:
96813	//
96814	//    * group-ip-address - The IP address of the transit gateway multicast group.
96815	//
96816	//    * is-group-member - The resource is a group member. Valid values are true
96817	//    | false.
96818	//
96819	//    * is-group-source - The resource is a group source. Valid values are true
96820	//    | false.
96821	//
96822	//    * member-type - The member type. Valid values are igmp | static.
96823	//
96824	//    * resource-id - The ID of the resource.
96825	//
96826	//    * resource-type - The type of resource. Valid values are vpc | vpn | direct-connect-gateway
96827	//    | tgw-peering.
96828	//
96829	//    * source-type - The source type. Valid values are igmp | static.
96830	//
96831	//    * state - The state of the subnet association. Valid values are associated
96832	//    | associated | disassociated | disassociating.
96833	//
96834	//    * subnet-id - The ID of the subnet.
96835	//
96836	//    * transit-gateway-attachment-id - The id of the transit gateway attachment.
96837	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list"`
96838
96839	// The maximum number of results to return with a single call. To retrieve the
96840	// remaining results, make another call with the returned nextToken value.
96841	MaxResults *int64 `min:"5" type:"integer"`
96842
96843	// The token for the next page of results.
96844	NextToken *string `type:"string"`
96845
96846	// The ID of the transit gateway multicast domain.
96847	TransitGatewayMulticastDomainId *string `type:"string"`
96848}
96849
96850// String returns the string representation
96851func (s SearchTransitGatewayMulticastGroupsInput) String() string {
96852	return awsutil.Prettify(s)
96853}
96854
96855// GoString returns the string representation
96856func (s SearchTransitGatewayMulticastGroupsInput) GoString() string {
96857	return s.String()
96858}
96859
96860// Validate inspects the fields of the type to determine if they are valid.
96861func (s *SearchTransitGatewayMulticastGroupsInput) Validate() error {
96862	invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayMulticastGroupsInput"}
96863	if s.MaxResults != nil && *s.MaxResults < 5 {
96864		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
96865	}
96866
96867	if invalidParams.Len() > 0 {
96868		return invalidParams
96869	}
96870	return nil
96871}
96872
96873// SetDryRun sets the DryRun field's value.
96874func (s *SearchTransitGatewayMulticastGroupsInput) SetDryRun(v bool) *SearchTransitGatewayMulticastGroupsInput {
96875	s.DryRun = &v
96876	return s
96877}
96878
96879// SetFilters sets the Filters field's value.
96880func (s *SearchTransitGatewayMulticastGroupsInput) SetFilters(v []*Filter) *SearchTransitGatewayMulticastGroupsInput {
96881	s.Filters = v
96882	return s
96883}
96884
96885// SetMaxResults sets the MaxResults field's value.
96886func (s *SearchTransitGatewayMulticastGroupsInput) SetMaxResults(v int64) *SearchTransitGatewayMulticastGroupsInput {
96887	s.MaxResults = &v
96888	return s
96889}
96890
96891// SetNextToken sets the NextToken field's value.
96892func (s *SearchTransitGatewayMulticastGroupsInput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsInput {
96893	s.NextToken = &v
96894	return s
96895}
96896
96897// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
96898func (s *SearchTransitGatewayMulticastGroupsInput) SetTransitGatewayMulticastDomainId(v string) *SearchTransitGatewayMulticastGroupsInput {
96899	s.TransitGatewayMulticastDomainId = &v
96900	return s
96901}
96902
96903type SearchTransitGatewayMulticastGroupsOutput struct {
96904	_ struct{} `type:"structure"`
96905
96906	// Information about the transit gateway multicast group.
96907	MulticastGroups []*TransitGatewayMulticastGroup `locationName:"multicastGroups" locationNameList:"item" type:"list"`
96908
96909	// The token to use to retrieve the next page of results. This value is null
96910	// when there are no more results to return.
96911	NextToken *string `locationName:"nextToken" type:"string"`
96912}
96913
96914// String returns the string representation
96915func (s SearchTransitGatewayMulticastGroupsOutput) String() string {
96916	return awsutil.Prettify(s)
96917}
96918
96919// GoString returns the string representation
96920func (s SearchTransitGatewayMulticastGroupsOutput) GoString() string {
96921	return s.String()
96922}
96923
96924// SetMulticastGroups sets the MulticastGroups field's value.
96925func (s *SearchTransitGatewayMulticastGroupsOutput) SetMulticastGroups(v []*TransitGatewayMulticastGroup) *SearchTransitGatewayMulticastGroupsOutput {
96926	s.MulticastGroups = v
96927	return s
96928}
96929
96930// SetNextToken sets the NextToken field's value.
96931func (s *SearchTransitGatewayMulticastGroupsOutput) SetNextToken(v string) *SearchTransitGatewayMulticastGroupsOutput {
96932	s.NextToken = &v
96933	return s
96934}
96935
96936type SearchTransitGatewayRoutesInput struct {
96937	_ struct{} `type:"structure"`
96938
96939	// Checks whether you have the required permissions for the action, without
96940	// actually making the request, and provides an error response. If you have
96941	// the required permissions, the error response is DryRunOperation. Otherwise,
96942	// it is UnauthorizedOperation.
96943	DryRun *bool `type:"boolean"`
96944
96945	// One or more filters. The possible values are:
96946	//
96947	//    * attachment.transit-gateway-attachment-id- The id of the transit gateway
96948	//    attachment.
96949	//
96950	//    * attachment.resource-id - The resource id of the transit gateway attachment.
96951	//
96952	//    * attachment.resource-type - The attachment resource type (vpc | vpn).
96953	//
96954	//    * route-search.exact-match - The exact match of the specified filter.
96955	//
96956	//    * route-search.longest-prefix-match - The longest prefix that matches
96957	//    the route.
96958	//
96959	//    * route-search.subnet-of-match - The routes with a subnet that match the
96960	//    specified CIDR filter.
96961	//
96962	//    * route-search.supernet-of-match - The routes with a CIDR that encompass
96963	//    the CIDR filter. For example, if you have 10.0.1.0/29 and 10.0.1.0/31
96964	//    routes in your route table and you specify supernet-of-match as 10.0.1.0/30,
96965	//    then the result returns 10.0.1.0/29.
96966	//
96967	//    * state - The state of the route (active | blackhole).
96968	//
96969	//    * type - The type of route (propagated | static).
96970	//
96971	// Filters is a required field
96972	Filters []*Filter `locationName:"Filter" locationNameList:"Filter" type:"list" required:"true"`
96973
96974	// The maximum number of routes to return.
96975	MaxResults *int64 `min:"5" type:"integer"`
96976
96977	// The ID of the transit gateway route table.
96978	//
96979	// TransitGatewayRouteTableId is a required field
96980	TransitGatewayRouteTableId *string `type:"string" required:"true"`
96981}
96982
96983// String returns the string representation
96984func (s SearchTransitGatewayRoutesInput) String() string {
96985	return awsutil.Prettify(s)
96986}
96987
96988// GoString returns the string representation
96989func (s SearchTransitGatewayRoutesInput) GoString() string {
96990	return s.String()
96991}
96992
96993// Validate inspects the fields of the type to determine if they are valid.
96994func (s *SearchTransitGatewayRoutesInput) Validate() error {
96995	invalidParams := request.ErrInvalidParams{Context: "SearchTransitGatewayRoutesInput"}
96996	if s.Filters == nil {
96997		invalidParams.Add(request.NewErrParamRequired("Filters"))
96998	}
96999	if s.MaxResults != nil && *s.MaxResults < 5 {
97000		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
97001	}
97002	if s.TransitGatewayRouteTableId == nil {
97003		invalidParams.Add(request.NewErrParamRequired("TransitGatewayRouteTableId"))
97004	}
97005
97006	if invalidParams.Len() > 0 {
97007		return invalidParams
97008	}
97009	return nil
97010}
97011
97012// SetDryRun sets the DryRun field's value.
97013func (s *SearchTransitGatewayRoutesInput) SetDryRun(v bool) *SearchTransitGatewayRoutesInput {
97014	s.DryRun = &v
97015	return s
97016}
97017
97018// SetFilters sets the Filters field's value.
97019func (s *SearchTransitGatewayRoutesInput) SetFilters(v []*Filter) *SearchTransitGatewayRoutesInput {
97020	s.Filters = v
97021	return s
97022}
97023
97024// SetMaxResults sets the MaxResults field's value.
97025func (s *SearchTransitGatewayRoutesInput) SetMaxResults(v int64) *SearchTransitGatewayRoutesInput {
97026	s.MaxResults = &v
97027	return s
97028}
97029
97030// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
97031func (s *SearchTransitGatewayRoutesInput) SetTransitGatewayRouteTableId(v string) *SearchTransitGatewayRoutesInput {
97032	s.TransitGatewayRouteTableId = &v
97033	return s
97034}
97035
97036type SearchTransitGatewayRoutesOutput struct {
97037	_ struct{} `type:"structure"`
97038
97039	// Indicates whether there are additional routes available.
97040	AdditionalRoutesAvailable *bool `locationName:"additionalRoutesAvailable" type:"boolean"`
97041
97042	// Information about the routes.
97043	Routes []*TransitGatewayRoute `locationName:"routeSet" locationNameList:"item" type:"list"`
97044}
97045
97046// String returns the string representation
97047func (s SearchTransitGatewayRoutesOutput) String() string {
97048	return awsutil.Prettify(s)
97049}
97050
97051// GoString returns the string representation
97052func (s SearchTransitGatewayRoutesOutput) GoString() string {
97053	return s.String()
97054}
97055
97056// SetAdditionalRoutesAvailable sets the AdditionalRoutesAvailable field's value.
97057func (s *SearchTransitGatewayRoutesOutput) SetAdditionalRoutesAvailable(v bool) *SearchTransitGatewayRoutesOutput {
97058	s.AdditionalRoutesAvailable = &v
97059	return s
97060}
97061
97062// SetRoutes sets the Routes field's value.
97063func (s *SearchTransitGatewayRoutesOutput) SetRoutes(v []*TransitGatewayRoute) *SearchTransitGatewayRoutesOutput {
97064	s.Routes = v
97065	return s
97066}
97067
97068// Describes a security group
97069type SecurityGroup struct {
97070	_ struct{} `type:"structure"`
97071
97072	// A description of the security group.
97073	Description *string `locationName:"groupDescription" type:"string"`
97074
97075	// The ID of the security group.
97076	GroupId *string `locationName:"groupId" type:"string"`
97077
97078	// The name of the security group.
97079	GroupName *string `locationName:"groupName" type:"string"`
97080
97081	// The inbound rules associated with the security group.
97082	IpPermissions []*IpPermission `locationName:"ipPermissions" locationNameList:"item" type:"list"`
97083
97084	// [VPC only] The outbound rules associated with the security group.
97085	IpPermissionsEgress []*IpPermission `locationName:"ipPermissionsEgress" locationNameList:"item" type:"list"`
97086
97087	// The AWS account ID of the owner of the security group.
97088	OwnerId *string `locationName:"ownerId" type:"string"`
97089
97090	// Any tags assigned to the security group.
97091	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
97092
97093	// [VPC only] The ID of the VPC for the security group.
97094	VpcId *string `locationName:"vpcId" type:"string"`
97095}
97096
97097// String returns the string representation
97098func (s SecurityGroup) String() string {
97099	return awsutil.Prettify(s)
97100}
97101
97102// GoString returns the string representation
97103func (s SecurityGroup) GoString() string {
97104	return s.String()
97105}
97106
97107// SetDescription sets the Description field's value.
97108func (s *SecurityGroup) SetDescription(v string) *SecurityGroup {
97109	s.Description = &v
97110	return s
97111}
97112
97113// SetGroupId sets the GroupId field's value.
97114func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
97115	s.GroupId = &v
97116	return s
97117}
97118
97119// SetGroupName sets the GroupName field's value.
97120func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
97121	s.GroupName = &v
97122	return s
97123}
97124
97125// SetIpPermissions sets the IpPermissions field's value.
97126func (s *SecurityGroup) SetIpPermissions(v []*IpPermission) *SecurityGroup {
97127	s.IpPermissions = v
97128	return s
97129}
97130
97131// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
97132func (s *SecurityGroup) SetIpPermissionsEgress(v []*IpPermission) *SecurityGroup {
97133	s.IpPermissionsEgress = v
97134	return s
97135}
97136
97137// SetOwnerId sets the OwnerId field's value.
97138func (s *SecurityGroup) SetOwnerId(v string) *SecurityGroup {
97139	s.OwnerId = &v
97140	return s
97141}
97142
97143// SetTags sets the Tags field's value.
97144func (s *SecurityGroup) SetTags(v []*Tag) *SecurityGroup {
97145	s.Tags = v
97146	return s
97147}
97148
97149// SetVpcId sets the VpcId field's value.
97150func (s *SecurityGroup) SetVpcId(v string) *SecurityGroup {
97151	s.VpcId = &v
97152	return s
97153}
97154
97155// Describes a security group.
97156type SecurityGroupIdentifier struct {
97157	_ struct{} `type:"structure"`
97158
97159	// The ID of the security group.
97160	GroupId *string `locationName:"groupId" type:"string"`
97161
97162	// The name of the security group.
97163	GroupName *string `locationName:"groupName" type:"string"`
97164}
97165
97166// String returns the string representation
97167func (s SecurityGroupIdentifier) String() string {
97168	return awsutil.Prettify(s)
97169}
97170
97171// GoString returns the string representation
97172func (s SecurityGroupIdentifier) GoString() string {
97173	return s.String()
97174}
97175
97176// SetGroupId sets the GroupId field's value.
97177func (s *SecurityGroupIdentifier) SetGroupId(v string) *SecurityGroupIdentifier {
97178	s.GroupId = &v
97179	return s
97180}
97181
97182// SetGroupName sets the GroupName field's value.
97183func (s *SecurityGroupIdentifier) SetGroupName(v string) *SecurityGroupIdentifier {
97184	s.GroupName = &v
97185	return s
97186}
97187
97188// Describes a VPC with a security group that references your security group.
97189type SecurityGroupReference struct {
97190	_ struct{} `type:"structure"`
97191
97192	// The ID of your security group.
97193	GroupId *string `locationName:"groupId" type:"string"`
97194
97195	// The ID of the VPC with the referencing security group.
97196	ReferencingVpcId *string `locationName:"referencingVpcId" type:"string"`
97197
97198	// The ID of the VPC peering connection.
97199	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
97200}
97201
97202// String returns the string representation
97203func (s SecurityGroupReference) String() string {
97204	return awsutil.Prettify(s)
97205}
97206
97207// GoString returns the string representation
97208func (s SecurityGroupReference) GoString() string {
97209	return s.String()
97210}
97211
97212// SetGroupId sets the GroupId field's value.
97213func (s *SecurityGroupReference) SetGroupId(v string) *SecurityGroupReference {
97214	s.GroupId = &v
97215	return s
97216}
97217
97218// SetReferencingVpcId sets the ReferencingVpcId field's value.
97219func (s *SecurityGroupReference) SetReferencingVpcId(v string) *SecurityGroupReference {
97220	s.ReferencingVpcId = &v
97221	return s
97222}
97223
97224// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
97225func (s *SecurityGroupReference) SetVpcPeeringConnectionId(v string) *SecurityGroupReference {
97226	s.VpcPeeringConnectionId = &v
97227	return s
97228}
97229
97230type SendDiagnosticInterruptInput struct {
97231	_ struct{} `type:"structure"`
97232
97233	// Checks whether you have the required permissions for the action, without
97234	// actually making the request, and provides an error response. If you have
97235	// the required permissions, the error response is DryRunOperation. Otherwise,
97236	// it is UnauthorizedOperation.
97237	DryRun *bool `type:"boolean"`
97238
97239	// The ID of the instance.
97240	//
97241	// InstanceId is a required field
97242	InstanceId *string `type:"string" required:"true"`
97243}
97244
97245// String returns the string representation
97246func (s SendDiagnosticInterruptInput) String() string {
97247	return awsutil.Prettify(s)
97248}
97249
97250// GoString returns the string representation
97251func (s SendDiagnosticInterruptInput) GoString() string {
97252	return s.String()
97253}
97254
97255// Validate inspects the fields of the type to determine if they are valid.
97256func (s *SendDiagnosticInterruptInput) Validate() error {
97257	invalidParams := request.ErrInvalidParams{Context: "SendDiagnosticInterruptInput"}
97258	if s.InstanceId == nil {
97259		invalidParams.Add(request.NewErrParamRequired("InstanceId"))
97260	}
97261
97262	if invalidParams.Len() > 0 {
97263		return invalidParams
97264	}
97265	return nil
97266}
97267
97268// SetDryRun sets the DryRun field's value.
97269func (s *SendDiagnosticInterruptInput) SetDryRun(v bool) *SendDiagnosticInterruptInput {
97270	s.DryRun = &v
97271	return s
97272}
97273
97274// SetInstanceId sets the InstanceId field's value.
97275func (s *SendDiagnosticInterruptInput) SetInstanceId(v string) *SendDiagnosticInterruptInput {
97276	s.InstanceId = &v
97277	return s
97278}
97279
97280type SendDiagnosticInterruptOutput struct {
97281	_ struct{} `type:"structure"`
97282}
97283
97284// String returns the string representation
97285func (s SendDiagnosticInterruptOutput) String() string {
97286	return awsutil.Prettify(s)
97287}
97288
97289// GoString returns the string representation
97290func (s SendDiagnosticInterruptOutput) GoString() string {
97291	return s.String()
97292}
97293
97294// Describes a service configuration for a VPC endpoint service.
97295type ServiceConfiguration struct {
97296	_ struct{} `type:"structure"`
97297
97298	// Indicates whether requests from other AWS accounts to create an endpoint
97299	// to the service must first be accepted.
97300	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
97301
97302	// In the Availability Zones in which the service is available.
97303	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
97304
97305	// The DNS names for the service.
97306	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
97307
97308	// Indicates whether the service manages it's VPC endpoints. Management of the
97309	// service VPC endpoints using the VPC endpoint API is restricted.
97310	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
97311
97312	// The Amazon Resource Names (ARNs) of the Network Load Balancers for the service.
97313	NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
97314
97315	// The private DNS name for the service.
97316	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
97317
97318	// The ID of the service.
97319	ServiceId *string `locationName:"serviceId" type:"string"`
97320
97321	// The name of the service.
97322	ServiceName *string `locationName:"serviceName" type:"string"`
97323
97324	// The service state.
97325	ServiceState *string `locationName:"serviceState" type:"string" enum:"ServiceState"`
97326
97327	// The type of service.
97328	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
97329
97330	// Any tags assigned to the service.
97331	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
97332}
97333
97334// String returns the string representation
97335func (s ServiceConfiguration) String() string {
97336	return awsutil.Prettify(s)
97337}
97338
97339// GoString returns the string representation
97340func (s ServiceConfiguration) GoString() string {
97341	return s.String()
97342}
97343
97344// SetAcceptanceRequired sets the AcceptanceRequired field's value.
97345func (s *ServiceConfiguration) SetAcceptanceRequired(v bool) *ServiceConfiguration {
97346	s.AcceptanceRequired = &v
97347	return s
97348}
97349
97350// SetAvailabilityZones sets the AvailabilityZones field's value.
97351func (s *ServiceConfiguration) SetAvailabilityZones(v []*string) *ServiceConfiguration {
97352	s.AvailabilityZones = v
97353	return s
97354}
97355
97356// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
97357func (s *ServiceConfiguration) SetBaseEndpointDnsNames(v []*string) *ServiceConfiguration {
97358	s.BaseEndpointDnsNames = v
97359	return s
97360}
97361
97362// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
97363func (s *ServiceConfiguration) SetManagesVpcEndpoints(v bool) *ServiceConfiguration {
97364	s.ManagesVpcEndpoints = &v
97365	return s
97366}
97367
97368// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
97369func (s *ServiceConfiguration) SetNetworkLoadBalancerArns(v []*string) *ServiceConfiguration {
97370	s.NetworkLoadBalancerArns = v
97371	return s
97372}
97373
97374// SetPrivateDnsName sets the PrivateDnsName field's value.
97375func (s *ServiceConfiguration) SetPrivateDnsName(v string) *ServiceConfiguration {
97376	s.PrivateDnsName = &v
97377	return s
97378}
97379
97380// SetServiceId sets the ServiceId field's value.
97381func (s *ServiceConfiguration) SetServiceId(v string) *ServiceConfiguration {
97382	s.ServiceId = &v
97383	return s
97384}
97385
97386// SetServiceName sets the ServiceName field's value.
97387func (s *ServiceConfiguration) SetServiceName(v string) *ServiceConfiguration {
97388	s.ServiceName = &v
97389	return s
97390}
97391
97392// SetServiceState sets the ServiceState field's value.
97393func (s *ServiceConfiguration) SetServiceState(v string) *ServiceConfiguration {
97394	s.ServiceState = &v
97395	return s
97396}
97397
97398// SetServiceType sets the ServiceType field's value.
97399func (s *ServiceConfiguration) SetServiceType(v []*ServiceTypeDetail) *ServiceConfiguration {
97400	s.ServiceType = v
97401	return s
97402}
97403
97404// SetTags sets the Tags field's value.
97405func (s *ServiceConfiguration) SetTags(v []*Tag) *ServiceConfiguration {
97406	s.Tags = v
97407	return s
97408}
97409
97410// Describes a VPC endpoint service.
97411type ServiceDetail struct {
97412	_ struct{} `type:"structure"`
97413
97414	// Indicates whether VPC endpoint connection requests to the service must be
97415	// accepted by the service owner.
97416	AcceptanceRequired *bool `locationName:"acceptanceRequired" type:"boolean"`
97417
97418	// The Availability Zones in which the service is available.
97419	AvailabilityZones []*string `locationName:"availabilityZoneSet" locationNameList:"item" type:"list"`
97420
97421	// The DNS names for the service.
97422	BaseEndpointDnsNames []*string `locationName:"baseEndpointDnsNameSet" locationNameList:"item" type:"list"`
97423
97424	// Indicates whether the service manages it's VPC endpoints. Management of the
97425	// service VPC endpoints using the VPC endpoint API is restricted.
97426	ManagesVpcEndpoints *bool `locationName:"managesVpcEndpoints" type:"boolean"`
97427
97428	// The AWS account ID of the service owner.
97429	Owner *string `locationName:"owner" type:"string"`
97430
97431	// The private DNS name for the service.
97432	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
97433
97434	// The ID of the endpoint service.
97435	ServiceId *string `locationName:"serviceId" type:"string"`
97436
97437	// The Amazon Resource Name (ARN) of the service.
97438	ServiceName *string `locationName:"serviceName" type:"string"`
97439
97440	// The type of service.
97441	ServiceType []*ServiceTypeDetail `locationName:"serviceType" locationNameList:"item" type:"list"`
97442
97443	// Any tags assigned to the service.
97444	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
97445
97446	// Indicates whether the service supports endpoint policies.
97447	VpcEndpointPolicySupported *bool `locationName:"vpcEndpointPolicySupported" type:"boolean"`
97448}
97449
97450// String returns the string representation
97451func (s ServiceDetail) String() string {
97452	return awsutil.Prettify(s)
97453}
97454
97455// GoString returns the string representation
97456func (s ServiceDetail) GoString() string {
97457	return s.String()
97458}
97459
97460// SetAcceptanceRequired sets the AcceptanceRequired field's value.
97461func (s *ServiceDetail) SetAcceptanceRequired(v bool) *ServiceDetail {
97462	s.AcceptanceRequired = &v
97463	return s
97464}
97465
97466// SetAvailabilityZones sets the AvailabilityZones field's value.
97467func (s *ServiceDetail) SetAvailabilityZones(v []*string) *ServiceDetail {
97468	s.AvailabilityZones = v
97469	return s
97470}
97471
97472// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
97473func (s *ServiceDetail) SetBaseEndpointDnsNames(v []*string) *ServiceDetail {
97474	s.BaseEndpointDnsNames = v
97475	return s
97476}
97477
97478// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
97479func (s *ServiceDetail) SetManagesVpcEndpoints(v bool) *ServiceDetail {
97480	s.ManagesVpcEndpoints = &v
97481	return s
97482}
97483
97484// SetOwner sets the Owner field's value.
97485func (s *ServiceDetail) SetOwner(v string) *ServiceDetail {
97486	s.Owner = &v
97487	return s
97488}
97489
97490// SetPrivateDnsName sets the PrivateDnsName field's value.
97491func (s *ServiceDetail) SetPrivateDnsName(v string) *ServiceDetail {
97492	s.PrivateDnsName = &v
97493	return s
97494}
97495
97496// SetServiceId sets the ServiceId field's value.
97497func (s *ServiceDetail) SetServiceId(v string) *ServiceDetail {
97498	s.ServiceId = &v
97499	return s
97500}
97501
97502// SetServiceName sets the ServiceName field's value.
97503func (s *ServiceDetail) SetServiceName(v string) *ServiceDetail {
97504	s.ServiceName = &v
97505	return s
97506}
97507
97508// SetServiceType sets the ServiceType field's value.
97509func (s *ServiceDetail) SetServiceType(v []*ServiceTypeDetail) *ServiceDetail {
97510	s.ServiceType = v
97511	return s
97512}
97513
97514// SetTags sets the Tags field's value.
97515func (s *ServiceDetail) SetTags(v []*Tag) *ServiceDetail {
97516	s.Tags = v
97517	return s
97518}
97519
97520// SetVpcEndpointPolicySupported sets the VpcEndpointPolicySupported field's value.
97521func (s *ServiceDetail) SetVpcEndpointPolicySupported(v bool) *ServiceDetail {
97522	s.VpcEndpointPolicySupported = &v
97523	return s
97524}
97525
97526// Describes the type of service for a VPC endpoint.
97527type ServiceTypeDetail struct {
97528	_ struct{} `type:"structure"`
97529
97530	// The type of service.
97531	ServiceType *string `locationName:"serviceType" type:"string" enum:"ServiceType"`
97532}
97533
97534// String returns the string representation
97535func (s ServiceTypeDetail) String() string {
97536	return awsutil.Prettify(s)
97537}
97538
97539// GoString returns the string representation
97540func (s ServiceTypeDetail) GoString() string {
97541	return s.String()
97542}
97543
97544// SetServiceType sets the ServiceType field's value.
97545func (s *ServiceTypeDetail) SetServiceType(v string) *ServiceTypeDetail {
97546	s.ServiceType = &v
97547	return s
97548}
97549
97550// Describes the time period for a Scheduled Instance to start its first schedule.
97551// The time period must span less than one day.
97552type SlotDateTimeRangeRequest struct {
97553	_ struct{} `type:"structure"`
97554
97555	// The earliest date and time, in UTC, for the Scheduled Instance to start.
97556	//
97557	// EarliestTime is a required field
97558	EarliestTime *time.Time `type:"timestamp" required:"true"`
97559
97560	// The latest date and time, in UTC, for the Scheduled Instance to start. This
97561	// value must be later than or equal to the earliest date and at most three
97562	// months in the future.
97563	//
97564	// LatestTime is a required field
97565	LatestTime *time.Time `type:"timestamp" required:"true"`
97566}
97567
97568// String returns the string representation
97569func (s SlotDateTimeRangeRequest) String() string {
97570	return awsutil.Prettify(s)
97571}
97572
97573// GoString returns the string representation
97574func (s SlotDateTimeRangeRequest) GoString() string {
97575	return s.String()
97576}
97577
97578// Validate inspects the fields of the type to determine if they are valid.
97579func (s *SlotDateTimeRangeRequest) Validate() error {
97580	invalidParams := request.ErrInvalidParams{Context: "SlotDateTimeRangeRequest"}
97581	if s.EarliestTime == nil {
97582		invalidParams.Add(request.NewErrParamRequired("EarliestTime"))
97583	}
97584	if s.LatestTime == nil {
97585		invalidParams.Add(request.NewErrParamRequired("LatestTime"))
97586	}
97587
97588	if invalidParams.Len() > 0 {
97589		return invalidParams
97590	}
97591	return nil
97592}
97593
97594// SetEarliestTime sets the EarliestTime field's value.
97595func (s *SlotDateTimeRangeRequest) SetEarliestTime(v time.Time) *SlotDateTimeRangeRequest {
97596	s.EarliestTime = &v
97597	return s
97598}
97599
97600// SetLatestTime sets the LatestTime field's value.
97601func (s *SlotDateTimeRangeRequest) SetLatestTime(v time.Time) *SlotDateTimeRangeRequest {
97602	s.LatestTime = &v
97603	return s
97604}
97605
97606// Describes the time period for a Scheduled Instance to start its first schedule.
97607type SlotStartTimeRangeRequest struct {
97608	_ struct{} `type:"structure"`
97609
97610	// The earliest date and time, in UTC, for the Scheduled Instance to start.
97611	EarliestTime *time.Time `type:"timestamp"`
97612
97613	// The latest date and time, in UTC, for the Scheduled Instance to start.
97614	LatestTime *time.Time `type:"timestamp"`
97615}
97616
97617// String returns the string representation
97618func (s SlotStartTimeRangeRequest) String() string {
97619	return awsutil.Prettify(s)
97620}
97621
97622// GoString returns the string representation
97623func (s SlotStartTimeRangeRequest) GoString() string {
97624	return s.String()
97625}
97626
97627// SetEarliestTime sets the EarliestTime field's value.
97628func (s *SlotStartTimeRangeRequest) SetEarliestTime(v time.Time) *SlotStartTimeRangeRequest {
97629	s.EarliestTime = &v
97630	return s
97631}
97632
97633// SetLatestTime sets the LatestTime field's value.
97634func (s *SlotStartTimeRangeRequest) SetLatestTime(v time.Time) *SlotStartTimeRangeRequest {
97635	s.LatestTime = &v
97636	return s
97637}
97638
97639// Describes a snapshot.
97640type Snapshot struct {
97641	_ struct{} `type:"structure"`
97642
97643	// The data encryption key identifier for the snapshot. This value is a unique
97644	// identifier that corresponds to the data encryption key that was used to encrypt
97645	// the original volume or snapshot copy. Because data encryption keys are inherited
97646	// by volumes created from snapshots, and vice versa, if snapshots share the
97647	// same data encryption key identifier, then they belong to the same volume/snapshot
97648	// lineage. This parameter is only returned by DescribeSnapshots.
97649	DataEncryptionKeyId *string `locationName:"dataEncryptionKeyId" type:"string"`
97650
97651	// The description for the snapshot.
97652	Description *string `locationName:"description" type:"string"`
97653
97654	// Indicates whether the snapshot is encrypted.
97655	Encrypted *bool `locationName:"encrypted" type:"boolean"`
97656
97657	// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
97658	// customer master key (CMK) that was used to protect the volume encryption
97659	// key for the parent volume.
97660	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
97661
97662	// Value from an Amazon-maintained list (amazon | self | all | aws-marketplace
97663	// | microsoft) of snapshot owners. Not to be confused with the user-configured
97664	// AWS account alias, which is set from the IAM console.
97665	OwnerAlias *string `locationName:"ownerAlias" type:"string"`
97666
97667	// The AWS account ID of the EBS snapshot owner.
97668	OwnerId *string `locationName:"ownerId" type:"string"`
97669
97670	// The progress of the snapshot, as a percentage.
97671	Progress *string `locationName:"progress" type:"string"`
97672
97673	// The ID of the snapshot. Each snapshot receives a unique identifier when it
97674	// is created.
97675	SnapshotId *string `locationName:"snapshotId" type:"string"`
97676
97677	// The time stamp when the snapshot was initiated.
97678	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
97679
97680	// The snapshot state.
97681	State *string `locationName:"status" type:"string" enum:"SnapshotState"`
97682
97683	// Encrypted Amazon EBS snapshots are copied asynchronously. If a snapshot copy
97684	// operation fails (for example, if the proper AWS Key Management Service (AWS
97685	// KMS) permissions are not obtained) this field displays error state details
97686	// to help you diagnose why the error occurred. This parameter is only returned
97687	// by DescribeSnapshots.
97688	StateMessage *string `locationName:"statusMessage" type:"string"`
97689
97690	// Any tags assigned to the snapshot.
97691	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
97692
97693	// The ID of the volume that was used to create the snapshot. Snapshots created
97694	// by the CopySnapshot action have an arbitrary volume ID that should not be
97695	// used for any purpose.
97696	VolumeId *string `locationName:"volumeId" type:"string"`
97697
97698	// The size of the volume, in GiB.
97699	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
97700}
97701
97702// String returns the string representation
97703func (s Snapshot) String() string {
97704	return awsutil.Prettify(s)
97705}
97706
97707// GoString returns the string representation
97708func (s Snapshot) GoString() string {
97709	return s.String()
97710}
97711
97712// SetDataEncryptionKeyId sets the DataEncryptionKeyId field's value.
97713func (s *Snapshot) SetDataEncryptionKeyId(v string) *Snapshot {
97714	s.DataEncryptionKeyId = &v
97715	return s
97716}
97717
97718// SetDescription sets the Description field's value.
97719func (s *Snapshot) SetDescription(v string) *Snapshot {
97720	s.Description = &v
97721	return s
97722}
97723
97724// SetEncrypted sets the Encrypted field's value.
97725func (s *Snapshot) SetEncrypted(v bool) *Snapshot {
97726	s.Encrypted = &v
97727	return s
97728}
97729
97730// SetKmsKeyId sets the KmsKeyId field's value.
97731func (s *Snapshot) SetKmsKeyId(v string) *Snapshot {
97732	s.KmsKeyId = &v
97733	return s
97734}
97735
97736// SetOwnerAlias sets the OwnerAlias field's value.
97737func (s *Snapshot) SetOwnerAlias(v string) *Snapshot {
97738	s.OwnerAlias = &v
97739	return s
97740}
97741
97742// SetOwnerId sets the OwnerId field's value.
97743func (s *Snapshot) SetOwnerId(v string) *Snapshot {
97744	s.OwnerId = &v
97745	return s
97746}
97747
97748// SetProgress sets the Progress field's value.
97749func (s *Snapshot) SetProgress(v string) *Snapshot {
97750	s.Progress = &v
97751	return s
97752}
97753
97754// SetSnapshotId sets the SnapshotId field's value.
97755func (s *Snapshot) SetSnapshotId(v string) *Snapshot {
97756	s.SnapshotId = &v
97757	return s
97758}
97759
97760// SetStartTime sets the StartTime field's value.
97761func (s *Snapshot) SetStartTime(v time.Time) *Snapshot {
97762	s.StartTime = &v
97763	return s
97764}
97765
97766// SetState sets the State field's value.
97767func (s *Snapshot) SetState(v string) *Snapshot {
97768	s.State = &v
97769	return s
97770}
97771
97772// SetStateMessage sets the StateMessage field's value.
97773func (s *Snapshot) SetStateMessage(v string) *Snapshot {
97774	s.StateMessage = &v
97775	return s
97776}
97777
97778// SetTags sets the Tags field's value.
97779func (s *Snapshot) SetTags(v []*Tag) *Snapshot {
97780	s.Tags = v
97781	return s
97782}
97783
97784// SetVolumeId sets the VolumeId field's value.
97785func (s *Snapshot) SetVolumeId(v string) *Snapshot {
97786	s.VolumeId = &v
97787	return s
97788}
97789
97790// SetVolumeSize sets the VolumeSize field's value.
97791func (s *Snapshot) SetVolumeSize(v int64) *Snapshot {
97792	s.VolumeSize = &v
97793	return s
97794}
97795
97796// Describes the snapshot created from the imported disk.
97797type SnapshotDetail struct {
97798	_ struct{} `type:"structure"`
97799
97800	// A description for the snapshot.
97801	Description *string `locationName:"description" type:"string"`
97802
97803	// The block device mapping for the snapshot.
97804	DeviceName *string `locationName:"deviceName" type:"string"`
97805
97806	// The size of the disk in the snapshot, in GiB.
97807	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
97808
97809	// The format of the disk image from which the snapshot is created.
97810	Format *string `locationName:"format" type:"string"`
97811
97812	// The percentage of progress for the task.
97813	Progress *string `locationName:"progress" type:"string"`
97814
97815	// The snapshot ID of the disk being imported.
97816	SnapshotId *string `locationName:"snapshotId" type:"string"`
97817
97818	// A brief status of the snapshot creation.
97819	Status *string `locationName:"status" type:"string"`
97820
97821	// A detailed status message for the snapshot creation.
97822	StatusMessage *string `locationName:"statusMessage" type:"string"`
97823
97824	// The URL used to access the disk image.
97825	Url *string `locationName:"url" type:"string"`
97826
97827	// The S3 bucket for the disk image.
97828	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
97829}
97830
97831// String returns the string representation
97832func (s SnapshotDetail) String() string {
97833	return awsutil.Prettify(s)
97834}
97835
97836// GoString returns the string representation
97837func (s SnapshotDetail) GoString() string {
97838	return s.String()
97839}
97840
97841// SetDescription sets the Description field's value.
97842func (s *SnapshotDetail) SetDescription(v string) *SnapshotDetail {
97843	s.Description = &v
97844	return s
97845}
97846
97847// SetDeviceName sets the DeviceName field's value.
97848func (s *SnapshotDetail) SetDeviceName(v string) *SnapshotDetail {
97849	s.DeviceName = &v
97850	return s
97851}
97852
97853// SetDiskImageSize sets the DiskImageSize field's value.
97854func (s *SnapshotDetail) SetDiskImageSize(v float64) *SnapshotDetail {
97855	s.DiskImageSize = &v
97856	return s
97857}
97858
97859// SetFormat sets the Format field's value.
97860func (s *SnapshotDetail) SetFormat(v string) *SnapshotDetail {
97861	s.Format = &v
97862	return s
97863}
97864
97865// SetProgress sets the Progress field's value.
97866func (s *SnapshotDetail) SetProgress(v string) *SnapshotDetail {
97867	s.Progress = &v
97868	return s
97869}
97870
97871// SetSnapshotId sets the SnapshotId field's value.
97872func (s *SnapshotDetail) SetSnapshotId(v string) *SnapshotDetail {
97873	s.SnapshotId = &v
97874	return s
97875}
97876
97877// SetStatus sets the Status field's value.
97878func (s *SnapshotDetail) SetStatus(v string) *SnapshotDetail {
97879	s.Status = &v
97880	return s
97881}
97882
97883// SetStatusMessage sets the StatusMessage field's value.
97884func (s *SnapshotDetail) SetStatusMessage(v string) *SnapshotDetail {
97885	s.StatusMessage = &v
97886	return s
97887}
97888
97889// SetUrl sets the Url field's value.
97890func (s *SnapshotDetail) SetUrl(v string) *SnapshotDetail {
97891	s.Url = &v
97892	return s
97893}
97894
97895// SetUserBucket sets the UserBucket field's value.
97896func (s *SnapshotDetail) SetUserBucket(v *UserBucketDetails) *SnapshotDetail {
97897	s.UserBucket = v
97898	return s
97899}
97900
97901// The disk container object for the import snapshot request.
97902type SnapshotDiskContainer struct {
97903	_ struct{} `type:"structure"`
97904
97905	// The description of the disk image being imported.
97906	Description *string `type:"string"`
97907
97908	// The format of the disk image being imported.
97909	//
97910	// Valid values: VHD | VMDK
97911	Format *string `type:"string"`
97912
97913	// The URL to the Amazon S3-based disk image being imported. It can either be
97914	// a https URL (https://..) or an Amazon S3 URL (s3://..).
97915	Url *string `type:"string"`
97916
97917	// The S3 bucket for the disk image.
97918	UserBucket *UserBucket `type:"structure"`
97919}
97920
97921// String returns the string representation
97922func (s SnapshotDiskContainer) String() string {
97923	return awsutil.Prettify(s)
97924}
97925
97926// GoString returns the string representation
97927func (s SnapshotDiskContainer) GoString() string {
97928	return s.String()
97929}
97930
97931// SetDescription sets the Description field's value.
97932func (s *SnapshotDiskContainer) SetDescription(v string) *SnapshotDiskContainer {
97933	s.Description = &v
97934	return s
97935}
97936
97937// SetFormat sets the Format field's value.
97938func (s *SnapshotDiskContainer) SetFormat(v string) *SnapshotDiskContainer {
97939	s.Format = &v
97940	return s
97941}
97942
97943// SetUrl sets the Url field's value.
97944func (s *SnapshotDiskContainer) SetUrl(v string) *SnapshotDiskContainer {
97945	s.Url = &v
97946	return s
97947}
97948
97949// SetUserBucket sets the UserBucket field's value.
97950func (s *SnapshotDiskContainer) SetUserBucket(v *UserBucket) *SnapshotDiskContainer {
97951	s.UserBucket = v
97952	return s
97953}
97954
97955// Information about a snapshot.
97956type SnapshotInfo struct {
97957	_ struct{} `type:"structure"`
97958
97959	// Description specified by the CreateSnapshotRequest that has been applied
97960	// to all snapshots.
97961	Description *string `locationName:"description" type:"string"`
97962
97963	// Indicates whether the snapshot is encrypted.
97964	Encrypted *bool `locationName:"encrypted" type:"boolean"`
97965
97966	// Account id used when creating this snapshot.
97967	OwnerId *string `locationName:"ownerId" type:"string"`
97968
97969	// Progress this snapshot has made towards completing.
97970	Progress *string `locationName:"progress" type:"string"`
97971
97972	// Snapshot id that can be used to describe this snapshot.
97973	SnapshotId *string `locationName:"snapshotId" type:"string"`
97974
97975	// Time this snapshot was started. This is the same for all snapshots initiated
97976	// by the same request.
97977	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
97978
97979	// Current state of the snapshot.
97980	State *string `locationName:"state" type:"string" enum:"SnapshotState"`
97981
97982	// Tags associated with this snapshot.
97983	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
97984
97985	// Source volume from which this snapshot was created.
97986	VolumeId *string `locationName:"volumeId" type:"string"`
97987
97988	// Size of the volume from which this snapshot was created.
97989	VolumeSize *int64 `locationName:"volumeSize" type:"integer"`
97990}
97991
97992// String returns the string representation
97993func (s SnapshotInfo) String() string {
97994	return awsutil.Prettify(s)
97995}
97996
97997// GoString returns the string representation
97998func (s SnapshotInfo) GoString() string {
97999	return s.String()
98000}
98001
98002// SetDescription sets the Description field's value.
98003func (s *SnapshotInfo) SetDescription(v string) *SnapshotInfo {
98004	s.Description = &v
98005	return s
98006}
98007
98008// SetEncrypted sets the Encrypted field's value.
98009func (s *SnapshotInfo) SetEncrypted(v bool) *SnapshotInfo {
98010	s.Encrypted = &v
98011	return s
98012}
98013
98014// SetOwnerId sets the OwnerId field's value.
98015func (s *SnapshotInfo) SetOwnerId(v string) *SnapshotInfo {
98016	s.OwnerId = &v
98017	return s
98018}
98019
98020// SetProgress sets the Progress field's value.
98021func (s *SnapshotInfo) SetProgress(v string) *SnapshotInfo {
98022	s.Progress = &v
98023	return s
98024}
98025
98026// SetSnapshotId sets the SnapshotId field's value.
98027func (s *SnapshotInfo) SetSnapshotId(v string) *SnapshotInfo {
98028	s.SnapshotId = &v
98029	return s
98030}
98031
98032// SetStartTime sets the StartTime field's value.
98033func (s *SnapshotInfo) SetStartTime(v time.Time) *SnapshotInfo {
98034	s.StartTime = &v
98035	return s
98036}
98037
98038// SetState sets the State field's value.
98039func (s *SnapshotInfo) SetState(v string) *SnapshotInfo {
98040	s.State = &v
98041	return s
98042}
98043
98044// SetTags sets the Tags field's value.
98045func (s *SnapshotInfo) SetTags(v []*Tag) *SnapshotInfo {
98046	s.Tags = v
98047	return s
98048}
98049
98050// SetVolumeId sets the VolumeId field's value.
98051func (s *SnapshotInfo) SetVolumeId(v string) *SnapshotInfo {
98052	s.VolumeId = &v
98053	return s
98054}
98055
98056// SetVolumeSize sets the VolumeSize field's value.
98057func (s *SnapshotInfo) SetVolumeSize(v int64) *SnapshotInfo {
98058	s.VolumeSize = &v
98059	return s
98060}
98061
98062// Details about the import snapshot task.
98063type SnapshotTaskDetail struct {
98064	_ struct{} `type:"structure"`
98065
98066	// The description of the snapshot.
98067	Description *string `locationName:"description" type:"string"`
98068
98069	// The size of the disk in the snapshot, in GiB.
98070	DiskImageSize *float64 `locationName:"diskImageSize" type:"double"`
98071
98072	// Indicates whether the snapshot is encrypted.
98073	Encrypted *bool `locationName:"encrypted" type:"boolean"`
98074
98075	// The format of the disk image from which the snapshot is created.
98076	Format *string `locationName:"format" type:"string"`
98077
98078	// The identifier for the AWS Key Management Service (AWS KMS) customer master
98079	// key (CMK) that was used to create the encrypted snapshot.
98080	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
98081
98082	// The percentage of completion for the import snapshot task.
98083	Progress *string `locationName:"progress" type:"string"`
98084
98085	// The snapshot ID of the disk being imported.
98086	SnapshotId *string `locationName:"snapshotId" type:"string"`
98087
98088	// A brief status for the import snapshot task.
98089	Status *string `locationName:"status" type:"string"`
98090
98091	// A detailed status message for the import snapshot task.
98092	StatusMessage *string `locationName:"statusMessage" type:"string"`
98093
98094	// The URL of the disk image from which the snapshot is created.
98095	Url *string `locationName:"url" type:"string"`
98096
98097	// The S3 bucket for the disk image.
98098	UserBucket *UserBucketDetails `locationName:"userBucket" type:"structure"`
98099}
98100
98101// String returns the string representation
98102func (s SnapshotTaskDetail) String() string {
98103	return awsutil.Prettify(s)
98104}
98105
98106// GoString returns the string representation
98107func (s SnapshotTaskDetail) GoString() string {
98108	return s.String()
98109}
98110
98111// SetDescription sets the Description field's value.
98112func (s *SnapshotTaskDetail) SetDescription(v string) *SnapshotTaskDetail {
98113	s.Description = &v
98114	return s
98115}
98116
98117// SetDiskImageSize sets the DiskImageSize field's value.
98118func (s *SnapshotTaskDetail) SetDiskImageSize(v float64) *SnapshotTaskDetail {
98119	s.DiskImageSize = &v
98120	return s
98121}
98122
98123// SetEncrypted sets the Encrypted field's value.
98124func (s *SnapshotTaskDetail) SetEncrypted(v bool) *SnapshotTaskDetail {
98125	s.Encrypted = &v
98126	return s
98127}
98128
98129// SetFormat sets the Format field's value.
98130func (s *SnapshotTaskDetail) SetFormat(v string) *SnapshotTaskDetail {
98131	s.Format = &v
98132	return s
98133}
98134
98135// SetKmsKeyId sets the KmsKeyId field's value.
98136func (s *SnapshotTaskDetail) SetKmsKeyId(v string) *SnapshotTaskDetail {
98137	s.KmsKeyId = &v
98138	return s
98139}
98140
98141// SetProgress sets the Progress field's value.
98142func (s *SnapshotTaskDetail) SetProgress(v string) *SnapshotTaskDetail {
98143	s.Progress = &v
98144	return s
98145}
98146
98147// SetSnapshotId sets the SnapshotId field's value.
98148func (s *SnapshotTaskDetail) SetSnapshotId(v string) *SnapshotTaskDetail {
98149	s.SnapshotId = &v
98150	return s
98151}
98152
98153// SetStatus sets the Status field's value.
98154func (s *SnapshotTaskDetail) SetStatus(v string) *SnapshotTaskDetail {
98155	s.Status = &v
98156	return s
98157}
98158
98159// SetStatusMessage sets the StatusMessage field's value.
98160func (s *SnapshotTaskDetail) SetStatusMessage(v string) *SnapshotTaskDetail {
98161	s.StatusMessage = &v
98162	return s
98163}
98164
98165// SetUrl sets the Url field's value.
98166func (s *SnapshotTaskDetail) SetUrl(v string) *SnapshotTaskDetail {
98167	s.Url = &v
98168	return s
98169}
98170
98171// SetUserBucket sets the UserBucket field's value.
98172func (s *SnapshotTaskDetail) SetUserBucket(v *UserBucketDetails) *SnapshotTaskDetail {
98173	s.UserBucket = v
98174	return s
98175}
98176
98177// Describes the data feed for a Spot Instance.
98178type SpotDatafeedSubscription struct {
98179	_ struct{} `type:"structure"`
98180
98181	// The Amazon S3 bucket where the Spot Instance data feed is located.
98182	Bucket *string `locationName:"bucket" type:"string"`
98183
98184	// The fault codes for the Spot Instance request, if any.
98185	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
98186
98187	// The AWS account ID of the account.
98188	OwnerId *string `locationName:"ownerId" type:"string"`
98189
98190	// The prefix that is prepended to data feed files.
98191	Prefix *string `locationName:"prefix" type:"string"`
98192
98193	// The state of the Spot Instance data feed subscription.
98194	State *string `locationName:"state" type:"string" enum:"DatafeedSubscriptionState"`
98195}
98196
98197// String returns the string representation
98198func (s SpotDatafeedSubscription) String() string {
98199	return awsutil.Prettify(s)
98200}
98201
98202// GoString returns the string representation
98203func (s SpotDatafeedSubscription) GoString() string {
98204	return s.String()
98205}
98206
98207// SetBucket sets the Bucket field's value.
98208func (s *SpotDatafeedSubscription) SetBucket(v string) *SpotDatafeedSubscription {
98209	s.Bucket = &v
98210	return s
98211}
98212
98213// SetFault sets the Fault field's value.
98214func (s *SpotDatafeedSubscription) SetFault(v *SpotInstanceStateFault) *SpotDatafeedSubscription {
98215	s.Fault = v
98216	return s
98217}
98218
98219// SetOwnerId sets the OwnerId field's value.
98220func (s *SpotDatafeedSubscription) SetOwnerId(v string) *SpotDatafeedSubscription {
98221	s.OwnerId = &v
98222	return s
98223}
98224
98225// SetPrefix sets the Prefix field's value.
98226func (s *SpotDatafeedSubscription) SetPrefix(v string) *SpotDatafeedSubscription {
98227	s.Prefix = &v
98228	return s
98229}
98230
98231// SetState sets the State field's value.
98232func (s *SpotDatafeedSubscription) SetState(v string) *SpotDatafeedSubscription {
98233	s.State = &v
98234	return s
98235}
98236
98237// Describes the launch specification for one or more Spot Instances. If you
98238// include On-Demand capacity in your fleet request, you can't use SpotFleetLaunchSpecification;
98239// you must use LaunchTemplateConfig (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html).
98240type SpotFleetLaunchSpecification struct {
98241	_ struct{} `type:"structure"`
98242
98243	// Deprecated.
98244	AddressingType *string `locationName:"addressingType" type:"string"`
98245
98246	// One or more block devices that are mapped to the Spot Instances. You can't
98247	// specify both a snapshot ID and an encryption value. This is because only
98248	// blank volumes can be encrypted on creation. If a snapshot is the basis for
98249	// a volume, it is not blank and its encryption status is used for the volume
98250	// encryption status.
98251	BlockDeviceMappings []*BlockDeviceMapping `locationName:"blockDeviceMapping" locationNameList:"item" type:"list"`
98252
98253	// Indicates whether the instances are optimized for EBS I/O. This optimization
98254	// provides dedicated throughput to Amazon EBS and an optimized configuration
98255	// stack to provide optimal EBS I/O performance. This optimization isn't available
98256	// with all instance types. Additional usage charges apply when using an EBS
98257	// Optimized instance.
98258	//
98259	// Default: false
98260	EbsOptimized *bool `locationName:"ebsOptimized" type:"boolean"`
98261
98262	// The IAM instance profile.
98263	IamInstanceProfile *IamInstanceProfileSpecification `locationName:"iamInstanceProfile" type:"structure"`
98264
98265	// The ID of the AMI.
98266	ImageId *string `locationName:"imageId" type:"string"`
98267
98268	// The instance type.
98269	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
98270
98271	// The ID of the kernel.
98272	KernelId *string `locationName:"kernelId" type:"string"`
98273
98274	// The name of the key pair.
98275	KeyName *string `locationName:"keyName" type:"string"`
98276
98277	// Enable or disable monitoring for the instances.
98278	Monitoring *SpotFleetMonitoring `locationName:"monitoring" type:"structure"`
98279
98280	// One or more network interfaces. If you specify a network interface, you must
98281	// specify subnet IDs and security group IDs using the network interface.
98282	NetworkInterfaces []*InstanceNetworkInterfaceSpecification `locationName:"networkInterfaceSet" locationNameList:"item" type:"list"`
98283
98284	// The placement information.
98285	Placement *SpotPlacement `locationName:"placement" type:"structure"`
98286
98287	// The ID of the RAM disk. Some kernels require additional drivers at launch.
98288	// Check the kernel requirements for information about whether you need to specify
98289	// a RAM disk. To find kernel requirements, refer to the AWS Resource Center
98290	// and search for the kernel ID.
98291	RamdiskId *string `locationName:"ramdiskId" type:"string"`
98292
98293	// One or more security groups. When requesting instances in a VPC, you must
98294	// specify the IDs of the security groups. When requesting instances in EC2-Classic,
98295	// you can specify the names or the IDs of the security groups.
98296	SecurityGroups []*GroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
98297
98298	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
98299	// If this value is not specified, the default is the Spot price specified for
98300	// the fleet. To determine the Spot price per unit hour, divide the Spot price
98301	// by the value of WeightedCapacity.
98302	SpotPrice *string `locationName:"spotPrice" type:"string"`
98303
98304	// The IDs of the subnets in which to launch the instances. To specify multiple
98305	// subnets, separate them using commas; for example, "subnet-1234abcdeexample1,
98306	// subnet-0987cdef6example2".
98307	SubnetId *string `locationName:"subnetId" type:"string"`
98308
98309	// The tags to apply during creation.
98310	TagSpecifications []*SpotFleetTagSpecification `locationName:"tagSpecificationSet" locationNameList:"item" type:"list"`
98311
98312	// The Base64-encoded user data that instances use when starting up.
98313	UserData *string `locationName:"userData" type:"string"`
98314
98315	// The number of units provided by the specified instance type. These are the
98316	// same units that you chose to set the target capacity in terms of instances,
98317	// or a performance characteristic such as vCPUs, memory, or I/O.
98318	//
98319	// If the target capacity divided by this value is not a whole number, Amazon
98320	// EC2 rounds the number of instances to the next whole number. If this value
98321	// is not specified, the default is 1.
98322	WeightedCapacity *float64 `locationName:"weightedCapacity" type:"double"`
98323}
98324
98325// String returns the string representation
98326func (s SpotFleetLaunchSpecification) String() string {
98327	return awsutil.Prettify(s)
98328}
98329
98330// GoString returns the string representation
98331func (s SpotFleetLaunchSpecification) GoString() string {
98332	return s.String()
98333}
98334
98335// SetAddressingType sets the AddressingType field's value.
98336func (s *SpotFleetLaunchSpecification) SetAddressingType(v string) *SpotFleetLaunchSpecification {
98337	s.AddressingType = &v
98338	return s
98339}
98340
98341// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
98342func (s *SpotFleetLaunchSpecification) SetBlockDeviceMappings(v []*BlockDeviceMapping) *SpotFleetLaunchSpecification {
98343	s.BlockDeviceMappings = v
98344	return s
98345}
98346
98347// SetEbsOptimized sets the EbsOptimized field's value.
98348func (s *SpotFleetLaunchSpecification) SetEbsOptimized(v bool) *SpotFleetLaunchSpecification {
98349	s.EbsOptimized = &v
98350	return s
98351}
98352
98353// SetIamInstanceProfile sets the IamInstanceProfile field's value.
98354func (s *SpotFleetLaunchSpecification) SetIamInstanceProfile(v *IamInstanceProfileSpecification) *SpotFleetLaunchSpecification {
98355	s.IamInstanceProfile = v
98356	return s
98357}
98358
98359// SetImageId sets the ImageId field's value.
98360func (s *SpotFleetLaunchSpecification) SetImageId(v string) *SpotFleetLaunchSpecification {
98361	s.ImageId = &v
98362	return s
98363}
98364
98365// SetInstanceType sets the InstanceType field's value.
98366func (s *SpotFleetLaunchSpecification) SetInstanceType(v string) *SpotFleetLaunchSpecification {
98367	s.InstanceType = &v
98368	return s
98369}
98370
98371// SetKernelId sets the KernelId field's value.
98372func (s *SpotFleetLaunchSpecification) SetKernelId(v string) *SpotFleetLaunchSpecification {
98373	s.KernelId = &v
98374	return s
98375}
98376
98377// SetKeyName sets the KeyName field's value.
98378func (s *SpotFleetLaunchSpecification) SetKeyName(v string) *SpotFleetLaunchSpecification {
98379	s.KeyName = &v
98380	return s
98381}
98382
98383// SetMonitoring sets the Monitoring field's value.
98384func (s *SpotFleetLaunchSpecification) SetMonitoring(v *SpotFleetMonitoring) *SpotFleetLaunchSpecification {
98385	s.Monitoring = v
98386	return s
98387}
98388
98389// SetNetworkInterfaces sets the NetworkInterfaces field's value.
98390func (s *SpotFleetLaunchSpecification) SetNetworkInterfaces(v []*InstanceNetworkInterfaceSpecification) *SpotFleetLaunchSpecification {
98391	s.NetworkInterfaces = v
98392	return s
98393}
98394
98395// SetPlacement sets the Placement field's value.
98396func (s *SpotFleetLaunchSpecification) SetPlacement(v *SpotPlacement) *SpotFleetLaunchSpecification {
98397	s.Placement = v
98398	return s
98399}
98400
98401// SetRamdiskId sets the RamdiskId field's value.
98402func (s *SpotFleetLaunchSpecification) SetRamdiskId(v string) *SpotFleetLaunchSpecification {
98403	s.RamdiskId = &v
98404	return s
98405}
98406
98407// SetSecurityGroups sets the SecurityGroups field's value.
98408func (s *SpotFleetLaunchSpecification) SetSecurityGroups(v []*GroupIdentifier) *SpotFleetLaunchSpecification {
98409	s.SecurityGroups = v
98410	return s
98411}
98412
98413// SetSpotPrice sets the SpotPrice field's value.
98414func (s *SpotFleetLaunchSpecification) SetSpotPrice(v string) *SpotFleetLaunchSpecification {
98415	s.SpotPrice = &v
98416	return s
98417}
98418
98419// SetSubnetId sets the SubnetId field's value.
98420func (s *SpotFleetLaunchSpecification) SetSubnetId(v string) *SpotFleetLaunchSpecification {
98421	s.SubnetId = &v
98422	return s
98423}
98424
98425// SetTagSpecifications sets the TagSpecifications field's value.
98426func (s *SpotFleetLaunchSpecification) SetTagSpecifications(v []*SpotFleetTagSpecification) *SpotFleetLaunchSpecification {
98427	s.TagSpecifications = v
98428	return s
98429}
98430
98431// SetUserData sets the UserData field's value.
98432func (s *SpotFleetLaunchSpecification) SetUserData(v string) *SpotFleetLaunchSpecification {
98433	s.UserData = &v
98434	return s
98435}
98436
98437// SetWeightedCapacity sets the WeightedCapacity field's value.
98438func (s *SpotFleetLaunchSpecification) SetWeightedCapacity(v float64) *SpotFleetLaunchSpecification {
98439	s.WeightedCapacity = &v
98440	return s
98441}
98442
98443// Describes whether monitoring is enabled.
98444type SpotFleetMonitoring struct {
98445	_ struct{} `type:"structure"`
98446
98447	// Enables monitoring for the instance.
98448	//
98449	// Default: false
98450	Enabled *bool `locationName:"enabled" type:"boolean"`
98451}
98452
98453// String returns the string representation
98454func (s SpotFleetMonitoring) String() string {
98455	return awsutil.Prettify(s)
98456}
98457
98458// GoString returns the string representation
98459func (s SpotFleetMonitoring) GoString() string {
98460	return s.String()
98461}
98462
98463// SetEnabled sets the Enabled field's value.
98464func (s *SpotFleetMonitoring) SetEnabled(v bool) *SpotFleetMonitoring {
98465	s.Enabled = &v
98466	return s
98467}
98468
98469// Describes a Spot Fleet request.
98470type SpotFleetRequestConfig struct {
98471	_ struct{} `type:"structure"`
98472
98473	// The progress of the Spot Fleet request. If there is an error, the status
98474	// is error. After all requests are placed, the status is pending_fulfillment.
98475	// If the size of the fleet is equal to or greater than its target capacity,
98476	// the status is fulfilled. If the size of the fleet is decreased, the status
98477	// is pending_termination while Spot Instances are terminating.
98478	ActivityStatus *string `locationName:"activityStatus" type:"string" enum:"ActivityStatus"`
98479
98480	// The creation date and time of the request.
98481	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
98482
98483	// The configuration of the Spot Fleet request.
98484	SpotFleetRequestConfig *SpotFleetRequestConfigData `locationName:"spotFleetRequestConfig" type:"structure"`
98485
98486	// The ID of the Spot Fleet request.
98487	SpotFleetRequestId *string `locationName:"spotFleetRequestId" type:"string"`
98488
98489	// The state of the Spot Fleet request.
98490	SpotFleetRequestState *string `locationName:"spotFleetRequestState" type:"string" enum:"BatchState"`
98491}
98492
98493// String returns the string representation
98494func (s SpotFleetRequestConfig) String() string {
98495	return awsutil.Prettify(s)
98496}
98497
98498// GoString returns the string representation
98499func (s SpotFleetRequestConfig) GoString() string {
98500	return s.String()
98501}
98502
98503// SetActivityStatus sets the ActivityStatus field's value.
98504func (s *SpotFleetRequestConfig) SetActivityStatus(v string) *SpotFleetRequestConfig {
98505	s.ActivityStatus = &v
98506	return s
98507}
98508
98509// SetCreateTime sets the CreateTime field's value.
98510func (s *SpotFleetRequestConfig) SetCreateTime(v time.Time) *SpotFleetRequestConfig {
98511	s.CreateTime = &v
98512	return s
98513}
98514
98515// SetSpotFleetRequestConfig sets the SpotFleetRequestConfig field's value.
98516func (s *SpotFleetRequestConfig) SetSpotFleetRequestConfig(v *SpotFleetRequestConfigData) *SpotFleetRequestConfig {
98517	s.SpotFleetRequestConfig = v
98518	return s
98519}
98520
98521// SetSpotFleetRequestId sets the SpotFleetRequestId field's value.
98522func (s *SpotFleetRequestConfig) SetSpotFleetRequestId(v string) *SpotFleetRequestConfig {
98523	s.SpotFleetRequestId = &v
98524	return s
98525}
98526
98527// SetSpotFleetRequestState sets the SpotFleetRequestState field's value.
98528func (s *SpotFleetRequestConfig) SetSpotFleetRequestState(v string) *SpotFleetRequestConfig {
98529	s.SpotFleetRequestState = &v
98530	return s
98531}
98532
98533// Describes the configuration of a Spot Fleet request.
98534type SpotFleetRequestConfigData struct {
98535	_ struct{} `type:"structure"`
98536
98537	// Indicates how to allocate the target Spot Instance capacity across the Spot
98538	// Instance pools specified by the Spot Fleet request.
98539	//
98540	// If the allocation strategy is lowestPrice, Spot Fleet launches instances
98541	// from the Spot Instance pools with the lowest price. This is the default allocation
98542	// strategy.
98543	//
98544	// If the allocation strategy is diversified, Spot Fleet launches instances
98545	// from all the Spot Instance pools that you specify.
98546	//
98547	// If the allocation strategy is capacityOptimized, Spot Fleet launches instances
98548	// from Spot Instance pools with optimal capacity for the number of instances
98549	// that are launching.
98550	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"`
98551
98552	// A unique, case-sensitive identifier that you provide to ensure the idempotency
98553	// of your listings. This helps to avoid duplicate listings. For more information,
98554	// see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html).
98555	ClientToken *string `locationName:"clientToken" type:"string"`
98556
98557	// Indicates whether running Spot Instances should be terminated if you decrease
98558	// the target capacity of the Spot Fleet request below the current size of the
98559	// Spot Fleet.
98560	ExcessCapacityTerminationPolicy *string `locationName:"excessCapacityTerminationPolicy" type:"string" enum:"ExcessCapacityTerminationPolicy"`
98561
98562	// The number of units fulfilled by this request compared to the set target
98563	// capacity. You cannot set this value.
98564	FulfilledCapacity *float64 `locationName:"fulfilledCapacity" type:"double"`
98565
98566	// The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM)
98567	// role that grants the Spot Fleet the permission to request, launch, terminate,
98568	// and tag instances on your behalf. For more information, see Spot Fleet Prerequisites
98569	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites)
98570	// in the Amazon EC2 User Guide for Linux Instances. Spot Fleet can terminate
98571	// Spot Instances on your behalf when you cancel its Spot Fleet request using
98572	// CancelSpotFleetRequests or when the Spot Fleet request expires, if you set
98573	// TerminateInstancesWithExpiration.
98574	//
98575	// IamFleetRole is a required field
98576	IamFleetRole *string `locationName:"iamFleetRole" type:"string" required:"true"`
98577
98578	// The behavior when a Spot Instance is interrupted. The default is terminate.
98579	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
98580
98581	// The number of Spot pools across which to allocate your target Spot capacity.
98582	// Valid only when Spot AllocationStrategy is set to lowest-price. Spot Fleet
98583	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
98584	// across the number of Spot pools that you specify.
98585	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
98586
98587	// The launch specifications for the Spot Fleet request. If you specify LaunchSpecifications,
98588	// you can't specify LaunchTemplateConfigs. If you include On-Demand capacity
98589	// in your request, you must use LaunchTemplateConfigs.
98590	LaunchSpecifications []*SpotFleetLaunchSpecification `locationName:"launchSpecifications" locationNameList:"item" type:"list"`
98591
98592	// The launch template and overrides. If you specify LaunchTemplateConfigs,
98593	// you can't specify LaunchSpecifications. If you include On-Demand capacity
98594	// in your request, you must use LaunchTemplateConfigs.
98595	LaunchTemplateConfigs []*LaunchTemplateConfig `locationName:"launchTemplateConfigs" locationNameList:"item" type:"list"`
98596
98597	// One or more Classic Load Balancers and target groups to attach to the Spot
98598	// Fleet request. Spot Fleet registers the running Spot Instances with the specified
98599	// Classic Load Balancers and target groups.
98600	//
98601	// With Network Load Balancers, Spot Fleet cannot register instances that have
98602	// the following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1,
98603	// HS1, M1, M2, M3, and T1.
98604	LoadBalancersConfig *LoadBalancersConfig `locationName:"loadBalancersConfig" type:"structure"`
98605
98606	// The order of the launch template overrides to use in fulfilling On-Demand
98607	// capacity. If you specify lowestPrice, Spot Fleet uses price to determine
98608	// the order, launching the lowest price first. If you specify prioritized,
98609	// Spot Fleet uses the priority that you assign to each Spot Fleet launch template
98610	// override, launching the highest priority first. If you do not specify a value,
98611	// Spot Fleet defaults to lowestPrice.
98612	OnDemandAllocationStrategy *string `locationName:"onDemandAllocationStrategy" type:"string" enum:"OnDemandAllocationStrategy"`
98613
98614	// The number of On-Demand units fulfilled by this request compared to the set
98615	// target On-Demand capacity.
98616	OnDemandFulfilledCapacity *float64 `locationName:"onDemandFulfilledCapacity" type:"double"`
98617
98618	// The maximum amount per hour for On-Demand Instances that you're willing to
98619	// pay. You can use the onDemandMaxTotalPrice parameter, the spotMaxTotalPrice
98620	// parameter, or both parameters to ensure that your fleet cost does not exceed
98621	// your budget. If you set a maximum price per hour for the On-Demand Instances
98622	// and Spot Instances in your request, Spot Fleet will launch instances until
98623	// it reaches the maximum amount you're willing to pay. When the maximum amount
98624	// you're willing to pay is reached, the fleet stops launching instances even
98625	// if it hasn’t met the target capacity.
98626	OnDemandMaxTotalPrice *string `locationName:"onDemandMaxTotalPrice" type:"string"`
98627
98628	// The number of On-Demand units to request. You can choose to set the target
98629	// capacity in terms of instances or a performance characteristic that is important
98630	// to your application workload, such as vCPUs, memory, or I/O. If the request
98631	// type is maintain, you can specify a target capacity of 0 and add capacity
98632	// later.
98633	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
98634
98635	// Indicates whether Spot Fleet should replace unhealthy instances.
98636	ReplaceUnhealthyInstances *bool `locationName:"replaceUnhealthyInstances" type:"boolean"`
98637
98638	// The maximum amount per hour for Spot Instances that you're willing to pay.
98639	// You can use the spotdMaxTotalPrice parameter, the onDemandMaxTotalPrice parameter,
98640	// or both parameters to ensure that your fleet cost does not exceed your budget.
98641	// If you set a maximum price per hour for the On-Demand Instances and Spot
98642	// Instances in your request, Spot Fleet will launch instances until it reaches
98643	// the maximum amount you're willing to pay. When the maximum amount you're
98644	// willing to pay is reached, the fleet stops launching instances even if it
98645	// hasn’t met the target capacity.
98646	SpotMaxTotalPrice *string `locationName:"spotMaxTotalPrice" type:"string"`
98647
98648	// The maximum price per unit hour that you are willing to pay for a Spot Instance.
98649	// The default is the On-Demand price.
98650	SpotPrice *string `locationName:"spotPrice" type:"string"`
98651
98652	// The number of units to request for the Spot Fleet. You can choose to set
98653	// the target capacity in terms of instances or a performance characteristic
98654	// that is important to your application workload, such as vCPUs, memory, or
98655	// I/O. If the request type is maintain, you can specify a target capacity of
98656	// 0 and add capacity later.
98657	//
98658	// TargetCapacity is a required field
98659	TargetCapacity *int64 `locationName:"targetCapacity" type:"integer" required:"true"`
98660
98661	// Indicates whether running Spot Instances are terminated when the Spot Fleet
98662	// request expires.
98663	TerminateInstancesWithExpiration *bool `locationName:"terminateInstancesWithExpiration" type:"boolean"`
98664
98665	// The type of request. Indicates whether the Spot Fleet only requests the target
98666	// capacity or also attempts to maintain it. When this value is request, the
98667	// Spot Fleet only places the required requests. It does not attempt to replenish
98668	// Spot Instances if capacity is diminished, nor does it submit requests in
98669	// alternative Spot pools if capacity is not available. When this value is maintain,
98670	// the Spot Fleet maintains the target capacity. The Spot Fleet places the required
98671	// requests to meet capacity and automatically replenishes any interrupted instances.
98672	// Default: maintain. instant is listed but is not used by Spot Fleet.
98673	Type *string `locationName:"type" type:"string" enum:"FleetType"`
98674
98675	// The start date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
98676	// By default, Amazon EC2 starts fulfilling the request immediately.
98677	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
98678
98679	// The end date and time of the request, in UTC format (YYYY-MM-DDTHH:MM:SSZ).
98680	// After the end date and time, no new Spot Instance requests are placed or
98681	// able to fulfill the request. If no value is specified, the Spot Fleet request
98682	// remains until you cancel it.
98683	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
98684}
98685
98686// String returns the string representation
98687func (s SpotFleetRequestConfigData) String() string {
98688	return awsutil.Prettify(s)
98689}
98690
98691// GoString returns the string representation
98692func (s SpotFleetRequestConfigData) GoString() string {
98693	return s.String()
98694}
98695
98696// Validate inspects the fields of the type to determine if they are valid.
98697func (s *SpotFleetRequestConfigData) Validate() error {
98698	invalidParams := request.ErrInvalidParams{Context: "SpotFleetRequestConfigData"}
98699	if s.IamFleetRole == nil {
98700		invalidParams.Add(request.NewErrParamRequired("IamFleetRole"))
98701	}
98702	if s.TargetCapacity == nil {
98703		invalidParams.Add(request.NewErrParamRequired("TargetCapacity"))
98704	}
98705	if s.LaunchTemplateConfigs != nil {
98706		for i, v := range s.LaunchTemplateConfigs {
98707			if v == nil {
98708				continue
98709			}
98710			if err := v.Validate(); err != nil {
98711				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LaunchTemplateConfigs", i), err.(request.ErrInvalidParams))
98712			}
98713		}
98714	}
98715	if s.LoadBalancersConfig != nil {
98716		if err := s.LoadBalancersConfig.Validate(); err != nil {
98717			invalidParams.AddNested("LoadBalancersConfig", err.(request.ErrInvalidParams))
98718		}
98719	}
98720
98721	if invalidParams.Len() > 0 {
98722		return invalidParams
98723	}
98724	return nil
98725}
98726
98727// SetAllocationStrategy sets the AllocationStrategy field's value.
98728func (s *SpotFleetRequestConfigData) SetAllocationStrategy(v string) *SpotFleetRequestConfigData {
98729	s.AllocationStrategy = &v
98730	return s
98731}
98732
98733// SetClientToken sets the ClientToken field's value.
98734func (s *SpotFleetRequestConfigData) SetClientToken(v string) *SpotFleetRequestConfigData {
98735	s.ClientToken = &v
98736	return s
98737}
98738
98739// SetExcessCapacityTerminationPolicy sets the ExcessCapacityTerminationPolicy field's value.
98740func (s *SpotFleetRequestConfigData) SetExcessCapacityTerminationPolicy(v string) *SpotFleetRequestConfigData {
98741	s.ExcessCapacityTerminationPolicy = &v
98742	return s
98743}
98744
98745// SetFulfilledCapacity sets the FulfilledCapacity field's value.
98746func (s *SpotFleetRequestConfigData) SetFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
98747	s.FulfilledCapacity = &v
98748	return s
98749}
98750
98751// SetIamFleetRole sets the IamFleetRole field's value.
98752func (s *SpotFleetRequestConfigData) SetIamFleetRole(v string) *SpotFleetRequestConfigData {
98753	s.IamFleetRole = &v
98754	return s
98755}
98756
98757// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
98758func (s *SpotFleetRequestConfigData) SetInstanceInterruptionBehavior(v string) *SpotFleetRequestConfigData {
98759	s.InstanceInterruptionBehavior = &v
98760	return s
98761}
98762
98763// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
98764func (s *SpotFleetRequestConfigData) SetInstancePoolsToUseCount(v int64) *SpotFleetRequestConfigData {
98765	s.InstancePoolsToUseCount = &v
98766	return s
98767}
98768
98769// SetLaunchSpecifications sets the LaunchSpecifications field's value.
98770func (s *SpotFleetRequestConfigData) SetLaunchSpecifications(v []*SpotFleetLaunchSpecification) *SpotFleetRequestConfigData {
98771	s.LaunchSpecifications = v
98772	return s
98773}
98774
98775// SetLaunchTemplateConfigs sets the LaunchTemplateConfigs field's value.
98776func (s *SpotFleetRequestConfigData) SetLaunchTemplateConfigs(v []*LaunchTemplateConfig) *SpotFleetRequestConfigData {
98777	s.LaunchTemplateConfigs = v
98778	return s
98779}
98780
98781// SetLoadBalancersConfig sets the LoadBalancersConfig field's value.
98782func (s *SpotFleetRequestConfigData) SetLoadBalancersConfig(v *LoadBalancersConfig) *SpotFleetRequestConfigData {
98783	s.LoadBalancersConfig = v
98784	return s
98785}
98786
98787// SetOnDemandAllocationStrategy sets the OnDemandAllocationStrategy field's value.
98788func (s *SpotFleetRequestConfigData) SetOnDemandAllocationStrategy(v string) *SpotFleetRequestConfigData {
98789	s.OnDemandAllocationStrategy = &v
98790	return s
98791}
98792
98793// SetOnDemandFulfilledCapacity sets the OnDemandFulfilledCapacity field's value.
98794func (s *SpotFleetRequestConfigData) SetOnDemandFulfilledCapacity(v float64) *SpotFleetRequestConfigData {
98795	s.OnDemandFulfilledCapacity = &v
98796	return s
98797}
98798
98799// SetOnDemandMaxTotalPrice sets the OnDemandMaxTotalPrice field's value.
98800func (s *SpotFleetRequestConfigData) SetOnDemandMaxTotalPrice(v string) *SpotFleetRequestConfigData {
98801	s.OnDemandMaxTotalPrice = &v
98802	return s
98803}
98804
98805// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
98806func (s *SpotFleetRequestConfigData) SetOnDemandTargetCapacity(v int64) *SpotFleetRequestConfigData {
98807	s.OnDemandTargetCapacity = &v
98808	return s
98809}
98810
98811// SetReplaceUnhealthyInstances sets the ReplaceUnhealthyInstances field's value.
98812func (s *SpotFleetRequestConfigData) SetReplaceUnhealthyInstances(v bool) *SpotFleetRequestConfigData {
98813	s.ReplaceUnhealthyInstances = &v
98814	return s
98815}
98816
98817// SetSpotMaxTotalPrice sets the SpotMaxTotalPrice field's value.
98818func (s *SpotFleetRequestConfigData) SetSpotMaxTotalPrice(v string) *SpotFleetRequestConfigData {
98819	s.SpotMaxTotalPrice = &v
98820	return s
98821}
98822
98823// SetSpotPrice sets the SpotPrice field's value.
98824func (s *SpotFleetRequestConfigData) SetSpotPrice(v string) *SpotFleetRequestConfigData {
98825	s.SpotPrice = &v
98826	return s
98827}
98828
98829// SetTargetCapacity sets the TargetCapacity field's value.
98830func (s *SpotFleetRequestConfigData) SetTargetCapacity(v int64) *SpotFleetRequestConfigData {
98831	s.TargetCapacity = &v
98832	return s
98833}
98834
98835// SetTerminateInstancesWithExpiration sets the TerminateInstancesWithExpiration field's value.
98836func (s *SpotFleetRequestConfigData) SetTerminateInstancesWithExpiration(v bool) *SpotFleetRequestConfigData {
98837	s.TerminateInstancesWithExpiration = &v
98838	return s
98839}
98840
98841// SetType sets the Type field's value.
98842func (s *SpotFleetRequestConfigData) SetType(v string) *SpotFleetRequestConfigData {
98843	s.Type = &v
98844	return s
98845}
98846
98847// SetValidFrom sets the ValidFrom field's value.
98848func (s *SpotFleetRequestConfigData) SetValidFrom(v time.Time) *SpotFleetRequestConfigData {
98849	s.ValidFrom = &v
98850	return s
98851}
98852
98853// SetValidUntil sets the ValidUntil field's value.
98854func (s *SpotFleetRequestConfigData) SetValidUntil(v time.Time) *SpotFleetRequestConfigData {
98855	s.ValidUntil = &v
98856	return s
98857}
98858
98859// The tags for a Spot Fleet resource.
98860type SpotFleetTagSpecification struct {
98861	_ struct{} `type:"structure"`
98862
98863	// The type of resource. Currently, the only resource type that is supported
98864	// is instance.
98865	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
98866
98867	// The tags.
98868	Tags []*Tag `locationName:"tag" locationNameList:"item" type:"list"`
98869}
98870
98871// String returns the string representation
98872func (s SpotFleetTagSpecification) String() string {
98873	return awsutil.Prettify(s)
98874}
98875
98876// GoString returns the string representation
98877func (s SpotFleetTagSpecification) GoString() string {
98878	return s.String()
98879}
98880
98881// SetResourceType sets the ResourceType field's value.
98882func (s *SpotFleetTagSpecification) SetResourceType(v string) *SpotFleetTagSpecification {
98883	s.ResourceType = &v
98884	return s
98885}
98886
98887// SetTags sets the Tags field's value.
98888func (s *SpotFleetTagSpecification) SetTags(v []*Tag) *SpotFleetTagSpecification {
98889	s.Tags = v
98890	return s
98891}
98892
98893// Describes a Spot Instance request.
98894type SpotInstanceRequest struct {
98895	_ struct{} `type:"structure"`
98896
98897	// If you specified a duration and your Spot Instance request was fulfilled,
98898	// this is the fixed hourly price in effect for the Spot Instance while it runs.
98899	ActualBlockHourlyPrice *string `locationName:"actualBlockHourlyPrice" type:"string"`
98900
98901	// The Availability Zone group. If you specify the same Availability Zone group
98902	// for all Spot Instance requests, all Spot Instances are launched in the same
98903	// Availability Zone.
98904	AvailabilityZoneGroup *string `locationName:"availabilityZoneGroup" type:"string"`
98905
98906	// The duration for the Spot Instance, in minutes.
98907	BlockDurationMinutes *int64 `locationName:"blockDurationMinutes" type:"integer"`
98908
98909	// The date and time when the Spot Instance request was created, in UTC format
98910	// (for example, YYYY-MM-DDTHH:MM:SSZ).
98911	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
98912
98913	// The fault codes for the Spot Instance request, if any.
98914	Fault *SpotInstanceStateFault `locationName:"fault" type:"structure"`
98915
98916	// The instance ID, if an instance has been launched to fulfill the Spot Instance
98917	// request.
98918	InstanceId *string `locationName:"instanceId" type:"string"`
98919
98920	// The behavior when a Spot Instance is interrupted.
98921	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"InstanceInterruptionBehavior"`
98922
98923	// The instance launch group. Launch groups are Spot Instances that launch together
98924	// and terminate together.
98925	LaunchGroup *string `locationName:"launchGroup" type:"string"`
98926
98927	// Additional information for launching instances.
98928	LaunchSpecification *LaunchSpecification `locationName:"launchSpecification" type:"structure"`
98929
98930	// The Availability Zone in which the request is launched.
98931	LaunchedAvailabilityZone *string `locationName:"launchedAvailabilityZone" type:"string"`
98932
98933	// The product description associated with the Spot Instance.
98934	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
98935
98936	// The ID of the Spot Instance request.
98937	SpotInstanceRequestId *string `locationName:"spotInstanceRequestId" type:"string"`
98938
98939	// The maximum price per hour that you are willing to pay for a Spot Instance.
98940	SpotPrice *string `locationName:"spotPrice" type:"string"`
98941
98942	// The state of the Spot Instance request. Spot status information helps track
98943	// your Spot Instance requests. For more information, see Spot Status (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html)
98944	// in the Amazon EC2 User Guide for Linux Instances.
98945	State *string `locationName:"state" type:"string" enum:"SpotInstanceState"`
98946
98947	// The status code and status message describing the Spot Instance request.
98948	Status *SpotInstanceStatus `locationName:"status" type:"structure"`
98949
98950	// Any tags assigned to the resource.
98951	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
98952
98953	// The Spot Instance request type.
98954	Type *string `locationName:"type" type:"string" enum:"SpotInstanceType"`
98955
98956	// The start date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
98957	// The request becomes active at this date and time.
98958	ValidFrom *time.Time `locationName:"validFrom" type:"timestamp"`
98959
98960	// The end date of the request, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
98961	// If this is a one-time request, it remains active until all instances launch,
98962	// the request is canceled, or this date is reached. If the request is persistent,
98963	// it remains active until it is canceled or this date is reached. The default
98964	// end date is 7 days from the current date.
98965	ValidUntil *time.Time `locationName:"validUntil" type:"timestamp"`
98966}
98967
98968// String returns the string representation
98969func (s SpotInstanceRequest) String() string {
98970	return awsutil.Prettify(s)
98971}
98972
98973// GoString returns the string representation
98974func (s SpotInstanceRequest) GoString() string {
98975	return s.String()
98976}
98977
98978// SetActualBlockHourlyPrice sets the ActualBlockHourlyPrice field's value.
98979func (s *SpotInstanceRequest) SetActualBlockHourlyPrice(v string) *SpotInstanceRequest {
98980	s.ActualBlockHourlyPrice = &v
98981	return s
98982}
98983
98984// SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
98985func (s *SpotInstanceRequest) SetAvailabilityZoneGroup(v string) *SpotInstanceRequest {
98986	s.AvailabilityZoneGroup = &v
98987	return s
98988}
98989
98990// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
98991func (s *SpotInstanceRequest) SetBlockDurationMinutes(v int64) *SpotInstanceRequest {
98992	s.BlockDurationMinutes = &v
98993	return s
98994}
98995
98996// SetCreateTime sets the CreateTime field's value.
98997func (s *SpotInstanceRequest) SetCreateTime(v time.Time) *SpotInstanceRequest {
98998	s.CreateTime = &v
98999	return s
99000}
99001
99002// SetFault sets the Fault field's value.
99003func (s *SpotInstanceRequest) SetFault(v *SpotInstanceStateFault) *SpotInstanceRequest {
99004	s.Fault = v
99005	return s
99006}
99007
99008// SetInstanceId sets the InstanceId field's value.
99009func (s *SpotInstanceRequest) SetInstanceId(v string) *SpotInstanceRequest {
99010	s.InstanceId = &v
99011	return s
99012}
99013
99014// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
99015func (s *SpotInstanceRequest) SetInstanceInterruptionBehavior(v string) *SpotInstanceRequest {
99016	s.InstanceInterruptionBehavior = &v
99017	return s
99018}
99019
99020// SetLaunchGroup sets the LaunchGroup field's value.
99021func (s *SpotInstanceRequest) SetLaunchGroup(v string) *SpotInstanceRequest {
99022	s.LaunchGroup = &v
99023	return s
99024}
99025
99026// SetLaunchSpecification sets the LaunchSpecification field's value.
99027func (s *SpotInstanceRequest) SetLaunchSpecification(v *LaunchSpecification) *SpotInstanceRequest {
99028	s.LaunchSpecification = v
99029	return s
99030}
99031
99032// SetLaunchedAvailabilityZone sets the LaunchedAvailabilityZone field's value.
99033func (s *SpotInstanceRequest) SetLaunchedAvailabilityZone(v string) *SpotInstanceRequest {
99034	s.LaunchedAvailabilityZone = &v
99035	return s
99036}
99037
99038// SetProductDescription sets the ProductDescription field's value.
99039func (s *SpotInstanceRequest) SetProductDescription(v string) *SpotInstanceRequest {
99040	s.ProductDescription = &v
99041	return s
99042}
99043
99044// SetSpotInstanceRequestId sets the SpotInstanceRequestId field's value.
99045func (s *SpotInstanceRequest) SetSpotInstanceRequestId(v string) *SpotInstanceRequest {
99046	s.SpotInstanceRequestId = &v
99047	return s
99048}
99049
99050// SetSpotPrice sets the SpotPrice field's value.
99051func (s *SpotInstanceRequest) SetSpotPrice(v string) *SpotInstanceRequest {
99052	s.SpotPrice = &v
99053	return s
99054}
99055
99056// SetState sets the State field's value.
99057func (s *SpotInstanceRequest) SetState(v string) *SpotInstanceRequest {
99058	s.State = &v
99059	return s
99060}
99061
99062// SetStatus sets the Status field's value.
99063func (s *SpotInstanceRequest) SetStatus(v *SpotInstanceStatus) *SpotInstanceRequest {
99064	s.Status = v
99065	return s
99066}
99067
99068// SetTags sets the Tags field's value.
99069func (s *SpotInstanceRequest) SetTags(v []*Tag) *SpotInstanceRequest {
99070	s.Tags = v
99071	return s
99072}
99073
99074// SetType sets the Type field's value.
99075func (s *SpotInstanceRequest) SetType(v string) *SpotInstanceRequest {
99076	s.Type = &v
99077	return s
99078}
99079
99080// SetValidFrom sets the ValidFrom field's value.
99081func (s *SpotInstanceRequest) SetValidFrom(v time.Time) *SpotInstanceRequest {
99082	s.ValidFrom = &v
99083	return s
99084}
99085
99086// SetValidUntil sets the ValidUntil field's value.
99087func (s *SpotInstanceRequest) SetValidUntil(v time.Time) *SpotInstanceRequest {
99088	s.ValidUntil = &v
99089	return s
99090}
99091
99092// Describes a Spot Instance state change.
99093type SpotInstanceStateFault struct {
99094	_ struct{} `type:"structure"`
99095
99096	// The reason code for the Spot Instance state change.
99097	Code *string `locationName:"code" type:"string"`
99098
99099	// The message for the Spot Instance state change.
99100	Message *string `locationName:"message" type:"string"`
99101}
99102
99103// String returns the string representation
99104func (s SpotInstanceStateFault) String() string {
99105	return awsutil.Prettify(s)
99106}
99107
99108// GoString returns the string representation
99109func (s SpotInstanceStateFault) GoString() string {
99110	return s.String()
99111}
99112
99113// SetCode sets the Code field's value.
99114func (s *SpotInstanceStateFault) SetCode(v string) *SpotInstanceStateFault {
99115	s.Code = &v
99116	return s
99117}
99118
99119// SetMessage sets the Message field's value.
99120func (s *SpotInstanceStateFault) SetMessage(v string) *SpotInstanceStateFault {
99121	s.Message = &v
99122	return s
99123}
99124
99125// Describes the status of a Spot Instance request.
99126type SpotInstanceStatus struct {
99127	_ struct{} `type:"structure"`
99128
99129	// 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)
99130	// in the Amazon EC2 User Guide for Linux Instances.
99131	Code *string `locationName:"code" type:"string"`
99132
99133	// The description for the status code.
99134	Message *string `locationName:"message" type:"string"`
99135
99136	// The date and time of the most recent status update, in UTC format (for example,
99137	// YYYY-MM-DDTHH:MM:SSZ).
99138	UpdateTime *time.Time `locationName:"updateTime" type:"timestamp"`
99139}
99140
99141// String returns the string representation
99142func (s SpotInstanceStatus) String() string {
99143	return awsutil.Prettify(s)
99144}
99145
99146// GoString returns the string representation
99147func (s SpotInstanceStatus) GoString() string {
99148	return s.String()
99149}
99150
99151// SetCode sets the Code field's value.
99152func (s *SpotInstanceStatus) SetCode(v string) *SpotInstanceStatus {
99153	s.Code = &v
99154	return s
99155}
99156
99157// SetMessage sets the Message field's value.
99158func (s *SpotInstanceStatus) SetMessage(v string) *SpotInstanceStatus {
99159	s.Message = &v
99160	return s
99161}
99162
99163// SetUpdateTime sets the UpdateTime field's value.
99164func (s *SpotInstanceStatus) SetUpdateTime(v time.Time) *SpotInstanceStatus {
99165	s.UpdateTime = &v
99166	return s
99167}
99168
99169// The options for Spot Instances.
99170type SpotMarketOptions struct {
99171	_ struct{} `type:"structure"`
99172
99173	// The required duration for the Spot Instances (also known as Spot blocks),
99174	// in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300,
99175	// or 360).
99176	BlockDurationMinutes *int64 `type:"integer"`
99177
99178	// The behavior when a Spot Instance is interrupted. The default is terminate.
99179	InstanceInterruptionBehavior *string `type:"string" enum:"InstanceInterruptionBehavior"`
99180
99181	// The maximum hourly price you're willing to pay for the Spot Instances. The
99182	// default is the On-Demand price.
99183	MaxPrice *string `type:"string"`
99184
99185	// The Spot Instance request type. For RunInstances, persistent Spot Instance
99186	// requests are only supported when InstanceInterruptionBehavior is set to either
99187	// hibernate or stop.
99188	SpotInstanceType *string `type:"string" enum:"SpotInstanceType"`
99189
99190	// The end date of the request. For a one-time request, the request remains
99191	// active until all instances launch, the request is canceled, or this date
99192	// is reached. If the request is persistent, it remains active until it is canceled
99193	// or this date and time is reached. The default end date is 7 days from the
99194	// current date.
99195	ValidUntil *time.Time `type:"timestamp"`
99196}
99197
99198// String returns the string representation
99199func (s SpotMarketOptions) String() string {
99200	return awsutil.Prettify(s)
99201}
99202
99203// GoString returns the string representation
99204func (s SpotMarketOptions) GoString() string {
99205	return s.String()
99206}
99207
99208// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
99209func (s *SpotMarketOptions) SetBlockDurationMinutes(v int64) *SpotMarketOptions {
99210	s.BlockDurationMinutes = &v
99211	return s
99212}
99213
99214// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
99215func (s *SpotMarketOptions) SetInstanceInterruptionBehavior(v string) *SpotMarketOptions {
99216	s.InstanceInterruptionBehavior = &v
99217	return s
99218}
99219
99220// SetMaxPrice sets the MaxPrice field's value.
99221func (s *SpotMarketOptions) SetMaxPrice(v string) *SpotMarketOptions {
99222	s.MaxPrice = &v
99223	return s
99224}
99225
99226// SetSpotInstanceType sets the SpotInstanceType field's value.
99227func (s *SpotMarketOptions) SetSpotInstanceType(v string) *SpotMarketOptions {
99228	s.SpotInstanceType = &v
99229	return s
99230}
99231
99232// SetValidUntil sets the ValidUntil field's value.
99233func (s *SpotMarketOptions) SetValidUntil(v time.Time) *SpotMarketOptions {
99234	s.ValidUntil = &v
99235	return s
99236}
99237
99238// Describes the configuration of Spot Instances in an EC2 Fleet.
99239type SpotOptions struct {
99240	_ struct{} `type:"structure"`
99241
99242	// Indicates how to allocate the target Spot Instance capacity across the Spot
99243	// Instance pools specified by the EC2 Fleet.
99244	//
99245	// If the allocation strategy is lowest-price, EC2 Fleet launches instances
99246	// from the Spot Instance pools with the lowest price. This is the default allocation
99247	// strategy.
99248	//
99249	// If the allocation strategy is diversified, EC2 Fleet launches instances from
99250	// all of the Spot Instance pools that you specify.
99251	//
99252	// If the allocation strategy is capacity-optimized, EC2 Fleet launches instances
99253	// from Spot Instance pools with optimal capacity for the number of instances
99254	// that are launching.
99255	AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"`
99256
99257	// The behavior when a Spot Instance is interrupted. The default is terminate.
99258	InstanceInterruptionBehavior *string `locationName:"instanceInterruptionBehavior" type:"string" enum:"SpotInstanceInterruptionBehavior"`
99259
99260	// The number of Spot pools across which to allocate your target Spot capacity.
99261	// Valid only when AllocationStrategy is set to lowest-price. EC2 Fleet selects
99262	// the cheapest Spot pools and evenly allocates your target Spot capacity across
99263	// the number of Spot pools that you specify.
99264	InstancePoolsToUseCount *int64 `locationName:"instancePoolsToUseCount" type:"integer"`
99265
99266	// The maximum amount per hour for Spot Instances that you're willing to pay.
99267	MaxTotalPrice *string `locationName:"maxTotalPrice" type:"string"`
99268
99269	// The minimum target capacity for Spot Instances in the fleet. If the minimum
99270	// target capacity is not reached, the fleet launches no instances.
99271	MinTargetCapacity *int64 `locationName:"minTargetCapacity" type:"integer"`
99272
99273	// Indicates that the fleet launches all Spot Instances into a single Availability
99274	// Zone. Supported only for fleets of type instant.
99275	SingleAvailabilityZone *bool `locationName:"singleAvailabilityZone" type:"boolean"`
99276
99277	// Indicates that the fleet uses a single instance type to launch all Spot Instances
99278	// in the fleet. Supported only for fleets of type instant.
99279	SingleInstanceType *bool `locationName:"singleInstanceType" type:"boolean"`
99280}
99281
99282// String returns the string representation
99283func (s SpotOptions) String() string {
99284	return awsutil.Prettify(s)
99285}
99286
99287// GoString returns the string representation
99288func (s SpotOptions) GoString() string {
99289	return s.String()
99290}
99291
99292// SetAllocationStrategy sets the AllocationStrategy field's value.
99293func (s *SpotOptions) SetAllocationStrategy(v string) *SpotOptions {
99294	s.AllocationStrategy = &v
99295	return s
99296}
99297
99298// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
99299func (s *SpotOptions) SetInstanceInterruptionBehavior(v string) *SpotOptions {
99300	s.InstanceInterruptionBehavior = &v
99301	return s
99302}
99303
99304// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
99305func (s *SpotOptions) SetInstancePoolsToUseCount(v int64) *SpotOptions {
99306	s.InstancePoolsToUseCount = &v
99307	return s
99308}
99309
99310// SetMaxTotalPrice sets the MaxTotalPrice field's value.
99311func (s *SpotOptions) SetMaxTotalPrice(v string) *SpotOptions {
99312	s.MaxTotalPrice = &v
99313	return s
99314}
99315
99316// SetMinTargetCapacity sets the MinTargetCapacity field's value.
99317func (s *SpotOptions) SetMinTargetCapacity(v int64) *SpotOptions {
99318	s.MinTargetCapacity = &v
99319	return s
99320}
99321
99322// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
99323func (s *SpotOptions) SetSingleAvailabilityZone(v bool) *SpotOptions {
99324	s.SingleAvailabilityZone = &v
99325	return s
99326}
99327
99328// SetSingleInstanceType sets the SingleInstanceType field's value.
99329func (s *SpotOptions) SetSingleInstanceType(v bool) *SpotOptions {
99330	s.SingleInstanceType = &v
99331	return s
99332}
99333
99334// Describes the configuration of Spot Instances in an EC2 Fleet request.
99335type SpotOptionsRequest struct {
99336	_ struct{} `type:"structure"`
99337
99338	// Indicates how to allocate the target Spot Instance capacity across the Spot
99339	// Instance pools specified by the EC2 Fleet.
99340	//
99341	// If the allocation strategy is lowest-price, EC2 Fleet launches instances
99342	// from the Spot Instance pools with the lowest price. This is the default allocation
99343	// strategy.
99344	//
99345	// If the allocation strategy is diversified, EC2 Fleet launches instances from
99346	// all of the Spot Instance pools that you specify.
99347	//
99348	// If the allocation strategy is capacity-optimized, EC2 Fleet launches instances
99349	// from Spot Instance pools with optimal capacity for the number of instances
99350	// that are launching.
99351	AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"`
99352
99353	// The behavior when a Spot Instance is interrupted. The default is terminate.
99354	InstanceInterruptionBehavior *string `type:"string" enum:"SpotInstanceInterruptionBehavior"`
99355
99356	// The number of Spot pools across which to allocate your target Spot capacity.
99357	// Valid only when Spot AllocationStrategy is set to lowest-price. EC2 Fleet
99358	// selects the cheapest Spot pools and evenly allocates your target Spot capacity
99359	// across the number of Spot pools that you specify.
99360	InstancePoolsToUseCount *int64 `type:"integer"`
99361
99362	// The maximum amount per hour for Spot Instances that you're willing to pay.
99363	MaxTotalPrice *string `type:"string"`
99364
99365	// The minimum target capacity for Spot Instances in the fleet. If the minimum
99366	// target capacity is not reached, the fleet launches no instances.
99367	MinTargetCapacity *int64 `type:"integer"`
99368
99369	// Indicates that the fleet launches all Spot Instances into a single Availability
99370	// Zone. Supported only for fleets of type instant.
99371	SingleAvailabilityZone *bool `type:"boolean"`
99372
99373	// Indicates that the fleet uses a single instance type to launch all Spot Instances
99374	// in the fleet. Supported only for fleets of type instant.
99375	SingleInstanceType *bool `type:"boolean"`
99376}
99377
99378// String returns the string representation
99379func (s SpotOptionsRequest) String() string {
99380	return awsutil.Prettify(s)
99381}
99382
99383// GoString returns the string representation
99384func (s SpotOptionsRequest) GoString() string {
99385	return s.String()
99386}
99387
99388// SetAllocationStrategy sets the AllocationStrategy field's value.
99389func (s *SpotOptionsRequest) SetAllocationStrategy(v string) *SpotOptionsRequest {
99390	s.AllocationStrategy = &v
99391	return s
99392}
99393
99394// SetInstanceInterruptionBehavior sets the InstanceInterruptionBehavior field's value.
99395func (s *SpotOptionsRequest) SetInstanceInterruptionBehavior(v string) *SpotOptionsRequest {
99396	s.InstanceInterruptionBehavior = &v
99397	return s
99398}
99399
99400// SetInstancePoolsToUseCount sets the InstancePoolsToUseCount field's value.
99401func (s *SpotOptionsRequest) SetInstancePoolsToUseCount(v int64) *SpotOptionsRequest {
99402	s.InstancePoolsToUseCount = &v
99403	return s
99404}
99405
99406// SetMaxTotalPrice sets the MaxTotalPrice field's value.
99407func (s *SpotOptionsRequest) SetMaxTotalPrice(v string) *SpotOptionsRequest {
99408	s.MaxTotalPrice = &v
99409	return s
99410}
99411
99412// SetMinTargetCapacity sets the MinTargetCapacity field's value.
99413func (s *SpotOptionsRequest) SetMinTargetCapacity(v int64) *SpotOptionsRequest {
99414	s.MinTargetCapacity = &v
99415	return s
99416}
99417
99418// SetSingleAvailabilityZone sets the SingleAvailabilityZone field's value.
99419func (s *SpotOptionsRequest) SetSingleAvailabilityZone(v bool) *SpotOptionsRequest {
99420	s.SingleAvailabilityZone = &v
99421	return s
99422}
99423
99424// SetSingleInstanceType sets the SingleInstanceType field's value.
99425func (s *SpotOptionsRequest) SetSingleInstanceType(v bool) *SpotOptionsRequest {
99426	s.SingleInstanceType = &v
99427	return s
99428}
99429
99430// Describes Spot Instance placement.
99431type SpotPlacement struct {
99432	_ struct{} `type:"structure"`
99433
99434	// The Availability Zone.
99435	//
99436	// [Spot Fleet only] To specify multiple Availability Zones, separate them using
99437	// commas; for example, "us-west-2a, us-west-2b".
99438	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
99439
99440	// The name of the placement group.
99441	GroupName *string `locationName:"groupName" type:"string"`
99442
99443	// The tenancy of the instance (if the instance is running in a VPC). An instance
99444	// with a tenancy of dedicated runs on single-tenant hardware. The host tenancy
99445	// is not supported for Spot Instances.
99446	Tenancy *string `locationName:"tenancy" type:"string" enum:"Tenancy"`
99447}
99448
99449// String returns the string representation
99450func (s SpotPlacement) String() string {
99451	return awsutil.Prettify(s)
99452}
99453
99454// GoString returns the string representation
99455func (s SpotPlacement) GoString() string {
99456	return s.String()
99457}
99458
99459// SetAvailabilityZone sets the AvailabilityZone field's value.
99460func (s *SpotPlacement) SetAvailabilityZone(v string) *SpotPlacement {
99461	s.AvailabilityZone = &v
99462	return s
99463}
99464
99465// SetGroupName sets the GroupName field's value.
99466func (s *SpotPlacement) SetGroupName(v string) *SpotPlacement {
99467	s.GroupName = &v
99468	return s
99469}
99470
99471// SetTenancy sets the Tenancy field's value.
99472func (s *SpotPlacement) SetTenancy(v string) *SpotPlacement {
99473	s.Tenancy = &v
99474	return s
99475}
99476
99477// Describes the maximum price per hour that you are willing to pay for a Spot
99478// Instance.
99479type SpotPrice struct {
99480	_ struct{} `type:"structure"`
99481
99482	// The Availability Zone.
99483	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
99484
99485	// The instance type.
99486	InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"`
99487
99488	// A general description of the AMI.
99489	ProductDescription *string `locationName:"productDescription" type:"string" enum:"RIProductDescription"`
99490
99491	// The maximum price per hour that you are willing to pay for a Spot Instance.
99492	SpotPrice *string `locationName:"spotPrice" type:"string"`
99493
99494	// The date and time the request was created, in UTC format (for example, YYYY-MM-DDTHH:MM:SSZ).
99495	Timestamp *time.Time `locationName:"timestamp" type:"timestamp"`
99496}
99497
99498// String returns the string representation
99499func (s SpotPrice) String() string {
99500	return awsutil.Prettify(s)
99501}
99502
99503// GoString returns the string representation
99504func (s SpotPrice) GoString() string {
99505	return s.String()
99506}
99507
99508// SetAvailabilityZone sets the AvailabilityZone field's value.
99509func (s *SpotPrice) SetAvailabilityZone(v string) *SpotPrice {
99510	s.AvailabilityZone = &v
99511	return s
99512}
99513
99514// SetInstanceType sets the InstanceType field's value.
99515func (s *SpotPrice) SetInstanceType(v string) *SpotPrice {
99516	s.InstanceType = &v
99517	return s
99518}
99519
99520// SetProductDescription sets the ProductDescription field's value.
99521func (s *SpotPrice) SetProductDescription(v string) *SpotPrice {
99522	s.ProductDescription = &v
99523	return s
99524}
99525
99526// SetSpotPrice sets the SpotPrice field's value.
99527func (s *SpotPrice) SetSpotPrice(v string) *SpotPrice {
99528	s.SpotPrice = &v
99529	return s
99530}
99531
99532// SetTimestamp sets the Timestamp field's value.
99533func (s *SpotPrice) SetTimestamp(v time.Time) *SpotPrice {
99534	s.Timestamp = &v
99535	return s
99536}
99537
99538// Describes a stale rule in a security group.
99539type StaleIpPermission struct {
99540	_ struct{} `type:"structure"`
99541
99542	// The start of the port range for the TCP and UDP protocols, or an ICMP type
99543	// number. A value of -1 indicates all ICMP types.
99544	FromPort *int64 `locationName:"fromPort" type:"integer"`
99545
99546	// The IP protocol name (for tcp, udp, and icmp) or number (see Protocol Numbers)
99547	// (http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml).
99548	IpProtocol *string `locationName:"ipProtocol" type:"string"`
99549
99550	// The IP ranges. Not applicable for stale security group rules.
99551	IpRanges []*string `locationName:"ipRanges" locationNameList:"item" type:"list"`
99552
99553	// The prefix list IDs for an AWS service. Not applicable for stale security
99554	// group rules.
99555	PrefixListIds []*string `locationName:"prefixListIds" locationNameList:"item" type:"list"`
99556
99557	// The end of the port range for the TCP and UDP protocols, or an ICMP type
99558	// number. A value of -1 indicates all ICMP types.
99559	ToPort *int64 `locationName:"toPort" type:"integer"`
99560
99561	// The security group pairs. Returns the ID of the referenced security group
99562	// and VPC, and the ID and status of the VPC peering connection.
99563	UserIdGroupPairs []*UserIdGroupPair `locationName:"groups" locationNameList:"item" type:"list"`
99564}
99565
99566// String returns the string representation
99567func (s StaleIpPermission) String() string {
99568	return awsutil.Prettify(s)
99569}
99570
99571// GoString returns the string representation
99572func (s StaleIpPermission) GoString() string {
99573	return s.String()
99574}
99575
99576// SetFromPort sets the FromPort field's value.
99577func (s *StaleIpPermission) SetFromPort(v int64) *StaleIpPermission {
99578	s.FromPort = &v
99579	return s
99580}
99581
99582// SetIpProtocol sets the IpProtocol field's value.
99583func (s *StaleIpPermission) SetIpProtocol(v string) *StaleIpPermission {
99584	s.IpProtocol = &v
99585	return s
99586}
99587
99588// SetIpRanges sets the IpRanges field's value.
99589func (s *StaleIpPermission) SetIpRanges(v []*string) *StaleIpPermission {
99590	s.IpRanges = v
99591	return s
99592}
99593
99594// SetPrefixListIds sets the PrefixListIds field's value.
99595func (s *StaleIpPermission) SetPrefixListIds(v []*string) *StaleIpPermission {
99596	s.PrefixListIds = v
99597	return s
99598}
99599
99600// SetToPort sets the ToPort field's value.
99601func (s *StaleIpPermission) SetToPort(v int64) *StaleIpPermission {
99602	s.ToPort = &v
99603	return s
99604}
99605
99606// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
99607func (s *StaleIpPermission) SetUserIdGroupPairs(v []*UserIdGroupPair) *StaleIpPermission {
99608	s.UserIdGroupPairs = v
99609	return s
99610}
99611
99612// Describes a stale security group (a security group that contains stale rules).
99613type StaleSecurityGroup struct {
99614	_ struct{} `type:"structure"`
99615
99616	// The description of the security group.
99617	Description *string `locationName:"description" type:"string"`
99618
99619	// The ID of the security group.
99620	GroupId *string `locationName:"groupId" type:"string"`
99621
99622	// The name of the security group.
99623	GroupName *string `locationName:"groupName" type:"string"`
99624
99625	// Information about the stale inbound rules in the security group.
99626	StaleIpPermissions []*StaleIpPermission `locationName:"staleIpPermissions" locationNameList:"item" type:"list"`
99627
99628	// Information about the stale outbound rules in the security group.
99629	StaleIpPermissionsEgress []*StaleIpPermission `locationName:"staleIpPermissionsEgress" locationNameList:"item" type:"list"`
99630
99631	// The ID of the VPC for the security group.
99632	VpcId *string `locationName:"vpcId" type:"string"`
99633}
99634
99635// String returns the string representation
99636func (s StaleSecurityGroup) String() string {
99637	return awsutil.Prettify(s)
99638}
99639
99640// GoString returns the string representation
99641func (s StaleSecurityGroup) GoString() string {
99642	return s.String()
99643}
99644
99645// SetDescription sets the Description field's value.
99646func (s *StaleSecurityGroup) SetDescription(v string) *StaleSecurityGroup {
99647	s.Description = &v
99648	return s
99649}
99650
99651// SetGroupId sets the GroupId field's value.
99652func (s *StaleSecurityGroup) SetGroupId(v string) *StaleSecurityGroup {
99653	s.GroupId = &v
99654	return s
99655}
99656
99657// SetGroupName sets the GroupName field's value.
99658func (s *StaleSecurityGroup) SetGroupName(v string) *StaleSecurityGroup {
99659	s.GroupName = &v
99660	return s
99661}
99662
99663// SetStaleIpPermissions sets the StaleIpPermissions field's value.
99664func (s *StaleSecurityGroup) SetStaleIpPermissions(v []*StaleIpPermission) *StaleSecurityGroup {
99665	s.StaleIpPermissions = v
99666	return s
99667}
99668
99669// SetStaleIpPermissionsEgress sets the StaleIpPermissionsEgress field's value.
99670func (s *StaleSecurityGroup) SetStaleIpPermissionsEgress(v []*StaleIpPermission) *StaleSecurityGroup {
99671	s.StaleIpPermissionsEgress = v
99672	return s
99673}
99674
99675// SetVpcId sets the VpcId field's value.
99676func (s *StaleSecurityGroup) SetVpcId(v string) *StaleSecurityGroup {
99677	s.VpcId = &v
99678	return s
99679}
99680
99681type StartInstancesInput struct {
99682	_ struct{} `type:"structure"`
99683
99684	// Reserved.
99685	AdditionalInfo *string `locationName:"additionalInfo" type:"string"`
99686
99687	// Checks whether you have the required permissions for the action, without
99688	// actually making the request, and provides an error response. If you have
99689	// the required permissions, the error response is DryRunOperation. Otherwise,
99690	// it is UnauthorizedOperation.
99691	DryRun *bool `locationName:"dryRun" type:"boolean"`
99692
99693	// The IDs of the instances.
99694	//
99695	// InstanceIds is a required field
99696	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
99697}
99698
99699// String returns the string representation
99700func (s StartInstancesInput) String() string {
99701	return awsutil.Prettify(s)
99702}
99703
99704// GoString returns the string representation
99705func (s StartInstancesInput) GoString() string {
99706	return s.String()
99707}
99708
99709// Validate inspects the fields of the type to determine if they are valid.
99710func (s *StartInstancesInput) Validate() error {
99711	invalidParams := request.ErrInvalidParams{Context: "StartInstancesInput"}
99712	if s.InstanceIds == nil {
99713		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
99714	}
99715
99716	if invalidParams.Len() > 0 {
99717		return invalidParams
99718	}
99719	return nil
99720}
99721
99722// SetAdditionalInfo sets the AdditionalInfo field's value.
99723func (s *StartInstancesInput) SetAdditionalInfo(v string) *StartInstancesInput {
99724	s.AdditionalInfo = &v
99725	return s
99726}
99727
99728// SetDryRun sets the DryRun field's value.
99729func (s *StartInstancesInput) SetDryRun(v bool) *StartInstancesInput {
99730	s.DryRun = &v
99731	return s
99732}
99733
99734// SetInstanceIds sets the InstanceIds field's value.
99735func (s *StartInstancesInput) SetInstanceIds(v []*string) *StartInstancesInput {
99736	s.InstanceIds = v
99737	return s
99738}
99739
99740type StartInstancesOutput struct {
99741	_ struct{} `type:"structure"`
99742
99743	// Information about the started instances.
99744	StartingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
99745}
99746
99747// String returns the string representation
99748func (s StartInstancesOutput) String() string {
99749	return awsutil.Prettify(s)
99750}
99751
99752// GoString returns the string representation
99753func (s StartInstancesOutput) GoString() string {
99754	return s.String()
99755}
99756
99757// SetStartingInstances sets the StartingInstances field's value.
99758func (s *StartInstancesOutput) SetStartingInstances(v []*InstanceStateChange) *StartInstancesOutput {
99759	s.StartingInstances = v
99760	return s
99761}
99762
99763// Describes a state change.
99764type StateReason struct {
99765	_ struct{} `type:"structure"`
99766
99767	// The reason code for the state change.
99768	Code *string `locationName:"code" type:"string"`
99769
99770	// The message for the state change.
99771	//
99772	//    * Server.InsufficientInstanceCapacity: There was insufficient capacity
99773	//    available to satisfy the launch request.
99774	//
99775	//    * Server.InternalError: An internal error caused the instance to terminate
99776	//    during launch.
99777	//
99778	//    * Server.ScheduledStop: The instance was stopped due to a scheduled retirement.
99779	//
99780	//    * Server.SpotInstanceShutdown: The instance was stopped because the number
99781	//    of Spot requests with a maximum price equal to or higher than the Spot
99782	//    price exceeded available capacity or because of an increase in the Spot
99783	//    price.
99784	//
99785	//    * Server.SpotInstanceTermination: The instance was terminated because
99786	//    the number of Spot requests with a maximum price equal to or higher than
99787	//    the Spot price exceeded available capacity or because of an increase in
99788	//    the Spot price.
99789	//
99790	//    * Client.InstanceInitiatedShutdown: The instance was shut down using the
99791	//    shutdown -h command from the instance.
99792	//
99793	//    * Client.InstanceTerminated: The instance was terminated or rebooted during
99794	//    AMI creation.
99795	//
99796	//    * Client.InternalError: A client error caused the instance to terminate
99797	//    during launch.
99798	//
99799	//    * Client.InvalidSnapshot.NotFound: The specified snapshot was not found.
99800	//
99801	//    * Client.UserInitiatedHibernate: Hibernation was initiated on the instance.
99802	//
99803	//    * Client.UserInitiatedShutdown: The instance was shut down using the Amazon
99804	//    EC2 API.
99805	//
99806	//    * Client.VolumeLimitExceeded: The limit on the number of EBS volumes or
99807	//    total storage was exceeded. Decrease usage or request an increase in your
99808	//    account limits.
99809	Message *string `locationName:"message" type:"string"`
99810}
99811
99812// String returns the string representation
99813func (s StateReason) String() string {
99814	return awsutil.Prettify(s)
99815}
99816
99817// GoString returns the string representation
99818func (s StateReason) GoString() string {
99819	return s.String()
99820}
99821
99822// SetCode sets the Code field's value.
99823func (s *StateReason) SetCode(v string) *StateReason {
99824	s.Code = &v
99825	return s
99826}
99827
99828// SetMessage sets the Message field's value.
99829func (s *StateReason) SetMessage(v string) *StateReason {
99830	s.Message = &v
99831	return s
99832}
99833
99834type StopInstancesInput struct {
99835	_ struct{} `type:"structure"`
99836
99837	// Checks whether you have the required permissions for the action, without
99838	// actually making the request, and provides an error response. If you have
99839	// the required permissions, the error response is DryRunOperation. Otherwise,
99840	// it is UnauthorizedOperation.
99841	DryRun *bool `locationName:"dryRun" type:"boolean"`
99842
99843	// Forces the instances to stop. The instances do not have an opportunity to
99844	// flush file system caches or file system metadata. If you use this option,
99845	// you must perform file system check and repair procedures. This option is
99846	// not recommended for Windows instances.
99847	//
99848	// Default: false
99849	Force *bool `locationName:"force" type:"boolean"`
99850
99851	// Hibernates the instance if the instance was enabled for hibernation at launch.
99852	// If the instance cannot hibernate successfully, a normal shutdown occurs.
99853	// For more information, see Hibernate Your Instance (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)
99854	// in the Amazon Elastic Compute Cloud User Guide.
99855	//
99856	// Default: false
99857	Hibernate *bool `type:"boolean"`
99858
99859	// The IDs of the instances.
99860	//
99861	// InstanceIds is a required field
99862	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
99863}
99864
99865// String returns the string representation
99866func (s StopInstancesInput) String() string {
99867	return awsutil.Prettify(s)
99868}
99869
99870// GoString returns the string representation
99871func (s StopInstancesInput) GoString() string {
99872	return s.String()
99873}
99874
99875// Validate inspects the fields of the type to determine if they are valid.
99876func (s *StopInstancesInput) Validate() error {
99877	invalidParams := request.ErrInvalidParams{Context: "StopInstancesInput"}
99878	if s.InstanceIds == nil {
99879		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
99880	}
99881
99882	if invalidParams.Len() > 0 {
99883		return invalidParams
99884	}
99885	return nil
99886}
99887
99888// SetDryRun sets the DryRun field's value.
99889func (s *StopInstancesInput) SetDryRun(v bool) *StopInstancesInput {
99890	s.DryRun = &v
99891	return s
99892}
99893
99894// SetForce sets the Force field's value.
99895func (s *StopInstancesInput) SetForce(v bool) *StopInstancesInput {
99896	s.Force = &v
99897	return s
99898}
99899
99900// SetHibernate sets the Hibernate field's value.
99901func (s *StopInstancesInput) SetHibernate(v bool) *StopInstancesInput {
99902	s.Hibernate = &v
99903	return s
99904}
99905
99906// SetInstanceIds sets the InstanceIds field's value.
99907func (s *StopInstancesInput) SetInstanceIds(v []*string) *StopInstancesInput {
99908	s.InstanceIds = v
99909	return s
99910}
99911
99912type StopInstancesOutput struct {
99913	_ struct{} `type:"structure"`
99914
99915	// Information about the stopped instances.
99916	StoppingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
99917}
99918
99919// String returns the string representation
99920func (s StopInstancesOutput) String() string {
99921	return awsutil.Prettify(s)
99922}
99923
99924// GoString returns the string representation
99925func (s StopInstancesOutput) GoString() string {
99926	return s.String()
99927}
99928
99929// SetStoppingInstances sets the StoppingInstances field's value.
99930func (s *StopInstancesOutput) SetStoppingInstances(v []*InstanceStateChange) *StopInstancesOutput {
99931	s.StoppingInstances = v
99932	return s
99933}
99934
99935// Describes the storage location for an instance store-backed AMI.
99936type Storage struct {
99937	_ struct{} `type:"structure"`
99938
99939	// An Amazon S3 storage location.
99940	S3 *S3Storage `type:"structure"`
99941}
99942
99943// String returns the string representation
99944func (s Storage) String() string {
99945	return awsutil.Prettify(s)
99946}
99947
99948// GoString returns the string representation
99949func (s Storage) GoString() string {
99950	return s.String()
99951}
99952
99953// SetS3 sets the S3 field's value.
99954func (s *Storage) SetS3(v *S3Storage) *Storage {
99955	s.S3 = v
99956	return s
99957}
99958
99959// Describes a storage location in Amazon S3.
99960type StorageLocation struct {
99961	_ struct{} `type:"structure"`
99962
99963	// The name of the S3 bucket.
99964	Bucket *string `type:"string"`
99965
99966	// The key.
99967	Key *string `type:"string"`
99968}
99969
99970// String returns the string representation
99971func (s StorageLocation) String() string {
99972	return awsutil.Prettify(s)
99973}
99974
99975// GoString returns the string representation
99976func (s StorageLocation) GoString() string {
99977	return s.String()
99978}
99979
99980// SetBucket sets the Bucket field's value.
99981func (s *StorageLocation) SetBucket(v string) *StorageLocation {
99982	s.Bucket = &v
99983	return s
99984}
99985
99986// SetKey sets the Key field's value.
99987func (s *StorageLocation) SetKey(v string) *StorageLocation {
99988	s.Key = &v
99989	return s
99990}
99991
99992// Describes a subnet.
99993type Subnet struct {
99994	_ struct{} `type:"structure"`
99995
99996	// Indicates whether a network interface created in this subnet (including a
99997	// network interface created by RunInstances) receives an IPv6 address.
99998	AssignIpv6AddressOnCreation *bool `locationName:"assignIpv6AddressOnCreation" type:"boolean"`
99999
100000	// The Availability Zone of the subnet.
100001	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
100002
100003	// The AZ ID of the subnet.
100004	AvailabilityZoneId *string `locationName:"availabilityZoneId" type:"string"`
100005
100006	// The number of unused private IPv4 addresses in the subnet. The IPv4 addresses
100007	// for any stopped instances are considered unavailable.
100008	AvailableIpAddressCount *int64 `locationName:"availableIpAddressCount" type:"integer"`
100009
100010	// The IPv4 CIDR block assigned to the subnet.
100011	CidrBlock *string `locationName:"cidrBlock" type:"string"`
100012
100013	// Indicates whether this is the default subnet for the Availability Zone.
100014	DefaultForAz *bool `locationName:"defaultForAz" type:"boolean"`
100015
100016	// Information about the IPv6 CIDR blocks associated with the subnet.
100017	Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
100018
100019	// Indicates whether instances launched in this subnet receive a public IPv4
100020	// address.
100021	MapPublicIpOnLaunch *bool `locationName:"mapPublicIpOnLaunch" type:"boolean"`
100022
100023	// The Amazon Resource Name (ARN) of the Outpost.
100024	OutpostArn *string `locationName:"outpostArn" type:"string"`
100025
100026	// The ID of the AWS account that owns the subnet.
100027	OwnerId *string `locationName:"ownerId" type:"string"`
100028
100029	// The current state of the subnet.
100030	State *string `locationName:"state" type:"string" enum:"SubnetState"`
100031
100032	// The Amazon Resource Name (ARN) of the subnet.
100033	SubnetArn *string `locationName:"subnetArn" type:"string"`
100034
100035	// The ID of the subnet.
100036	SubnetId *string `locationName:"subnetId" type:"string"`
100037
100038	// Any tags assigned to the subnet.
100039	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
100040
100041	// The ID of the VPC the subnet is in.
100042	VpcId *string `locationName:"vpcId" type:"string"`
100043}
100044
100045// String returns the string representation
100046func (s Subnet) String() string {
100047	return awsutil.Prettify(s)
100048}
100049
100050// GoString returns the string representation
100051func (s Subnet) GoString() string {
100052	return s.String()
100053}
100054
100055// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
100056func (s *Subnet) SetAssignIpv6AddressOnCreation(v bool) *Subnet {
100057	s.AssignIpv6AddressOnCreation = &v
100058	return s
100059}
100060
100061// SetAvailabilityZone sets the AvailabilityZone field's value.
100062func (s *Subnet) SetAvailabilityZone(v string) *Subnet {
100063	s.AvailabilityZone = &v
100064	return s
100065}
100066
100067// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
100068func (s *Subnet) SetAvailabilityZoneId(v string) *Subnet {
100069	s.AvailabilityZoneId = &v
100070	return s
100071}
100072
100073// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
100074func (s *Subnet) SetAvailableIpAddressCount(v int64) *Subnet {
100075	s.AvailableIpAddressCount = &v
100076	return s
100077}
100078
100079// SetCidrBlock sets the CidrBlock field's value.
100080func (s *Subnet) SetCidrBlock(v string) *Subnet {
100081	s.CidrBlock = &v
100082	return s
100083}
100084
100085// SetDefaultForAz sets the DefaultForAz field's value.
100086func (s *Subnet) SetDefaultForAz(v bool) *Subnet {
100087	s.DefaultForAz = &v
100088	return s
100089}
100090
100091// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
100092func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet {
100093	s.Ipv6CidrBlockAssociationSet = v
100094	return s
100095}
100096
100097// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
100098func (s *Subnet) SetMapPublicIpOnLaunch(v bool) *Subnet {
100099	s.MapPublicIpOnLaunch = &v
100100	return s
100101}
100102
100103// SetOutpostArn sets the OutpostArn field's value.
100104func (s *Subnet) SetOutpostArn(v string) *Subnet {
100105	s.OutpostArn = &v
100106	return s
100107}
100108
100109// SetOwnerId sets the OwnerId field's value.
100110func (s *Subnet) SetOwnerId(v string) *Subnet {
100111	s.OwnerId = &v
100112	return s
100113}
100114
100115// SetState sets the State field's value.
100116func (s *Subnet) SetState(v string) *Subnet {
100117	s.State = &v
100118	return s
100119}
100120
100121// SetSubnetArn sets the SubnetArn field's value.
100122func (s *Subnet) SetSubnetArn(v string) *Subnet {
100123	s.SubnetArn = &v
100124	return s
100125}
100126
100127// SetSubnetId sets the SubnetId field's value.
100128func (s *Subnet) SetSubnetId(v string) *Subnet {
100129	s.SubnetId = &v
100130	return s
100131}
100132
100133// SetTags sets the Tags field's value.
100134func (s *Subnet) SetTags(v []*Tag) *Subnet {
100135	s.Tags = v
100136	return s
100137}
100138
100139// SetVpcId sets the VpcId field's value.
100140func (s *Subnet) SetVpcId(v string) *Subnet {
100141	s.VpcId = &v
100142	return s
100143}
100144
100145// Describes the subnet association with the transit gateway multicast domain.
100146type SubnetAssociation struct {
100147	_ struct{} `type:"structure"`
100148
100149	// The state of the subnet association.
100150	State *string `locationName:"state" type:"string" enum:"TransitGatewayMulitcastDomainAssociationState"`
100151
100152	// The ID of the subnet.
100153	SubnetId *string `locationName:"subnetId" type:"string"`
100154}
100155
100156// String returns the string representation
100157func (s SubnetAssociation) String() string {
100158	return awsutil.Prettify(s)
100159}
100160
100161// GoString returns the string representation
100162func (s SubnetAssociation) GoString() string {
100163	return s.String()
100164}
100165
100166// SetState sets the State field's value.
100167func (s *SubnetAssociation) SetState(v string) *SubnetAssociation {
100168	s.State = &v
100169	return s
100170}
100171
100172// SetSubnetId sets the SubnetId field's value.
100173func (s *SubnetAssociation) SetSubnetId(v string) *SubnetAssociation {
100174	s.SubnetId = &v
100175	return s
100176}
100177
100178// Describes the state of a CIDR block.
100179type SubnetCidrBlockState struct {
100180	_ struct{} `type:"structure"`
100181
100182	// The state of a CIDR block.
100183	State *string `locationName:"state" type:"string" enum:"SubnetCidrBlockStateCode"`
100184
100185	// A message about the status of the CIDR block, if applicable.
100186	StatusMessage *string `locationName:"statusMessage" type:"string"`
100187}
100188
100189// String returns the string representation
100190func (s SubnetCidrBlockState) String() string {
100191	return awsutil.Prettify(s)
100192}
100193
100194// GoString returns the string representation
100195func (s SubnetCidrBlockState) GoString() string {
100196	return s.String()
100197}
100198
100199// SetState sets the State field's value.
100200func (s *SubnetCidrBlockState) SetState(v string) *SubnetCidrBlockState {
100201	s.State = &v
100202	return s
100203}
100204
100205// SetStatusMessage sets the StatusMessage field's value.
100206func (s *SubnetCidrBlockState) SetStatusMessage(v string) *SubnetCidrBlockState {
100207	s.StatusMessage = &v
100208	return s
100209}
100210
100211// Describes an IPv6 CIDR block associated with a subnet.
100212type SubnetIpv6CidrBlockAssociation struct {
100213	_ struct{} `type:"structure"`
100214
100215	// The association ID for the CIDR block.
100216	AssociationId *string `locationName:"associationId" type:"string"`
100217
100218	// The IPv6 CIDR block.
100219	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
100220
100221	// Information about the state of the CIDR block.
100222	Ipv6CidrBlockState *SubnetCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
100223}
100224
100225// String returns the string representation
100226func (s SubnetIpv6CidrBlockAssociation) String() string {
100227	return awsutil.Prettify(s)
100228}
100229
100230// GoString returns the string representation
100231func (s SubnetIpv6CidrBlockAssociation) GoString() string {
100232	return s.String()
100233}
100234
100235// SetAssociationId sets the AssociationId field's value.
100236func (s *SubnetIpv6CidrBlockAssociation) SetAssociationId(v string) *SubnetIpv6CidrBlockAssociation {
100237	s.AssociationId = &v
100238	return s
100239}
100240
100241// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
100242func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *SubnetIpv6CidrBlockAssociation {
100243	s.Ipv6CidrBlock = &v
100244	return s
100245}
100246
100247// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
100248func (s *SubnetIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *SubnetCidrBlockState) *SubnetIpv6CidrBlockAssociation {
100249	s.Ipv6CidrBlockState = v
100250	return s
100251}
100252
100253// Describes the burstable performance instance whose credit option for CPU
100254// usage was successfully modified.
100255type SuccessfulInstanceCreditSpecificationItem struct {
100256	_ struct{} `type:"structure"`
100257
100258	// The ID of the instance.
100259	InstanceId *string `locationName:"instanceId" type:"string"`
100260}
100261
100262// String returns the string representation
100263func (s SuccessfulInstanceCreditSpecificationItem) String() string {
100264	return awsutil.Prettify(s)
100265}
100266
100267// GoString returns the string representation
100268func (s SuccessfulInstanceCreditSpecificationItem) GoString() string {
100269	return s.String()
100270}
100271
100272// SetInstanceId sets the InstanceId field's value.
100273func (s *SuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *SuccessfulInstanceCreditSpecificationItem {
100274	s.InstanceId = &v
100275	return s
100276}
100277
100278// Describes a Reserved Instance whose queued purchase was successfully deleted.
100279type SuccessfulQueuedPurchaseDeletion struct {
100280	_ struct{} `type:"structure"`
100281
100282	// The ID of the Reserved Instance.
100283	ReservedInstancesId *string `locationName:"reservedInstancesId" type:"string"`
100284}
100285
100286// String returns the string representation
100287func (s SuccessfulQueuedPurchaseDeletion) String() string {
100288	return awsutil.Prettify(s)
100289}
100290
100291// GoString returns the string representation
100292func (s SuccessfulQueuedPurchaseDeletion) GoString() string {
100293	return s.String()
100294}
100295
100296// SetReservedInstancesId sets the ReservedInstancesId field's value.
100297func (s *SuccessfulQueuedPurchaseDeletion) SetReservedInstancesId(v string) *SuccessfulQueuedPurchaseDeletion {
100298	s.ReservedInstancesId = &v
100299	return s
100300}
100301
100302// Describes a tag.
100303type Tag struct {
100304	_ struct{} `type:"structure"`
100305
100306	// The key of the tag.
100307	//
100308	// Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode
100309	// characters. May not begin with aws:.
100310	Key *string `locationName:"key" type:"string"`
100311
100312	// The value of the tag.
100313	//
100314	// Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode
100315	// characters.
100316	Value *string `locationName:"value" type:"string"`
100317}
100318
100319// String returns the string representation
100320func (s Tag) String() string {
100321	return awsutil.Prettify(s)
100322}
100323
100324// GoString returns the string representation
100325func (s Tag) GoString() string {
100326	return s.String()
100327}
100328
100329// SetKey sets the Key field's value.
100330func (s *Tag) SetKey(v string) *Tag {
100331	s.Key = &v
100332	return s
100333}
100334
100335// SetValue sets the Value field's value.
100336func (s *Tag) SetValue(v string) *Tag {
100337	s.Value = &v
100338	return s
100339}
100340
100341// Describes a tag.
100342type TagDescription struct {
100343	_ struct{} `type:"structure"`
100344
100345	// The tag key.
100346	Key *string `locationName:"key" type:"string"`
100347
100348	// The ID of the resource.
100349	ResourceId *string `locationName:"resourceId" type:"string"`
100350
100351	// The resource type.
100352	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
100353
100354	// The tag value.
100355	Value *string `locationName:"value" type:"string"`
100356}
100357
100358// String returns the string representation
100359func (s TagDescription) String() string {
100360	return awsutil.Prettify(s)
100361}
100362
100363// GoString returns the string representation
100364func (s TagDescription) GoString() string {
100365	return s.String()
100366}
100367
100368// SetKey sets the Key field's value.
100369func (s *TagDescription) SetKey(v string) *TagDescription {
100370	s.Key = &v
100371	return s
100372}
100373
100374// SetResourceId sets the ResourceId field's value.
100375func (s *TagDescription) SetResourceId(v string) *TagDescription {
100376	s.ResourceId = &v
100377	return s
100378}
100379
100380// SetResourceType sets the ResourceType field's value.
100381func (s *TagDescription) SetResourceType(v string) *TagDescription {
100382	s.ResourceType = &v
100383	return s
100384}
100385
100386// SetValue sets the Value field's value.
100387func (s *TagDescription) SetValue(v string) *TagDescription {
100388	s.Value = &v
100389	return s
100390}
100391
100392// The tags to apply to a resource when the resource is being created.
100393type TagSpecification struct {
100394	_ struct{} `type:"structure"`
100395
100396	// The type of resource to tag. Currently, the resource types that support tagging
100397	// on creation are: capacity-reservation | client-vpn-endpoint | dedicated-host
100398	// | fleet | fpga-image | instance | key-pair | launch-template | placement-group
100399	// | snapshot | traffic-mirror-filter | traffic-mirror-session | traffic-mirror-target
100400	// | transit-gateway | transit-gateway-attachment | transit-gateway-route-table
100401	// | volume.
100402	//
100403	// To tag a resource after it has been created, see CreateTags (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html).
100404	ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"`
100405
100406	// The tags to apply to the resource.
100407	Tags []*Tag `locationName:"Tag" locationNameList:"item" type:"list"`
100408}
100409
100410// String returns the string representation
100411func (s TagSpecification) String() string {
100412	return awsutil.Prettify(s)
100413}
100414
100415// GoString returns the string representation
100416func (s TagSpecification) GoString() string {
100417	return s.String()
100418}
100419
100420// SetResourceType sets the ResourceType field's value.
100421func (s *TagSpecification) SetResourceType(v string) *TagSpecification {
100422	s.ResourceType = &v
100423	return s
100424}
100425
100426// SetTags sets the Tags field's value.
100427func (s *TagSpecification) SetTags(v []*Tag) *TagSpecification {
100428	s.Tags = v
100429	return s
100430}
100431
100432// The number of units to request. You can choose to set the target capacity
100433// in terms of instances or a performance characteristic that is important to
100434// your application workload, such as vCPUs, memory, or I/O. If the request
100435// type is maintain, you can specify a target capacity of 0 and add capacity
100436// later.
100437//
100438// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
100439// MaxTotalPrice, or both to ensure that your fleet cost does not exceed your
100440// budget. If you set a maximum price per hour for the On-Demand Instances and
100441// Spot Instances in your request, EC2 Fleet will launch instances until it
100442// reaches the maximum amount that you're willing to pay. When the maximum amount
100443// you're willing to pay is reached, the fleet stops launching instances even
100444// if it hasn’t met the target capacity. The MaxTotalPrice parameters are
100445// located in and
100446type TargetCapacitySpecification struct {
100447	_ struct{} `type:"structure"`
100448
100449	// The default TotalTargetCapacity, which is either Spot or On-Demand.
100450	DefaultTargetCapacityType *string `locationName:"defaultTargetCapacityType" type:"string" enum:"DefaultTargetCapacityType"`
100451
100452	// The number of On-Demand units to request. If you specify a target capacity
100453	// for Spot units, you cannot specify a target capacity for On-Demand units.
100454	OnDemandTargetCapacity *int64 `locationName:"onDemandTargetCapacity" type:"integer"`
100455
100456	// The maximum number of Spot units to launch. If you specify a target capacity
100457	// for On-Demand units, you cannot specify a target capacity for Spot units.
100458	SpotTargetCapacity *int64 `locationName:"spotTargetCapacity" type:"integer"`
100459
100460	// The number of units to request, filled using DefaultTargetCapacityType.
100461	TotalTargetCapacity *int64 `locationName:"totalTargetCapacity" type:"integer"`
100462}
100463
100464// String returns the string representation
100465func (s TargetCapacitySpecification) String() string {
100466	return awsutil.Prettify(s)
100467}
100468
100469// GoString returns the string representation
100470func (s TargetCapacitySpecification) GoString() string {
100471	return s.String()
100472}
100473
100474// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
100475func (s *TargetCapacitySpecification) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecification {
100476	s.DefaultTargetCapacityType = &v
100477	return s
100478}
100479
100480// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
100481func (s *TargetCapacitySpecification) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecification {
100482	s.OnDemandTargetCapacity = &v
100483	return s
100484}
100485
100486// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
100487func (s *TargetCapacitySpecification) SetSpotTargetCapacity(v int64) *TargetCapacitySpecification {
100488	s.SpotTargetCapacity = &v
100489	return s
100490}
100491
100492// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
100493func (s *TargetCapacitySpecification) SetTotalTargetCapacity(v int64) *TargetCapacitySpecification {
100494	s.TotalTargetCapacity = &v
100495	return s
100496}
100497
100498// The number of units to request. You can choose to set the target capacity
100499// as the number of instances. Or you can set the target capacity to a performance
100500// characteristic that is important to your application workload, such as vCPUs,
100501// memory, or I/O. If the request type is maintain, you can specify a target
100502// capacity of 0 and add capacity later.
100503//
100504// You can use the On-Demand Instance MaxTotalPrice parameter, the Spot Instance
100505// MaxTotalPrice parameter, or both parameters to ensure that your fleet cost
100506// does not exceed your budget. If you set a maximum price per hour for the
100507// On-Demand Instances and Spot Instances in your request, EC2 Fleet will launch
100508// instances until it reaches the maximum amount that you're willing to pay.
100509// When the maximum amount you're willing to pay is reached, the fleet stops
100510// launching instances even if it hasn’t met the target capacity. The MaxTotalPrice
100511// parameters are located in and .
100512type TargetCapacitySpecificationRequest struct {
100513	_ struct{} `type:"structure"`
100514
100515	// The default TotalTargetCapacity, which is either Spot or On-Demand.
100516	DefaultTargetCapacityType *string `type:"string" enum:"DefaultTargetCapacityType"`
100517
100518	// The number of On-Demand units to request.
100519	OnDemandTargetCapacity *int64 `type:"integer"`
100520
100521	// The number of Spot units to request.
100522	SpotTargetCapacity *int64 `type:"integer"`
100523
100524	// The number of units to request, filled using DefaultTargetCapacityType.
100525	//
100526	// TotalTargetCapacity is a required field
100527	TotalTargetCapacity *int64 `type:"integer" required:"true"`
100528}
100529
100530// String returns the string representation
100531func (s TargetCapacitySpecificationRequest) String() string {
100532	return awsutil.Prettify(s)
100533}
100534
100535// GoString returns the string representation
100536func (s TargetCapacitySpecificationRequest) GoString() string {
100537	return s.String()
100538}
100539
100540// Validate inspects the fields of the type to determine if they are valid.
100541func (s *TargetCapacitySpecificationRequest) Validate() error {
100542	invalidParams := request.ErrInvalidParams{Context: "TargetCapacitySpecificationRequest"}
100543	if s.TotalTargetCapacity == nil {
100544		invalidParams.Add(request.NewErrParamRequired("TotalTargetCapacity"))
100545	}
100546
100547	if invalidParams.Len() > 0 {
100548		return invalidParams
100549	}
100550	return nil
100551}
100552
100553// SetDefaultTargetCapacityType sets the DefaultTargetCapacityType field's value.
100554func (s *TargetCapacitySpecificationRequest) SetDefaultTargetCapacityType(v string) *TargetCapacitySpecificationRequest {
100555	s.DefaultTargetCapacityType = &v
100556	return s
100557}
100558
100559// SetOnDemandTargetCapacity sets the OnDemandTargetCapacity field's value.
100560func (s *TargetCapacitySpecificationRequest) SetOnDemandTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
100561	s.OnDemandTargetCapacity = &v
100562	return s
100563}
100564
100565// SetSpotTargetCapacity sets the SpotTargetCapacity field's value.
100566func (s *TargetCapacitySpecificationRequest) SetSpotTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
100567	s.SpotTargetCapacity = &v
100568	return s
100569}
100570
100571// SetTotalTargetCapacity sets the TotalTargetCapacity field's value.
100572func (s *TargetCapacitySpecificationRequest) SetTotalTargetCapacity(v int64) *TargetCapacitySpecificationRequest {
100573	s.TotalTargetCapacity = &v
100574	return s
100575}
100576
100577// Information about the Convertible Reserved Instance offering.
100578type TargetConfiguration struct {
100579	_ struct{} `type:"structure"`
100580
100581	// The number of instances the Convertible Reserved Instance offering can be
100582	// applied to. This parameter is reserved and cannot be specified in a request
100583	InstanceCount *int64 `locationName:"instanceCount" type:"integer"`
100584
100585	// The ID of the Convertible Reserved Instance offering.
100586	OfferingId *string `locationName:"offeringId" type:"string"`
100587}
100588
100589// String returns the string representation
100590func (s TargetConfiguration) String() string {
100591	return awsutil.Prettify(s)
100592}
100593
100594// GoString returns the string representation
100595func (s TargetConfiguration) GoString() string {
100596	return s.String()
100597}
100598
100599// SetInstanceCount sets the InstanceCount field's value.
100600func (s *TargetConfiguration) SetInstanceCount(v int64) *TargetConfiguration {
100601	s.InstanceCount = &v
100602	return s
100603}
100604
100605// SetOfferingId sets the OfferingId field's value.
100606func (s *TargetConfiguration) SetOfferingId(v string) *TargetConfiguration {
100607	s.OfferingId = &v
100608	return s
100609}
100610
100611// Details about the target configuration.
100612type TargetConfigurationRequest struct {
100613	_ struct{} `type:"structure"`
100614
100615	// The number of instances the Covertible Reserved Instance offering can be
100616	// applied to. This parameter is reserved and cannot be specified in a request
100617	InstanceCount *int64 `type:"integer"`
100618
100619	// The Convertible Reserved Instance offering ID.
100620	//
100621	// OfferingId is a required field
100622	OfferingId *string `type:"string" required:"true"`
100623}
100624
100625// String returns the string representation
100626func (s TargetConfigurationRequest) String() string {
100627	return awsutil.Prettify(s)
100628}
100629
100630// GoString returns the string representation
100631func (s TargetConfigurationRequest) GoString() string {
100632	return s.String()
100633}
100634
100635// Validate inspects the fields of the type to determine if they are valid.
100636func (s *TargetConfigurationRequest) Validate() error {
100637	invalidParams := request.ErrInvalidParams{Context: "TargetConfigurationRequest"}
100638	if s.OfferingId == nil {
100639		invalidParams.Add(request.NewErrParamRequired("OfferingId"))
100640	}
100641
100642	if invalidParams.Len() > 0 {
100643		return invalidParams
100644	}
100645	return nil
100646}
100647
100648// SetInstanceCount sets the InstanceCount field's value.
100649func (s *TargetConfigurationRequest) SetInstanceCount(v int64) *TargetConfigurationRequest {
100650	s.InstanceCount = &v
100651	return s
100652}
100653
100654// SetOfferingId sets the OfferingId field's value.
100655func (s *TargetConfigurationRequest) SetOfferingId(v string) *TargetConfigurationRequest {
100656	s.OfferingId = &v
100657	return s
100658}
100659
100660// Describes a load balancer target group.
100661type TargetGroup struct {
100662	_ struct{} `type:"structure"`
100663
100664	// The Amazon Resource Name (ARN) of the target group.
100665	Arn *string `locationName:"arn" type:"string"`
100666}
100667
100668// String returns the string representation
100669func (s TargetGroup) String() string {
100670	return awsutil.Prettify(s)
100671}
100672
100673// GoString returns the string representation
100674func (s TargetGroup) GoString() string {
100675	return s.String()
100676}
100677
100678// SetArn sets the Arn field's value.
100679func (s *TargetGroup) SetArn(v string) *TargetGroup {
100680	s.Arn = &v
100681	return s
100682}
100683
100684// Describes the target groups to attach to a Spot Fleet. Spot Fleet registers
100685// the running Spot Instances with these target groups.
100686type TargetGroupsConfig struct {
100687	_ struct{} `type:"structure"`
100688
100689	// One or more target groups.
100690	TargetGroups []*TargetGroup `locationName:"targetGroups" locationNameList:"item" min:"1" type:"list"`
100691}
100692
100693// String returns the string representation
100694func (s TargetGroupsConfig) String() string {
100695	return awsutil.Prettify(s)
100696}
100697
100698// GoString returns the string representation
100699func (s TargetGroupsConfig) GoString() string {
100700	return s.String()
100701}
100702
100703// Validate inspects the fields of the type to determine if they are valid.
100704func (s *TargetGroupsConfig) Validate() error {
100705	invalidParams := request.ErrInvalidParams{Context: "TargetGroupsConfig"}
100706	if s.TargetGroups != nil && len(s.TargetGroups) < 1 {
100707		invalidParams.Add(request.NewErrParamMinLen("TargetGroups", 1))
100708	}
100709
100710	if invalidParams.Len() > 0 {
100711		return invalidParams
100712	}
100713	return nil
100714}
100715
100716// SetTargetGroups sets the TargetGroups field's value.
100717func (s *TargetGroupsConfig) SetTargetGroups(v []*TargetGroup) *TargetGroupsConfig {
100718	s.TargetGroups = v
100719	return s
100720}
100721
100722// Describes a target network associated with a Client VPN endpoint.
100723type TargetNetwork struct {
100724	_ struct{} `type:"structure"`
100725
100726	// The ID of the association.
100727	AssociationId *string `locationName:"associationId" type:"string"`
100728
100729	// The ID of the Client VPN endpoint with which the target network is associated.
100730	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
100731
100732	// The IDs of the security groups applied to the target network association.
100733	SecurityGroups []*string `locationName:"securityGroups" locationNameList:"item" type:"list"`
100734
100735	// The current state of the target network association.
100736	Status *AssociationStatus `locationName:"status" type:"structure"`
100737
100738	// The ID of the subnet specified as the target network.
100739	TargetNetworkId *string `locationName:"targetNetworkId" type:"string"`
100740
100741	// The ID of the VPC in which the target network (subnet) is located.
100742	VpcId *string `locationName:"vpcId" type:"string"`
100743}
100744
100745// String returns the string representation
100746func (s TargetNetwork) String() string {
100747	return awsutil.Prettify(s)
100748}
100749
100750// GoString returns the string representation
100751func (s TargetNetwork) GoString() string {
100752	return s.String()
100753}
100754
100755// SetAssociationId sets the AssociationId field's value.
100756func (s *TargetNetwork) SetAssociationId(v string) *TargetNetwork {
100757	s.AssociationId = &v
100758	return s
100759}
100760
100761// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
100762func (s *TargetNetwork) SetClientVpnEndpointId(v string) *TargetNetwork {
100763	s.ClientVpnEndpointId = &v
100764	return s
100765}
100766
100767// SetSecurityGroups sets the SecurityGroups field's value.
100768func (s *TargetNetwork) SetSecurityGroups(v []*string) *TargetNetwork {
100769	s.SecurityGroups = v
100770	return s
100771}
100772
100773// SetStatus sets the Status field's value.
100774func (s *TargetNetwork) SetStatus(v *AssociationStatus) *TargetNetwork {
100775	s.Status = v
100776	return s
100777}
100778
100779// SetTargetNetworkId sets the TargetNetworkId field's value.
100780func (s *TargetNetwork) SetTargetNetworkId(v string) *TargetNetwork {
100781	s.TargetNetworkId = &v
100782	return s
100783}
100784
100785// SetVpcId sets the VpcId field's value.
100786func (s *TargetNetwork) SetVpcId(v string) *TargetNetwork {
100787	s.VpcId = &v
100788	return s
100789}
100790
100791// The total value of the new Convertible Reserved Instances.
100792type TargetReservationValue struct {
100793	_ struct{} `type:"structure"`
100794
100795	// The total value of the Convertible Reserved Instances that make up the exchange.
100796	// This is the sum of the list value, remaining upfront price, and additional
100797	// upfront cost of the exchange.
100798	ReservationValue *ReservationValue `locationName:"reservationValue" type:"structure"`
100799
100800	// The configuration of the Convertible Reserved Instances that make up the
100801	// exchange.
100802	TargetConfiguration *TargetConfiguration `locationName:"targetConfiguration" type:"structure"`
100803}
100804
100805// String returns the string representation
100806func (s TargetReservationValue) String() string {
100807	return awsutil.Prettify(s)
100808}
100809
100810// GoString returns the string representation
100811func (s TargetReservationValue) GoString() string {
100812	return s.String()
100813}
100814
100815// SetReservationValue sets the ReservationValue field's value.
100816func (s *TargetReservationValue) SetReservationValue(v *ReservationValue) *TargetReservationValue {
100817	s.ReservationValue = v
100818	return s
100819}
100820
100821// SetTargetConfiguration sets the TargetConfiguration field's value.
100822func (s *TargetReservationValue) SetTargetConfiguration(v *TargetConfiguration) *TargetReservationValue {
100823	s.TargetConfiguration = v
100824	return s
100825}
100826
100827type TerminateClientVpnConnectionsInput struct {
100828	_ struct{} `type:"structure"`
100829
100830	// The ID of the Client VPN endpoint to which the client is connected.
100831	//
100832	// ClientVpnEndpointId is a required field
100833	ClientVpnEndpointId *string `type:"string" required:"true"`
100834
100835	// The ID of the client connection to be terminated.
100836	ConnectionId *string `type:"string"`
100837
100838	// Checks whether you have the required permissions for the action, without
100839	// actually making the request, and provides an error response. If you have
100840	// the required permissions, the error response is DryRunOperation. Otherwise,
100841	// it is UnauthorizedOperation.
100842	DryRun *bool `type:"boolean"`
100843
100844	// The name of the user who initiated the connection. Use this option to terminate
100845	// all active connections for the specified user. This option can only be used
100846	// if the user has established up to five connections.
100847	Username *string `type:"string"`
100848}
100849
100850// String returns the string representation
100851func (s TerminateClientVpnConnectionsInput) String() string {
100852	return awsutil.Prettify(s)
100853}
100854
100855// GoString returns the string representation
100856func (s TerminateClientVpnConnectionsInput) GoString() string {
100857	return s.String()
100858}
100859
100860// Validate inspects the fields of the type to determine if they are valid.
100861func (s *TerminateClientVpnConnectionsInput) Validate() error {
100862	invalidParams := request.ErrInvalidParams{Context: "TerminateClientVpnConnectionsInput"}
100863	if s.ClientVpnEndpointId == nil {
100864		invalidParams.Add(request.NewErrParamRequired("ClientVpnEndpointId"))
100865	}
100866
100867	if invalidParams.Len() > 0 {
100868		return invalidParams
100869	}
100870	return nil
100871}
100872
100873// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
100874func (s *TerminateClientVpnConnectionsInput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsInput {
100875	s.ClientVpnEndpointId = &v
100876	return s
100877}
100878
100879// SetConnectionId sets the ConnectionId field's value.
100880func (s *TerminateClientVpnConnectionsInput) SetConnectionId(v string) *TerminateClientVpnConnectionsInput {
100881	s.ConnectionId = &v
100882	return s
100883}
100884
100885// SetDryRun sets the DryRun field's value.
100886func (s *TerminateClientVpnConnectionsInput) SetDryRun(v bool) *TerminateClientVpnConnectionsInput {
100887	s.DryRun = &v
100888	return s
100889}
100890
100891// SetUsername sets the Username field's value.
100892func (s *TerminateClientVpnConnectionsInput) SetUsername(v string) *TerminateClientVpnConnectionsInput {
100893	s.Username = &v
100894	return s
100895}
100896
100897type TerminateClientVpnConnectionsOutput struct {
100898	_ struct{} `type:"structure"`
100899
100900	// The ID of the Client VPN endpoint.
100901	ClientVpnEndpointId *string `locationName:"clientVpnEndpointId" type:"string"`
100902
100903	// The current state of the client connections.
100904	ConnectionStatuses []*TerminateConnectionStatus `locationName:"connectionStatuses" locationNameList:"item" type:"list"`
100905
100906	// The user who established the terminated client connections.
100907	Username *string `locationName:"username" type:"string"`
100908}
100909
100910// String returns the string representation
100911func (s TerminateClientVpnConnectionsOutput) String() string {
100912	return awsutil.Prettify(s)
100913}
100914
100915// GoString returns the string representation
100916func (s TerminateClientVpnConnectionsOutput) GoString() string {
100917	return s.String()
100918}
100919
100920// SetClientVpnEndpointId sets the ClientVpnEndpointId field's value.
100921func (s *TerminateClientVpnConnectionsOutput) SetClientVpnEndpointId(v string) *TerminateClientVpnConnectionsOutput {
100922	s.ClientVpnEndpointId = &v
100923	return s
100924}
100925
100926// SetConnectionStatuses sets the ConnectionStatuses field's value.
100927func (s *TerminateClientVpnConnectionsOutput) SetConnectionStatuses(v []*TerminateConnectionStatus) *TerminateClientVpnConnectionsOutput {
100928	s.ConnectionStatuses = v
100929	return s
100930}
100931
100932// SetUsername sets the Username field's value.
100933func (s *TerminateClientVpnConnectionsOutput) SetUsername(v string) *TerminateClientVpnConnectionsOutput {
100934	s.Username = &v
100935	return s
100936}
100937
100938// Information about a terminated Client VPN endpoint client connection.
100939type TerminateConnectionStatus struct {
100940	_ struct{} `type:"structure"`
100941
100942	// The ID of the client connection.
100943	ConnectionId *string `locationName:"connectionId" type:"string"`
100944
100945	// A message about the status of the client connection, if applicable.
100946	CurrentStatus *ClientVpnConnectionStatus `locationName:"currentStatus" type:"structure"`
100947
100948	// The state of the client connection.
100949	PreviousStatus *ClientVpnConnectionStatus `locationName:"previousStatus" type:"structure"`
100950}
100951
100952// String returns the string representation
100953func (s TerminateConnectionStatus) String() string {
100954	return awsutil.Prettify(s)
100955}
100956
100957// GoString returns the string representation
100958func (s TerminateConnectionStatus) GoString() string {
100959	return s.String()
100960}
100961
100962// SetConnectionId sets the ConnectionId field's value.
100963func (s *TerminateConnectionStatus) SetConnectionId(v string) *TerminateConnectionStatus {
100964	s.ConnectionId = &v
100965	return s
100966}
100967
100968// SetCurrentStatus sets the CurrentStatus field's value.
100969func (s *TerminateConnectionStatus) SetCurrentStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
100970	s.CurrentStatus = v
100971	return s
100972}
100973
100974// SetPreviousStatus sets the PreviousStatus field's value.
100975func (s *TerminateConnectionStatus) SetPreviousStatus(v *ClientVpnConnectionStatus) *TerminateConnectionStatus {
100976	s.PreviousStatus = v
100977	return s
100978}
100979
100980type TerminateInstancesInput struct {
100981	_ struct{} `type:"structure"`
100982
100983	// Checks whether you have the required permissions for the action, without
100984	// actually making the request, and provides an error response. If you have
100985	// the required permissions, the error response is DryRunOperation. Otherwise,
100986	// it is UnauthorizedOperation.
100987	DryRun *bool `locationName:"dryRun" type:"boolean"`
100988
100989	// The IDs of the instances.
100990	//
100991	// Constraints: Up to 1000 instance IDs. We recommend breaking up this request
100992	// into smaller batches.
100993	//
100994	// InstanceIds is a required field
100995	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
100996}
100997
100998// String returns the string representation
100999func (s TerminateInstancesInput) String() string {
101000	return awsutil.Prettify(s)
101001}
101002
101003// GoString returns the string representation
101004func (s TerminateInstancesInput) GoString() string {
101005	return s.String()
101006}
101007
101008// Validate inspects the fields of the type to determine if they are valid.
101009func (s *TerminateInstancesInput) Validate() error {
101010	invalidParams := request.ErrInvalidParams{Context: "TerminateInstancesInput"}
101011	if s.InstanceIds == nil {
101012		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
101013	}
101014
101015	if invalidParams.Len() > 0 {
101016		return invalidParams
101017	}
101018	return nil
101019}
101020
101021// SetDryRun sets the DryRun field's value.
101022func (s *TerminateInstancesInput) SetDryRun(v bool) *TerminateInstancesInput {
101023	s.DryRun = &v
101024	return s
101025}
101026
101027// SetInstanceIds sets the InstanceIds field's value.
101028func (s *TerminateInstancesInput) SetInstanceIds(v []*string) *TerminateInstancesInput {
101029	s.InstanceIds = v
101030	return s
101031}
101032
101033type TerminateInstancesOutput struct {
101034	_ struct{} `type:"structure"`
101035
101036	// Information about the terminated instances.
101037	TerminatingInstances []*InstanceStateChange `locationName:"instancesSet" locationNameList:"item" type:"list"`
101038}
101039
101040// String returns the string representation
101041func (s TerminateInstancesOutput) String() string {
101042	return awsutil.Prettify(s)
101043}
101044
101045// GoString returns the string representation
101046func (s TerminateInstancesOutput) GoString() string {
101047	return s.String()
101048}
101049
101050// SetTerminatingInstances sets the TerminatingInstances field's value.
101051func (s *TerminateInstancesOutput) SetTerminatingInstances(v []*InstanceStateChange) *TerminateInstancesOutput {
101052	s.TerminatingInstances = v
101053	return s
101054}
101055
101056// Describes the Traffic Mirror filter.
101057type TrafficMirrorFilter struct {
101058	_ struct{} `type:"structure"`
101059
101060	// The description of the Traffic Mirror filter.
101061	Description *string `locationName:"description" type:"string"`
101062
101063	// Information about the egress rules that are associated with the Traffic Mirror
101064	// filter.
101065	EgressFilterRules []*TrafficMirrorFilterRule `locationName:"egressFilterRuleSet" locationNameList:"item" type:"list"`
101066
101067	// Information about the ingress rules that are associated with the Traffic
101068	// Mirror filter.
101069	IngressFilterRules []*TrafficMirrorFilterRule `locationName:"ingressFilterRuleSet" locationNameList:"item" type:"list"`
101070
101071	// The network service traffic that is associated with the Traffic Mirror filter.
101072	NetworkServices []*string `locationName:"networkServiceSet" locationNameList:"item" type:"list"`
101073
101074	// The tags assigned to the Traffic Mirror filter.
101075	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
101076
101077	// The ID of the Traffic Mirror filter.
101078	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
101079}
101080
101081// String returns the string representation
101082func (s TrafficMirrorFilter) String() string {
101083	return awsutil.Prettify(s)
101084}
101085
101086// GoString returns the string representation
101087func (s TrafficMirrorFilter) GoString() string {
101088	return s.String()
101089}
101090
101091// SetDescription sets the Description field's value.
101092func (s *TrafficMirrorFilter) SetDescription(v string) *TrafficMirrorFilter {
101093	s.Description = &v
101094	return s
101095}
101096
101097// SetEgressFilterRules sets the EgressFilterRules field's value.
101098func (s *TrafficMirrorFilter) SetEgressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
101099	s.EgressFilterRules = v
101100	return s
101101}
101102
101103// SetIngressFilterRules sets the IngressFilterRules field's value.
101104func (s *TrafficMirrorFilter) SetIngressFilterRules(v []*TrafficMirrorFilterRule) *TrafficMirrorFilter {
101105	s.IngressFilterRules = v
101106	return s
101107}
101108
101109// SetNetworkServices sets the NetworkServices field's value.
101110func (s *TrafficMirrorFilter) SetNetworkServices(v []*string) *TrafficMirrorFilter {
101111	s.NetworkServices = v
101112	return s
101113}
101114
101115// SetTags sets the Tags field's value.
101116func (s *TrafficMirrorFilter) SetTags(v []*Tag) *TrafficMirrorFilter {
101117	s.Tags = v
101118	return s
101119}
101120
101121// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
101122func (s *TrafficMirrorFilter) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilter {
101123	s.TrafficMirrorFilterId = &v
101124	return s
101125}
101126
101127// Describes the Traffic Mirror rule.
101128type TrafficMirrorFilterRule struct {
101129	_ struct{} `type:"structure"`
101130
101131	// The description of the Traffic Mirror rule.
101132	Description *string `locationName:"description" type:"string"`
101133
101134	// The destination CIDR block assigned to the Traffic Mirror rule.
101135	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
101136
101137	// The destination port range assigned to the Traffic Mirror rule.
101138	DestinationPortRange *TrafficMirrorPortRange `locationName:"destinationPortRange" type:"structure"`
101139
101140	// The protocol assigned to the Traffic Mirror rule.
101141	Protocol *int64 `locationName:"protocol" type:"integer"`
101142
101143	// The action assigned to the Traffic Mirror rule.
101144	RuleAction *string `locationName:"ruleAction" type:"string" enum:"TrafficMirrorRuleAction"`
101145
101146	// The rule number of the Traffic Mirror rule.
101147	RuleNumber *int64 `locationName:"ruleNumber" type:"integer"`
101148
101149	// The source CIDR block assigned to the Traffic Mirror rule.
101150	SourceCidrBlock *string `locationName:"sourceCidrBlock" type:"string"`
101151
101152	// The source port range assigned to the Traffic Mirror rule.
101153	SourcePortRange *TrafficMirrorPortRange `locationName:"sourcePortRange" type:"structure"`
101154
101155	// The traffic direction assigned to the Traffic Mirror rule.
101156	TrafficDirection *string `locationName:"trafficDirection" type:"string" enum:"TrafficDirection"`
101157
101158	// The ID of the Traffic Mirror filter that the rule is associated with.
101159	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
101160
101161	// The ID of the Traffic Mirror rule.
101162	TrafficMirrorFilterRuleId *string `locationName:"trafficMirrorFilterRuleId" type:"string"`
101163}
101164
101165// String returns the string representation
101166func (s TrafficMirrorFilterRule) String() string {
101167	return awsutil.Prettify(s)
101168}
101169
101170// GoString returns the string representation
101171func (s TrafficMirrorFilterRule) GoString() string {
101172	return s.String()
101173}
101174
101175// SetDescription sets the Description field's value.
101176func (s *TrafficMirrorFilterRule) SetDescription(v string) *TrafficMirrorFilterRule {
101177	s.Description = &v
101178	return s
101179}
101180
101181// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
101182func (s *TrafficMirrorFilterRule) SetDestinationCidrBlock(v string) *TrafficMirrorFilterRule {
101183	s.DestinationCidrBlock = &v
101184	return s
101185}
101186
101187// SetDestinationPortRange sets the DestinationPortRange field's value.
101188func (s *TrafficMirrorFilterRule) SetDestinationPortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
101189	s.DestinationPortRange = v
101190	return s
101191}
101192
101193// SetProtocol sets the Protocol field's value.
101194func (s *TrafficMirrorFilterRule) SetProtocol(v int64) *TrafficMirrorFilterRule {
101195	s.Protocol = &v
101196	return s
101197}
101198
101199// SetRuleAction sets the RuleAction field's value.
101200func (s *TrafficMirrorFilterRule) SetRuleAction(v string) *TrafficMirrorFilterRule {
101201	s.RuleAction = &v
101202	return s
101203}
101204
101205// SetRuleNumber sets the RuleNumber field's value.
101206func (s *TrafficMirrorFilterRule) SetRuleNumber(v int64) *TrafficMirrorFilterRule {
101207	s.RuleNumber = &v
101208	return s
101209}
101210
101211// SetSourceCidrBlock sets the SourceCidrBlock field's value.
101212func (s *TrafficMirrorFilterRule) SetSourceCidrBlock(v string) *TrafficMirrorFilterRule {
101213	s.SourceCidrBlock = &v
101214	return s
101215}
101216
101217// SetSourcePortRange sets the SourcePortRange field's value.
101218func (s *TrafficMirrorFilterRule) SetSourcePortRange(v *TrafficMirrorPortRange) *TrafficMirrorFilterRule {
101219	s.SourcePortRange = v
101220	return s
101221}
101222
101223// SetTrafficDirection sets the TrafficDirection field's value.
101224func (s *TrafficMirrorFilterRule) SetTrafficDirection(v string) *TrafficMirrorFilterRule {
101225	s.TrafficDirection = &v
101226	return s
101227}
101228
101229// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
101230func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterId(v string) *TrafficMirrorFilterRule {
101231	s.TrafficMirrorFilterId = &v
101232	return s
101233}
101234
101235// SetTrafficMirrorFilterRuleId sets the TrafficMirrorFilterRuleId field's value.
101236func (s *TrafficMirrorFilterRule) SetTrafficMirrorFilterRuleId(v string) *TrafficMirrorFilterRule {
101237	s.TrafficMirrorFilterRuleId = &v
101238	return s
101239}
101240
101241// Describes the Traffic Mirror port range.
101242type TrafficMirrorPortRange struct {
101243	_ struct{} `type:"structure"`
101244
101245	// The start of the Traffic Mirror port range. This applies to the TCP and UDP
101246	// protocols.
101247	FromPort *int64 `locationName:"fromPort" type:"integer"`
101248
101249	// The end of the Traffic Mirror port range. This applies to the TCP and UDP
101250	// protocols.
101251	ToPort *int64 `locationName:"toPort" type:"integer"`
101252}
101253
101254// String returns the string representation
101255func (s TrafficMirrorPortRange) String() string {
101256	return awsutil.Prettify(s)
101257}
101258
101259// GoString returns the string representation
101260func (s TrafficMirrorPortRange) GoString() string {
101261	return s.String()
101262}
101263
101264// SetFromPort sets the FromPort field's value.
101265func (s *TrafficMirrorPortRange) SetFromPort(v int64) *TrafficMirrorPortRange {
101266	s.FromPort = &v
101267	return s
101268}
101269
101270// SetToPort sets the ToPort field's value.
101271func (s *TrafficMirrorPortRange) SetToPort(v int64) *TrafficMirrorPortRange {
101272	s.ToPort = &v
101273	return s
101274}
101275
101276// Information about the Traffic Mirror filter rule port range.
101277type TrafficMirrorPortRangeRequest struct {
101278	_ struct{} `type:"structure"`
101279
101280	// The first port in the Traffic Mirror port range. This applies to the TCP
101281	// and UDP protocols.
101282	FromPort *int64 `type:"integer"`
101283
101284	// The last port in the Traffic Mirror port range. This applies to the TCP and
101285	// UDP protocols.
101286	ToPort *int64 `type:"integer"`
101287}
101288
101289// String returns the string representation
101290func (s TrafficMirrorPortRangeRequest) String() string {
101291	return awsutil.Prettify(s)
101292}
101293
101294// GoString returns the string representation
101295func (s TrafficMirrorPortRangeRequest) GoString() string {
101296	return s.String()
101297}
101298
101299// SetFromPort sets the FromPort field's value.
101300func (s *TrafficMirrorPortRangeRequest) SetFromPort(v int64) *TrafficMirrorPortRangeRequest {
101301	s.FromPort = &v
101302	return s
101303}
101304
101305// SetToPort sets the ToPort field's value.
101306func (s *TrafficMirrorPortRangeRequest) SetToPort(v int64) *TrafficMirrorPortRangeRequest {
101307	s.ToPort = &v
101308	return s
101309}
101310
101311// Describes a Traffic Mirror session.
101312type TrafficMirrorSession struct {
101313	_ struct{} `type:"structure"`
101314
101315	// The description of the Traffic Mirror session.
101316	Description *string `locationName:"description" type:"string"`
101317
101318	// The ID of the Traffic Mirror session's network interface.
101319	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
101320
101321	// The ID of the account that owns the Traffic Mirror session.
101322	OwnerId *string `locationName:"ownerId" type:"string"`
101323
101324	// The number of bytes in each packet to mirror. These are the bytes after the
101325	// VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror.
101326	// For example, if you set this value to 100, then the first 100 bytes that
101327	// meet the filter criteria are copied to the target. Do not specify this parameter
101328	// when you want to mirror the entire packet
101329	PacketLength *int64 `locationName:"packetLength" type:"integer"`
101330
101331	// The session number determines the order in which sessions are evaluated when
101332	// an interface is used by multiple sessions. The first session with a matching
101333	// filter is the one that mirrors the packets.
101334	//
101335	// Valid values are 1-32766.
101336	SessionNumber *int64 `locationName:"sessionNumber" type:"integer"`
101337
101338	// The tags assigned to the Traffic Mirror session.
101339	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
101340
101341	// The ID of the Traffic Mirror filter.
101342	TrafficMirrorFilterId *string `locationName:"trafficMirrorFilterId" type:"string"`
101343
101344	// The ID for the Traffic Mirror session.
101345	TrafficMirrorSessionId *string `locationName:"trafficMirrorSessionId" type:"string"`
101346
101347	// The ID of the Traffic Mirror target.
101348	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
101349
101350	// The virtual network ID associated with the Traffic Mirror session.
101351	VirtualNetworkId *int64 `locationName:"virtualNetworkId" type:"integer"`
101352}
101353
101354// String returns the string representation
101355func (s TrafficMirrorSession) String() string {
101356	return awsutil.Prettify(s)
101357}
101358
101359// GoString returns the string representation
101360func (s TrafficMirrorSession) GoString() string {
101361	return s.String()
101362}
101363
101364// SetDescription sets the Description field's value.
101365func (s *TrafficMirrorSession) SetDescription(v string) *TrafficMirrorSession {
101366	s.Description = &v
101367	return s
101368}
101369
101370// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
101371func (s *TrafficMirrorSession) SetNetworkInterfaceId(v string) *TrafficMirrorSession {
101372	s.NetworkInterfaceId = &v
101373	return s
101374}
101375
101376// SetOwnerId sets the OwnerId field's value.
101377func (s *TrafficMirrorSession) SetOwnerId(v string) *TrafficMirrorSession {
101378	s.OwnerId = &v
101379	return s
101380}
101381
101382// SetPacketLength sets the PacketLength field's value.
101383func (s *TrafficMirrorSession) SetPacketLength(v int64) *TrafficMirrorSession {
101384	s.PacketLength = &v
101385	return s
101386}
101387
101388// SetSessionNumber sets the SessionNumber field's value.
101389func (s *TrafficMirrorSession) SetSessionNumber(v int64) *TrafficMirrorSession {
101390	s.SessionNumber = &v
101391	return s
101392}
101393
101394// SetTags sets the Tags field's value.
101395func (s *TrafficMirrorSession) SetTags(v []*Tag) *TrafficMirrorSession {
101396	s.Tags = v
101397	return s
101398}
101399
101400// SetTrafficMirrorFilterId sets the TrafficMirrorFilterId field's value.
101401func (s *TrafficMirrorSession) SetTrafficMirrorFilterId(v string) *TrafficMirrorSession {
101402	s.TrafficMirrorFilterId = &v
101403	return s
101404}
101405
101406// SetTrafficMirrorSessionId sets the TrafficMirrorSessionId field's value.
101407func (s *TrafficMirrorSession) SetTrafficMirrorSessionId(v string) *TrafficMirrorSession {
101408	s.TrafficMirrorSessionId = &v
101409	return s
101410}
101411
101412// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
101413func (s *TrafficMirrorSession) SetTrafficMirrorTargetId(v string) *TrafficMirrorSession {
101414	s.TrafficMirrorTargetId = &v
101415	return s
101416}
101417
101418// SetVirtualNetworkId sets the VirtualNetworkId field's value.
101419func (s *TrafficMirrorSession) SetVirtualNetworkId(v int64) *TrafficMirrorSession {
101420	s.VirtualNetworkId = &v
101421	return s
101422}
101423
101424// Describes a Traffic Mirror target.
101425type TrafficMirrorTarget struct {
101426	_ struct{} `type:"structure"`
101427
101428	// Information about the Traffic Mirror target.
101429	Description *string `locationName:"description" type:"string"`
101430
101431	// The network interface ID that is attached to the target.
101432	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
101433
101434	// The Amazon Resource Name (ARN) of the Network Load Balancer.
101435	NetworkLoadBalancerArn *string `locationName:"networkLoadBalancerArn" type:"string"`
101436
101437	// The ID of the account that owns the Traffic Mirror target.
101438	OwnerId *string `locationName:"ownerId" type:"string"`
101439
101440	// The tags assigned to the Traffic Mirror target.
101441	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
101442
101443	// The ID of the Traffic Mirror target.
101444	TrafficMirrorTargetId *string `locationName:"trafficMirrorTargetId" type:"string"`
101445
101446	// The type of Traffic Mirror target.
101447	Type *string `locationName:"type" type:"string" enum:"TrafficMirrorTargetType"`
101448}
101449
101450// String returns the string representation
101451func (s TrafficMirrorTarget) String() string {
101452	return awsutil.Prettify(s)
101453}
101454
101455// GoString returns the string representation
101456func (s TrafficMirrorTarget) GoString() string {
101457	return s.String()
101458}
101459
101460// SetDescription sets the Description field's value.
101461func (s *TrafficMirrorTarget) SetDescription(v string) *TrafficMirrorTarget {
101462	s.Description = &v
101463	return s
101464}
101465
101466// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
101467func (s *TrafficMirrorTarget) SetNetworkInterfaceId(v string) *TrafficMirrorTarget {
101468	s.NetworkInterfaceId = &v
101469	return s
101470}
101471
101472// SetNetworkLoadBalancerArn sets the NetworkLoadBalancerArn field's value.
101473func (s *TrafficMirrorTarget) SetNetworkLoadBalancerArn(v string) *TrafficMirrorTarget {
101474	s.NetworkLoadBalancerArn = &v
101475	return s
101476}
101477
101478// SetOwnerId sets the OwnerId field's value.
101479func (s *TrafficMirrorTarget) SetOwnerId(v string) *TrafficMirrorTarget {
101480	s.OwnerId = &v
101481	return s
101482}
101483
101484// SetTags sets the Tags field's value.
101485func (s *TrafficMirrorTarget) SetTags(v []*Tag) *TrafficMirrorTarget {
101486	s.Tags = v
101487	return s
101488}
101489
101490// SetTrafficMirrorTargetId sets the TrafficMirrorTargetId field's value.
101491func (s *TrafficMirrorTarget) SetTrafficMirrorTargetId(v string) *TrafficMirrorTarget {
101492	s.TrafficMirrorTargetId = &v
101493	return s
101494}
101495
101496// SetType sets the Type field's value.
101497func (s *TrafficMirrorTarget) SetType(v string) *TrafficMirrorTarget {
101498	s.Type = &v
101499	return s
101500}
101501
101502// Describes a transit gateway.
101503type TransitGateway struct {
101504	_ struct{} `type:"structure"`
101505
101506	// The creation time.
101507	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
101508
101509	// The description of the transit gateway.
101510	Description *string `locationName:"description" type:"string"`
101511
101512	// The transit gateway options.
101513	Options *TransitGatewayOptions `locationName:"options" type:"structure"`
101514
101515	// The ID of the AWS account ID that owns the transit gateway.
101516	OwnerId *string `locationName:"ownerId" type:"string"`
101517
101518	// The state of the transit gateway.
101519	State *string `locationName:"state" type:"string" enum:"TransitGatewayState"`
101520
101521	// The tags for the transit gateway.
101522	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
101523
101524	// The Amazon Resource Name (ARN) of the transit gateway.
101525	TransitGatewayArn *string `locationName:"transitGatewayArn" type:"string"`
101526
101527	// The ID of the transit gateway.
101528	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
101529}
101530
101531// String returns the string representation
101532func (s TransitGateway) String() string {
101533	return awsutil.Prettify(s)
101534}
101535
101536// GoString returns the string representation
101537func (s TransitGateway) GoString() string {
101538	return s.String()
101539}
101540
101541// SetCreationTime sets the CreationTime field's value.
101542func (s *TransitGateway) SetCreationTime(v time.Time) *TransitGateway {
101543	s.CreationTime = &v
101544	return s
101545}
101546
101547// SetDescription sets the Description field's value.
101548func (s *TransitGateway) SetDescription(v string) *TransitGateway {
101549	s.Description = &v
101550	return s
101551}
101552
101553// SetOptions sets the Options field's value.
101554func (s *TransitGateway) SetOptions(v *TransitGatewayOptions) *TransitGateway {
101555	s.Options = v
101556	return s
101557}
101558
101559// SetOwnerId sets the OwnerId field's value.
101560func (s *TransitGateway) SetOwnerId(v string) *TransitGateway {
101561	s.OwnerId = &v
101562	return s
101563}
101564
101565// SetState sets the State field's value.
101566func (s *TransitGateway) SetState(v string) *TransitGateway {
101567	s.State = &v
101568	return s
101569}
101570
101571// SetTags sets the Tags field's value.
101572func (s *TransitGateway) SetTags(v []*Tag) *TransitGateway {
101573	s.Tags = v
101574	return s
101575}
101576
101577// SetTransitGatewayArn sets the TransitGatewayArn field's value.
101578func (s *TransitGateway) SetTransitGatewayArn(v string) *TransitGateway {
101579	s.TransitGatewayArn = &v
101580	return s
101581}
101582
101583// SetTransitGatewayId sets the TransitGatewayId field's value.
101584func (s *TransitGateway) SetTransitGatewayId(v string) *TransitGateway {
101585	s.TransitGatewayId = &v
101586	return s
101587}
101588
101589// Describes an association between a resource attachment and a transit gateway
101590// route table.
101591type TransitGatewayAssociation struct {
101592	_ struct{} `type:"structure"`
101593
101594	// The ID of the resource.
101595	ResourceId *string `locationName:"resourceId" type:"string"`
101596
101597	// The resource type.
101598	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
101599
101600	// The state of the association.
101601	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
101602
101603	// The ID of the attachment.
101604	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
101605
101606	// The ID of the transit gateway route table.
101607	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
101608}
101609
101610// String returns the string representation
101611func (s TransitGatewayAssociation) String() string {
101612	return awsutil.Prettify(s)
101613}
101614
101615// GoString returns the string representation
101616func (s TransitGatewayAssociation) GoString() string {
101617	return s.String()
101618}
101619
101620// SetResourceId sets the ResourceId field's value.
101621func (s *TransitGatewayAssociation) SetResourceId(v string) *TransitGatewayAssociation {
101622	s.ResourceId = &v
101623	return s
101624}
101625
101626// SetResourceType sets the ResourceType field's value.
101627func (s *TransitGatewayAssociation) SetResourceType(v string) *TransitGatewayAssociation {
101628	s.ResourceType = &v
101629	return s
101630}
101631
101632// SetState sets the State field's value.
101633func (s *TransitGatewayAssociation) SetState(v string) *TransitGatewayAssociation {
101634	s.State = &v
101635	return s
101636}
101637
101638// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
101639func (s *TransitGatewayAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayAssociation {
101640	s.TransitGatewayAttachmentId = &v
101641	return s
101642}
101643
101644// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
101645func (s *TransitGatewayAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAssociation {
101646	s.TransitGatewayRouteTableId = &v
101647	return s
101648}
101649
101650// Describes an attachment between a resource and a transit gateway.
101651type TransitGatewayAttachment struct {
101652	_ struct{} `type:"structure"`
101653
101654	// The association.
101655	Association *TransitGatewayAttachmentAssociation `locationName:"association" type:"structure"`
101656
101657	// The creation time.
101658	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
101659
101660	// The ID of the resource.
101661	ResourceId *string `locationName:"resourceId" type:"string"`
101662
101663	// The ID of the AWS account that owns the resource.
101664	ResourceOwnerId *string `locationName:"resourceOwnerId" type:"string"`
101665
101666	// The resource type.
101667	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
101668
101669	// The attachment state.
101670	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
101671
101672	// The tags for the attachment.
101673	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
101674
101675	// The ID of the attachment.
101676	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
101677
101678	// The ID of the transit gateway.
101679	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
101680
101681	// The ID of the AWS account that owns the transit gateway.
101682	TransitGatewayOwnerId *string `locationName:"transitGatewayOwnerId" type:"string"`
101683}
101684
101685// String returns the string representation
101686func (s TransitGatewayAttachment) String() string {
101687	return awsutil.Prettify(s)
101688}
101689
101690// GoString returns the string representation
101691func (s TransitGatewayAttachment) GoString() string {
101692	return s.String()
101693}
101694
101695// SetAssociation sets the Association field's value.
101696func (s *TransitGatewayAttachment) SetAssociation(v *TransitGatewayAttachmentAssociation) *TransitGatewayAttachment {
101697	s.Association = v
101698	return s
101699}
101700
101701// SetCreationTime sets the CreationTime field's value.
101702func (s *TransitGatewayAttachment) SetCreationTime(v time.Time) *TransitGatewayAttachment {
101703	s.CreationTime = &v
101704	return s
101705}
101706
101707// SetResourceId sets the ResourceId field's value.
101708func (s *TransitGatewayAttachment) SetResourceId(v string) *TransitGatewayAttachment {
101709	s.ResourceId = &v
101710	return s
101711}
101712
101713// SetResourceOwnerId sets the ResourceOwnerId field's value.
101714func (s *TransitGatewayAttachment) SetResourceOwnerId(v string) *TransitGatewayAttachment {
101715	s.ResourceOwnerId = &v
101716	return s
101717}
101718
101719// SetResourceType sets the ResourceType field's value.
101720func (s *TransitGatewayAttachment) SetResourceType(v string) *TransitGatewayAttachment {
101721	s.ResourceType = &v
101722	return s
101723}
101724
101725// SetState sets the State field's value.
101726func (s *TransitGatewayAttachment) SetState(v string) *TransitGatewayAttachment {
101727	s.State = &v
101728	return s
101729}
101730
101731// SetTags sets the Tags field's value.
101732func (s *TransitGatewayAttachment) SetTags(v []*Tag) *TransitGatewayAttachment {
101733	s.Tags = v
101734	return s
101735}
101736
101737// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
101738func (s *TransitGatewayAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayAttachment {
101739	s.TransitGatewayAttachmentId = &v
101740	return s
101741}
101742
101743// SetTransitGatewayId sets the TransitGatewayId field's value.
101744func (s *TransitGatewayAttachment) SetTransitGatewayId(v string) *TransitGatewayAttachment {
101745	s.TransitGatewayId = &v
101746	return s
101747}
101748
101749// SetTransitGatewayOwnerId sets the TransitGatewayOwnerId field's value.
101750func (s *TransitGatewayAttachment) SetTransitGatewayOwnerId(v string) *TransitGatewayAttachment {
101751	s.TransitGatewayOwnerId = &v
101752	return s
101753}
101754
101755// Describes an association.
101756type TransitGatewayAttachmentAssociation struct {
101757	_ struct{} `type:"structure"`
101758
101759	// The state of the association.
101760	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
101761
101762	// The ID of the route table for the transit gateway.
101763	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
101764}
101765
101766// String returns the string representation
101767func (s TransitGatewayAttachmentAssociation) String() string {
101768	return awsutil.Prettify(s)
101769}
101770
101771// GoString returns the string representation
101772func (s TransitGatewayAttachmentAssociation) GoString() string {
101773	return s.String()
101774}
101775
101776// SetState sets the State field's value.
101777func (s *TransitGatewayAttachmentAssociation) SetState(v string) *TransitGatewayAttachmentAssociation {
101778	s.State = &v
101779	return s
101780}
101781
101782// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
101783func (s *TransitGatewayAttachmentAssociation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentAssociation {
101784	s.TransitGatewayRouteTableId = &v
101785	return s
101786}
101787
101788// Describes a propagation route table.
101789type TransitGatewayAttachmentPropagation struct {
101790	_ struct{} `type:"structure"`
101791
101792	// The state of the propagation route table.
101793	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
101794
101795	// The ID of the propagation route table.
101796	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
101797}
101798
101799// String returns the string representation
101800func (s TransitGatewayAttachmentPropagation) String() string {
101801	return awsutil.Prettify(s)
101802}
101803
101804// GoString returns the string representation
101805func (s TransitGatewayAttachmentPropagation) GoString() string {
101806	return s.String()
101807}
101808
101809// SetState sets the State field's value.
101810func (s *TransitGatewayAttachmentPropagation) SetState(v string) *TransitGatewayAttachmentPropagation {
101811	s.State = &v
101812	return s
101813}
101814
101815// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
101816func (s *TransitGatewayAttachmentPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayAttachmentPropagation {
101817	s.TransitGatewayRouteTableId = &v
101818	return s
101819}
101820
101821// Describes the deregistered transit gateway multicast group members.
101822type TransitGatewayMulticastDeregisteredGroupMembers struct {
101823	_ struct{} `type:"structure"`
101824
101825	// The network interface IDs of the deregistered members.
101826	DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
101827
101828	// The IP address assigned to the transit gateway multicast group.
101829	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
101830
101831	// The ID of the transit gateway multicast domain.
101832	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
101833}
101834
101835// String returns the string representation
101836func (s TransitGatewayMulticastDeregisteredGroupMembers) String() string {
101837	return awsutil.Prettify(s)
101838}
101839
101840// GoString returns the string representation
101841func (s TransitGatewayMulticastDeregisteredGroupMembers) GoString() string {
101842	return s.String()
101843}
101844
101845// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
101846func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupMembers {
101847	s.DeregisteredNetworkInterfaceIds = v
101848	return s
101849}
101850
101851// SetGroupIpAddress sets the GroupIpAddress field's value.
101852func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
101853	s.GroupIpAddress = &v
101854	return s
101855}
101856
101857// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
101858func (s *TransitGatewayMulticastDeregisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupMembers {
101859	s.TransitGatewayMulticastDomainId = &v
101860	return s
101861}
101862
101863// Describes the deregistered transit gateway multicast group sources.
101864type TransitGatewayMulticastDeregisteredGroupSources struct {
101865	_ struct{} `type:"structure"`
101866
101867	// The network interface IDs of the non-registered members.
101868	DeregisteredNetworkInterfaceIds []*string `locationName:"deregisteredNetworkInterfaceIds" locationNameList:"item" type:"list"`
101869
101870	// The IP address assigned to the transit gateway multicast group.
101871	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
101872
101873	// The ID of the transit gateway multicast domain.
101874	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
101875}
101876
101877// String returns the string representation
101878func (s TransitGatewayMulticastDeregisteredGroupSources) String() string {
101879	return awsutil.Prettify(s)
101880}
101881
101882// GoString returns the string representation
101883func (s TransitGatewayMulticastDeregisteredGroupSources) GoString() string {
101884	return s.String()
101885}
101886
101887// SetDeregisteredNetworkInterfaceIds sets the DeregisteredNetworkInterfaceIds field's value.
101888func (s *TransitGatewayMulticastDeregisteredGroupSources) SetDeregisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastDeregisteredGroupSources {
101889	s.DeregisteredNetworkInterfaceIds = v
101890	return s
101891}
101892
101893// SetGroupIpAddress sets the GroupIpAddress field's value.
101894func (s *TransitGatewayMulticastDeregisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastDeregisteredGroupSources {
101895	s.GroupIpAddress = &v
101896	return s
101897}
101898
101899// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
101900func (s *TransitGatewayMulticastDeregisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDeregisteredGroupSources {
101901	s.TransitGatewayMulticastDomainId = &v
101902	return s
101903}
101904
101905// Describes the transit gateway multicast domain.
101906type TransitGatewayMulticastDomain struct {
101907	_ struct{} `type:"structure"`
101908
101909	// The time the transit gateway multicast domain was created.
101910	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
101911
101912	// The state of the transit gateway multicast domain.
101913	State *string `locationName:"state" type:"string" enum:"TransitGatewayMulticastDomainState"`
101914
101915	// The tags for the transit gateway multicast domain.
101916	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
101917
101918	// The ID of the transit gateway.
101919	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
101920
101921	// The ID of the transit gateway multicast domain.
101922	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
101923}
101924
101925// String returns the string representation
101926func (s TransitGatewayMulticastDomain) String() string {
101927	return awsutil.Prettify(s)
101928}
101929
101930// GoString returns the string representation
101931func (s TransitGatewayMulticastDomain) GoString() string {
101932	return s.String()
101933}
101934
101935// SetCreationTime sets the CreationTime field's value.
101936func (s *TransitGatewayMulticastDomain) SetCreationTime(v time.Time) *TransitGatewayMulticastDomain {
101937	s.CreationTime = &v
101938	return s
101939}
101940
101941// SetState sets the State field's value.
101942func (s *TransitGatewayMulticastDomain) SetState(v string) *TransitGatewayMulticastDomain {
101943	s.State = &v
101944	return s
101945}
101946
101947// SetTags sets the Tags field's value.
101948func (s *TransitGatewayMulticastDomain) SetTags(v []*Tag) *TransitGatewayMulticastDomain {
101949	s.Tags = v
101950	return s
101951}
101952
101953// SetTransitGatewayId sets the TransitGatewayId field's value.
101954func (s *TransitGatewayMulticastDomain) SetTransitGatewayId(v string) *TransitGatewayMulticastDomain {
101955	s.TransitGatewayId = &v
101956	return s
101957}
101958
101959// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
101960func (s *TransitGatewayMulticastDomain) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomain {
101961	s.TransitGatewayMulticastDomainId = &v
101962	return s
101963}
101964
101965// Describes the resources associated with the transit gateway multicast domain.
101966type TransitGatewayMulticastDomainAssociation struct {
101967	_ struct{} `type:"structure"`
101968
101969	// The ID of the resource.
101970	ResourceId *string `locationName:"resourceId" type:"string"`
101971
101972	// The type of resource, for example a VPC attachment.
101973	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
101974
101975	// The subnet associated with the transit gateway multicast domain.
101976	Subnet *SubnetAssociation `locationName:"subnet" type:"structure"`
101977
101978	// The ID of the transit gateway attachment.
101979	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
101980}
101981
101982// String returns the string representation
101983func (s TransitGatewayMulticastDomainAssociation) String() string {
101984	return awsutil.Prettify(s)
101985}
101986
101987// GoString returns the string representation
101988func (s TransitGatewayMulticastDomainAssociation) GoString() string {
101989	return s.String()
101990}
101991
101992// SetResourceId sets the ResourceId field's value.
101993func (s *TransitGatewayMulticastDomainAssociation) SetResourceId(v string) *TransitGatewayMulticastDomainAssociation {
101994	s.ResourceId = &v
101995	return s
101996}
101997
101998// SetResourceType sets the ResourceType field's value.
101999func (s *TransitGatewayMulticastDomainAssociation) SetResourceType(v string) *TransitGatewayMulticastDomainAssociation {
102000	s.ResourceType = &v
102001	return s
102002}
102003
102004// SetSubnet sets the Subnet field's value.
102005func (s *TransitGatewayMulticastDomainAssociation) SetSubnet(v *SubnetAssociation) *TransitGatewayMulticastDomainAssociation {
102006	s.Subnet = v
102007	return s
102008}
102009
102010// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
102011func (s *TransitGatewayMulticastDomainAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociation {
102012	s.TransitGatewayAttachmentId = &v
102013	return s
102014}
102015
102016// Describes the multicast domain associations.
102017type TransitGatewayMulticastDomainAssociations struct {
102018	_ struct{} `type:"structure"`
102019
102020	// The ID of the resource.
102021	ResourceId *string `locationName:"resourceId" type:"string"`
102022
102023	// The type of resource, for example a VPC attachment.
102024	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
102025
102026	// The subnets associated with the multicast domain.
102027	Subnets []*SubnetAssociation `locationName:"subnets" locationNameList:"item" type:"list"`
102028
102029	// The ID of the transit gateway attachment.
102030	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
102031
102032	// The ID of the transit gateway multicast domain.
102033	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
102034}
102035
102036// String returns the string representation
102037func (s TransitGatewayMulticastDomainAssociations) String() string {
102038	return awsutil.Prettify(s)
102039}
102040
102041// GoString returns the string representation
102042func (s TransitGatewayMulticastDomainAssociations) GoString() string {
102043	return s.String()
102044}
102045
102046// SetResourceId sets the ResourceId field's value.
102047func (s *TransitGatewayMulticastDomainAssociations) SetResourceId(v string) *TransitGatewayMulticastDomainAssociations {
102048	s.ResourceId = &v
102049	return s
102050}
102051
102052// SetResourceType sets the ResourceType field's value.
102053func (s *TransitGatewayMulticastDomainAssociations) SetResourceType(v string) *TransitGatewayMulticastDomainAssociations {
102054	s.ResourceType = &v
102055	return s
102056}
102057
102058// SetSubnets sets the Subnets field's value.
102059func (s *TransitGatewayMulticastDomainAssociations) SetSubnets(v []*SubnetAssociation) *TransitGatewayMulticastDomainAssociations {
102060	s.Subnets = v
102061	return s
102062}
102063
102064// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
102065func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastDomainAssociations {
102066	s.TransitGatewayAttachmentId = &v
102067	return s
102068}
102069
102070// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
102071func (s *TransitGatewayMulticastDomainAssociations) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastDomainAssociations {
102072	s.TransitGatewayMulticastDomainId = &v
102073	return s
102074}
102075
102076// Describes the transit gateway multicast group resources.
102077type TransitGatewayMulticastGroup struct {
102078	_ struct{} `type:"structure"`
102079
102080	// The IP address assigned to the transit gateway multicast group.
102081	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
102082
102083	// Indicates that the resource is a transit gateway multicast group member.
102084	GroupMember *bool `locationName:"groupMember" type:"boolean"`
102085
102086	// Indicates that the resource is a transit gateway multicast group member.
102087	GroupSource *bool `locationName:"groupSource" type:"boolean"`
102088
102089	// The member type (for example, static).
102090	MemberType *string `locationName:"memberType" type:"string" enum:"MembershipType"`
102091
102092	// The ID of the transit gateway attachment.
102093	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
102094
102095	// The ID of the resource.
102096	ResourceId *string `locationName:"resourceId" type:"string"`
102097
102098	// The type of resource, for example a VPC attachment.
102099	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
102100
102101	// The source type.
102102	SourceType *string `locationName:"sourceType" type:"string" enum:"MembershipType"`
102103
102104	// The ID of the subnet.
102105	SubnetId *string `locationName:"subnetId" type:"string"`
102106
102107	// The ID of the transit gateway attachment.
102108	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
102109}
102110
102111// String returns the string representation
102112func (s TransitGatewayMulticastGroup) String() string {
102113	return awsutil.Prettify(s)
102114}
102115
102116// GoString returns the string representation
102117func (s TransitGatewayMulticastGroup) GoString() string {
102118	return s.String()
102119}
102120
102121// SetGroupIpAddress sets the GroupIpAddress field's value.
102122func (s *TransitGatewayMulticastGroup) SetGroupIpAddress(v string) *TransitGatewayMulticastGroup {
102123	s.GroupIpAddress = &v
102124	return s
102125}
102126
102127// SetGroupMember sets the GroupMember field's value.
102128func (s *TransitGatewayMulticastGroup) SetGroupMember(v bool) *TransitGatewayMulticastGroup {
102129	s.GroupMember = &v
102130	return s
102131}
102132
102133// SetGroupSource sets the GroupSource field's value.
102134func (s *TransitGatewayMulticastGroup) SetGroupSource(v bool) *TransitGatewayMulticastGroup {
102135	s.GroupSource = &v
102136	return s
102137}
102138
102139// SetMemberType sets the MemberType field's value.
102140func (s *TransitGatewayMulticastGroup) SetMemberType(v string) *TransitGatewayMulticastGroup {
102141	s.MemberType = &v
102142	return s
102143}
102144
102145// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
102146func (s *TransitGatewayMulticastGroup) SetNetworkInterfaceId(v string) *TransitGatewayMulticastGroup {
102147	s.NetworkInterfaceId = &v
102148	return s
102149}
102150
102151// SetResourceId sets the ResourceId field's value.
102152func (s *TransitGatewayMulticastGroup) SetResourceId(v string) *TransitGatewayMulticastGroup {
102153	s.ResourceId = &v
102154	return s
102155}
102156
102157// SetResourceType sets the ResourceType field's value.
102158func (s *TransitGatewayMulticastGroup) SetResourceType(v string) *TransitGatewayMulticastGroup {
102159	s.ResourceType = &v
102160	return s
102161}
102162
102163// SetSourceType sets the SourceType field's value.
102164func (s *TransitGatewayMulticastGroup) SetSourceType(v string) *TransitGatewayMulticastGroup {
102165	s.SourceType = &v
102166	return s
102167}
102168
102169// SetSubnetId sets the SubnetId field's value.
102170func (s *TransitGatewayMulticastGroup) SetSubnetId(v string) *TransitGatewayMulticastGroup {
102171	s.SubnetId = &v
102172	return s
102173}
102174
102175// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
102176func (s *TransitGatewayMulticastGroup) SetTransitGatewayAttachmentId(v string) *TransitGatewayMulticastGroup {
102177	s.TransitGatewayAttachmentId = &v
102178	return s
102179}
102180
102181// Describes the registered transit gateway multicast group members.
102182type TransitGatewayMulticastRegisteredGroupMembers struct {
102183	_ struct{} `type:"structure"`
102184
102185	// The IP address assigned to the transit gateway multicast group.
102186	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
102187
102188	// The ID of the registered network interfaces.
102189	RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
102190
102191	// The ID of the transit gateway multicast domain.
102192	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
102193}
102194
102195// String returns the string representation
102196func (s TransitGatewayMulticastRegisteredGroupMembers) String() string {
102197	return awsutil.Prettify(s)
102198}
102199
102200// GoString returns the string representation
102201func (s TransitGatewayMulticastRegisteredGroupMembers) GoString() string {
102202	return s.String()
102203}
102204
102205// SetGroupIpAddress sets the GroupIpAddress field's value.
102206func (s *TransitGatewayMulticastRegisteredGroupMembers) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupMembers {
102207	s.GroupIpAddress = &v
102208	return s
102209}
102210
102211// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
102212func (s *TransitGatewayMulticastRegisteredGroupMembers) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupMembers {
102213	s.RegisteredNetworkInterfaceIds = v
102214	return s
102215}
102216
102217// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
102218func (s *TransitGatewayMulticastRegisteredGroupMembers) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupMembers {
102219	s.TransitGatewayMulticastDomainId = &v
102220	return s
102221}
102222
102223// Describes the members registered with the transit gateway multicast group.
102224type TransitGatewayMulticastRegisteredGroupSources struct {
102225	_ struct{} `type:"structure"`
102226
102227	// The IP address assigned to the transit gateway multicast group.
102228	GroupIpAddress *string `locationName:"groupIpAddress" type:"string"`
102229
102230	// The IDs of the network interfaces members registered with the transit gateway
102231	// multicast group.
102232	RegisteredNetworkInterfaceIds []*string `locationName:"registeredNetworkInterfaceIds" locationNameList:"item" type:"list"`
102233
102234	// The ID of the transit gateway multicast domain.
102235	TransitGatewayMulticastDomainId *string `locationName:"transitGatewayMulticastDomainId" type:"string"`
102236}
102237
102238// String returns the string representation
102239func (s TransitGatewayMulticastRegisteredGroupSources) String() string {
102240	return awsutil.Prettify(s)
102241}
102242
102243// GoString returns the string representation
102244func (s TransitGatewayMulticastRegisteredGroupSources) GoString() string {
102245	return s.String()
102246}
102247
102248// SetGroupIpAddress sets the GroupIpAddress field's value.
102249func (s *TransitGatewayMulticastRegisteredGroupSources) SetGroupIpAddress(v string) *TransitGatewayMulticastRegisteredGroupSources {
102250	s.GroupIpAddress = &v
102251	return s
102252}
102253
102254// SetRegisteredNetworkInterfaceIds sets the RegisteredNetworkInterfaceIds field's value.
102255func (s *TransitGatewayMulticastRegisteredGroupSources) SetRegisteredNetworkInterfaceIds(v []*string) *TransitGatewayMulticastRegisteredGroupSources {
102256	s.RegisteredNetworkInterfaceIds = v
102257	return s
102258}
102259
102260// SetTransitGatewayMulticastDomainId sets the TransitGatewayMulticastDomainId field's value.
102261func (s *TransitGatewayMulticastRegisteredGroupSources) SetTransitGatewayMulticastDomainId(v string) *TransitGatewayMulticastRegisteredGroupSources {
102262	s.TransitGatewayMulticastDomainId = &v
102263	return s
102264}
102265
102266// Describes the options for a transit gateway.
102267type TransitGatewayOptions struct {
102268	_ struct{} `type:"structure"`
102269
102270	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
102271	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
102272	// for 32-bit ASNs.
102273	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
102274
102275	// The ID of the default association route table.
102276	AssociationDefaultRouteTableId *string `locationName:"associationDefaultRouteTableId" type:"string"`
102277
102278	// Indicates whether attachment requests are automatically accepted.
102279	AutoAcceptSharedAttachments *string `locationName:"autoAcceptSharedAttachments" type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
102280
102281	// Indicates whether resource attachments are automatically associated with
102282	// the default association route table.
102283	DefaultRouteTableAssociation *string `locationName:"defaultRouteTableAssociation" type:"string" enum:"DefaultRouteTableAssociationValue"`
102284
102285	// Indicates whether resource attachments automatically propagate routes to
102286	// the default propagation route table.
102287	DefaultRouteTablePropagation *string `locationName:"defaultRouteTablePropagation" type:"string" enum:"DefaultRouteTablePropagationValue"`
102288
102289	// Indicates whether DNS support is enabled.
102290	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
102291
102292	// Indicates whether multicast is enabled on the transit gateway
102293	MulticastSupport *string `locationName:"multicastSupport" type:"string" enum:"MulticastSupportValue"`
102294
102295	// The ID of the default propagation route table.
102296	PropagationDefaultRouteTableId *string `locationName:"propagationDefaultRouteTableId" type:"string"`
102297
102298	// Indicates whether Equal Cost Multipath Protocol support is enabled.
102299	VpnEcmpSupport *string `locationName:"vpnEcmpSupport" type:"string" enum:"VpnEcmpSupportValue"`
102300}
102301
102302// String returns the string representation
102303func (s TransitGatewayOptions) String() string {
102304	return awsutil.Prettify(s)
102305}
102306
102307// GoString returns the string representation
102308func (s TransitGatewayOptions) GoString() string {
102309	return s.String()
102310}
102311
102312// SetAmazonSideAsn sets the AmazonSideAsn field's value.
102313func (s *TransitGatewayOptions) SetAmazonSideAsn(v int64) *TransitGatewayOptions {
102314	s.AmazonSideAsn = &v
102315	return s
102316}
102317
102318// SetAssociationDefaultRouteTableId sets the AssociationDefaultRouteTableId field's value.
102319func (s *TransitGatewayOptions) SetAssociationDefaultRouteTableId(v string) *TransitGatewayOptions {
102320	s.AssociationDefaultRouteTableId = &v
102321	return s
102322}
102323
102324// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
102325func (s *TransitGatewayOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayOptions {
102326	s.AutoAcceptSharedAttachments = &v
102327	return s
102328}
102329
102330// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
102331func (s *TransitGatewayOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayOptions {
102332	s.DefaultRouteTableAssociation = &v
102333	return s
102334}
102335
102336// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
102337func (s *TransitGatewayOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayOptions {
102338	s.DefaultRouteTablePropagation = &v
102339	return s
102340}
102341
102342// SetDnsSupport sets the DnsSupport field's value.
102343func (s *TransitGatewayOptions) SetDnsSupport(v string) *TransitGatewayOptions {
102344	s.DnsSupport = &v
102345	return s
102346}
102347
102348// SetMulticastSupport sets the MulticastSupport field's value.
102349func (s *TransitGatewayOptions) SetMulticastSupport(v string) *TransitGatewayOptions {
102350	s.MulticastSupport = &v
102351	return s
102352}
102353
102354// SetPropagationDefaultRouteTableId sets the PropagationDefaultRouteTableId field's value.
102355func (s *TransitGatewayOptions) SetPropagationDefaultRouteTableId(v string) *TransitGatewayOptions {
102356	s.PropagationDefaultRouteTableId = &v
102357	return s
102358}
102359
102360// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
102361func (s *TransitGatewayOptions) SetVpnEcmpSupport(v string) *TransitGatewayOptions {
102362	s.VpnEcmpSupport = &v
102363	return s
102364}
102365
102366// Describes the transit gateway peering attachment.
102367type TransitGatewayPeeringAttachment struct {
102368	_ struct{} `type:"structure"`
102369
102370	// Information about the accepter transit gateway.
102371	AccepterTgwInfo *PeeringTgwInfo `locationName:"accepterTgwInfo" type:"structure"`
102372
102373	// The time the transit gateway peering attachment was created.
102374	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
102375
102376	// Information about the requester transit gateway.
102377	RequesterTgwInfo *PeeringTgwInfo `locationName:"requesterTgwInfo" type:"structure"`
102378
102379	// The state of the transit gateway peering attachment.
102380	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
102381
102382	// The status of the transit gateway peering attachment.
102383	Status *PeeringAttachmentStatus `locationName:"status" type:"structure"`
102384
102385	// The tags for the transit gateway peering attachment.
102386	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
102387
102388	// The ID of the transit gateway peering attachment.
102389	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
102390}
102391
102392// String returns the string representation
102393func (s TransitGatewayPeeringAttachment) String() string {
102394	return awsutil.Prettify(s)
102395}
102396
102397// GoString returns the string representation
102398func (s TransitGatewayPeeringAttachment) GoString() string {
102399	return s.String()
102400}
102401
102402// SetAccepterTgwInfo sets the AccepterTgwInfo field's value.
102403func (s *TransitGatewayPeeringAttachment) SetAccepterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
102404	s.AccepterTgwInfo = v
102405	return s
102406}
102407
102408// SetCreationTime sets the CreationTime field's value.
102409func (s *TransitGatewayPeeringAttachment) SetCreationTime(v time.Time) *TransitGatewayPeeringAttachment {
102410	s.CreationTime = &v
102411	return s
102412}
102413
102414// SetRequesterTgwInfo sets the RequesterTgwInfo field's value.
102415func (s *TransitGatewayPeeringAttachment) SetRequesterTgwInfo(v *PeeringTgwInfo) *TransitGatewayPeeringAttachment {
102416	s.RequesterTgwInfo = v
102417	return s
102418}
102419
102420// SetState sets the State field's value.
102421func (s *TransitGatewayPeeringAttachment) SetState(v string) *TransitGatewayPeeringAttachment {
102422	s.State = &v
102423	return s
102424}
102425
102426// SetStatus sets the Status field's value.
102427func (s *TransitGatewayPeeringAttachment) SetStatus(v *PeeringAttachmentStatus) *TransitGatewayPeeringAttachment {
102428	s.Status = v
102429	return s
102430}
102431
102432// SetTags sets the Tags field's value.
102433func (s *TransitGatewayPeeringAttachment) SetTags(v []*Tag) *TransitGatewayPeeringAttachment {
102434	s.Tags = v
102435	return s
102436}
102437
102438// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
102439func (s *TransitGatewayPeeringAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayPeeringAttachment {
102440	s.TransitGatewayAttachmentId = &v
102441	return s
102442}
102443
102444// Describes route propagation.
102445type TransitGatewayPropagation struct {
102446	_ struct{} `type:"structure"`
102447
102448	// The ID of the resource.
102449	ResourceId *string `locationName:"resourceId" type:"string"`
102450
102451	// The resource type.
102452	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
102453
102454	// The state.
102455	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
102456
102457	// The ID of the attachment.
102458	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
102459
102460	// The ID of the transit gateway route table.
102461	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
102462}
102463
102464// String returns the string representation
102465func (s TransitGatewayPropagation) String() string {
102466	return awsutil.Prettify(s)
102467}
102468
102469// GoString returns the string representation
102470func (s TransitGatewayPropagation) GoString() string {
102471	return s.String()
102472}
102473
102474// SetResourceId sets the ResourceId field's value.
102475func (s *TransitGatewayPropagation) SetResourceId(v string) *TransitGatewayPropagation {
102476	s.ResourceId = &v
102477	return s
102478}
102479
102480// SetResourceType sets the ResourceType field's value.
102481func (s *TransitGatewayPropagation) SetResourceType(v string) *TransitGatewayPropagation {
102482	s.ResourceType = &v
102483	return s
102484}
102485
102486// SetState sets the State field's value.
102487func (s *TransitGatewayPropagation) SetState(v string) *TransitGatewayPropagation {
102488	s.State = &v
102489	return s
102490}
102491
102492// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
102493func (s *TransitGatewayPropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayPropagation {
102494	s.TransitGatewayAttachmentId = &v
102495	return s
102496}
102497
102498// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
102499func (s *TransitGatewayPropagation) SetTransitGatewayRouteTableId(v string) *TransitGatewayPropagation {
102500	s.TransitGatewayRouteTableId = &v
102501	return s
102502}
102503
102504// Describes the options for a transit gateway.
102505type TransitGatewayRequestOptions struct {
102506	_ struct{} `type:"structure"`
102507
102508	// A private Autonomous System Number (ASN) for the Amazon side of a BGP session.
102509	// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294
102510	// for 32-bit ASNs.
102511	AmazonSideAsn *int64 `type:"long"`
102512
102513	// Enable or disable automatic acceptance of attachment requests. The default
102514	// is disable.
102515	AutoAcceptSharedAttachments *string `type:"string" enum:"AutoAcceptSharedAttachmentsValue"`
102516
102517	// Enable or disable automatic association with the default association route
102518	// table. The default is enable.
102519	DefaultRouteTableAssociation *string `type:"string" enum:"DefaultRouteTableAssociationValue"`
102520
102521	// Enable or disable automatic propagation of routes to the default propagation
102522	// route table. The default is enable.
102523	DefaultRouteTablePropagation *string `type:"string" enum:"DefaultRouteTablePropagationValue"`
102524
102525	// Enable or disable DNS support.
102526	DnsSupport *string `type:"string" enum:"DnsSupportValue"`
102527
102528	// Indicates whether multicast is enabled on the transit gateway
102529	MulticastSupport *string `type:"string" enum:"MulticastSupportValue"`
102530
102531	// Enable or disable Equal Cost Multipath Protocol support.
102532	VpnEcmpSupport *string `type:"string" enum:"VpnEcmpSupportValue"`
102533}
102534
102535// String returns the string representation
102536func (s TransitGatewayRequestOptions) String() string {
102537	return awsutil.Prettify(s)
102538}
102539
102540// GoString returns the string representation
102541func (s TransitGatewayRequestOptions) GoString() string {
102542	return s.String()
102543}
102544
102545// SetAmazonSideAsn sets the AmazonSideAsn field's value.
102546func (s *TransitGatewayRequestOptions) SetAmazonSideAsn(v int64) *TransitGatewayRequestOptions {
102547	s.AmazonSideAsn = &v
102548	return s
102549}
102550
102551// SetAutoAcceptSharedAttachments sets the AutoAcceptSharedAttachments field's value.
102552func (s *TransitGatewayRequestOptions) SetAutoAcceptSharedAttachments(v string) *TransitGatewayRequestOptions {
102553	s.AutoAcceptSharedAttachments = &v
102554	return s
102555}
102556
102557// SetDefaultRouteTableAssociation sets the DefaultRouteTableAssociation field's value.
102558func (s *TransitGatewayRequestOptions) SetDefaultRouteTableAssociation(v string) *TransitGatewayRequestOptions {
102559	s.DefaultRouteTableAssociation = &v
102560	return s
102561}
102562
102563// SetDefaultRouteTablePropagation sets the DefaultRouteTablePropagation field's value.
102564func (s *TransitGatewayRequestOptions) SetDefaultRouteTablePropagation(v string) *TransitGatewayRequestOptions {
102565	s.DefaultRouteTablePropagation = &v
102566	return s
102567}
102568
102569// SetDnsSupport sets the DnsSupport field's value.
102570func (s *TransitGatewayRequestOptions) SetDnsSupport(v string) *TransitGatewayRequestOptions {
102571	s.DnsSupport = &v
102572	return s
102573}
102574
102575// SetMulticastSupport sets the MulticastSupport field's value.
102576func (s *TransitGatewayRequestOptions) SetMulticastSupport(v string) *TransitGatewayRequestOptions {
102577	s.MulticastSupport = &v
102578	return s
102579}
102580
102581// SetVpnEcmpSupport sets the VpnEcmpSupport field's value.
102582func (s *TransitGatewayRequestOptions) SetVpnEcmpSupport(v string) *TransitGatewayRequestOptions {
102583	s.VpnEcmpSupport = &v
102584	return s
102585}
102586
102587// Describes a route for a transit gateway route table.
102588type TransitGatewayRoute struct {
102589	_ struct{} `type:"structure"`
102590
102591	// The CIDR block used for destination matches.
102592	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
102593
102594	// The state of the route.
102595	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteState"`
102596
102597	// The attachments.
102598	TransitGatewayAttachments []*TransitGatewayRouteAttachment `locationName:"transitGatewayAttachments" locationNameList:"item" type:"list"`
102599
102600	// The route type.
102601	Type *string `locationName:"type" type:"string" enum:"TransitGatewayRouteType"`
102602}
102603
102604// String returns the string representation
102605func (s TransitGatewayRoute) String() string {
102606	return awsutil.Prettify(s)
102607}
102608
102609// GoString returns the string representation
102610func (s TransitGatewayRoute) GoString() string {
102611	return s.String()
102612}
102613
102614// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
102615func (s *TransitGatewayRoute) SetDestinationCidrBlock(v string) *TransitGatewayRoute {
102616	s.DestinationCidrBlock = &v
102617	return s
102618}
102619
102620// SetState sets the State field's value.
102621func (s *TransitGatewayRoute) SetState(v string) *TransitGatewayRoute {
102622	s.State = &v
102623	return s
102624}
102625
102626// SetTransitGatewayAttachments sets the TransitGatewayAttachments field's value.
102627func (s *TransitGatewayRoute) SetTransitGatewayAttachments(v []*TransitGatewayRouteAttachment) *TransitGatewayRoute {
102628	s.TransitGatewayAttachments = v
102629	return s
102630}
102631
102632// SetType sets the Type field's value.
102633func (s *TransitGatewayRoute) SetType(v string) *TransitGatewayRoute {
102634	s.Type = &v
102635	return s
102636}
102637
102638// Describes a route attachment.
102639type TransitGatewayRouteAttachment struct {
102640	_ struct{} `type:"structure"`
102641
102642	// The ID of the resource.
102643	ResourceId *string `locationName:"resourceId" type:"string"`
102644
102645	// The resource type.
102646	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
102647
102648	// The ID of the attachment.
102649	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
102650}
102651
102652// String returns the string representation
102653func (s TransitGatewayRouteAttachment) String() string {
102654	return awsutil.Prettify(s)
102655}
102656
102657// GoString returns the string representation
102658func (s TransitGatewayRouteAttachment) GoString() string {
102659	return s.String()
102660}
102661
102662// SetResourceId sets the ResourceId field's value.
102663func (s *TransitGatewayRouteAttachment) SetResourceId(v string) *TransitGatewayRouteAttachment {
102664	s.ResourceId = &v
102665	return s
102666}
102667
102668// SetResourceType sets the ResourceType field's value.
102669func (s *TransitGatewayRouteAttachment) SetResourceType(v string) *TransitGatewayRouteAttachment {
102670	s.ResourceType = &v
102671	return s
102672}
102673
102674// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
102675func (s *TransitGatewayRouteAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteAttachment {
102676	s.TransitGatewayAttachmentId = &v
102677	return s
102678}
102679
102680// Describes a transit gateway route table.
102681type TransitGatewayRouteTable struct {
102682	_ struct{} `type:"structure"`
102683
102684	// The creation time.
102685	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
102686
102687	// Indicates whether this is the default association route table for the transit
102688	// gateway.
102689	DefaultAssociationRouteTable *bool `locationName:"defaultAssociationRouteTable" type:"boolean"`
102690
102691	// Indicates whether this is the default propagation route table for the transit
102692	// gateway.
102693	DefaultPropagationRouteTable *bool `locationName:"defaultPropagationRouteTable" type:"boolean"`
102694
102695	// The state of the transit gateway route table.
102696	State *string `locationName:"state" type:"string" enum:"TransitGatewayRouteTableState"`
102697
102698	// Any tags assigned to the route table.
102699	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
102700
102701	// The ID of the transit gateway.
102702	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
102703
102704	// The ID of the transit gateway route table.
102705	TransitGatewayRouteTableId *string `locationName:"transitGatewayRouteTableId" type:"string"`
102706}
102707
102708// String returns the string representation
102709func (s TransitGatewayRouteTable) String() string {
102710	return awsutil.Prettify(s)
102711}
102712
102713// GoString returns the string representation
102714func (s TransitGatewayRouteTable) GoString() string {
102715	return s.String()
102716}
102717
102718// SetCreationTime sets the CreationTime field's value.
102719func (s *TransitGatewayRouteTable) SetCreationTime(v time.Time) *TransitGatewayRouteTable {
102720	s.CreationTime = &v
102721	return s
102722}
102723
102724// SetDefaultAssociationRouteTable sets the DefaultAssociationRouteTable field's value.
102725func (s *TransitGatewayRouteTable) SetDefaultAssociationRouteTable(v bool) *TransitGatewayRouteTable {
102726	s.DefaultAssociationRouteTable = &v
102727	return s
102728}
102729
102730// SetDefaultPropagationRouteTable sets the DefaultPropagationRouteTable field's value.
102731func (s *TransitGatewayRouteTable) SetDefaultPropagationRouteTable(v bool) *TransitGatewayRouteTable {
102732	s.DefaultPropagationRouteTable = &v
102733	return s
102734}
102735
102736// SetState sets the State field's value.
102737func (s *TransitGatewayRouteTable) SetState(v string) *TransitGatewayRouteTable {
102738	s.State = &v
102739	return s
102740}
102741
102742// SetTags sets the Tags field's value.
102743func (s *TransitGatewayRouteTable) SetTags(v []*Tag) *TransitGatewayRouteTable {
102744	s.Tags = v
102745	return s
102746}
102747
102748// SetTransitGatewayId sets the TransitGatewayId field's value.
102749func (s *TransitGatewayRouteTable) SetTransitGatewayId(v string) *TransitGatewayRouteTable {
102750	s.TransitGatewayId = &v
102751	return s
102752}
102753
102754// SetTransitGatewayRouteTableId sets the TransitGatewayRouteTableId field's value.
102755func (s *TransitGatewayRouteTable) SetTransitGatewayRouteTableId(v string) *TransitGatewayRouteTable {
102756	s.TransitGatewayRouteTableId = &v
102757	return s
102758}
102759
102760// Describes an association between a route table and a resource attachment.
102761type TransitGatewayRouteTableAssociation struct {
102762	_ struct{} `type:"structure"`
102763
102764	// The ID of the resource.
102765	ResourceId *string `locationName:"resourceId" type:"string"`
102766
102767	// The resource type.
102768	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
102769
102770	// The state of the association.
102771	State *string `locationName:"state" type:"string" enum:"TransitGatewayAssociationState"`
102772
102773	// The ID of the attachment.
102774	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
102775}
102776
102777// String returns the string representation
102778func (s TransitGatewayRouteTableAssociation) String() string {
102779	return awsutil.Prettify(s)
102780}
102781
102782// GoString returns the string representation
102783func (s TransitGatewayRouteTableAssociation) GoString() string {
102784	return s.String()
102785}
102786
102787// SetResourceId sets the ResourceId field's value.
102788func (s *TransitGatewayRouteTableAssociation) SetResourceId(v string) *TransitGatewayRouteTableAssociation {
102789	s.ResourceId = &v
102790	return s
102791}
102792
102793// SetResourceType sets the ResourceType field's value.
102794func (s *TransitGatewayRouteTableAssociation) SetResourceType(v string) *TransitGatewayRouteTableAssociation {
102795	s.ResourceType = &v
102796	return s
102797}
102798
102799// SetState sets the State field's value.
102800func (s *TransitGatewayRouteTableAssociation) SetState(v string) *TransitGatewayRouteTableAssociation {
102801	s.State = &v
102802	return s
102803}
102804
102805// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
102806func (s *TransitGatewayRouteTableAssociation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTableAssociation {
102807	s.TransitGatewayAttachmentId = &v
102808	return s
102809}
102810
102811// Describes a route table propagation.
102812type TransitGatewayRouteTablePropagation struct {
102813	_ struct{} `type:"structure"`
102814
102815	// The ID of the resource.
102816	ResourceId *string `locationName:"resourceId" type:"string"`
102817
102818	// The type of resource.
102819	ResourceType *string `locationName:"resourceType" type:"string" enum:"TransitGatewayAttachmentResourceType"`
102820
102821	// The state of the resource.
102822	State *string `locationName:"state" type:"string" enum:"TransitGatewayPropagationState"`
102823
102824	// The ID of the attachment.
102825	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
102826}
102827
102828// String returns the string representation
102829func (s TransitGatewayRouteTablePropagation) String() string {
102830	return awsutil.Prettify(s)
102831}
102832
102833// GoString returns the string representation
102834func (s TransitGatewayRouteTablePropagation) GoString() string {
102835	return s.String()
102836}
102837
102838// SetResourceId sets the ResourceId field's value.
102839func (s *TransitGatewayRouteTablePropagation) SetResourceId(v string) *TransitGatewayRouteTablePropagation {
102840	s.ResourceId = &v
102841	return s
102842}
102843
102844// SetResourceType sets the ResourceType field's value.
102845func (s *TransitGatewayRouteTablePropagation) SetResourceType(v string) *TransitGatewayRouteTablePropagation {
102846	s.ResourceType = &v
102847	return s
102848}
102849
102850// SetState sets the State field's value.
102851func (s *TransitGatewayRouteTablePropagation) SetState(v string) *TransitGatewayRouteTablePropagation {
102852	s.State = &v
102853	return s
102854}
102855
102856// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
102857func (s *TransitGatewayRouteTablePropagation) SetTransitGatewayAttachmentId(v string) *TransitGatewayRouteTablePropagation {
102858	s.TransitGatewayAttachmentId = &v
102859	return s
102860}
102861
102862// Describes a VPC attachment.
102863type TransitGatewayVpcAttachment struct {
102864	_ struct{} `type:"structure"`
102865
102866	// The creation time.
102867	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
102868
102869	// The VPC attachment options.
102870	Options *TransitGatewayVpcAttachmentOptions `locationName:"options" type:"structure"`
102871
102872	// The state of the VPC attachment.
102873	State *string `locationName:"state" type:"string" enum:"TransitGatewayAttachmentState"`
102874
102875	// The IDs of the subnets.
102876	SubnetIds []*string `locationName:"subnetIds" locationNameList:"item" type:"list"`
102877
102878	// The tags for the VPC attachment.
102879	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
102880
102881	// The ID of the attachment.
102882	TransitGatewayAttachmentId *string `locationName:"transitGatewayAttachmentId" type:"string"`
102883
102884	// The ID of the transit gateway.
102885	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
102886
102887	// The ID of the VPC.
102888	VpcId *string `locationName:"vpcId" type:"string"`
102889
102890	// The ID of the AWS account that owns the VPC.
102891	VpcOwnerId *string `locationName:"vpcOwnerId" type:"string"`
102892}
102893
102894// String returns the string representation
102895func (s TransitGatewayVpcAttachment) String() string {
102896	return awsutil.Prettify(s)
102897}
102898
102899// GoString returns the string representation
102900func (s TransitGatewayVpcAttachment) GoString() string {
102901	return s.String()
102902}
102903
102904// SetCreationTime sets the CreationTime field's value.
102905func (s *TransitGatewayVpcAttachment) SetCreationTime(v time.Time) *TransitGatewayVpcAttachment {
102906	s.CreationTime = &v
102907	return s
102908}
102909
102910// SetOptions sets the Options field's value.
102911func (s *TransitGatewayVpcAttachment) SetOptions(v *TransitGatewayVpcAttachmentOptions) *TransitGatewayVpcAttachment {
102912	s.Options = v
102913	return s
102914}
102915
102916// SetState sets the State field's value.
102917func (s *TransitGatewayVpcAttachment) SetState(v string) *TransitGatewayVpcAttachment {
102918	s.State = &v
102919	return s
102920}
102921
102922// SetSubnetIds sets the SubnetIds field's value.
102923func (s *TransitGatewayVpcAttachment) SetSubnetIds(v []*string) *TransitGatewayVpcAttachment {
102924	s.SubnetIds = v
102925	return s
102926}
102927
102928// SetTags sets the Tags field's value.
102929func (s *TransitGatewayVpcAttachment) SetTags(v []*Tag) *TransitGatewayVpcAttachment {
102930	s.Tags = v
102931	return s
102932}
102933
102934// SetTransitGatewayAttachmentId sets the TransitGatewayAttachmentId field's value.
102935func (s *TransitGatewayVpcAttachment) SetTransitGatewayAttachmentId(v string) *TransitGatewayVpcAttachment {
102936	s.TransitGatewayAttachmentId = &v
102937	return s
102938}
102939
102940// SetTransitGatewayId sets the TransitGatewayId field's value.
102941func (s *TransitGatewayVpcAttachment) SetTransitGatewayId(v string) *TransitGatewayVpcAttachment {
102942	s.TransitGatewayId = &v
102943	return s
102944}
102945
102946// SetVpcId sets the VpcId field's value.
102947func (s *TransitGatewayVpcAttachment) SetVpcId(v string) *TransitGatewayVpcAttachment {
102948	s.VpcId = &v
102949	return s
102950}
102951
102952// SetVpcOwnerId sets the VpcOwnerId field's value.
102953func (s *TransitGatewayVpcAttachment) SetVpcOwnerId(v string) *TransitGatewayVpcAttachment {
102954	s.VpcOwnerId = &v
102955	return s
102956}
102957
102958// Describes the VPC attachment options.
102959type TransitGatewayVpcAttachmentOptions struct {
102960	_ struct{} `type:"structure"`
102961
102962	// Indicates whether DNS support is enabled.
102963	DnsSupport *string `locationName:"dnsSupport" type:"string" enum:"DnsSupportValue"`
102964
102965	// Indicates whether IPv6 support is enabled.
102966	Ipv6Support *string `locationName:"ipv6Support" type:"string" enum:"Ipv6SupportValue"`
102967}
102968
102969// String returns the string representation
102970func (s TransitGatewayVpcAttachmentOptions) String() string {
102971	return awsutil.Prettify(s)
102972}
102973
102974// GoString returns the string representation
102975func (s TransitGatewayVpcAttachmentOptions) GoString() string {
102976	return s.String()
102977}
102978
102979// SetDnsSupport sets the DnsSupport field's value.
102980func (s *TransitGatewayVpcAttachmentOptions) SetDnsSupport(v string) *TransitGatewayVpcAttachmentOptions {
102981	s.DnsSupport = &v
102982	return s
102983}
102984
102985// SetIpv6Support sets the Ipv6Support field's value.
102986func (s *TransitGatewayVpcAttachmentOptions) SetIpv6Support(v string) *TransitGatewayVpcAttachmentOptions {
102987	s.Ipv6Support = &v
102988	return s
102989}
102990
102991// The VPN tunnel options.
102992type TunnelOption struct {
102993	_ struct{} `type:"structure"`
102994
102995	// The number of seconds after which a DPD timeout occurs.
102996	DpdTimeoutSeconds *int64 `locationName:"dpdTimeoutSeconds" type:"integer"`
102997
102998	// The IKE versions that are permitted for the VPN tunnel.
102999	IkeVersions []*IKEVersionsListValue `locationName:"ikeVersionSet" locationNameList:"item" type:"list"`
103000
103001	// The external IP address of the VPN tunnel.
103002	OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
103003
103004	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1
103005	// IKE negotiations.
103006	Phase1DHGroupNumbers []*Phase1DHGroupNumbersListValue `locationName:"phase1DHGroupNumberSet" locationNameList:"item" type:"list"`
103007
103008	// The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
103009	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsListValue `locationName:"phase1EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
103010
103011	// The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.
103012	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsListValue `locationName:"phase1IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
103013
103014	// The lifetime for phase 1 of the IKE negotiation, in seconds.
103015	Phase1LifetimeSeconds *int64 `locationName:"phase1LifetimeSeconds" type:"integer"`
103016
103017	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2
103018	// IKE negotiations.
103019	Phase2DHGroupNumbers []*Phase2DHGroupNumbersListValue `locationName:"phase2DHGroupNumberSet" locationNameList:"item" type:"list"`
103020
103021	// The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.
103022	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsListValue `locationName:"phase2EncryptionAlgorithmSet" locationNameList:"item" type:"list"`
103023
103024	// The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.
103025	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsListValue `locationName:"phase2IntegrityAlgorithmSet" locationNameList:"item" type:"list"`
103026
103027	// The lifetime for phase 2 of the IKE negotiation, in seconds.
103028	Phase2LifetimeSeconds *int64 `locationName:"phase2LifetimeSeconds" type:"integer"`
103029
103030	// The pre-shared key (PSK) to establish initial authentication between the
103031	// virtual private gateway and the customer gateway.
103032	PreSharedKey *string `locationName:"preSharedKey" type:"string"`
103033
103034	// The percentage of the rekey window determined by RekeyMarginTimeSeconds during
103035	// which the rekey time is randomly selected.
103036	RekeyFuzzPercentage *int64 `locationName:"rekeyFuzzPercentage" type:"integer"`
103037
103038	// The margin time, in seconds, before the phase 2 lifetime expires, during
103039	// which the AWS side of the VPN connection performs an IKE rekey.
103040	RekeyMarginTimeSeconds *int64 `locationName:"rekeyMarginTimeSeconds" type:"integer"`
103041
103042	// The number of packets in an IKE replay window.
103043	ReplayWindowSize *int64 `locationName:"replayWindowSize" type:"integer"`
103044
103045	// The range of inside IP addresses for the tunnel.
103046	TunnelInsideCidr *string `locationName:"tunnelInsideCidr" type:"string"`
103047}
103048
103049// String returns the string representation
103050func (s TunnelOption) String() string {
103051	return awsutil.Prettify(s)
103052}
103053
103054// GoString returns the string representation
103055func (s TunnelOption) GoString() string {
103056	return s.String()
103057}
103058
103059// SetDpdTimeoutSeconds sets the DpdTimeoutSeconds field's value.
103060func (s *TunnelOption) SetDpdTimeoutSeconds(v int64) *TunnelOption {
103061	s.DpdTimeoutSeconds = &v
103062	return s
103063}
103064
103065// SetIkeVersions sets the IkeVersions field's value.
103066func (s *TunnelOption) SetIkeVersions(v []*IKEVersionsListValue) *TunnelOption {
103067	s.IkeVersions = v
103068	return s
103069}
103070
103071// SetOutsideIpAddress sets the OutsideIpAddress field's value.
103072func (s *TunnelOption) SetOutsideIpAddress(v string) *TunnelOption {
103073	s.OutsideIpAddress = &v
103074	return s
103075}
103076
103077// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
103078func (s *TunnelOption) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersListValue) *TunnelOption {
103079	s.Phase1DHGroupNumbers = v
103080	return s
103081}
103082
103083// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
103084func (s *TunnelOption) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsListValue) *TunnelOption {
103085	s.Phase1EncryptionAlgorithms = v
103086	return s
103087}
103088
103089// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
103090func (s *TunnelOption) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsListValue) *TunnelOption {
103091	s.Phase1IntegrityAlgorithms = v
103092	return s
103093}
103094
103095// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
103096func (s *TunnelOption) SetPhase1LifetimeSeconds(v int64) *TunnelOption {
103097	s.Phase1LifetimeSeconds = &v
103098	return s
103099}
103100
103101// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
103102func (s *TunnelOption) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersListValue) *TunnelOption {
103103	s.Phase2DHGroupNumbers = v
103104	return s
103105}
103106
103107// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
103108func (s *TunnelOption) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsListValue) *TunnelOption {
103109	s.Phase2EncryptionAlgorithms = v
103110	return s
103111}
103112
103113// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
103114func (s *TunnelOption) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsListValue) *TunnelOption {
103115	s.Phase2IntegrityAlgorithms = v
103116	return s
103117}
103118
103119// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
103120func (s *TunnelOption) SetPhase2LifetimeSeconds(v int64) *TunnelOption {
103121	s.Phase2LifetimeSeconds = &v
103122	return s
103123}
103124
103125// SetPreSharedKey sets the PreSharedKey field's value.
103126func (s *TunnelOption) SetPreSharedKey(v string) *TunnelOption {
103127	s.PreSharedKey = &v
103128	return s
103129}
103130
103131// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
103132func (s *TunnelOption) SetRekeyFuzzPercentage(v int64) *TunnelOption {
103133	s.RekeyFuzzPercentage = &v
103134	return s
103135}
103136
103137// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
103138func (s *TunnelOption) SetRekeyMarginTimeSeconds(v int64) *TunnelOption {
103139	s.RekeyMarginTimeSeconds = &v
103140	return s
103141}
103142
103143// SetReplayWindowSize sets the ReplayWindowSize field's value.
103144func (s *TunnelOption) SetReplayWindowSize(v int64) *TunnelOption {
103145	s.ReplayWindowSize = &v
103146	return s
103147}
103148
103149// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
103150func (s *TunnelOption) SetTunnelInsideCidr(v string) *TunnelOption {
103151	s.TunnelInsideCidr = &v
103152	return s
103153}
103154
103155type UnassignIpv6AddressesInput struct {
103156	_ struct{} `type:"structure"`
103157
103158	// The IPv6 addresses to unassign from the network interface.
103159	//
103160	// Ipv6Addresses is a required field
103161	Ipv6Addresses []*string `locationName:"ipv6Addresses" locationNameList:"item" type:"list" required:"true"`
103162
103163	// The ID of the network interface.
103164	//
103165	// NetworkInterfaceId is a required field
103166	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
103167}
103168
103169// String returns the string representation
103170func (s UnassignIpv6AddressesInput) String() string {
103171	return awsutil.Prettify(s)
103172}
103173
103174// GoString returns the string representation
103175func (s UnassignIpv6AddressesInput) GoString() string {
103176	return s.String()
103177}
103178
103179// Validate inspects the fields of the type to determine if they are valid.
103180func (s *UnassignIpv6AddressesInput) Validate() error {
103181	invalidParams := request.ErrInvalidParams{Context: "UnassignIpv6AddressesInput"}
103182	if s.Ipv6Addresses == nil {
103183		invalidParams.Add(request.NewErrParamRequired("Ipv6Addresses"))
103184	}
103185	if s.NetworkInterfaceId == nil {
103186		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
103187	}
103188
103189	if invalidParams.Len() > 0 {
103190		return invalidParams
103191	}
103192	return nil
103193}
103194
103195// SetIpv6Addresses sets the Ipv6Addresses field's value.
103196func (s *UnassignIpv6AddressesInput) SetIpv6Addresses(v []*string) *UnassignIpv6AddressesInput {
103197	s.Ipv6Addresses = v
103198	return s
103199}
103200
103201// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
103202func (s *UnassignIpv6AddressesInput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesInput {
103203	s.NetworkInterfaceId = &v
103204	return s
103205}
103206
103207type UnassignIpv6AddressesOutput struct {
103208	_ struct{} `type:"structure"`
103209
103210	// The ID of the network interface.
103211	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
103212
103213	// The IPv6 addresses that have been unassigned from the network interface.
103214	UnassignedIpv6Addresses []*string `locationName:"unassignedIpv6Addresses" locationNameList:"item" type:"list"`
103215}
103216
103217// String returns the string representation
103218func (s UnassignIpv6AddressesOutput) String() string {
103219	return awsutil.Prettify(s)
103220}
103221
103222// GoString returns the string representation
103223func (s UnassignIpv6AddressesOutput) GoString() string {
103224	return s.String()
103225}
103226
103227// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
103228func (s *UnassignIpv6AddressesOutput) SetNetworkInterfaceId(v string) *UnassignIpv6AddressesOutput {
103229	s.NetworkInterfaceId = &v
103230	return s
103231}
103232
103233// SetUnassignedIpv6Addresses sets the UnassignedIpv6Addresses field's value.
103234func (s *UnassignIpv6AddressesOutput) SetUnassignedIpv6Addresses(v []*string) *UnassignIpv6AddressesOutput {
103235	s.UnassignedIpv6Addresses = v
103236	return s
103237}
103238
103239// Contains the parameters for UnassignPrivateIpAddresses.
103240type UnassignPrivateIpAddressesInput struct {
103241	_ struct{} `type:"structure"`
103242
103243	// The ID of the network interface.
103244	//
103245	// NetworkInterfaceId is a required field
103246	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string" required:"true"`
103247
103248	// The secondary private IP addresses to unassign from the network interface.
103249	// You can specify this option multiple times to unassign more than one IP address.
103250	//
103251	// PrivateIpAddresses is a required field
103252	PrivateIpAddresses []*string `locationName:"privateIpAddress" locationNameList:"PrivateIpAddress" type:"list" required:"true"`
103253}
103254
103255// String returns the string representation
103256func (s UnassignPrivateIpAddressesInput) String() string {
103257	return awsutil.Prettify(s)
103258}
103259
103260// GoString returns the string representation
103261func (s UnassignPrivateIpAddressesInput) GoString() string {
103262	return s.String()
103263}
103264
103265// Validate inspects the fields of the type to determine if they are valid.
103266func (s *UnassignPrivateIpAddressesInput) Validate() error {
103267	invalidParams := request.ErrInvalidParams{Context: "UnassignPrivateIpAddressesInput"}
103268	if s.NetworkInterfaceId == nil {
103269		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
103270	}
103271	if s.PrivateIpAddresses == nil {
103272		invalidParams.Add(request.NewErrParamRequired("PrivateIpAddresses"))
103273	}
103274
103275	if invalidParams.Len() > 0 {
103276		return invalidParams
103277	}
103278	return nil
103279}
103280
103281// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
103282func (s *UnassignPrivateIpAddressesInput) SetNetworkInterfaceId(v string) *UnassignPrivateIpAddressesInput {
103283	s.NetworkInterfaceId = &v
103284	return s
103285}
103286
103287// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
103288func (s *UnassignPrivateIpAddressesInput) SetPrivateIpAddresses(v []*string) *UnassignPrivateIpAddressesInput {
103289	s.PrivateIpAddresses = v
103290	return s
103291}
103292
103293type UnassignPrivateIpAddressesOutput struct {
103294	_ struct{} `type:"structure"`
103295}
103296
103297// String returns the string representation
103298func (s UnassignPrivateIpAddressesOutput) String() string {
103299	return awsutil.Prettify(s)
103300}
103301
103302// GoString returns the string representation
103303func (s UnassignPrivateIpAddressesOutput) GoString() string {
103304	return s.String()
103305}
103306
103307type UnmonitorInstancesInput struct {
103308	_ struct{} `type:"structure"`
103309
103310	// Checks whether you have the required permissions for the action, without
103311	// actually making the request, and provides an error response. If you have
103312	// the required permissions, the error response is DryRunOperation. Otherwise,
103313	// it is UnauthorizedOperation.
103314	DryRun *bool `locationName:"dryRun" type:"boolean"`
103315
103316	// The IDs of the instances.
103317	//
103318	// InstanceIds is a required field
103319	InstanceIds []*string `locationName:"InstanceId" locationNameList:"InstanceId" type:"list" required:"true"`
103320}
103321
103322// String returns the string representation
103323func (s UnmonitorInstancesInput) String() string {
103324	return awsutil.Prettify(s)
103325}
103326
103327// GoString returns the string representation
103328func (s UnmonitorInstancesInput) GoString() string {
103329	return s.String()
103330}
103331
103332// Validate inspects the fields of the type to determine if they are valid.
103333func (s *UnmonitorInstancesInput) Validate() error {
103334	invalidParams := request.ErrInvalidParams{Context: "UnmonitorInstancesInput"}
103335	if s.InstanceIds == nil {
103336		invalidParams.Add(request.NewErrParamRequired("InstanceIds"))
103337	}
103338
103339	if invalidParams.Len() > 0 {
103340		return invalidParams
103341	}
103342	return nil
103343}
103344
103345// SetDryRun sets the DryRun field's value.
103346func (s *UnmonitorInstancesInput) SetDryRun(v bool) *UnmonitorInstancesInput {
103347	s.DryRun = &v
103348	return s
103349}
103350
103351// SetInstanceIds sets the InstanceIds field's value.
103352func (s *UnmonitorInstancesInput) SetInstanceIds(v []*string) *UnmonitorInstancesInput {
103353	s.InstanceIds = v
103354	return s
103355}
103356
103357type UnmonitorInstancesOutput struct {
103358	_ struct{} `type:"structure"`
103359
103360	// The monitoring information.
103361	InstanceMonitorings []*InstanceMonitoring `locationName:"instancesSet" locationNameList:"item" type:"list"`
103362}
103363
103364// String returns the string representation
103365func (s UnmonitorInstancesOutput) String() string {
103366	return awsutil.Prettify(s)
103367}
103368
103369// GoString returns the string representation
103370func (s UnmonitorInstancesOutput) GoString() string {
103371	return s.String()
103372}
103373
103374// SetInstanceMonitorings sets the InstanceMonitorings field's value.
103375func (s *UnmonitorInstancesOutput) SetInstanceMonitorings(v []*InstanceMonitoring) *UnmonitorInstancesOutput {
103376	s.InstanceMonitorings = v
103377	return s
103378}
103379
103380// Describes the burstable performance instance whose credit option for CPU
103381// usage was not modified.
103382type UnsuccessfulInstanceCreditSpecificationItem struct {
103383	_ struct{} `type:"structure"`
103384
103385	// The applicable error for the burstable performance instance whose credit
103386	// option for CPU usage was not modified.
103387	Error *UnsuccessfulInstanceCreditSpecificationItemError `locationName:"error" type:"structure"`
103388
103389	// The ID of the instance.
103390	InstanceId *string `locationName:"instanceId" type:"string"`
103391}
103392
103393// String returns the string representation
103394func (s UnsuccessfulInstanceCreditSpecificationItem) String() string {
103395	return awsutil.Prettify(s)
103396}
103397
103398// GoString returns the string representation
103399func (s UnsuccessfulInstanceCreditSpecificationItem) GoString() string {
103400	return s.String()
103401}
103402
103403// SetError sets the Error field's value.
103404func (s *UnsuccessfulInstanceCreditSpecificationItem) SetError(v *UnsuccessfulInstanceCreditSpecificationItemError) *UnsuccessfulInstanceCreditSpecificationItem {
103405	s.Error = v
103406	return s
103407}
103408
103409// SetInstanceId sets the InstanceId field's value.
103410func (s *UnsuccessfulInstanceCreditSpecificationItem) SetInstanceId(v string) *UnsuccessfulInstanceCreditSpecificationItem {
103411	s.InstanceId = &v
103412	return s
103413}
103414
103415// Information about the error for the burstable performance instance whose
103416// credit option for CPU usage was not modified.
103417type UnsuccessfulInstanceCreditSpecificationItemError struct {
103418	_ struct{} `type:"structure"`
103419
103420	// The error code.
103421	Code *string `locationName:"code" type:"string" enum:"UnsuccessfulInstanceCreditSpecificationErrorCode"`
103422
103423	// The applicable error message.
103424	Message *string `locationName:"message" type:"string"`
103425}
103426
103427// String returns the string representation
103428func (s UnsuccessfulInstanceCreditSpecificationItemError) String() string {
103429	return awsutil.Prettify(s)
103430}
103431
103432// GoString returns the string representation
103433func (s UnsuccessfulInstanceCreditSpecificationItemError) GoString() string {
103434	return s.String()
103435}
103436
103437// SetCode sets the Code field's value.
103438func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetCode(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
103439	s.Code = &v
103440	return s
103441}
103442
103443// SetMessage sets the Message field's value.
103444func (s *UnsuccessfulInstanceCreditSpecificationItemError) SetMessage(v string) *UnsuccessfulInstanceCreditSpecificationItemError {
103445	s.Message = &v
103446	return s
103447}
103448
103449// Information about items that were not successfully processed in a batch call.
103450type UnsuccessfulItem struct {
103451	_ struct{} `type:"structure"`
103452
103453	// Information about the error.
103454	Error *UnsuccessfulItemError `locationName:"error" type:"structure"`
103455
103456	// The ID of the resource.
103457	ResourceId *string `locationName:"resourceId" type:"string"`
103458}
103459
103460// String returns the string representation
103461func (s UnsuccessfulItem) String() string {
103462	return awsutil.Prettify(s)
103463}
103464
103465// GoString returns the string representation
103466func (s UnsuccessfulItem) GoString() string {
103467	return s.String()
103468}
103469
103470// SetError sets the Error field's value.
103471func (s *UnsuccessfulItem) SetError(v *UnsuccessfulItemError) *UnsuccessfulItem {
103472	s.Error = v
103473	return s
103474}
103475
103476// SetResourceId sets the ResourceId field's value.
103477func (s *UnsuccessfulItem) SetResourceId(v string) *UnsuccessfulItem {
103478	s.ResourceId = &v
103479	return s
103480}
103481
103482// Information about the error that occurred. For more information about errors,
103483// see Error Codes (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html).
103484type UnsuccessfulItemError struct {
103485	_ struct{} `type:"structure"`
103486
103487	// The error code.
103488	Code *string `locationName:"code" type:"string"`
103489
103490	// The error message accompanying the error code.
103491	Message *string `locationName:"message" type:"string"`
103492}
103493
103494// String returns the string representation
103495func (s UnsuccessfulItemError) String() string {
103496	return awsutil.Prettify(s)
103497}
103498
103499// GoString returns the string representation
103500func (s UnsuccessfulItemError) GoString() string {
103501	return s.String()
103502}
103503
103504// SetCode sets the Code field's value.
103505func (s *UnsuccessfulItemError) SetCode(v string) *UnsuccessfulItemError {
103506	s.Code = &v
103507	return s
103508}
103509
103510// SetMessage sets the Message field's value.
103511func (s *UnsuccessfulItemError) SetMessage(v string) *UnsuccessfulItemError {
103512	s.Message = &v
103513	return s
103514}
103515
103516type UpdateSecurityGroupRuleDescriptionsEgressInput struct {
103517	_ struct{} `type:"structure"`
103518
103519	// Checks whether you have the required permissions for the action, without
103520	// actually making the request, and provides an error response. If you have
103521	// the required permissions, the error response is DryRunOperation. Otherwise,
103522	// it is UnauthorizedOperation.
103523	DryRun *bool `type:"boolean"`
103524
103525	// The ID of the security group. You must specify either the security group
103526	// ID or the security group name in the request. For security groups in a nondefault
103527	// VPC, you must specify the security group ID.
103528	GroupId *string `type:"string"`
103529
103530	// [Default VPC] The name of the security group. You must specify either the
103531	// security group ID or the security group name in the request.
103532	GroupName *string `type:"string"`
103533
103534	// The IP permissions for the security group rule.
103535	//
103536	// IpPermissions is a required field
103537	IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
103538}
103539
103540// String returns the string representation
103541func (s UpdateSecurityGroupRuleDescriptionsEgressInput) String() string {
103542	return awsutil.Prettify(s)
103543}
103544
103545// GoString returns the string representation
103546func (s UpdateSecurityGroupRuleDescriptionsEgressInput) GoString() string {
103547	return s.String()
103548}
103549
103550// Validate inspects the fields of the type to determine if they are valid.
103551func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) Validate() error {
103552	invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsEgressInput"}
103553	if s.IpPermissions == nil {
103554		invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
103555	}
103556
103557	if invalidParams.Len() > 0 {
103558		return invalidParams
103559	}
103560	return nil
103561}
103562
103563// SetDryRun sets the DryRun field's value.
103564func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsEgressInput {
103565	s.DryRun = &v
103566	return s
103567}
103568
103569// SetGroupId sets the GroupId field's value.
103570func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
103571	s.GroupId = &v
103572	return s
103573}
103574
103575// SetGroupName sets the GroupName field's value.
103576func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsEgressInput {
103577	s.GroupName = &v
103578	return s
103579}
103580
103581// SetIpPermissions sets the IpPermissions field's value.
103582func (s *UpdateSecurityGroupRuleDescriptionsEgressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsEgressInput {
103583	s.IpPermissions = v
103584	return s
103585}
103586
103587type UpdateSecurityGroupRuleDescriptionsEgressOutput struct {
103588	_ struct{} `type:"structure"`
103589
103590	// Returns true if the request succeeds; otherwise, returns an error.
103591	Return *bool `locationName:"return" type:"boolean"`
103592}
103593
103594// String returns the string representation
103595func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) String() string {
103596	return awsutil.Prettify(s)
103597}
103598
103599// GoString returns the string representation
103600func (s UpdateSecurityGroupRuleDescriptionsEgressOutput) GoString() string {
103601	return s.String()
103602}
103603
103604// SetReturn sets the Return field's value.
103605func (s *UpdateSecurityGroupRuleDescriptionsEgressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsEgressOutput {
103606	s.Return = &v
103607	return s
103608}
103609
103610type UpdateSecurityGroupRuleDescriptionsIngressInput struct {
103611	_ struct{} `type:"structure"`
103612
103613	// Checks whether you have the required permissions for the action, without
103614	// actually making the request, and provides an error response. If you have
103615	// the required permissions, the error response is DryRunOperation. Otherwise,
103616	// it is UnauthorizedOperation.
103617	DryRun *bool `type:"boolean"`
103618
103619	// The ID of the security group. You must specify either the security group
103620	// ID or the security group name in the request. For security groups in a nondefault
103621	// VPC, you must specify the security group ID.
103622	GroupId *string `type:"string"`
103623
103624	// [EC2-Classic, default VPC] The name of the security group. You must specify
103625	// either the security group ID or the security group name in the request.
103626	GroupName *string `type:"string"`
103627
103628	// The IP permissions for the security group rule.
103629	//
103630	// IpPermissions is a required field
103631	IpPermissions []*IpPermission `locationNameList:"item" type:"list" required:"true"`
103632}
103633
103634// String returns the string representation
103635func (s UpdateSecurityGroupRuleDescriptionsIngressInput) String() string {
103636	return awsutil.Prettify(s)
103637}
103638
103639// GoString returns the string representation
103640func (s UpdateSecurityGroupRuleDescriptionsIngressInput) GoString() string {
103641	return s.String()
103642}
103643
103644// Validate inspects the fields of the type to determine if they are valid.
103645func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) Validate() error {
103646	invalidParams := request.ErrInvalidParams{Context: "UpdateSecurityGroupRuleDescriptionsIngressInput"}
103647	if s.IpPermissions == nil {
103648		invalidParams.Add(request.NewErrParamRequired("IpPermissions"))
103649	}
103650
103651	if invalidParams.Len() > 0 {
103652		return invalidParams
103653	}
103654	return nil
103655}
103656
103657// SetDryRun sets the DryRun field's value.
103658func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetDryRun(v bool) *UpdateSecurityGroupRuleDescriptionsIngressInput {
103659	s.DryRun = &v
103660	return s
103661}
103662
103663// SetGroupId sets the GroupId field's value.
103664func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupId(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
103665	s.GroupId = &v
103666	return s
103667}
103668
103669// SetGroupName sets the GroupName field's value.
103670func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetGroupName(v string) *UpdateSecurityGroupRuleDescriptionsIngressInput {
103671	s.GroupName = &v
103672	return s
103673}
103674
103675// SetIpPermissions sets the IpPermissions field's value.
103676func (s *UpdateSecurityGroupRuleDescriptionsIngressInput) SetIpPermissions(v []*IpPermission) *UpdateSecurityGroupRuleDescriptionsIngressInput {
103677	s.IpPermissions = v
103678	return s
103679}
103680
103681type UpdateSecurityGroupRuleDescriptionsIngressOutput struct {
103682	_ struct{} `type:"structure"`
103683
103684	// Returns true if the request succeeds; otherwise, returns an error.
103685	Return *bool `locationName:"return" type:"boolean"`
103686}
103687
103688// String returns the string representation
103689func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) String() string {
103690	return awsutil.Prettify(s)
103691}
103692
103693// GoString returns the string representation
103694func (s UpdateSecurityGroupRuleDescriptionsIngressOutput) GoString() string {
103695	return s.String()
103696}
103697
103698// SetReturn sets the Return field's value.
103699func (s *UpdateSecurityGroupRuleDescriptionsIngressOutput) SetReturn(v bool) *UpdateSecurityGroupRuleDescriptionsIngressOutput {
103700	s.Return = &v
103701	return s
103702}
103703
103704// Describes the S3 bucket for the disk image.
103705type UserBucket struct {
103706	_ struct{} `type:"structure"`
103707
103708	// The name of the S3 bucket where the disk image is located.
103709	S3Bucket *string `type:"string"`
103710
103711	// The file name of the disk image.
103712	S3Key *string `type:"string"`
103713}
103714
103715// String returns the string representation
103716func (s UserBucket) String() string {
103717	return awsutil.Prettify(s)
103718}
103719
103720// GoString returns the string representation
103721func (s UserBucket) GoString() string {
103722	return s.String()
103723}
103724
103725// SetS3Bucket sets the S3Bucket field's value.
103726func (s *UserBucket) SetS3Bucket(v string) *UserBucket {
103727	s.S3Bucket = &v
103728	return s
103729}
103730
103731// SetS3Key sets the S3Key field's value.
103732func (s *UserBucket) SetS3Key(v string) *UserBucket {
103733	s.S3Key = &v
103734	return s
103735}
103736
103737// Describes the S3 bucket for the disk image.
103738type UserBucketDetails struct {
103739	_ struct{} `type:"structure"`
103740
103741	// The S3 bucket from which the disk image was created.
103742	S3Bucket *string `locationName:"s3Bucket" type:"string"`
103743
103744	// The file name of the disk image.
103745	S3Key *string `locationName:"s3Key" type:"string"`
103746}
103747
103748// String returns the string representation
103749func (s UserBucketDetails) String() string {
103750	return awsutil.Prettify(s)
103751}
103752
103753// GoString returns the string representation
103754func (s UserBucketDetails) GoString() string {
103755	return s.String()
103756}
103757
103758// SetS3Bucket sets the S3Bucket field's value.
103759func (s *UserBucketDetails) SetS3Bucket(v string) *UserBucketDetails {
103760	s.S3Bucket = &v
103761	return s
103762}
103763
103764// SetS3Key sets the S3Key field's value.
103765func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails {
103766	s.S3Key = &v
103767	return s
103768}
103769
103770// Describes the user data for an instance.
103771type UserData struct {
103772	_ struct{} `type:"structure" sensitive:"true"`
103773
103774	// The user data. If you are using an AWS SDK or command line tool, Base64-encoding
103775	// is performed for you, and you can load the text from a file. Otherwise, you
103776	// must provide Base64-encoded text.
103777	Data *string `locationName:"data" type:"string"`
103778}
103779
103780// String returns the string representation
103781func (s UserData) String() string {
103782	return awsutil.Prettify(s)
103783}
103784
103785// GoString returns the string representation
103786func (s UserData) GoString() string {
103787	return s.String()
103788}
103789
103790// SetData sets the Data field's value.
103791func (s *UserData) SetData(v string) *UserData {
103792	s.Data = &v
103793	return s
103794}
103795
103796// Describes a security group and AWS account ID pair.
103797type UserIdGroupPair struct {
103798	_ struct{} `type:"structure"`
103799
103800	// A description for the security group rule that references this user ID group
103801	// pair.
103802	//
103803	// Constraints: Up to 255 characters in length. Allowed characters are a-z,
103804	// A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*
103805	Description *string `locationName:"description" type:"string"`
103806
103807	// The ID of the security group.
103808	GroupId *string `locationName:"groupId" type:"string"`
103809
103810	// The name of the security group. In a request, use this parameter for a security
103811	// group in EC2-Classic or a default VPC only. For a security group in a nondefault
103812	// VPC, use the security group ID.
103813	//
103814	// For a referenced security group in another VPC, this value is not returned
103815	// if the referenced security group is deleted.
103816	GroupName *string `locationName:"groupName" type:"string"`
103817
103818	// The status of a VPC peering connection, if applicable.
103819	PeeringStatus *string `locationName:"peeringStatus" type:"string"`
103820
103821	// The ID of an AWS account.
103822	//
103823	// For a referenced security group in another VPC, the account ID of the referenced
103824	// security group is returned in the response. If the referenced security group
103825	// is deleted, this value is not returned.
103826	//
103827	// [EC2-Classic] Required when adding or removing rules that reference a security
103828	// group in another AWS account.
103829	UserId *string `locationName:"userId" type:"string"`
103830
103831	// The ID of the VPC for the referenced security group, if applicable.
103832	VpcId *string `locationName:"vpcId" type:"string"`
103833
103834	// The ID of the VPC peering connection, if applicable.
103835	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
103836}
103837
103838// String returns the string representation
103839func (s UserIdGroupPair) String() string {
103840	return awsutil.Prettify(s)
103841}
103842
103843// GoString returns the string representation
103844func (s UserIdGroupPair) GoString() string {
103845	return s.String()
103846}
103847
103848// SetDescription sets the Description field's value.
103849func (s *UserIdGroupPair) SetDescription(v string) *UserIdGroupPair {
103850	s.Description = &v
103851	return s
103852}
103853
103854// SetGroupId sets the GroupId field's value.
103855func (s *UserIdGroupPair) SetGroupId(v string) *UserIdGroupPair {
103856	s.GroupId = &v
103857	return s
103858}
103859
103860// SetGroupName sets the GroupName field's value.
103861func (s *UserIdGroupPair) SetGroupName(v string) *UserIdGroupPair {
103862	s.GroupName = &v
103863	return s
103864}
103865
103866// SetPeeringStatus sets the PeeringStatus field's value.
103867func (s *UserIdGroupPair) SetPeeringStatus(v string) *UserIdGroupPair {
103868	s.PeeringStatus = &v
103869	return s
103870}
103871
103872// SetUserId sets the UserId field's value.
103873func (s *UserIdGroupPair) SetUserId(v string) *UserIdGroupPair {
103874	s.UserId = &v
103875	return s
103876}
103877
103878// SetVpcId sets the VpcId field's value.
103879func (s *UserIdGroupPair) SetVpcId(v string) *UserIdGroupPair {
103880	s.VpcId = &v
103881	return s
103882}
103883
103884// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
103885func (s *UserIdGroupPair) SetVpcPeeringConnectionId(v string) *UserIdGroupPair {
103886	s.VpcPeeringConnectionId = &v
103887	return s
103888}
103889
103890// Describes the vCPU configurations for the instance type.
103891type VCpuInfo struct {
103892	_ struct{} `type:"structure"`
103893
103894	// The default number of cores for the instance type.
103895	DefaultCores *int64 `locationName:"defaultCores" type:"integer"`
103896
103897	// The default number of threads per core for the instance type.
103898	DefaultThreadsPerCore *int64 `locationName:"defaultThreadsPerCore" type:"integer"`
103899
103900	// The default number of vCPUs for the instance type.
103901	DefaultVCpus *int64 `locationName:"defaultVCpus" type:"integer"`
103902
103903	// List of the valid number of cores that can be configured for the instance
103904	// type.
103905	ValidCores []*int64 `locationName:"validCores" locationNameList:"item" type:"list"`
103906
103907	// List of the valid number of threads per core that can be configured for the
103908	// instance type.
103909	ValidThreadsPerCore []*int64 `locationName:"validThreadsPerCore" locationNameList:"item" type:"list"`
103910}
103911
103912// String returns the string representation
103913func (s VCpuInfo) String() string {
103914	return awsutil.Prettify(s)
103915}
103916
103917// GoString returns the string representation
103918func (s VCpuInfo) GoString() string {
103919	return s.String()
103920}
103921
103922// SetDefaultCores sets the DefaultCores field's value.
103923func (s *VCpuInfo) SetDefaultCores(v int64) *VCpuInfo {
103924	s.DefaultCores = &v
103925	return s
103926}
103927
103928// SetDefaultThreadsPerCore sets the DefaultThreadsPerCore field's value.
103929func (s *VCpuInfo) SetDefaultThreadsPerCore(v int64) *VCpuInfo {
103930	s.DefaultThreadsPerCore = &v
103931	return s
103932}
103933
103934// SetDefaultVCpus sets the DefaultVCpus field's value.
103935func (s *VCpuInfo) SetDefaultVCpus(v int64) *VCpuInfo {
103936	s.DefaultVCpus = &v
103937	return s
103938}
103939
103940// SetValidCores sets the ValidCores field's value.
103941func (s *VCpuInfo) SetValidCores(v []*int64) *VCpuInfo {
103942	s.ValidCores = v
103943	return s
103944}
103945
103946// SetValidThreadsPerCore sets the ValidThreadsPerCore field's value.
103947func (s *VCpuInfo) SetValidThreadsPerCore(v []*int64) *VCpuInfo {
103948	s.ValidThreadsPerCore = v
103949	return s
103950}
103951
103952// Describes telemetry for a VPN tunnel.
103953type VgwTelemetry struct {
103954	_ struct{} `type:"structure"`
103955
103956	// The number of accepted routes.
103957	AcceptedRouteCount *int64 `locationName:"acceptedRouteCount" type:"integer"`
103958
103959	// The Amazon Resource Name (ARN) of the VPN tunnel endpoint certificate.
103960	CertificateArn *string `locationName:"certificateArn" type:"string"`
103961
103962	// The date and time of the last change in status.
103963	LastStatusChange *time.Time `locationName:"lastStatusChange" type:"timestamp"`
103964
103965	// The Internet-routable IP address of the virtual private gateway's outside
103966	// interface.
103967	OutsideIpAddress *string `locationName:"outsideIpAddress" type:"string"`
103968
103969	// The status of the VPN tunnel.
103970	Status *string `locationName:"status" type:"string" enum:"TelemetryStatus"`
103971
103972	// If an error occurs, a description of the error.
103973	StatusMessage *string `locationName:"statusMessage" type:"string"`
103974}
103975
103976// String returns the string representation
103977func (s VgwTelemetry) String() string {
103978	return awsutil.Prettify(s)
103979}
103980
103981// GoString returns the string representation
103982func (s VgwTelemetry) GoString() string {
103983	return s.String()
103984}
103985
103986// SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
103987func (s *VgwTelemetry) SetAcceptedRouteCount(v int64) *VgwTelemetry {
103988	s.AcceptedRouteCount = &v
103989	return s
103990}
103991
103992// SetCertificateArn sets the CertificateArn field's value.
103993func (s *VgwTelemetry) SetCertificateArn(v string) *VgwTelemetry {
103994	s.CertificateArn = &v
103995	return s
103996}
103997
103998// SetLastStatusChange sets the LastStatusChange field's value.
103999func (s *VgwTelemetry) SetLastStatusChange(v time.Time) *VgwTelemetry {
104000	s.LastStatusChange = &v
104001	return s
104002}
104003
104004// SetOutsideIpAddress sets the OutsideIpAddress field's value.
104005func (s *VgwTelemetry) SetOutsideIpAddress(v string) *VgwTelemetry {
104006	s.OutsideIpAddress = &v
104007	return s
104008}
104009
104010// SetStatus sets the Status field's value.
104011func (s *VgwTelemetry) SetStatus(v string) *VgwTelemetry {
104012	s.Status = &v
104013	return s
104014}
104015
104016// SetStatusMessage sets the StatusMessage field's value.
104017func (s *VgwTelemetry) SetStatusMessage(v string) *VgwTelemetry {
104018	s.StatusMessage = &v
104019	return s
104020}
104021
104022// Describes a volume.
104023type Volume struct {
104024	_ struct{} `type:"structure"`
104025
104026	// Information about the volume attachments.
104027	Attachments []*VolumeAttachment `locationName:"attachmentSet" locationNameList:"item" type:"list"`
104028
104029	// The Availability Zone for the volume.
104030	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
104031
104032	// The time stamp when volume creation was initiated.
104033	CreateTime *time.Time `locationName:"createTime" type:"timestamp"`
104034
104035	// Indicates whether the volume is encrypted.
104036	Encrypted *bool `locationName:"encrypted" type:"boolean"`
104037
104038	// Indicates whether the volume was created using fast snapshot restore.
104039	FastRestored *bool `locationName:"fastRestored" type:"boolean"`
104040
104041	// The number of I/O operations per second (IOPS) that the volume supports.
104042	// For Provisioned IOPS SSD volumes, this represents the number of IOPS that
104043	// are provisioned for the volume. For General Purpose SSD volumes, this represents
104044	// the baseline performance of the volume and the rate at which the volume accumulates
104045	// I/O credits for bursting. For more information, see Amazon EBS Volume Types
104046	// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html)
104047	// in the Amazon Elastic Compute Cloud User Guide.
104048	//
104049	// Constraints: Range is 100-16,000 IOPS for gp2 volumes and 100 to 64,000IOPS
104050	// for io1 volumes, in most Regions. The maximum IOPS for io1 of 64,000 is guaranteed
104051	// only on Nitro-based instances (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances).
104052	// Other instance families guarantee performance up to 32,000 IOPS.
104053	//
104054	// Condition: This parameter is required for requests to create io1 volumes;
104055	// it is not used in requests to create gp2, st1, sc1, or standard volumes.
104056	Iops *int64 `locationName:"iops" type:"integer"`
104057
104058	// The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS KMS)
104059	// customer master key (CMK) that was used to protect the volume encryption
104060	// key for the volume.
104061	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
104062
104063	// The Amazon Resource Name (ARN) of the Outpost.
104064	OutpostArn *string `locationName:"outpostArn" type:"string"`
104065
104066	// The size of the volume, in GiBs.
104067	Size *int64 `locationName:"size" type:"integer"`
104068
104069	// The snapshot from which the volume was created, if applicable.
104070	SnapshotId *string `locationName:"snapshotId" type:"string"`
104071
104072	// The volume state.
104073	State *string `locationName:"status" type:"string" enum:"VolumeState"`
104074
104075	// Any tags assigned to the volume.
104076	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104077
104078	// The ID of the volume.
104079	VolumeId *string `locationName:"volumeId" type:"string"`
104080
104081	// The volume type. This can be gp2 for General Purpose SSD, io1 for Provisioned
104082	// IOPS SSD, st1 for Throughput Optimized HDD, sc1 for Cold HDD, or standard
104083	// for Magnetic volumes.
104084	VolumeType *string `locationName:"volumeType" type:"string" enum:"VolumeType"`
104085}
104086
104087// String returns the string representation
104088func (s Volume) String() string {
104089	return awsutil.Prettify(s)
104090}
104091
104092// GoString returns the string representation
104093func (s Volume) GoString() string {
104094	return s.String()
104095}
104096
104097// SetAttachments sets the Attachments field's value.
104098func (s *Volume) SetAttachments(v []*VolumeAttachment) *Volume {
104099	s.Attachments = v
104100	return s
104101}
104102
104103// SetAvailabilityZone sets the AvailabilityZone field's value.
104104func (s *Volume) SetAvailabilityZone(v string) *Volume {
104105	s.AvailabilityZone = &v
104106	return s
104107}
104108
104109// SetCreateTime sets the CreateTime field's value.
104110func (s *Volume) SetCreateTime(v time.Time) *Volume {
104111	s.CreateTime = &v
104112	return s
104113}
104114
104115// SetEncrypted sets the Encrypted field's value.
104116func (s *Volume) SetEncrypted(v bool) *Volume {
104117	s.Encrypted = &v
104118	return s
104119}
104120
104121// SetFastRestored sets the FastRestored field's value.
104122func (s *Volume) SetFastRestored(v bool) *Volume {
104123	s.FastRestored = &v
104124	return s
104125}
104126
104127// SetIops sets the Iops field's value.
104128func (s *Volume) SetIops(v int64) *Volume {
104129	s.Iops = &v
104130	return s
104131}
104132
104133// SetKmsKeyId sets the KmsKeyId field's value.
104134func (s *Volume) SetKmsKeyId(v string) *Volume {
104135	s.KmsKeyId = &v
104136	return s
104137}
104138
104139// SetOutpostArn sets the OutpostArn field's value.
104140func (s *Volume) SetOutpostArn(v string) *Volume {
104141	s.OutpostArn = &v
104142	return s
104143}
104144
104145// SetSize sets the Size field's value.
104146func (s *Volume) SetSize(v int64) *Volume {
104147	s.Size = &v
104148	return s
104149}
104150
104151// SetSnapshotId sets the SnapshotId field's value.
104152func (s *Volume) SetSnapshotId(v string) *Volume {
104153	s.SnapshotId = &v
104154	return s
104155}
104156
104157// SetState sets the State field's value.
104158func (s *Volume) SetState(v string) *Volume {
104159	s.State = &v
104160	return s
104161}
104162
104163// SetTags sets the Tags field's value.
104164func (s *Volume) SetTags(v []*Tag) *Volume {
104165	s.Tags = v
104166	return s
104167}
104168
104169// SetVolumeId sets the VolumeId field's value.
104170func (s *Volume) SetVolumeId(v string) *Volume {
104171	s.VolumeId = &v
104172	return s
104173}
104174
104175// SetVolumeType sets the VolumeType field's value.
104176func (s *Volume) SetVolumeType(v string) *Volume {
104177	s.VolumeType = &v
104178	return s
104179}
104180
104181// Describes volume attachment details.
104182type VolumeAttachment struct {
104183	_ struct{} `type:"structure"`
104184
104185	// The time stamp when the attachment initiated.
104186	AttachTime *time.Time `locationName:"attachTime" type:"timestamp"`
104187
104188	// Indicates whether the EBS volume is deleted on instance termination.
104189	DeleteOnTermination *bool `locationName:"deleteOnTermination" type:"boolean"`
104190
104191	// The device name.
104192	Device *string `locationName:"device" type:"string"`
104193
104194	// The ID of the instance.
104195	InstanceId *string `locationName:"instanceId" type:"string"`
104196
104197	// The attachment state of the volume.
104198	State *string `locationName:"status" type:"string" enum:"VolumeAttachmentState"`
104199
104200	// The ID of the volume.
104201	VolumeId *string `locationName:"volumeId" type:"string"`
104202}
104203
104204// String returns the string representation
104205func (s VolumeAttachment) String() string {
104206	return awsutil.Prettify(s)
104207}
104208
104209// GoString returns the string representation
104210func (s VolumeAttachment) GoString() string {
104211	return s.String()
104212}
104213
104214// SetAttachTime sets the AttachTime field's value.
104215func (s *VolumeAttachment) SetAttachTime(v time.Time) *VolumeAttachment {
104216	s.AttachTime = &v
104217	return s
104218}
104219
104220// SetDeleteOnTermination sets the DeleteOnTermination field's value.
104221func (s *VolumeAttachment) SetDeleteOnTermination(v bool) *VolumeAttachment {
104222	s.DeleteOnTermination = &v
104223	return s
104224}
104225
104226// SetDevice sets the Device field's value.
104227func (s *VolumeAttachment) SetDevice(v string) *VolumeAttachment {
104228	s.Device = &v
104229	return s
104230}
104231
104232// SetInstanceId sets the InstanceId field's value.
104233func (s *VolumeAttachment) SetInstanceId(v string) *VolumeAttachment {
104234	s.InstanceId = &v
104235	return s
104236}
104237
104238// SetState sets the State field's value.
104239func (s *VolumeAttachment) SetState(v string) *VolumeAttachment {
104240	s.State = &v
104241	return s
104242}
104243
104244// SetVolumeId sets the VolumeId field's value.
104245func (s *VolumeAttachment) SetVolumeId(v string) *VolumeAttachment {
104246	s.VolumeId = &v
104247	return s
104248}
104249
104250// Describes an EBS volume.
104251type VolumeDetail struct {
104252	_ struct{} `type:"structure"`
104253
104254	// The size of the volume, in GiB.
104255	//
104256	// Size is a required field
104257	Size *int64 `locationName:"size" type:"long" required:"true"`
104258}
104259
104260// String returns the string representation
104261func (s VolumeDetail) String() string {
104262	return awsutil.Prettify(s)
104263}
104264
104265// GoString returns the string representation
104266func (s VolumeDetail) GoString() string {
104267	return s.String()
104268}
104269
104270// Validate inspects the fields of the type to determine if they are valid.
104271func (s *VolumeDetail) Validate() error {
104272	invalidParams := request.ErrInvalidParams{Context: "VolumeDetail"}
104273	if s.Size == nil {
104274		invalidParams.Add(request.NewErrParamRequired("Size"))
104275	}
104276
104277	if invalidParams.Len() > 0 {
104278		return invalidParams
104279	}
104280	return nil
104281}
104282
104283// SetSize sets the Size field's value.
104284func (s *VolumeDetail) SetSize(v int64) *VolumeDetail {
104285	s.Size = &v
104286	return s
104287}
104288
104289// Describes the modification status of an EBS volume.
104290//
104291// If the volume has never been modified, some element values will be null.
104292type VolumeModification struct {
104293	_ struct{} `type:"structure"`
104294
104295	// The modification completion or failure time.
104296	EndTime *time.Time `locationName:"endTime" type:"timestamp"`
104297
104298	// The current modification state. The modification state is null for unmodified
104299	// volumes.
104300	ModificationState *string `locationName:"modificationState" type:"string" enum:"VolumeModificationState"`
104301
104302	// The original IOPS rate of the volume.
104303	OriginalIops *int64 `locationName:"originalIops" type:"integer"`
104304
104305	// The original size of the volume.
104306	OriginalSize *int64 `locationName:"originalSize" type:"integer"`
104307
104308	// The original EBS volume type of the volume.
104309	OriginalVolumeType *string `locationName:"originalVolumeType" type:"string" enum:"VolumeType"`
104310
104311	// The modification progress, from 0 to 100 percent complete.
104312	Progress *int64 `locationName:"progress" type:"long"`
104313
104314	// The modification start time.
104315	StartTime *time.Time `locationName:"startTime" type:"timestamp"`
104316
104317	// A status message about the modification progress or failure.
104318	StatusMessage *string `locationName:"statusMessage" type:"string"`
104319
104320	// The target IOPS rate of the volume.
104321	TargetIops *int64 `locationName:"targetIops" type:"integer"`
104322
104323	// The target size of the volume, in GiB.
104324	TargetSize *int64 `locationName:"targetSize" type:"integer"`
104325
104326	// The target EBS volume type of the volume.
104327	TargetVolumeType *string `locationName:"targetVolumeType" type:"string" enum:"VolumeType"`
104328
104329	// The ID of the volume.
104330	VolumeId *string `locationName:"volumeId" type:"string"`
104331}
104332
104333// String returns the string representation
104334func (s VolumeModification) String() string {
104335	return awsutil.Prettify(s)
104336}
104337
104338// GoString returns the string representation
104339func (s VolumeModification) GoString() string {
104340	return s.String()
104341}
104342
104343// SetEndTime sets the EndTime field's value.
104344func (s *VolumeModification) SetEndTime(v time.Time) *VolumeModification {
104345	s.EndTime = &v
104346	return s
104347}
104348
104349// SetModificationState sets the ModificationState field's value.
104350func (s *VolumeModification) SetModificationState(v string) *VolumeModification {
104351	s.ModificationState = &v
104352	return s
104353}
104354
104355// SetOriginalIops sets the OriginalIops field's value.
104356func (s *VolumeModification) SetOriginalIops(v int64) *VolumeModification {
104357	s.OriginalIops = &v
104358	return s
104359}
104360
104361// SetOriginalSize sets the OriginalSize field's value.
104362func (s *VolumeModification) SetOriginalSize(v int64) *VolumeModification {
104363	s.OriginalSize = &v
104364	return s
104365}
104366
104367// SetOriginalVolumeType sets the OriginalVolumeType field's value.
104368func (s *VolumeModification) SetOriginalVolumeType(v string) *VolumeModification {
104369	s.OriginalVolumeType = &v
104370	return s
104371}
104372
104373// SetProgress sets the Progress field's value.
104374func (s *VolumeModification) SetProgress(v int64) *VolumeModification {
104375	s.Progress = &v
104376	return s
104377}
104378
104379// SetStartTime sets the StartTime field's value.
104380func (s *VolumeModification) SetStartTime(v time.Time) *VolumeModification {
104381	s.StartTime = &v
104382	return s
104383}
104384
104385// SetStatusMessage sets the StatusMessage field's value.
104386func (s *VolumeModification) SetStatusMessage(v string) *VolumeModification {
104387	s.StatusMessage = &v
104388	return s
104389}
104390
104391// SetTargetIops sets the TargetIops field's value.
104392func (s *VolumeModification) SetTargetIops(v int64) *VolumeModification {
104393	s.TargetIops = &v
104394	return s
104395}
104396
104397// SetTargetSize sets the TargetSize field's value.
104398func (s *VolumeModification) SetTargetSize(v int64) *VolumeModification {
104399	s.TargetSize = &v
104400	return s
104401}
104402
104403// SetTargetVolumeType sets the TargetVolumeType field's value.
104404func (s *VolumeModification) SetTargetVolumeType(v string) *VolumeModification {
104405	s.TargetVolumeType = &v
104406	return s
104407}
104408
104409// SetVolumeId sets the VolumeId field's value.
104410func (s *VolumeModification) SetVolumeId(v string) *VolumeModification {
104411	s.VolumeId = &v
104412	return s
104413}
104414
104415// Describes a volume status operation code.
104416type VolumeStatusAction struct {
104417	_ struct{} `type:"structure"`
104418
104419	// The code identifying the operation, for example, enable-volume-io.
104420	Code *string `locationName:"code" type:"string"`
104421
104422	// A description of the operation.
104423	Description *string `locationName:"description" type:"string"`
104424
104425	// The ID of the event associated with this operation.
104426	EventId *string `locationName:"eventId" type:"string"`
104427
104428	// The event type associated with this operation.
104429	EventType *string `locationName:"eventType" type:"string"`
104430}
104431
104432// String returns the string representation
104433func (s VolumeStatusAction) String() string {
104434	return awsutil.Prettify(s)
104435}
104436
104437// GoString returns the string representation
104438func (s VolumeStatusAction) GoString() string {
104439	return s.String()
104440}
104441
104442// SetCode sets the Code field's value.
104443func (s *VolumeStatusAction) SetCode(v string) *VolumeStatusAction {
104444	s.Code = &v
104445	return s
104446}
104447
104448// SetDescription sets the Description field's value.
104449func (s *VolumeStatusAction) SetDescription(v string) *VolumeStatusAction {
104450	s.Description = &v
104451	return s
104452}
104453
104454// SetEventId sets the EventId field's value.
104455func (s *VolumeStatusAction) SetEventId(v string) *VolumeStatusAction {
104456	s.EventId = &v
104457	return s
104458}
104459
104460// SetEventType sets the EventType field's value.
104461func (s *VolumeStatusAction) SetEventType(v string) *VolumeStatusAction {
104462	s.EventType = &v
104463	return s
104464}
104465
104466// Describes a volume status.
104467type VolumeStatusDetails struct {
104468	_ struct{} `type:"structure"`
104469
104470	// The name of the volume status.
104471	Name *string `locationName:"name" type:"string" enum:"VolumeStatusName"`
104472
104473	// The intended status of the volume status.
104474	Status *string `locationName:"status" type:"string"`
104475}
104476
104477// String returns the string representation
104478func (s VolumeStatusDetails) String() string {
104479	return awsutil.Prettify(s)
104480}
104481
104482// GoString returns the string representation
104483func (s VolumeStatusDetails) GoString() string {
104484	return s.String()
104485}
104486
104487// SetName sets the Name field's value.
104488func (s *VolumeStatusDetails) SetName(v string) *VolumeStatusDetails {
104489	s.Name = &v
104490	return s
104491}
104492
104493// SetStatus sets the Status field's value.
104494func (s *VolumeStatusDetails) SetStatus(v string) *VolumeStatusDetails {
104495	s.Status = &v
104496	return s
104497}
104498
104499// Describes a volume status event.
104500type VolumeStatusEvent struct {
104501	_ struct{} `type:"structure"`
104502
104503	// A description of the event.
104504	Description *string `locationName:"description" type:"string"`
104505
104506	// The ID of this event.
104507	EventId *string `locationName:"eventId" type:"string"`
104508
104509	// The type of this event.
104510	EventType *string `locationName:"eventType" type:"string"`
104511
104512	// The latest end time of the event.
104513	NotAfter *time.Time `locationName:"notAfter" type:"timestamp"`
104514
104515	// The earliest start time of the event.
104516	NotBefore *time.Time `locationName:"notBefore" type:"timestamp"`
104517}
104518
104519// String returns the string representation
104520func (s VolumeStatusEvent) String() string {
104521	return awsutil.Prettify(s)
104522}
104523
104524// GoString returns the string representation
104525func (s VolumeStatusEvent) GoString() string {
104526	return s.String()
104527}
104528
104529// SetDescription sets the Description field's value.
104530func (s *VolumeStatusEvent) SetDescription(v string) *VolumeStatusEvent {
104531	s.Description = &v
104532	return s
104533}
104534
104535// SetEventId sets the EventId field's value.
104536func (s *VolumeStatusEvent) SetEventId(v string) *VolumeStatusEvent {
104537	s.EventId = &v
104538	return s
104539}
104540
104541// SetEventType sets the EventType field's value.
104542func (s *VolumeStatusEvent) SetEventType(v string) *VolumeStatusEvent {
104543	s.EventType = &v
104544	return s
104545}
104546
104547// SetNotAfter sets the NotAfter field's value.
104548func (s *VolumeStatusEvent) SetNotAfter(v time.Time) *VolumeStatusEvent {
104549	s.NotAfter = &v
104550	return s
104551}
104552
104553// SetNotBefore sets the NotBefore field's value.
104554func (s *VolumeStatusEvent) SetNotBefore(v time.Time) *VolumeStatusEvent {
104555	s.NotBefore = &v
104556	return s
104557}
104558
104559// Describes the status of a volume.
104560type VolumeStatusInfo struct {
104561	_ struct{} `type:"structure"`
104562
104563	// The details of the volume status.
104564	Details []*VolumeStatusDetails `locationName:"details" locationNameList:"item" type:"list"`
104565
104566	// The status of the volume.
104567	Status *string `locationName:"status" type:"string" enum:"VolumeStatusInfoStatus"`
104568}
104569
104570// String returns the string representation
104571func (s VolumeStatusInfo) String() string {
104572	return awsutil.Prettify(s)
104573}
104574
104575// GoString returns the string representation
104576func (s VolumeStatusInfo) GoString() string {
104577	return s.String()
104578}
104579
104580// SetDetails sets the Details field's value.
104581func (s *VolumeStatusInfo) SetDetails(v []*VolumeStatusDetails) *VolumeStatusInfo {
104582	s.Details = v
104583	return s
104584}
104585
104586// SetStatus sets the Status field's value.
104587func (s *VolumeStatusInfo) SetStatus(v string) *VolumeStatusInfo {
104588	s.Status = &v
104589	return s
104590}
104591
104592// Describes the volume status.
104593type VolumeStatusItem struct {
104594	_ struct{} `type:"structure"`
104595
104596	// The details of the operation.
104597	Actions []*VolumeStatusAction `locationName:"actionsSet" locationNameList:"item" type:"list"`
104598
104599	// The Availability Zone of the volume.
104600	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
104601
104602	// A list of events associated with the volume.
104603	Events []*VolumeStatusEvent `locationName:"eventsSet" locationNameList:"item" type:"list"`
104604
104605	// The Amazon Resource Name (ARN) of the Outpost.
104606	OutpostArn *string `locationName:"outpostArn" type:"string"`
104607
104608	// The volume ID.
104609	VolumeId *string `locationName:"volumeId" type:"string"`
104610
104611	// The volume status.
104612	VolumeStatus *VolumeStatusInfo `locationName:"volumeStatus" type:"structure"`
104613}
104614
104615// String returns the string representation
104616func (s VolumeStatusItem) String() string {
104617	return awsutil.Prettify(s)
104618}
104619
104620// GoString returns the string representation
104621func (s VolumeStatusItem) GoString() string {
104622	return s.String()
104623}
104624
104625// SetActions sets the Actions field's value.
104626func (s *VolumeStatusItem) SetActions(v []*VolumeStatusAction) *VolumeStatusItem {
104627	s.Actions = v
104628	return s
104629}
104630
104631// SetAvailabilityZone sets the AvailabilityZone field's value.
104632func (s *VolumeStatusItem) SetAvailabilityZone(v string) *VolumeStatusItem {
104633	s.AvailabilityZone = &v
104634	return s
104635}
104636
104637// SetEvents sets the Events field's value.
104638func (s *VolumeStatusItem) SetEvents(v []*VolumeStatusEvent) *VolumeStatusItem {
104639	s.Events = v
104640	return s
104641}
104642
104643// SetOutpostArn sets the OutpostArn field's value.
104644func (s *VolumeStatusItem) SetOutpostArn(v string) *VolumeStatusItem {
104645	s.OutpostArn = &v
104646	return s
104647}
104648
104649// SetVolumeId sets the VolumeId field's value.
104650func (s *VolumeStatusItem) SetVolumeId(v string) *VolumeStatusItem {
104651	s.VolumeId = &v
104652	return s
104653}
104654
104655// SetVolumeStatus sets the VolumeStatus field's value.
104656func (s *VolumeStatusItem) SetVolumeStatus(v *VolumeStatusInfo) *VolumeStatusItem {
104657	s.VolumeStatus = v
104658	return s
104659}
104660
104661// Describes a VPC.
104662type Vpc struct {
104663	_ struct{} `type:"structure"`
104664
104665	// The primary IPv4 CIDR block for the VPC.
104666	CidrBlock *string `locationName:"cidrBlock" type:"string"`
104667
104668	// Information about the IPv4 CIDR blocks associated with the VPC.
104669	CidrBlockAssociationSet []*VpcCidrBlockAssociation `locationName:"cidrBlockAssociationSet" locationNameList:"item" type:"list"`
104670
104671	// The ID of the set of DHCP options you've associated with the VPC (or default
104672	// if the default options are associated with the VPC).
104673	DhcpOptionsId *string `locationName:"dhcpOptionsId" type:"string"`
104674
104675	// The allowed tenancy of instances launched into the VPC.
104676	InstanceTenancy *string `locationName:"instanceTenancy" type:"string" enum:"Tenancy"`
104677
104678	// Information about the IPv6 CIDR blocks associated with the VPC.
104679	Ipv6CidrBlockAssociationSet []*VpcIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"`
104680
104681	// Indicates whether the VPC is the default VPC.
104682	IsDefault *bool `locationName:"isDefault" type:"boolean"`
104683
104684	// The ID of the AWS account that owns the VPC.
104685	OwnerId *string `locationName:"ownerId" type:"string"`
104686
104687	// The current state of the VPC.
104688	State *string `locationName:"state" type:"string" enum:"VpcState"`
104689
104690	// Any tags assigned to the VPC.
104691	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104692
104693	// The ID of the VPC.
104694	VpcId *string `locationName:"vpcId" type:"string"`
104695}
104696
104697// String returns the string representation
104698func (s Vpc) String() string {
104699	return awsutil.Prettify(s)
104700}
104701
104702// GoString returns the string representation
104703func (s Vpc) GoString() string {
104704	return s.String()
104705}
104706
104707// SetCidrBlock sets the CidrBlock field's value.
104708func (s *Vpc) SetCidrBlock(v string) *Vpc {
104709	s.CidrBlock = &v
104710	return s
104711}
104712
104713// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
104714func (s *Vpc) SetCidrBlockAssociationSet(v []*VpcCidrBlockAssociation) *Vpc {
104715	s.CidrBlockAssociationSet = v
104716	return s
104717}
104718
104719// SetDhcpOptionsId sets the DhcpOptionsId field's value.
104720func (s *Vpc) SetDhcpOptionsId(v string) *Vpc {
104721	s.DhcpOptionsId = &v
104722	return s
104723}
104724
104725// SetInstanceTenancy sets the InstanceTenancy field's value.
104726func (s *Vpc) SetInstanceTenancy(v string) *Vpc {
104727	s.InstanceTenancy = &v
104728	return s
104729}
104730
104731// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
104732func (s *Vpc) SetIpv6CidrBlockAssociationSet(v []*VpcIpv6CidrBlockAssociation) *Vpc {
104733	s.Ipv6CidrBlockAssociationSet = v
104734	return s
104735}
104736
104737// SetIsDefault sets the IsDefault field's value.
104738func (s *Vpc) SetIsDefault(v bool) *Vpc {
104739	s.IsDefault = &v
104740	return s
104741}
104742
104743// SetOwnerId sets the OwnerId field's value.
104744func (s *Vpc) SetOwnerId(v string) *Vpc {
104745	s.OwnerId = &v
104746	return s
104747}
104748
104749// SetState sets the State field's value.
104750func (s *Vpc) SetState(v string) *Vpc {
104751	s.State = &v
104752	return s
104753}
104754
104755// SetTags sets the Tags field's value.
104756func (s *Vpc) SetTags(v []*Tag) *Vpc {
104757	s.Tags = v
104758	return s
104759}
104760
104761// SetVpcId sets the VpcId field's value.
104762func (s *Vpc) SetVpcId(v string) *Vpc {
104763	s.VpcId = &v
104764	return s
104765}
104766
104767// Describes an attachment between a virtual private gateway and a VPC.
104768type VpcAttachment struct {
104769	_ struct{} `type:"structure"`
104770
104771	// The current state of the attachment.
104772	State *string `locationName:"state" type:"string" enum:"AttachmentStatus"`
104773
104774	// The ID of the VPC.
104775	VpcId *string `locationName:"vpcId" type:"string"`
104776}
104777
104778// String returns the string representation
104779func (s VpcAttachment) String() string {
104780	return awsutil.Prettify(s)
104781}
104782
104783// GoString returns the string representation
104784func (s VpcAttachment) GoString() string {
104785	return s.String()
104786}
104787
104788// SetState sets the State field's value.
104789func (s *VpcAttachment) SetState(v string) *VpcAttachment {
104790	s.State = &v
104791	return s
104792}
104793
104794// SetVpcId sets the VpcId field's value.
104795func (s *VpcAttachment) SetVpcId(v string) *VpcAttachment {
104796	s.VpcId = &v
104797	return s
104798}
104799
104800// Describes an IPv4 CIDR block associated with a VPC.
104801type VpcCidrBlockAssociation struct {
104802	_ struct{} `type:"structure"`
104803
104804	// The association ID for the IPv4 CIDR block.
104805	AssociationId *string `locationName:"associationId" type:"string"`
104806
104807	// The IPv4 CIDR block.
104808	CidrBlock *string `locationName:"cidrBlock" type:"string"`
104809
104810	// Information about the state of the CIDR block.
104811	CidrBlockState *VpcCidrBlockState `locationName:"cidrBlockState" type:"structure"`
104812}
104813
104814// String returns the string representation
104815func (s VpcCidrBlockAssociation) String() string {
104816	return awsutil.Prettify(s)
104817}
104818
104819// GoString returns the string representation
104820func (s VpcCidrBlockAssociation) GoString() string {
104821	return s.String()
104822}
104823
104824// SetAssociationId sets the AssociationId field's value.
104825func (s *VpcCidrBlockAssociation) SetAssociationId(v string) *VpcCidrBlockAssociation {
104826	s.AssociationId = &v
104827	return s
104828}
104829
104830// SetCidrBlock sets the CidrBlock field's value.
104831func (s *VpcCidrBlockAssociation) SetCidrBlock(v string) *VpcCidrBlockAssociation {
104832	s.CidrBlock = &v
104833	return s
104834}
104835
104836// SetCidrBlockState sets the CidrBlockState field's value.
104837func (s *VpcCidrBlockAssociation) SetCidrBlockState(v *VpcCidrBlockState) *VpcCidrBlockAssociation {
104838	s.CidrBlockState = v
104839	return s
104840}
104841
104842// Describes the state of a CIDR block.
104843type VpcCidrBlockState struct {
104844	_ struct{} `type:"structure"`
104845
104846	// The state of the CIDR block.
104847	State *string `locationName:"state" type:"string" enum:"VpcCidrBlockStateCode"`
104848
104849	// A message about the status of the CIDR block, if applicable.
104850	StatusMessage *string `locationName:"statusMessage" type:"string"`
104851}
104852
104853// String returns the string representation
104854func (s VpcCidrBlockState) String() string {
104855	return awsutil.Prettify(s)
104856}
104857
104858// GoString returns the string representation
104859func (s VpcCidrBlockState) GoString() string {
104860	return s.String()
104861}
104862
104863// SetState sets the State field's value.
104864func (s *VpcCidrBlockState) SetState(v string) *VpcCidrBlockState {
104865	s.State = &v
104866	return s
104867}
104868
104869// SetStatusMessage sets the StatusMessage field's value.
104870func (s *VpcCidrBlockState) SetStatusMessage(v string) *VpcCidrBlockState {
104871	s.StatusMessage = &v
104872	return s
104873}
104874
104875// Describes whether a VPC is enabled for ClassicLink.
104876type VpcClassicLink struct {
104877	_ struct{} `type:"structure"`
104878
104879	// Indicates whether the VPC is enabled for ClassicLink.
104880	ClassicLinkEnabled *bool `locationName:"classicLinkEnabled" type:"boolean"`
104881
104882	// Any tags assigned to the VPC.
104883	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104884
104885	// The ID of the VPC.
104886	VpcId *string `locationName:"vpcId" type:"string"`
104887}
104888
104889// String returns the string representation
104890func (s VpcClassicLink) String() string {
104891	return awsutil.Prettify(s)
104892}
104893
104894// GoString returns the string representation
104895func (s VpcClassicLink) GoString() string {
104896	return s.String()
104897}
104898
104899// SetClassicLinkEnabled sets the ClassicLinkEnabled field's value.
104900func (s *VpcClassicLink) SetClassicLinkEnabled(v bool) *VpcClassicLink {
104901	s.ClassicLinkEnabled = &v
104902	return s
104903}
104904
104905// SetTags sets the Tags field's value.
104906func (s *VpcClassicLink) SetTags(v []*Tag) *VpcClassicLink {
104907	s.Tags = v
104908	return s
104909}
104910
104911// SetVpcId sets the VpcId field's value.
104912func (s *VpcClassicLink) SetVpcId(v string) *VpcClassicLink {
104913	s.VpcId = &v
104914	return s
104915}
104916
104917// Describes a VPC endpoint.
104918type VpcEndpoint struct {
104919	_ struct{} `type:"structure"`
104920
104921	// The date and time the VPC endpoint was created.
104922	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
104923
104924	// (Interface endpoint) The DNS entries for the endpoint.
104925	DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
104926
104927	// (Interface endpoint) Information about the security groups associated with
104928	// the network interface.
104929	Groups []*SecurityGroupIdentifier `locationName:"groupSet" locationNameList:"item" type:"list"`
104930
104931	// (Interface endpoint) One or more network interfaces for the endpoint.
104932	NetworkInterfaceIds []*string `locationName:"networkInterfaceIdSet" locationNameList:"item" type:"list"`
104933
104934	// The ID of the AWS account that owns the VPC endpoint.
104935	OwnerId *string `locationName:"ownerId" type:"string"`
104936
104937	// The policy document associated with the endpoint, if applicable.
104938	PolicyDocument *string `locationName:"policyDocument" type:"string"`
104939
104940	// (Interface endpoint) Indicates whether the VPC is associated with a private
104941	// hosted zone.
104942	PrivateDnsEnabled *bool `locationName:"privateDnsEnabled" type:"boolean"`
104943
104944	// Indicates whether the VPC endpoint is being managed by its service.
104945	RequesterManaged *bool `locationName:"requesterManaged" type:"boolean"`
104946
104947	// (Gateway endpoint) One or more route tables associated with the endpoint.
104948	RouteTableIds []*string `locationName:"routeTableIdSet" locationNameList:"item" type:"list"`
104949
104950	// The name of the service to which the endpoint is associated.
104951	ServiceName *string `locationName:"serviceName" type:"string"`
104952
104953	// The state of the VPC endpoint.
104954	State *string `locationName:"state" type:"string" enum:"State"`
104955
104956	// (Interface endpoint) One or more subnets in which the endpoint is located.
104957	SubnetIds []*string `locationName:"subnetIdSet" locationNameList:"item" type:"list"`
104958
104959	// Any tags assigned to the VPC endpoint.
104960	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
104961
104962	// The ID of the VPC endpoint.
104963	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
104964
104965	// The type of endpoint.
104966	VpcEndpointType *string `locationName:"vpcEndpointType" type:"string" enum:"VpcEndpointType"`
104967
104968	// The ID of the VPC to which the endpoint is associated.
104969	VpcId *string `locationName:"vpcId" type:"string"`
104970}
104971
104972// String returns the string representation
104973func (s VpcEndpoint) String() string {
104974	return awsutil.Prettify(s)
104975}
104976
104977// GoString returns the string representation
104978func (s VpcEndpoint) GoString() string {
104979	return s.String()
104980}
104981
104982// SetCreationTimestamp sets the CreationTimestamp field's value.
104983func (s *VpcEndpoint) SetCreationTimestamp(v time.Time) *VpcEndpoint {
104984	s.CreationTimestamp = &v
104985	return s
104986}
104987
104988// SetDnsEntries sets the DnsEntries field's value.
104989func (s *VpcEndpoint) SetDnsEntries(v []*DnsEntry) *VpcEndpoint {
104990	s.DnsEntries = v
104991	return s
104992}
104993
104994// SetGroups sets the Groups field's value.
104995func (s *VpcEndpoint) SetGroups(v []*SecurityGroupIdentifier) *VpcEndpoint {
104996	s.Groups = v
104997	return s
104998}
104999
105000// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value.
105001func (s *VpcEndpoint) SetNetworkInterfaceIds(v []*string) *VpcEndpoint {
105002	s.NetworkInterfaceIds = v
105003	return s
105004}
105005
105006// SetOwnerId sets the OwnerId field's value.
105007func (s *VpcEndpoint) SetOwnerId(v string) *VpcEndpoint {
105008	s.OwnerId = &v
105009	return s
105010}
105011
105012// SetPolicyDocument sets the PolicyDocument field's value.
105013func (s *VpcEndpoint) SetPolicyDocument(v string) *VpcEndpoint {
105014	s.PolicyDocument = &v
105015	return s
105016}
105017
105018// SetPrivateDnsEnabled sets the PrivateDnsEnabled field's value.
105019func (s *VpcEndpoint) SetPrivateDnsEnabled(v bool) *VpcEndpoint {
105020	s.PrivateDnsEnabled = &v
105021	return s
105022}
105023
105024// SetRequesterManaged sets the RequesterManaged field's value.
105025func (s *VpcEndpoint) SetRequesterManaged(v bool) *VpcEndpoint {
105026	s.RequesterManaged = &v
105027	return s
105028}
105029
105030// SetRouteTableIds sets the RouteTableIds field's value.
105031func (s *VpcEndpoint) SetRouteTableIds(v []*string) *VpcEndpoint {
105032	s.RouteTableIds = v
105033	return s
105034}
105035
105036// SetServiceName sets the ServiceName field's value.
105037func (s *VpcEndpoint) SetServiceName(v string) *VpcEndpoint {
105038	s.ServiceName = &v
105039	return s
105040}
105041
105042// SetState sets the State field's value.
105043func (s *VpcEndpoint) SetState(v string) *VpcEndpoint {
105044	s.State = &v
105045	return s
105046}
105047
105048// SetSubnetIds sets the SubnetIds field's value.
105049func (s *VpcEndpoint) SetSubnetIds(v []*string) *VpcEndpoint {
105050	s.SubnetIds = v
105051	return s
105052}
105053
105054// SetTags sets the Tags field's value.
105055func (s *VpcEndpoint) SetTags(v []*Tag) *VpcEndpoint {
105056	s.Tags = v
105057	return s
105058}
105059
105060// SetVpcEndpointId sets the VpcEndpointId field's value.
105061func (s *VpcEndpoint) SetVpcEndpointId(v string) *VpcEndpoint {
105062	s.VpcEndpointId = &v
105063	return s
105064}
105065
105066// SetVpcEndpointType sets the VpcEndpointType field's value.
105067func (s *VpcEndpoint) SetVpcEndpointType(v string) *VpcEndpoint {
105068	s.VpcEndpointType = &v
105069	return s
105070}
105071
105072// SetVpcId sets the VpcId field's value.
105073func (s *VpcEndpoint) SetVpcId(v string) *VpcEndpoint {
105074	s.VpcId = &v
105075	return s
105076}
105077
105078// Describes a VPC endpoint connection to a service.
105079type VpcEndpointConnection struct {
105080	_ struct{} `type:"structure"`
105081
105082	// The date and time the VPC endpoint was created.
105083	CreationTimestamp *time.Time `locationName:"creationTimestamp" type:"timestamp"`
105084
105085	// The DNS entries for the VPC endpoint.
105086	DnsEntries []*DnsEntry `locationName:"dnsEntrySet" locationNameList:"item" type:"list"`
105087
105088	// The Amazon Resource Names (ARNs) of the network load balancers for the service.
105089	NetworkLoadBalancerArns []*string `locationName:"networkLoadBalancerArnSet" locationNameList:"item" type:"list"`
105090
105091	// The ID of the service to which the endpoint is connected.
105092	ServiceId *string `locationName:"serviceId" type:"string"`
105093
105094	// The ID of the VPC endpoint.
105095	VpcEndpointId *string `locationName:"vpcEndpointId" type:"string"`
105096
105097	// The AWS account ID of the owner of the VPC endpoint.
105098	VpcEndpointOwner *string `locationName:"vpcEndpointOwner" type:"string"`
105099
105100	// The state of the VPC endpoint.
105101	VpcEndpointState *string `locationName:"vpcEndpointState" type:"string" enum:"State"`
105102}
105103
105104// String returns the string representation
105105func (s VpcEndpointConnection) String() string {
105106	return awsutil.Prettify(s)
105107}
105108
105109// GoString returns the string representation
105110func (s VpcEndpointConnection) GoString() string {
105111	return s.String()
105112}
105113
105114// SetCreationTimestamp sets the CreationTimestamp field's value.
105115func (s *VpcEndpointConnection) SetCreationTimestamp(v time.Time) *VpcEndpointConnection {
105116	s.CreationTimestamp = &v
105117	return s
105118}
105119
105120// SetDnsEntries sets the DnsEntries field's value.
105121func (s *VpcEndpointConnection) SetDnsEntries(v []*DnsEntry) *VpcEndpointConnection {
105122	s.DnsEntries = v
105123	return s
105124}
105125
105126// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
105127func (s *VpcEndpointConnection) SetNetworkLoadBalancerArns(v []*string) *VpcEndpointConnection {
105128	s.NetworkLoadBalancerArns = v
105129	return s
105130}
105131
105132// SetServiceId sets the ServiceId field's value.
105133func (s *VpcEndpointConnection) SetServiceId(v string) *VpcEndpointConnection {
105134	s.ServiceId = &v
105135	return s
105136}
105137
105138// SetVpcEndpointId sets the VpcEndpointId field's value.
105139func (s *VpcEndpointConnection) SetVpcEndpointId(v string) *VpcEndpointConnection {
105140	s.VpcEndpointId = &v
105141	return s
105142}
105143
105144// SetVpcEndpointOwner sets the VpcEndpointOwner field's value.
105145func (s *VpcEndpointConnection) SetVpcEndpointOwner(v string) *VpcEndpointConnection {
105146	s.VpcEndpointOwner = &v
105147	return s
105148}
105149
105150// SetVpcEndpointState sets the VpcEndpointState field's value.
105151func (s *VpcEndpointConnection) SetVpcEndpointState(v string) *VpcEndpointConnection {
105152	s.VpcEndpointState = &v
105153	return s
105154}
105155
105156// Describes an IPv6 CIDR block associated with a VPC.
105157type VpcIpv6CidrBlockAssociation struct {
105158	_ struct{} `type:"structure"`
105159
105160	// The association ID for the IPv6 CIDR block.
105161	AssociationId *string `locationName:"associationId" type:"string"`
105162
105163	// The IPv6 CIDR block.
105164	Ipv6CidrBlock *string `locationName:"ipv6CidrBlock" type:"string"`
105165
105166	// Information about the state of the CIDR block.
105167	Ipv6CidrBlockState *VpcCidrBlockState `locationName:"ipv6CidrBlockState" type:"structure"`
105168
105169	// The name of the location from which we advertise the IPV6 CIDR block.
105170	NetworkBorderGroup *string `locationName:"networkBorderGroup" type:"string"`
105171}
105172
105173// String returns the string representation
105174func (s VpcIpv6CidrBlockAssociation) String() string {
105175	return awsutil.Prettify(s)
105176}
105177
105178// GoString returns the string representation
105179func (s VpcIpv6CidrBlockAssociation) GoString() string {
105180	return s.String()
105181}
105182
105183// SetAssociationId sets the AssociationId field's value.
105184func (s *VpcIpv6CidrBlockAssociation) SetAssociationId(v string) *VpcIpv6CidrBlockAssociation {
105185	s.AssociationId = &v
105186	return s
105187}
105188
105189// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
105190func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *VpcIpv6CidrBlockAssociation {
105191	s.Ipv6CidrBlock = &v
105192	return s
105193}
105194
105195// SetIpv6CidrBlockState sets the Ipv6CidrBlockState field's value.
105196func (s *VpcIpv6CidrBlockAssociation) SetIpv6CidrBlockState(v *VpcCidrBlockState) *VpcIpv6CidrBlockAssociation {
105197	s.Ipv6CidrBlockState = v
105198	return s
105199}
105200
105201// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
105202func (s *VpcIpv6CidrBlockAssociation) SetNetworkBorderGroup(v string) *VpcIpv6CidrBlockAssociation {
105203	s.NetworkBorderGroup = &v
105204	return s
105205}
105206
105207// Describes a VPC peering connection.
105208type VpcPeeringConnection struct {
105209	_ struct{} `type:"structure"`
105210
105211	// Information about the accepter VPC. CIDR block information is only returned
105212	// when describing an active VPC peering connection.
105213	AccepterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"accepterVpcInfo" type:"structure"`
105214
105215	// The time that an unaccepted VPC peering connection will expire.
105216	ExpirationTime *time.Time `locationName:"expirationTime" type:"timestamp"`
105217
105218	// Information about the requester VPC. CIDR block information is only returned
105219	// when describing an active VPC peering connection.
105220	RequesterVpcInfo *VpcPeeringConnectionVpcInfo `locationName:"requesterVpcInfo" type:"structure"`
105221
105222	// The status of the VPC peering connection.
105223	Status *VpcPeeringConnectionStateReason `locationName:"status" type:"structure"`
105224
105225	// Any tags assigned to the resource.
105226	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
105227
105228	// The ID of the VPC peering connection.
105229	VpcPeeringConnectionId *string `locationName:"vpcPeeringConnectionId" type:"string"`
105230}
105231
105232// String returns the string representation
105233func (s VpcPeeringConnection) String() string {
105234	return awsutil.Prettify(s)
105235}
105236
105237// GoString returns the string representation
105238func (s VpcPeeringConnection) GoString() string {
105239	return s.String()
105240}
105241
105242// SetAccepterVpcInfo sets the AccepterVpcInfo field's value.
105243func (s *VpcPeeringConnection) SetAccepterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
105244	s.AccepterVpcInfo = v
105245	return s
105246}
105247
105248// SetExpirationTime sets the ExpirationTime field's value.
105249func (s *VpcPeeringConnection) SetExpirationTime(v time.Time) *VpcPeeringConnection {
105250	s.ExpirationTime = &v
105251	return s
105252}
105253
105254// SetRequesterVpcInfo sets the RequesterVpcInfo field's value.
105255func (s *VpcPeeringConnection) SetRequesterVpcInfo(v *VpcPeeringConnectionVpcInfo) *VpcPeeringConnection {
105256	s.RequesterVpcInfo = v
105257	return s
105258}
105259
105260// SetStatus sets the Status field's value.
105261func (s *VpcPeeringConnection) SetStatus(v *VpcPeeringConnectionStateReason) *VpcPeeringConnection {
105262	s.Status = v
105263	return s
105264}
105265
105266// SetTags sets the Tags field's value.
105267func (s *VpcPeeringConnection) SetTags(v []*Tag) *VpcPeeringConnection {
105268	s.Tags = v
105269	return s
105270}
105271
105272// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
105273func (s *VpcPeeringConnection) SetVpcPeeringConnectionId(v string) *VpcPeeringConnection {
105274	s.VpcPeeringConnectionId = &v
105275	return s
105276}
105277
105278// Describes the VPC peering connection options.
105279type VpcPeeringConnectionOptionsDescription struct {
105280	_ struct{} `type:"structure"`
105281
105282	// Indicates whether a local VPC can resolve public DNS hostnames to private
105283	// IP addresses when queried from instances in a peer VPC.
105284	AllowDnsResolutionFromRemoteVpc *bool `locationName:"allowDnsResolutionFromRemoteVpc" type:"boolean"`
105285
105286	// Indicates whether a local ClassicLink connection can communicate with the
105287	// peer VPC over the VPC peering connection.
105288	AllowEgressFromLocalClassicLinkToRemoteVpc *bool `locationName:"allowEgressFromLocalClassicLinkToRemoteVpc" type:"boolean"`
105289
105290	// Indicates whether a local VPC can communicate with a ClassicLink connection
105291	// in the peer VPC over the VPC peering connection.
105292	AllowEgressFromLocalVpcToRemoteClassicLink *bool `locationName:"allowEgressFromLocalVpcToRemoteClassicLink" type:"boolean"`
105293}
105294
105295// String returns the string representation
105296func (s VpcPeeringConnectionOptionsDescription) String() string {
105297	return awsutil.Prettify(s)
105298}
105299
105300// GoString returns the string representation
105301func (s VpcPeeringConnectionOptionsDescription) GoString() string {
105302	return s.String()
105303}
105304
105305// SetAllowDnsResolutionFromRemoteVpc sets the AllowDnsResolutionFromRemoteVpc field's value.
105306func (s *VpcPeeringConnectionOptionsDescription) SetAllowDnsResolutionFromRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
105307	s.AllowDnsResolutionFromRemoteVpc = &v
105308	return s
105309}
105310
105311// SetAllowEgressFromLocalClassicLinkToRemoteVpc sets the AllowEgressFromLocalClassicLinkToRemoteVpc field's value.
105312func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalClassicLinkToRemoteVpc(v bool) *VpcPeeringConnectionOptionsDescription {
105313	s.AllowEgressFromLocalClassicLinkToRemoteVpc = &v
105314	return s
105315}
105316
105317// SetAllowEgressFromLocalVpcToRemoteClassicLink sets the AllowEgressFromLocalVpcToRemoteClassicLink field's value.
105318func (s *VpcPeeringConnectionOptionsDescription) SetAllowEgressFromLocalVpcToRemoteClassicLink(v bool) *VpcPeeringConnectionOptionsDescription {
105319	s.AllowEgressFromLocalVpcToRemoteClassicLink = &v
105320	return s
105321}
105322
105323// Describes the status of a VPC peering connection.
105324type VpcPeeringConnectionStateReason struct {
105325	_ struct{} `type:"structure"`
105326
105327	// The status of the VPC peering connection.
105328	Code *string `locationName:"code" type:"string" enum:"VpcPeeringConnectionStateReasonCode"`
105329
105330	// A message that provides more information about the status, if applicable.
105331	Message *string `locationName:"message" type:"string"`
105332}
105333
105334// String returns the string representation
105335func (s VpcPeeringConnectionStateReason) String() string {
105336	return awsutil.Prettify(s)
105337}
105338
105339// GoString returns the string representation
105340func (s VpcPeeringConnectionStateReason) GoString() string {
105341	return s.String()
105342}
105343
105344// SetCode sets the Code field's value.
105345func (s *VpcPeeringConnectionStateReason) SetCode(v string) *VpcPeeringConnectionStateReason {
105346	s.Code = &v
105347	return s
105348}
105349
105350// SetMessage sets the Message field's value.
105351func (s *VpcPeeringConnectionStateReason) SetMessage(v string) *VpcPeeringConnectionStateReason {
105352	s.Message = &v
105353	return s
105354}
105355
105356// Describes a VPC in a VPC peering connection.
105357type VpcPeeringConnectionVpcInfo struct {
105358	_ struct{} `type:"structure"`
105359
105360	// The IPv4 CIDR block for the VPC.
105361	CidrBlock *string `locationName:"cidrBlock" type:"string"`
105362
105363	// Information about the IPv4 CIDR blocks for the VPC.
105364	CidrBlockSet []*CidrBlock `locationName:"cidrBlockSet" locationNameList:"item" type:"list"`
105365
105366	// The IPv6 CIDR block for the VPC.
105367	Ipv6CidrBlockSet []*Ipv6CidrBlock `locationName:"ipv6CidrBlockSet" locationNameList:"item" type:"list"`
105368
105369	// The AWS account ID of the VPC owner.
105370	OwnerId *string `locationName:"ownerId" type:"string"`
105371
105372	// Information about the VPC peering connection options for the accepter or
105373	// requester VPC.
105374	PeeringOptions *VpcPeeringConnectionOptionsDescription `locationName:"peeringOptions" type:"structure"`
105375
105376	// The Region in which the VPC is located.
105377	Region *string `locationName:"region" type:"string"`
105378
105379	// The ID of the VPC.
105380	VpcId *string `locationName:"vpcId" type:"string"`
105381}
105382
105383// String returns the string representation
105384func (s VpcPeeringConnectionVpcInfo) String() string {
105385	return awsutil.Prettify(s)
105386}
105387
105388// GoString returns the string representation
105389func (s VpcPeeringConnectionVpcInfo) GoString() string {
105390	return s.String()
105391}
105392
105393// SetCidrBlock sets the CidrBlock field's value.
105394func (s *VpcPeeringConnectionVpcInfo) SetCidrBlock(v string) *VpcPeeringConnectionVpcInfo {
105395	s.CidrBlock = &v
105396	return s
105397}
105398
105399// SetCidrBlockSet sets the CidrBlockSet field's value.
105400func (s *VpcPeeringConnectionVpcInfo) SetCidrBlockSet(v []*CidrBlock) *VpcPeeringConnectionVpcInfo {
105401	s.CidrBlockSet = v
105402	return s
105403}
105404
105405// SetIpv6CidrBlockSet sets the Ipv6CidrBlockSet field's value.
105406func (s *VpcPeeringConnectionVpcInfo) SetIpv6CidrBlockSet(v []*Ipv6CidrBlock) *VpcPeeringConnectionVpcInfo {
105407	s.Ipv6CidrBlockSet = v
105408	return s
105409}
105410
105411// SetOwnerId sets the OwnerId field's value.
105412func (s *VpcPeeringConnectionVpcInfo) SetOwnerId(v string) *VpcPeeringConnectionVpcInfo {
105413	s.OwnerId = &v
105414	return s
105415}
105416
105417// SetPeeringOptions sets the PeeringOptions field's value.
105418func (s *VpcPeeringConnectionVpcInfo) SetPeeringOptions(v *VpcPeeringConnectionOptionsDescription) *VpcPeeringConnectionVpcInfo {
105419	s.PeeringOptions = v
105420	return s
105421}
105422
105423// SetRegion sets the Region field's value.
105424func (s *VpcPeeringConnectionVpcInfo) SetRegion(v string) *VpcPeeringConnectionVpcInfo {
105425	s.Region = &v
105426	return s
105427}
105428
105429// SetVpcId sets the VpcId field's value.
105430func (s *VpcPeeringConnectionVpcInfo) SetVpcId(v string) *VpcPeeringConnectionVpcInfo {
105431	s.VpcId = &v
105432	return s
105433}
105434
105435// Describes a VPN connection.
105436type VpnConnection struct {
105437	_ struct{} `type:"structure"`
105438
105439	// The category of the VPN connection. A value of VPN indicates an AWS VPN connection.
105440	// A value of VPN-Classic indicates an AWS Classic VPN connection.
105441	Category *string `locationName:"category" type:"string"`
105442
105443	// The configuration information for the VPN connection's customer gateway (in
105444	// the native XML format). This element is always present in the CreateVpnConnection
105445	// response; however, it's present in the DescribeVpnConnections response only
105446	// if the VPN connection is in the pending or available state.
105447	CustomerGatewayConfiguration *string `locationName:"customerGatewayConfiguration" type:"string"`
105448
105449	// The ID of the customer gateway at your end of the VPN connection.
105450	CustomerGatewayId *string `locationName:"customerGatewayId" type:"string"`
105451
105452	// The VPN connection options.
105453	Options *VpnConnectionOptions `locationName:"options" type:"structure"`
105454
105455	// The static routes associated with the VPN connection.
105456	Routes []*VpnStaticRoute `locationName:"routes" locationNameList:"item" type:"list"`
105457
105458	// The current state of the VPN connection.
105459	State *string `locationName:"state" type:"string" enum:"VpnState"`
105460
105461	// Any tags assigned to the VPN connection.
105462	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
105463
105464	// The ID of the transit gateway associated with the VPN connection.
105465	TransitGatewayId *string `locationName:"transitGatewayId" type:"string"`
105466
105467	// The type of VPN connection.
105468	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
105469
105470	// Information about the VPN tunnel.
105471	VgwTelemetry []*VgwTelemetry `locationName:"vgwTelemetry" locationNameList:"item" type:"list"`
105472
105473	// The ID of the VPN connection.
105474	VpnConnectionId *string `locationName:"vpnConnectionId" type:"string"`
105475
105476	// The ID of the virtual private gateway at the AWS side of the VPN connection.
105477	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
105478}
105479
105480// String returns the string representation
105481func (s VpnConnection) String() string {
105482	return awsutil.Prettify(s)
105483}
105484
105485// GoString returns the string representation
105486func (s VpnConnection) GoString() string {
105487	return s.String()
105488}
105489
105490// SetCategory sets the Category field's value.
105491func (s *VpnConnection) SetCategory(v string) *VpnConnection {
105492	s.Category = &v
105493	return s
105494}
105495
105496// SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
105497func (s *VpnConnection) SetCustomerGatewayConfiguration(v string) *VpnConnection {
105498	s.CustomerGatewayConfiguration = &v
105499	return s
105500}
105501
105502// SetCustomerGatewayId sets the CustomerGatewayId field's value.
105503func (s *VpnConnection) SetCustomerGatewayId(v string) *VpnConnection {
105504	s.CustomerGatewayId = &v
105505	return s
105506}
105507
105508// SetOptions sets the Options field's value.
105509func (s *VpnConnection) SetOptions(v *VpnConnectionOptions) *VpnConnection {
105510	s.Options = v
105511	return s
105512}
105513
105514// SetRoutes sets the Routes field's value.
105515func (s *VpnConnection) SetRoutes(v []*VpnStaticRoute) *VpnConnection {
105516	s.Routes = v
105517	return s
105518}
105519
105520// SetState sets the State field's value.
105521func (s *VpnConnection) SetState(v string) *VpnConnection {
105522	s.State = &v
105523	return s
105524}
105525
105526// SetTags sets the Tags field's value.
105527func (s *VpnConnection) SetTags(v []*Tag) *VpnConnection {
105528	s.Tags = v
105529	return s
105530}
105531
105532// SetTransitGatewayId sets the TransitGatewayId field's value.
105533func (s *VpnConnection) SetTransitGatewayId(v string) *VpnConnection {
105534	s.TransitGatewayId = &v
105535	return s
105536}
105537
105538// SetType sets the Type field's value.
105539func (s *VpnConnection) SetType(v string) *VpnConnection {
105540	s.Type = &v
105541	return s
105542}
105543
105544// SetVgwTelemetry sets the VgwTelemetry field's value.
105545func (s *VpnConnection) SetVgwTelemetry(v []*VgwTelemetry) *VpnConnection {
105546	s.VgwTelemetry = v
105547	return s
105548}
105549
105550// SetVpnConnectionId sets the VpnConnectionId field's value.
105551func (s *VpnConnection) SetVpnConnectionId(v string) *VpnConnection {
105552	s.VpnConnectionId = &v
105553	return s
105554}
105555
105556// SetVpnGatewayId sets the VpnGatewayId field's value.
105557func (s *VpnConnection) SetVpnGatewayId(v string) *VpnConnection {
105558	s.VpnGatewayId = &v
105559	return s
105560}
105561
105562// Describes VPN connection options.
105563type VpnConnectionOptions struct {
105564	_ struct{} `type:"structure"`
105565
105566	// Indicates whether acceleration is enabled for the VPN connection.
105567	EnableAcceleration *bool `locationName:"enableAcceleration" type:"boolean"`
105568
105569	// Indicates whether the VPN connection uses static routes only. Static routes
105570	// must be used for devices that don't support BGP.
105571	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
105572
105573	// Indicates the VPN tunnel options.
105574	TunnelOptions []*TunnelOption `locationName:"tunnelOptionSet" locationNameList:"item" type:"list"`
105575}
105576
105577// String returns the string representation
105578func (s VpnConnectionOptions) String() string {
105579	return awsutil.Prettify(s)
105580}
105581
105582// GoString returns the string representation
105583func (s VpnConnectionOptions) GoString() string {
105584	return s.String()
105585}
105586
105587// SetEnableAcceleration sets the EnableAcceleration field's value.
105588func (s *VpnConnectionOptions) SetEnableAcceleration(v bool) *VpnConnectionOptions {
105589	s.EnableAcceleration = &v
105590	return s
105591}
105592
105593// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
105594func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions {
105595	s.StaticRoutesOnly = &v
105596	return s
105597}
105598
105599// SetTunnelOptions sets the TunnelOptions field's value.
105600func (s *VpnConnectionOptions) SetTunnelOptions(v []*TunnelOption) *VpnConnectionOptions {
105601	s.TunnelOptions = v
105602	return s
105603}
105604
105605// Describes VPN connection options.
105606type VpnConnectionOptionsSpecification struct {
105607	_ struct{} `type:"structure"`
105608
105609	// Indicate whether to enable acceleration for the VPN connection.
105610	//
105611	// Default: false
105612	EnableAcceleration *bool `type:"boolean"`
105613
105614	// Indicate whether the VPN connection uses static routes only. If you are creating
105615	// a VPN connection for a device that does not support BGP, you must specify
105616	// true. Use CreateVpnConnectionRoute to create a static route.
105617	//
105618	// Default: false
105619	StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"`
105620
105621	// The tunnel options for the VPN connection.
105622	TunnelOptions []*VpnTunnelOptionsSpecification `type:"list"`
105623}
105624
105625// String returns the string representation
105626func (s VpnConnectionOptionsSpecification) String() string {
105627	return awsutil.Prettify(s)
105628}
105629
105630// GoString returns the string representation
105631func (s VpnConnectionOptionsSpecification) GoString() string {
105632	return s.String()
105633}
105634
105635// SetEnableAcceleration sets the EnableAcceleration field's value.
105636func (s *VpnConnectionOptionsSpecification) SetEnableAcceleration(v bool) *VpnConnectionOptionsSpecification {
105637	s.EnableAcceleration = &v
105638	return s
105639}
105640
105641// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
105642func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConnectionOptionsSpecification {
105643	s.StaticRoutesOnly = &v
105644	return s
105645}
105646
105647// SetTunnelOptions sets the TunnelOptions field's value.
105648func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification {
105649	s.TunnelOptions = v
105650	return s
105651}
105652
105653// Describes a virtual private gateway.
105654type VpnGateway struct {
105655	_ struct{} `type:"structure"`
105656
105657	// The private Autonomous System Number (ASN) for the Amazon side of a BGP session.
105658	AmazonSideAsn *int64 `locationName:"amazonSideAsn" type:"long"`
105659
105660	// The Availability Zone where the virtual private gateway was created, if applicable.
105661	// This field may be empty or not returned.
105662	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
105663
105664	// The current state of the virtual private gateway.
105665	State *string `locationName:"state" type:"string" enum:"VpnState"`
105666
105667	// Any tags assigned to the virtual private gateway.
105668	Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"`
105669
105670	// The type of VPN connection the virtual private gateway supports.
105671	Type *string `locationName:"type" type:"string" enum:"GatewayType"`
105672
105673	// Any VPCs attached to the virtual private gateway.
105674	VpcAttachments []*VpcAttachment `locationName:"attachments" locationNameList:"item" type:"list"`
105675
105676	// The ID of the virtual private gateway.
105677	VpnGatewayId *string `locationName:"vpnGatewayId" type:"string"`
105678}
105679
105680// String returns the string representation
105681func (s VpnGateway) String() string {
105682	return awsutil.Prettify(s)
105683}
105684
105685// GoString returns the string representation
105686func (s VpnGateway) GoString() string {
105687	return s.String()
105688}
105689
105690// SetAmazonSideAsn sets the AmazonSideAsn field's value.
105691func (s *VpnGateway) SetAmazonSideAsn(v int64) *VpnGateway {
105692	s.AmazonSideAsn = &v
105693	return s
105694}
105695
105696// SetAvailabilityZone sets the AvailabilityZone field's value.
105697func (s *VpnGateway) SetAvailabilityZone(v string) *VpnGateway {
105698	s.AvailabilityZone = &v
105699	return s
105700}
105701
105702// SetState sets the State field's value.
105703func (s *VpnGateway) SetState(v string) *VpnGateway {
105704	s.State = &v
105705	return s
105706}
105707
105708// SetTags sets the Tags field's value.
105709func (s *VpnGateway) SetTags(v []*Tag) *VpnGateway {
105710	s.Tags = v
105711	return s
105712}
105713
105714// SetType sets the Type field's value.
105715func (s *VpnGateway) SetType(v string) *VpnGateway {
105716	s.Type = &v
105717	return s
105718}
105719
105720// SetVpcAttachments sets the VpcAttachments field's value.
105721func (s *VpnGateway) SetVpcAttachments(v []*VpcAttachment) *VpnGateway {
105722	s.VpcAttachments = v
105723	return s
105724}
105725
105726// SetVpnGatewayId sets the VpnGatewayId field's value.
105727func (s *VpnGateway) SetVpnGatewayId(v string) *VpnGateway {
105728	s.VpnGatewayId = &v
105729	return s
105730}
105731
105732// Describes a static route for a VPN connection.
105733type VpnStaticRoute struct {
105734	_ struct{} `type:"structure"`
105735
105736	// The CIDR block associated with the local subnet of the customer data center.
105737	DestinationCidrBlock *string `locationName:"destinationCidrBlock" type:"string"`
105738
105739	// Indicates how the routes were provided.
105740	Source *string `locationName:"source" type:"string" enum:"VpnStaticRouteSource"`
105741
105742	// The current state of the static route.
105743	State *string `locationName:"state" type:"string" enum:"VpnState"`
105744}
105745
105746// String returns the string representation
105747func (s VpnStaticRoute) String() string {
105748	return awsutil.Prettify(s)
105749}
105750
105751// GoString returns the string representation
105752func (s VpnStaticRoute) GoString() string {
105753	return s.String()
105754}
105755
105756// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
105757func (s *VpnStaticRoute) SetDestinationCidrBlock(v string) *VpnStaticRoute {
105758	s.DestinationCidrBlock = &v
105759	return s
105760}
105761
105762// SetSource sets the Source field's value.
105763func (s *VpnStaticRoute) SetSource(v string) *VpnStaticRoute {
105764	s.Source = &v
105765	return s
105766}
105767
105768// SetState sets the State field's value.
105769func (s *VpnStaticRoute) SetState(v string) *VpnStaticRoute {
105770	s.State = &v
105771	return s
105772}
105773
105774// The tunnel options for a VPN connection.
105775type VpnTunnelOptionsSpecification struct {
105776	_ struct{} `type:"structure"`
105777
105778	// The number of seconds after which a DPD timeout occurs.
105779	//
105780	// Constraints: A value between 0 and 30.
105781	//
105782	// Default: 30
105783	DPDTimeoutSeconds *int64 `type:"integer"`
105784
105785	// The IKE versions that are permitted for the VPN tunnel.
105786	//
105787	// Valid values: ikev1 | ikev2
105788	IKEVersions []*IKEVersionsRequestListValue `locationName:"IKEVersion" locationNameList:"item" type:"list"`
105789
105790	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
105791	// for phase 1 IKE negotiations.
105792	//
105793	// Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
105794	Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"`
105795
105796	// One or more encryption algorithms that are permitted for the VPN tunnel for
105797	// phase 1 IKE negotiations.
105798	//
105799	// Valid values: AES128 | AES256
105800	Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"`
105801
105802	// One or more integrity algorithms that are permitted for the VPN tunnel for
105803	// phase 1 IKE negotiations.
105804	//
105805	// Valid values: SHA1 | SHA2-256
105806	Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"`
105807
105808	// The lifetime for phase 1 of the IKE negotiation, in seconds.
105809	//
105810	// Constraints: A value between 900 and 28,800.
105811	//
105812	// Default: 28800
105813	Phase1LifetimeSeconds *int64 `type:"integer"`
105814
105815	// One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel
105816	// for phase 2 IKE negotiations.
105817	//
105818	// Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24
105819	Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"`
105820
105821	// One or more encryption algorithms that are permitted for the VPN tunnel for
105822	// phase 2 IKE negotiations.
105823	//
105824	// Valid values: AES128 | AES256
105825	Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"`
105826
105827	// One or more integrity algorithms that are permitted for the VPN tunnel for
105828	// phase 2 IKE negotiations.
105829	//
105830	// Valid values: SHA1 | SHA2-256
105831	Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"`
105832
105833	// The lifetime for phase 2 of the IKE negotiation, in seconds.
105834	//
105835	// Constraints: A value between 900 and 3,600. The value must be less than the
105836	// value for Phase1LifetimeSeconds.
105837	//
105838	// Default: 3600
105839	Phase2LifetimeSeconds *int64 `type:"integer"`
105840
105841	// The pre-shared key (PSK) to establish initial authentication between the
105842	// virtual private gateway and customer gateway.
105843	//
105844	// Constraints: Allowed characters are alphanumeric characters, periods (.),
105845	// and underscores (_). Must be between 8 and 64 characters in length and cannot
105846	// start with zero (0).
105847	PreSharedKey *string `type:"string"`
105848
105849	// The percentage of the rekey window (determined by RekeyMarginTimeSeconds)
105850	// during which the rekey time is randomly selected.
105851	//
105852	// Constraints: A value between 0 and 100.
105853	//
105854	// Default: 100
105855	RekeyFuzzPercentage *int64 `type:"integer"`
105856
105857	// The margin time, in seconds, before the phase 2 lifetime expires, during
105858	// which the AWS side of the VPN connection performs an IKE rekey. The exact
105859	// time of the rekey is randomly selected based on the value for RekeyFuzzPercentage.
105860	//
105861	// Constraints: A value between 60 and half of Phase2LifetimeSeconds.
105862	//
105863	// Default: 540
105864	RekeyMarginTimeSeconds *int64 `type:"integer"`
105865
105866	// The number of packets in an IKE replay window.
105867	//
105868	// Constraints: A value between 64 and 2048.
105869	//
105870	// Default: 1024
105871	ReplayWindowSize *int64 `type:"integer"`
105872
105873	// The range of inside IP addresses for the tunnel. Any specified CIDR blocks
105874	// must be unique across all VPN connections that use the same virtual private
105875	// gateway.
105876	//
105877	// Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following
105878	// CIDR blocks are reserved and cannot be used:
105879	//
105880	//    * 169.254.0.0/30
105881	//
105882	//    * 169.254.1.0/30
105883	//
105884	//    * 169.254.2.0/30
105885	//
105886	//    * 169.254.3.0/30
105887	//
105888	//    * 169.254.4.0/30
105889	//
105890	//    * 169.254.5.0/30
105891	//
105892	//    * 169.254.169.252/30
105893	TunnelInsideCidr *string `type:"string"`
105894}
105895
105896// String returns the string representation
105897func (s VpnTunnelOptionsSpecification) String() string {
105898	return awsutil.Prettify(s)
105899}
105900
105901// GoString returns the string representation
105902func (s VpnTunnelOptionsSpecification) GoString() string {
105903	return s.String()
105904}
105905
105906// SetDPDTimeoutSeconds sets the DPDTimeoutSeconds field's value.
105907func (s *VpnTunnelOptionsSpecification) SetDPDTimeoutSeconds(v int64) *VpnTunnelOptionsSpecification {
105908	s.DPDTimeoutSeconds = &v
105909	return s
105910}
105911
105912// SetIKEVersions sets the IKEVersions field's value.
105913func (s *VpnTunnelOptionsSpecification) SetIKEVersions(v []*IKEVersionsRequestListValue) *VpnTunnelOptionsSpecification {
105914	s.IKEVersions = v
105915	return s
105916}
105917
105918// SetPhase1DHGroupNumbers sets the Phase1DHGroupNumbers field's value.
105919func (s *VpnTunnelOptionsSpecification) SetPhase1DHGroupNumbers(v []*Phase1DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
105920	s.Phase1DHGroupNumbers = v
105921	return s
105922}
105923
105924// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
105925func (s *VpnTunnelOptionsSpecification) SetPhase1EncryptionAlgorithms(v []*Phase1EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
105926	s.Phase1EncryptionAlgorithms = v
105927	return s
105928}
105929
105930// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
105931func (s *VpnTunnelOptionsSpecification) SetPhase1IntegrityAlgorithms(v []*Phase1IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
105932	s.Phase1IntegrityAlgorithms = v
105933	return s
105934}
105935
105936// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
105937func (s *VpnTunnelOptionsSpecification) SetPhase1LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
105938	s.Phase1LifetimeSeconds = &v
105939	return s
105940}
105941
105942// SetPhase2DHGroupNumbers sets the Phase2DHGroupNumbers field's value.
105943func (s *VpnTunnelOptionsSpecification) SetPhase2DHGroupNumbers(v []*Phase2DHGroupNumbersRequestListValue) *VpnTunnelOptionsSpecification {
105944	s.Phase2DHGroupNumbers = v
105945	return s
105946}
105947
105948// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
105949func (s *VpnTunnelOptionsSpecification) SetPhase2EncryptionAlgorithms(v []*Phase2EncryptionAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
105950	s.Phase2EncryptionAlgorithms = v
105951	return s
105952}
105953
105954// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
105955func (s *VpnTunnelOptionsSpecification) SetPhase2IntegrityAlgorithms(v []*Phase2IntegrityAlgorithmsRequestListValue) *VpnTunnelOptionsSpecification {
105956	s.Phase2IntegrityAlgorithms = v
105957	return s
105958}
105959
105960// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
105961func (s *VpnTunnelOptionsSpecification) SetPhase2LifetimeSeconds(v int64) *VpnTunnelOptionsSpecification {
105962	s.Phase2LifetimeSeconds = &v
105963	return s
105964}
105965
105966// SetPreSharedKey sets the PreSharedKey field's value.
105967func (s *VpnTunnelOptionsSpecification) SetPreSharedKey(v string) *VpnTunnelOptionsSpecification {
105968	s.PreSharedKey = &v
105969	return s
105970}
105971
105972// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
105973func (s *VpnTunnelOptionsSpecification) SetRekeyFuzzPercentage(v int64) *VpnTunnelOptionsSpecification {
105974	s.RekeyFuzzPercentage = &v
105975	return s
105976}
105977
105978// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
105979func (s *VpnTunnelOptionsSpecification) SetRekeyMarginTimeSeconds(v int64) *VpnTunnelOptionsSpecification {
105980	s.RekeyMarginTimeSeconds = &v
105981	return s
105982}
105983
105984// SetReplayWindowSize sets the ReplayWindowSize field's value.
105985func (s *VpnTunnelOptionsSpecification) SetReplayWindowSize(v int64) *VpnTunnelOptionsSpecification {
105986	s.ReplayWindowSize = &v
105987	return s
105988}
105989
105990// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
105991func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnelOptionsSpecification {
105992	s.TunnelInsideCidr = &v
105993	return s
105994}
105995
105996type WithdrawByoipCidrInput struct {
105997	_ struct{} `type:"structure"`
105998
105999	// The public IPv4 address range, in CIDR notation.
106000	//
106001	// Cidr is a required field
106002	Cidr *string `type:"string" required:"true"`
106003
106004	// Checks whether you have the required permissions for the action, without
106005	// actually making the request, and provides an error response. If you have
106006	// the required permissions, the error response is DryRunOperation. Otherwise,
106007	// it is UnauthorizedOperation.
106008	DryRun *bool `type:"boolean"`
106009}
106010
106011// String returns the string representation
106012func (s WithdrawByoipCidrInput) String() string {
106013	return awsutil.Prettify(s)
106014}
106015
106016// GoString returns the string representation
106017func (s WithdrawByoipCidrInput) GoString() string {
106018	return s.String()
106019}
106020
106021// Validate inspects the fields of the type to determine if they are valid.
106022func (s *WithdrawByoipCidrInput) Validate() error {
106023	invalidParams := request.ErrInvalidParams{Context: "WithdrawByoipCidrInput"}
106024	if s.Cidr == nil {
106025		invalidParams.Add(request.NewErrParamRequired("Cidr"))
106026	}
106027
106028	if invalidParams.Len() > 0 {
106029		return invalidParams
106030	}
106031	return nil
106032}
106033
106034// SetCidr sets the Cidr field's value.
106035func (s *WithdrawByoipCidrInput) SetCidr(v string) *WithdrawByoipCidrInput {
106036	s.Cidr = &v
106037	return s
106038}
106039
106040// SetDryRun sets the DryRun field's value.
106041func (s *WithdrawByoipCidrInput) SetDryRun(v bool) *WithdrawByoipCidrInput {
106042	s.DryRun = &v
106043	return s
106044}
106045
106046type WithdrawByoipCidrOutput struct {
106047	_ struct{} `type:"structure"`
106048
106049	// Information about the address pool.
106050	ByoipCidr *ByoipCidr `locationName:"byoipCidr" type:"structure"`
106051}
106052
106053// String returns the string representation
106054func (s WithdrawByoipCidrOutput) String() string {
106055	return awsutil.Prettify(s)
106056}
106057
106058// GoString returns the string representation
106059func (s WithdrawByoipCidrOutput) GoString() string {
106060	return s.String()
106061}
106062
106063// SetByoipCidr sets the ByoipCidr field's value.
106064func (s *WithdrawByoipCidrOutput) SetByoipCidr(v *ByoipCidr) *WithdrawByoipCidrOutput {
106065	s.ByoipCidr = v
106066	return s
106067}
106068
106069const (
106070	// AccountAttributeNameSupportedPlatforms is a AccountAttributeName enum value
106071	AccountAttributeNameSupportedPlatforms = "supported-platforms"
106072
106073	// AccountAttributeNameDefaultVpc is a AccountAttributeName enum value
106074	AccountAttributeNameDefaultVpc = "default-vpc"
106075)
106076
106077const (
106078	// ActivityStatusError is a ActivityStatus enum value
106079	ActivityStatusError = "error"
106080
106081	// ActivityStatusPendingFulfillment is a ActivityStatus enum value
106082	ActivityStatusPendingFulfillment = "pending_fulfillment"
106083
106084	// ActivityStatusPendingTermination is a ActivityStatus enum value
106085	ActivityStatusPendingTermination = "pending_termination"
106086
106087	// ActivityStatusFulfilled is a ActivityStatus enum value
106088	ActivityStatusFulfilled = "fulfilled"
106089)
106090
106091const (
106092	// AffinityDefault is a Affinity enum value
106093	AffinityDefault = "default"
106094
106095	// AffinityHost is a Affinity enum value
106096	AffinityHost = "host"
106097)
106098
106099const (
106100	// AllocationStateAvailable is a AllocationState enum value
106101	AllocationStateAvailable = "available"
106102
106103	// AllocationStateUnderAssessment is a AllocationState enum value
106104	AllocationStateUnderAssessment = "under-assessment"
106105
106106	// AllocationStatePermanentFailure is a AllocationState enum value
106107	AllocationStatePermanentFailure = "permanent-failure"
106108
106109	// AllocationStateReleased is a AllocationState enum value
106110	AllocationStateReleased = "released"
106111
106112	// AllocationStateReleasedPermanentFailure is a AllocationState enum value
106113	AllocationStateReleasedPermanentFailure = "released-permanent-failure"
106114
106115	// AllocationStatePending is a AllocationState enum value
106116	AllocationStatePending = "pending"
106117)
106118
106119const (
106120	// AllocationStrategyLowestPrice is a AllocationStrategy enum value
106121	AllocationStrategyLowestPrice = "lowestPrice"
106122
106123	// AllocationStrategyDiversified is a AllocationStrategy enum value
106124	AllocationStrategyDiversified = "diversified"
106125
106126	// AllocationStrategyCapacityOptimized is a AllocationStrategy enum value
106127	AllocationStrategyCapacityOptimized = "capacityOptimized"
106128)
106129
106130const (
106131	// AllowsMultipleInstanceTypesOn is a AllowsMultipleInstanceTypes enum value
106132	AllowsMultipleInstanceTypesOn = "on"
106133
106134	// AllowsMultipleInstanceTypesOff is a AllowsMultipleInstanceTypes enum value
106135	AllowsMultipleInstanceTypesOff = "off"
106136)
106137
106138const (
106139	// ArchitectureTypeI386 is a ArchitectureType enum value
106140	ArchitectureTypeI386 = "i386"
106141
106142	// ArchitectureTypeX8664 is a ArchitectureType enum value
106143	ArchitectureTypeX8664 = "x86_64"
106144
106145	// ArchitectureTypeArm64 is a ArchitectureType enum value
106146	ArchitectureTypeArm64 = "arm64"
106147)
106148
106149const (
106150	// ArchitectureValuesI386 is a ArchitectureValues enum value
106151	ArchitectureValuesI386 = "i386"
106152
106153	// ArchitectureValuesX8664 is a ArchitectureValues enum value
106154	ArchitectureValuesX8664 = "x86_64"
106155
106156	// ArchitectureValuesArm64 is a ArchitectureValues enum value
106157	ArchitectureValuesArm64 = "arm64"
106158)
106159
106160const (
106161	// AssociatedNetworkTypeVpc is a AssociatedNetworkType enum value
106162	AssociatedNetworkTypeVpc = "vpc"
106163)
106164
106165const (
106166	// AssociationStatusCodeAssociating is a AssociationStatusCode enum value
106167	AssociationStatusCodeAssociating = "associating"
106168
106169	// AssociationStatusCodeAssociated is a AssociationStatusCode enum value
106170	AssociationStatusCodeAssociated = "associated"
106171
106172	// AssociationStatusCodeAssociationFailed is a AssociationStatusCode enum value
106173	AssociationStatusCodeAssociationFailed = "association-failed"
106174
106175	// AssociationStatusCodeDisassociating is a AssociationStatusCode enum value
106176	AssociationStatusCodeDisassociating = "disassociating"
106177
106178	// AssociationStatusCodeDisassociated is a AssociationStatusCode enum value
106179	AssociationStatusCodeDisassociated = "disassociated"
106180)
106181
106182const (
106183	// AttachmentStatusAttaching is a AttachmentStatus enum value
106184	AttachmentStatusAttaching = "attaching"
106185
106186	// AttachmentStatusAttached is a AttachmentStatus enum value
106187	AttachmentStatusAttached = "attached"
106188
106189	// AttachmentStatusDetaching is a AttachmentStatus enum value
106190	AttachmentStatusDetaching = "detaching"
106191
106192	// AttachmentStatusDetached is a AttachmentStatus enum value
106193	AttachmentStatusDetached = "detached"
106194)
106195
106196const (
106197	// AutoAcceptSharedAttachmentsValueEnable is a AutoAcceptSharedAttachmentsValue enum value
106198	AutoAcceptSharedAttachmentsValueEnable = "enable"
106199
106200	// AutoAcceptSharedAttachmentsValueDisable is a AutoAcceptSharedAttachmentsValue enum value
106201	AutoAcceptSharedAttachmentsValueDisable = "disable"
106202)
106203
106204const (
106205	// AutoPlacementOn is a AutoPlacement enum value
106206	AutoPlacementOn = "on"
106207
106208	// AutoPlacementOff is a AutoPlacement enum value
106209	AutoPlacementOff = "off"
106210)
106211
106212const (
106213	// AvailabilityZoneOptInStatusOptInNotRequired is a AvailabilityZoneOptInStatus enum value
106214	AvailabilityZoneOptInStatusOptInNotRequired = "opt-in-not-required"
106215
106216	// AvailabilityZoneOptInStatusOptedIn is a AvailabilityZoneOptInStatus enum value
106217	AvailabilityZoneOptInStatusOptedIn = "opted-in"
106218
106219	// AvailabilityZoneOptInStatusNotOptedIn is a AvailabilityZoneOptInStatus enum value
106220	AvailabilityZoneOptInStatusNotOptedIn = "not-opted-in"
106221)
106222
106223const (
106224	// AvailabilityZoneStateAvailable is a AvailabilityZoneState enum value
106225	AvailabilityZoneStateAvailable = "available"
106226
106227	// AvailabilityZoneStateInformation is a AvailabilityZoneState enum value
106228	AvailabilityZoneStateInformation = "information"
106229
106230	// AvailabilityZoneStateImpaired is a AvailabilityZoneState enum value
106231	AvailabilityZoneStateImpaired = "impaired"
106232
106233	// AvailabilityZoneStateUnavailable is a AvailabilityZoneState enum value
106234	AvailabilityZoneStateUnavailable = "unavailable"
106235)
106236
106237const (
106238	// BatchStateSubmitted is a BatchState enum value
106239	BatchStateSubmitted = "submitted"
106240
106241	// BatchStateActive is a BatchState enum value
106242	BatchStateActive = "active"
106243
106244	// BatchStateCancelled is a BatchState enum value
106245	BatchStateCancelled = "cancelled"
106246
106247	// BatchStateFailed is a BatchState enum value
106248	BatchStateFailed = "failed"
106249
106250	// BatchStateCancelledRunning is a BatchState enum value
106251	BatchStateCancelledRunning = "cancelled_running"
106252
106253	// BatchStateCancelledTerminating is a BatchState enum value
106254	BatchStateCancelledTerminating = "cancelled_terminating"
106255
106256	// BatchStateModifying is a BatchState enum value
106257	BatchStateModifying = "modifying"
106258)
106259
106260const (
106261	// BundleTaskStatePending is a BundleTaskState enum value
106262	BundleTaskStatePending = "pending"
106263
106264	// BundleTaskStateWaitingForShutdown is a BundleTaskState enum value
106265	BundleTaskStateWaitingForShutdown = "waiting-for-shutdown"
106266
106267	// BundleTaskStateBundling is a BundleTaskState enum value
106268	BundleTaskStateBundling = "bundling"
106269
106270	// BundleTaskStateStoring is a BundleTaskState enum value
106271	BundleTaskStateStoring = "storing"
106272
106273	// BundleTaskStateCancelling is a BundleTaskState enum value
106274	BundleTaskStateCancelling = "cancelling"
106275
106276	// BundleTaskStateComplete is a BundleTaskState enum value
106277	BundleTaskStateComplete = "complete"
106278
106279	// BundleTaskStateFailed is a BundleTaskState enum value
106280	BundleTaskStateFailed = "failed"
106281)
106282
106283const (
106284	// ByoipCidrStateAdvertised is a ByoipCidrState enum value
106285	ByoipCidrStateAdvertised = "advertised"
106286
106287	// ByoipCidrStateDeprovisioned is a ByoipCidrState enum value
106288	ByoipCidrStateDeprovisioned = "deprovisioned"
106289
106290	// ByoipCidrStateFailedDeprovision is a ByoipCidrState enum value
106291	ByoipCidrStateFailedDeprovision = "failed-deprovision"
106292
106293	// ByoipCidrStateFailedProvision is a ByoipCidrState enum value
106294	ByoipCidrStateFailedProvision = "failed-provision"
106295
106296	// ByoipCidrStatePendingDeprovision is a ByoipCidrState enum value
106297	ByoipCidrStatePendingDeprovision = "pending-deprovision"
106298
106299	// ByoipCidrStatePendingProvision is a ByoipCidrState enum value
106300	ByoipCidrStatePendingProvision = "pending-provision"
106301
106302	// ByoipCidrStateProvisioned is a ByoipCidrState enum value
106303	ByoipCidrStateProvisioned = "provisioned"
106304)
106305
106306const (
106307	// CancelBatchErrorCodeFleetRequestIdDoesNotExist is a CancelBatchErrorCode enum value
106308	CancelBatchErrorCodeFleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
106309
106310	// CancelBatchErrorCodeFleetRequestIdMalformed is a CancelBatchErrorCode enum value
106311	CancelBatchErrorCodeFleetRequestIdMalformed = "fleetRequestIdMalformed"
106312
106313	// CancelBatchErrorCodeFleetRequestNotInCancellableState is a CancelBatchErrorCode enum value
106314	CancelBatchErrorCodeFleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
106315
106316	// CancelBatchErrorCodeUnexpectedError is a CancelBatchErrorCode enum value
106317	CancelBatchErrorCodeUnexpectedError = "unexpectedError"
106318)
106319
106320const (
106321	// CancelSpotInstanceRequestStateActive is a CancelSpotInstanceRequestState enum value
106322	CancelSpotInstanceRequestStateActive = "active"
106323
106324	// CancelSpotInstanceRequestStateOpen is a CancelSpotInstanceRequestState enum value
106325	CancelSpotInstanceRequestStateOpen = "open"
106326
106327	// CancelSpotInstanceRequestStateClosed is a CancelSpotInstanceRequestState enum value
106328	CancelSpotInstanceRequestStateClosed = "closed"
106329
106330	// CancelSpotInstanceRequestStateCancelled is a CancelSpotInstanceRequestState enum value
106331	CancelSpotInstanceRequestStateCancelled = "cancelled"
106332
106333	// CancelSpotInstanceRequestStateCompleted is a CancelSpotInstanceRequestState enum value
106334	CancelSpotInstanceRequestStateCompleted = "completed"
106335)
106336
106337const (
106338	// CapacityReservationInstancePlatformLinuxUnix is a CapacityReservationInstancePlatform enum value
106339	CapacityReservationInstancePlatformLinuxUnix = "Linux/UNIX"
106340
106341	// CapacityReservationInstancePlatformRedHatEnterpriseLinux is a CapacityReservationInstancePlatform enum value
106342	CapacityReservationInstancePlatformRedHatEnterpriseLinux = "Red Hat Enterprise Linux"
106343
106344	// CapacityReservationInstancePlatformSuselinux is a CapacityReservationInstancePlatform enum value
106345	CapacityReservationInstancePlatformSuselinux = "SUSE Linux"
106346
106347	// CapacityReservationInstancePlatformWindows is a CapacityReservationInstancePlatform enum value
106348	CapacityReservationInstancePlatformWindows = "Windows"
106349
106350	// CapacityReservationInstancePlatformWindowswithSqlserver is a CapacityReservationInstancePlatform enum value
106351	CapacityReservationInstancePlatformWindowswithSqlserver = "Windows with SQL Server"
106352
106353	// CapacityReservationInstancePlatformWindowswithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
106354	CapacityReservationInstancePlatformWindowswithSqlserverEnterprise = "Windows with SQL Server Enterprise"
106355
106356	// CapacityReservationInstancePlatformWindowswithSqlserverStandard is a CapacityReservationInstancePlatform enum value
106357	CapacityReservationInstancePlatformWindowswithSqlserverStandard = "Windows with SQL Server Standard"
106358
106359	// CapacityReservationInstancePlatformWindowswithSqlserverWeb is a CapacityReservationInstancePlatform enum value
106360	CapacityReservationInstancePlatformWindowswithSqlserverWeb = "Windows with SQL Server Web"
106361
106362	// CapacityReservationInstancePlatformLinuxwithSqlserverStandard is a CapacityReservationInstancePlatform enum value
106363	CapacityReservationInstancePlatformLinuxwithSqlserverStandard = "Linux with SQL Server Standard"
106364
106365	// CapacityReservationInstancePlatformLinuxwithSqlserverWeb is a CapacityReservationInstancePlatform enum value
106366	CapacityReservationInstancePlatformLinuxwithSqlserverWeb = "Linux with SQL Server Web"
106367
106368	// CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value
106369	CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise"
106370)
106371
106372const (
106373	// CapacityReservationPreferenceOpen is a CapacityReservationPreference enum value
106374	CapacityReservationPreferenceOpen = "open"
106375
106376	// CapacityReservationPreferenceNone is a CapacityReservationPreference enum value
106377	CapacityReservationPreferenceNone = "none"
106378)
106379
106380const (
106381	// CapacityReservationStateActive is a CapacityReservationState enum value
106382	CapacityReservationStateActive = "active"
106383
106384	// CapacityReservationStateExpired is a CapacityReservationState enum value
106385	CapacityReservationStateExpired = "expired"
106386
106387	// CapacityReservationStateCancelled is a CapacityReservationState enum value
106388	CapacityReservationStateCancelled = "cancelled"
106389
106390	// CapacityReservationStatePending is a CapacityReservationState enum value
106391	CapacityReservationStatePending = "pending"
106392
106393	// CapacityReservationStateFailed is a CapacityReservationState enum value
106394	CapacityReservationStateFailed = "failed"
106395)
106396
106397const (
106398	// CapacityReservationTenancyDefault is a CapacityReservationTenancy enum value
106399	CapacityReservationTenancyDefault = "default"
106400
106401	// CapacityReservationTenancyDedicated is a CapacityReservationTenancy enum value
106402	CapacityReservationTenancyDedicated = "dedicated"
106403)
106404
106405const (
106406	// ClientCertificateRevocationListStatusCodePending is a ClientCertificateRevocationListStatusCode enum value
106407	ClientCertificateRevocationListStatusCodePending = "pending"
106408
106409	// ClientCertificateRevocationListStatusCodeActive is a ClientCertificateRevocationListStatusCode enum value
106410	ClientCertificateRevocationListStatusCodeActive = "active"
106411)
106412
106413const (
106414	// ClientVpnAuthenticationTypeCertificateAuthentication is a ClientVpnAuthenticationType enum value
106415	ClientVpnAuthenticationTypeCertificateAuthentication = "certificate-authentication"
106416
106417	// ClientVpnAuthenticationTypeDirectoryServiceAuthentication is a ClientVpnAuthenticationType enum value
106418	ClientVpnAuthenticationTypeDirectoryServiceAuthentication = "directory-service-authentication"
106419)
106420
106421const (
106422	// ClientVpnAuthorizationRuleStatusCodeAuthorizing is a ClientVpnAuthorizationRuleStatusCode enum value
106423	ClientVpnAuthorizationRuleStatusCodeAuthorizing = "authorizing"
106424
106425	// ClientVpnAuthorizationRuleStatusCodeActive is a ClientVpnAuthorizationRuleStatusCode enum value
106426	ClientVpnAuthorizationRuleStatusCodeActive = "active"
106427
106428	// ClientVpnAuthorizationRuleStatusCodeFailed is a ClientVpnAuthorizationRuleStatusCode enum value
106429	ClientVpnAuthorizationRuleStatusCodeFailed = "failed"
106430
106431	// ClientVpnAuthorizationRuleStatusCodeRevoking is a ClientVpnAuthorizationRuleStatusCode enum value
106432	ClientVpnAuthorizationRuleStatusCodeRevoking = "revoking"
106433)
106434
106435const (
106436	// ClientVpnConnectionStatusCodeActive is a ClientVpnConnectionStatusCode enum value
106437	ClientVpnConnectionStatusCodeActive = "active"
106438
106439	// ClientVpnConnectionStatusCodeFailedToTerminate is a ClientVpnConnectionStatusCode enum value
106440	ClientVpnConnectionStatusCodeFailedToTerminate = "failed-to-terminate"
106441
106442	// ClientVpnConnectionStatusCodeTerminating is a ClientVpnConnectionStatusCode enum value
106443	ClientVpnConnectionStatusCodeTerminating = "terminating"
106444
106445	// ClientVpnConnectionStatusCodeTerminated is a ClientVpnConnectionStatusCode enum value
106446	ClientVpnConnectionStatusCodeTerminated = "terminated"
106447)
106448
106449const (
106450	// ClientVpnEndpointStatusCodePendingAssociate is a ClientVpnEndpointStatusCode enum value
106451	ClientVpnEndpointStatusCodePendingAssociate = "pending-associate"
106452
106453	// ClientVpnEndpointStatusCodeAvailable is a ClientVpnEndpointStatusCode enum value
106454	ClientVpnEndpointStatusCodeAvailable = "available"
106455
106456	// ClientVpnEndpointStatusCodeDeleting is a ClientVpnEndpointStatusCode enum value
106457	ClientVpnEndpointStatusCodeDeleting = "deleting"
106458
106459	// ClientVpnEndpointStatusCodeDeleted is a ClientVpnEndpointStatusCode enum value
106460	ClientVpnEndpointStatusCodeDeleted = "deleted"
106461)
106462
106463const (
106464	// ClientVpnRouteStatusCodeCreating is a ClientVpnRouteStatusCode enum value
106465	ClientVpnRouteStatusCodeCreating = "creating"
106466
106467	// ClientVpnRouteStatusCodeActive is a ClientVpnRouteStatusCode enum value
106468	ClientVpnRouteStatusCodeActive = "active"
106469
106470	// ClientVpnRouteStatusCodeFailed is a ClientVpnRouteStatusCode enum value
106471	ClientVpnRouteStatusCodeFailed = "failed"
106472
106473	// ClientVpnRouteStatusCodeDeleting is a ClientVpnRouteStatusCode enum value
106474	ClientVpnRouteStatusCodeDeleting = "deleting"
106475)
106476
106477const (
106478	// ConnectionNotificationStateEnabled is a ConnectionNotificationState enum value
106479	ConnectionNotificationStateEnabled = "Enabled"
106480
106481	// ConnectionNotificationStateDisabled is a ConnectionNotificationState enum value
106482	ConnectionNotificationStateDisabled = "Disabled"
106483)
106484
106485const (
106486	// ConnectionNotificationTypeTopic is a ConnectionNotificationType enum value
106487	ConnectionNotificationTypeTopic = "Topic"
106488)
106489
106490const (
106491	// ContainerFormatOva is a ContainerFormat enum value
106492	ContainerFormatOva = "ova"
106493)
106494
106495const (
106496	// ConversionTaskStateActive is a ConversionTaskState enum value
106497	ConversionTaskStateActive = "active"
106498
106499	// ConversionTaskStateCancelling is a ConversionTaskState enum value
106500	ConversionTaskStateCancelling = "cancelling"
106501
106502	// ConversionTaskStateCancelled is a ConversionTaskState enum value
106503	ConversionTaskStateCancelled = "cancelled"
106504
106505	// ConversionTaskStateCompleted is a ConversionTaskState enum value
106506	ConversionTaskStateCompleted = "completed"
106507)
106508
106509const (
106510	// CopyTagsFromSourceVolume is a CopyTagsFromSource enum value
106511	CopyTagsFromSourceVolume = "volume"
106512)
106513
106514const (
106515	// CurrencyCodeValuesUsd is a CurrencyCodeValues enum value
106516	CurrencyCodeValuesUsd = "USD"
106517)
106518
106519const (
106520	// DatafeedSubscriptionStateActive is a DatafeedSubscriptionState enum value
106521	DatafeedSubscriptionStateActive = "Active"
106522
106523	// DatafeedSubscriptionStateInactive is a DatafeedSubscriptionState enum value
106524	DatafeedSubscriptionStateInactive = "Inactive"
106525)
106526
106527const (
106528	// DefaultRouteTableAssociationValueEnable is a DefaultRouteTableAssociationValue enum value
106529	DefaultRouteTableAssociationValueEnable = "enable"
106530
106531	// DefaultRouteTableAssociationValueDisable is a DefaultRouteTableAssociationValue enum value
106532	DefaultRouteTableAssociationValueDisable = "disable"
106533)
106534
106535const (
106536	// DefaultRouteTablePropagationValueEnable is a DefaultRouteTablePropagationValue enum value
106537	DefaultRouteTablePropagationValueEnable = "enable"
106538
106539	// DefaultRouteTablePropagationValueDisable is a DefaultRouteTablePropagationValue enum value
106540	DefaultRouteTablePropagationValueDisable = "disable"
106541)
106542
106543const (
106544	// DefaultTargetCapacityTypeSpot is a DefaultTargetCapacityType enum value
106545	DefaultTargetCapacityTypeSpot = "spot"
106546
106547	// DefaultTargetCapacityTypeOnDemand is a DefaultTargetCapacityType enum value
106548	DefaultTargetCapacityTypeOnDemand = "on-demand"
106549)
106550
106551const (
106552	// DeleteFleetErrorCodeFleetIdDoesNotExist is a DeleteFleetErrorCode enum value
106553	DeleteFleetErrorCodeFleetIdDoesNotExist = "fleetIdDoesNotExist"
106554
106555	// DeleteFleetErrorCodeFleetIdMalformed is a DeleteFleetErrorCode enum value
106556	DeleteFleetErrorCodeFleetIdMalformed = "fleetIdMalformed"
106557
106558	// DeleteFleetErrorCodeFleetNotInDeletableState is a DeleteFleetErrorCode enum value
106559	DeleteFleetErrorCodeFleetNotInDeletableState = "fleetNotInDeletableState"
106560
106561	// DeleteFleetErrorCodeUnexpectedError is a DeleteFleetErrorCode enum value
106562	DeleteFleetErrorCodeUnexpectedError = "unexpectedError"
106563)
106564
106565const (
106566	// DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid is a DeleteQueuedReservedInstancesErrorCode enum value
106567	DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid = "reserved-instances-id-invalid"
106568
106569	// DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState is a DeleteQueuedReservedInstancesErrorCode enum value
106570	DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState = "reserved-instances-not-in-queued-state"
106571
106572	// DeleteQueuedReservedInstancesErrorCodeUnexpectedError is a DeleteQueuedReservedInstancesErrorCode enum value
106573	DeleteQueuedReservedInstancesErrorCodeUnexpectedError = "unexpected-error"
106574)
106575
106576const (
106577	// DeviceTypeEbs is a DeviceType enum value
106578	DeviceTypeEbs = "ebs"
106579
106580	// DeviceTypeInstanceStore is a DeviceType enum value
106581	DeviceTypeInstanceStore = "instance-store"
106582)
106583
106584const (
106585	// DiskImageFormatVmdk is a DiskImageFormat enum value
106586	DiskImageFormatVmdk = "VMDK"
106587
106588	// DiskImageFormatRaw is a DiskImageFormat enum value
106589	DiskImageFormatRaw = "RAW"
106590
106591	// DiskImageFormatVhd is a DiskImageFormat enum value
106592	DiskImageFormatVhd = "VHD"
106593)
106594
106595const (
106596	// DiskTypeHdd is a DiskType enum value
106597	DiskTypeHdd = "hdd"
106598
106599	// DiskTypeSsd is a DiskType enum value
106600	DiskTypeSsd = "ssd"
106601)
106602
106603const (
106604	// DnsSupportValueEnable is a DnsSupportValue enum value
106605	DnsSupportValueEnable = "enable"
106606
106607	// DnsSupportValueDisable is a DnsSupportValue enum value
106608	DnsSupportValueDisable = "disable"
106609)
106610
106611const (
106612	// DomainTypeVpc is a DomainType enum value
106613	DomainTypeVpc = "vpc"
106614
106615	// DomainTypeStandard is a DomainType enum value
106616	DomainTypeStandard = "standard"
106617)
106618
106619const (
106620	// EbsEncryptionSupportUnsupported is a EbsEncryptionSupport enum value
106621	EbsEncryptionSupportUnsupported = "unsupported"
106622
106623	// EbsEncryptionSupportSupported is a EbsEncryptionSupport enum value
106624	EbsEncryptionSupportSupported = "supported"
106625)
106626
106627const (
106628	// EbsOptimizedSupportUnsupported is a EbsOptimizedSupport enum value
106629	EbsOptimizedSupportUnsupported = "unsupported"
106630
106631	// EbsOptimizedSupportSupported is a EbsOptimizedSupport enum value
106632	EbsOptimizedSupportSupported = "supported"
106633
106634	// EbsOptimizedSupportDefault is a EbsOptimizedSupport enum value
106635	EbsOptimizedSupportDefault = "default"
106636)
106637
106638const (
106639	// ElasticGpuStateAttached is a ElasticGpuState enum value
106640	ElasticGpuStateAttached = "ATTACHED"
106641)
106642
106643const (
106644	// ElasticGpuStatusOk is a ElasticGpuStatus enum value
106645	ElasticGpuStatusOk = "OK"
106646
106647	// ElasticGpuStatusImpaired is a ElasticGpuStatus enum value
106648	ElasticGpuStatusImpaired = "IMPAIRED"
106649)
106650
106651const (
106652	// EnaSupportUnsupported is a EnaSupport enum value
106653	EnaSupportUnsupported = "unsupported"
106654
106655	// EnaSupportSupported is a EnaSupport enum value
106656	EnaSupportSupported = "supported"
106657
106658	// EnaSupportRequired is a EnaSupport enum value
106659	EnaSupportRequired = "required"
106660)
106661
106662const (
106663	// EndDateTypeUnlimited is a EndDateType enum value
106664	EndDateTypeUnlimited = "unlimited"
106665
106666	// EndDateTypeLimited is a EndDateType enum value
106667	EndDateTypeLimited = "limited"
106668)
106669
106670const (
106671	// EventCodeInstanceReboot is a EventCode enum value
106672	EventCodeInstanceReboot = "instance-reboot"
106673
106674	// EventCodeSystemReboot is a EventCode enum value
106675	EventCodeSystemReboot = "system-reboot"
106676
106677	// EventCodeSystemMaintenance is a EventCode enum value
106678	EventCodeSystemMaintenance = "system-maintenance"
106679
106680	// EventCodeInstanceRetirement is a EventCode enum value
106681	EventCodeInstanceRetirement = "instance-retirement"
106682
106683	// EventCodeInstanceStop is a EventCode enum value
106684	EventCodeInstanceStop = "instance-stop"
106685)
106686
106687const (
106688	// EventTypeInstanceChange is a EventType enum value
106689	EventTypeInstanceChange = "instanceChange"
106690
106691	// EventTypeFleetRequestChange is a EventType enum value
106692	EventTypeFleetRequestChange = "fleetRequestChange"
106693
106694	// EventTypeError is a EventType enum value
106695	EventTypeError = "error"
106696
106697	// EventTypeInformation is a EventType enum value
106698	EventTypeInformation = "information"
106699)
106700
106701const (
106702	// ExcessCapacityTerminationPolicyNoTermination is a ExcessCapacityTerminationPolicy enum value
106703	ExcessCapacityTerminationPolicyNoTermination = "noTermination"
106704
106705	// ExcessCapacityTerminationPolicyDefault is a ExcessCapacityTerminationPolicy enum value
106706	ExcessCapacityTerminationPolicyDefault = "default"
106707)
106708
106709const (
106710	// ExportEnvironmentCitrix is a ExportEnvironment enum value
106711	ExportEnvironmentCitrix = "citrix"
106712
106713	// ExportEnvironmentVmware is a ExportEnvironment enum value
106714	ExportEnvironmentVmware = "vmware"
106715
106716	// ExportEnvironmentMicrosoft is a ExportEnvironment enum value
106717	ExportEnvironmentMicrosoft = "microsoft"
106718)
106719
106720const (
106721	// ExportTaskStateActive is a ExportTaskState enum value
106722	ExportTaskStateActive = "active"
106723
106724	// ExportTaskStateCancelling is a ExportTaskState enum value
106725	ExportTaskStateCancelling = "cancelling"
106726
106727	// ExportTaskStateCancelled is a ExportTaskState enum value
106728	ExportTaskStateCancelled = "cancelled"
106729
106730	// ExportTaskStateCompleted is a ExportTaskState enum value
106731	ExportTaskStateCompleted = "completed"
106732)
106733
106734const (
106735	// FastSnapshotRestoreStateCodeEnabling is a FastSnapshotRestoreStateCode enum value
106736	FastSnapshotRestoreStateCodeEnabling = "enabling"
106737
106738	// FastSnapshotRestoreStateCodeOptimizing is a FastSnapshotRestoreStateCode enum value
106739	FastSnapshotRestoreStateCodeOptimizing = "optimizing"
106740
106741	// FastSnapshotRestoreStateCodeEnabled is a FastSnapshotRestoreStateCode enum value
106742	FastSnapshotRestoreStateCodeEnabled = "enabled"
106743
106744	// FastSnapshotRestoreStateCodeDisabling is a FastSnapshotRestoreStateCode enum value
106745	FastSnapshotRestoreStateCodeDisabling = "disabling"
106746
106747	// FastSnapshotRestoreStateCodeDisabled is a FastSnapshotRestoreStateCode enum value
106748	FastSnapshotRestoreStateCodeDisabled = "disabled"
106749)
106750
106751const (
106752	// FleetActivityStatusError is a FleetActivityStatus enum value
106753	FleetActivityStatusError = "error"
106754
106755	// FleetActivityStatusPendingFulfillment is a FleetActivityStatus enum value
106756	FleetActivityStatusPendingFulfillment = "pending_fulfillment"
106757
106758	// FleetActivityStatusPendingTermination is a FleetActivityStatus enum value
106759	FleetActivityStatusPendingTermination = "pending_termination"
106760
106761	// FleetActivityStatusFulfilled is a FleetActivityStatus enum value
106762	FleetActivityStatusFulfilled = "fulfilled"
106763)
106764
106765const (
106766	// FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst is a FleetCapacityReservationUsageStrategy enum value
106767	FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst = "use-capacity-reservations-first"
106768)
106769
106770const (
106771	// FleetEventTypeInstanceChange is a FleetEventType enum value
106772	FleetEventTypeInstanceChange = "instance-change"
106773
106774	// FleetEventTypeFleetChange is a FleetEventType enum value
106775	FleetEventTypeFleetChange = "fleet-change"
106776
106777	// FleetEventTypeServiceError is a FleetEventType enum value
106778	FleetEventTypeServiceError = "service-error"
106779)
106780
106781const (
106782	// FleetExcessCapacityTerminationPolicyNoTermination is a FleetExcessCapacityTerminationPolicy enum value
106783	FleetExcessCapacityTerminationPolicyNoTermination = "no-termination"
106784
106785	// FleetExcessCapacityTerminationPolicyTermination is a FleetExcessCapacityTerminationPolicy enum value
106786	FleetExcessCapacityTerminationPolicyTermination = "termination"
106787)
106788
106789const (
106790	// FleetOnDemandAllocationStrategyLowestPrice is a FleetOnDemandAllocationStrategy enum value
106791	FleetOnDemandAllocationStrategyLowestPrice = "lowest-price"
106792
106793	// FleetOnDemandAllocationStrategyPrioritized is a FleetOnDemandAllocationStrategy enum value
106794	FleetOnDemandAllocationStrategyPrioritized = "prioritized"
106795)
106796
106797const (
106798	// FleetStateCodeSubmitted is a FleetStateCode enum value
106799	FleetStateCodeSubmitted = "submitted"
106800
106801	// FleetStateCodeActive is a FleetStateCode enum value
106802	FleetStateCodeActive = "active"
106803
106804	// FleetStateCodeDeleted is a FleetStateCode enum value
106805	FleetStateCodeDeleted = "deleted"
106806
106807	// FleetStateCodeFailed is a FleetStateCode enum value
106808	FleetStateCodeFailed = "failed"
106809
106810	// FleetStateCodeDeletedRunning is a FleetStateCode enum value
106811	FleetStateCodeDeletedRunning = "deleted_running"
106812
106813	// FleetStateCodeDeletedTerminating is a FleetStateCode enum value
106814	FleetStateCodeDeletedTerminating = "deleted_terminating"
106815
106816	// FleetStateCodeModifying is a FleetStateCode enum value
106817	FleetStateCodeModifying = "modifying"
106818)
106819
106820const (
106821	// FleetTypeRequest is a FleetType enum value
106822	FleetTypeRequest = "request"
106823
106824	// FleetTypeMaintain is a FleetType enum value
106825	FleetTypeMaintain = "maintain"
106826
106827	// FleetTypeInstant is a FleetType enum value
106828	FleetTypeInstant = "instant"
106829)
106830
106831const (
106832	// FlowLogsResourceTypeVpc is a FlowLogsResourceType enum value
106833	FlowLogsResourceTypeVpc = "VPC"
106834
106835	// FlowLogsResourceTypeSubnet is a FlowLogsResourceType enum value
106836	FlowLogsResourceTypeSubnet = "Subnet"
106837
106838	// FlowLogsResourceTypeNetworkInterface is a FlowLogsResourceType enum value
106839	FlowLogsResourceTypeNetworkInterface = "NetworkInterface"
106840)
106841
106842const (
106843	// FpgaImageAttributeNameDescription is a FpgaImageAttributeName enum value
106844	FpgaImageAttributeNameDescription = "description"
106845
106846	// FpgaImageAttributeNameName is a FpgaImageAttributeName enum value
106847	FpgaImageAttributeNameName = "name"
106848
106849	// FpgaImageAttributeNameLoadPermission is a FpgaImageAttributeName enum value
106850	FpgaImageAttributeNameLoadPermission = "loadPermission"
106851
106852	// FpgaImageAttributeNameProductCodes is a FpgaImageAttributeName enum value
106853	FpgaImageAttributeNameProductCodes = "productCodes"
106854)
106855
106856const (
106857	// FpgaImageStateCodePending is a FpgaImageStateCode enum value
106858	FpgaImageStateCodePending = "pending"
106859
106860	// FpgaImageStateCodeFailed is a FpgaImageStateCode enum value
106861	FpgaImageStateCodeFailed = "failed"
106862
106863	// FpgaImageStateCodeAvailable is a FpgaImageStateCode enum value
106864	FpgaImageStateCodeAvailable = "available"
106865
106866	// FpgaImageStateCodeUnavailable is a FpgaImageStateCode enum value
106867	FpgaImageStateCodeUnavailable = "unavailable"
106868)
106869
106870const (
106871	// GatewayTypeIpsec1 is a GatewayType enum value
106872	GatewayTypeIpsec1 = "ipsec.1"
106873)
106874
106875const (
106876	// HostRecoveryOn is a HostRecovery enum value
106877	HostRecoveryOn = "on"
106878
106879	// HostRecoveryOff is a HostRecovery enum value
106880	HostRecoveryOff = "off"
106881)
106882
106883const (
106884	// HostTenancyDedicated is a HostTenancy enum value
106885	HostTenancyDedicated = "dedicated"
106886
106887	// HostTenancyHost is a HostTenancy enum value
106888	HostTenancyHost = "host"
106889)
106890
106891const (
106892	// HttpTokensStateOptional is a HttpTokensState enum value
106893	HttpTokensStateOptional = "optional"
106894
106895	// HttpTokensStateRequired is a HttpTokensState enum value
106896	HttpTokensStateRequired = "required"
106897)
106898
106899const (
106900	// HypervisorTypeOvm is a HypervisorType enum value
106901	HypervisorTypeOvm = "ovm"
106902
106903	// HypervisorTypeXen is a HypervisorType enum value
106904	HypervisorTypeXen = "xen"
106905)
106906
106907const (
106908	// IamInstanceProfileAssociationStateAssociating is a IamInstanceProfileAssociationState enum value
106909	IamInstanceProfileAssociationStateAssociating = "associating"
106910
106911	// IamInstanceProfileAssociationStateAssociated is a IamInstanceProfileAssociationState enum value
106912	IamInstanceProfileAssociationStateAssociated = "associated"
106913
106914	// IamInstanceProfileAssociationStateDisassociating is a IamInstanceProfileAssociationState enum value
106915	IamInstanceProfileAssociationStateDisassociating = "disassociating"
106916
106917	// IamInstanceProfileAssociationStateDisassociated is a IamInstanceProfileAssociationState enum value
106918	IamInstanceProfileAssociationStateDisassociated = "disassociated"
106919)
106920
106921const (
106922	// ImageAttributeNameDescription is a ImageAttributeName enum value
106923	ImageAttributeNameDescription = "description"
106924
106925	// ImageAttributeNameKernel is a ImageAttributeName enum value
106926	ImageAttributeNameKernel = "kernel"
106927
106928	// ImageAttributeNameRamdisk is a ImageAttributeName enum value
106929	ImageAttributeNameRamdisk = "ramdisk"
106930
106931	// ImageAttributeNameLaunchPermission is a ImageAttributeName enum value
106932	ImageAttributeNameLaunchPermission = "launchPermission"
106933
106934	// ImageAttributeNameProductCodes is a ImageAttributeName enum value
106935	ImageAttributeNameProductCodes = "productCodes"
106936
106937	// ImageAttributeNameBlockDeviceMapping is a ImageAttributeName enum value
106938	ImageAttributeNameBlockDeviceMapping = "blockDeviceMapping"
106939
106940	// ImageAttributeNameSriovNetSupport is a ImageAttributeName enum value
106941	ImageAttributeNameSriovNetSupport = "sriovNetSupport"
106942)
106943
106944const (
106945	// ImageStatePending is a ImageState enum value
106946	ImageStatePending = "pending"
106947
106948	// ImageStateAvailable is a ImageState enum value
106949	ImageStateAvailable = "available"
106950
106951	// ImageStateInvalid is a ImageState enum value
106952	ImageStateInvalid = "invalid"
106953
106954	// ImageStateDeregistered is a ImageState enum value
106955	ImageStateDeregistered = "deregistered"
106956
106957	// ImageStateTransient is a ImageState enum value
106958	ImageStateTransient = "transient"
106959
106960	// ImageStateFailed is a ImageState enum value
106961	ImageStateFailed = "failed"
106962
106963	// ImageStateError is a ImageState enum value
106964	ImageStateError = "error"
106965)
106966
106967const (
106968	// ImageTypeValuesMachine is a ImageTypeValues enum value
106969	ImageTypeValuesMachine = "machine"
106970
106971	// ImageTypeValuesKernel is a ImageTypeValues enum value
106972	ImageTypeValuesKernel = "kernel"
106973
106974	// ImageTypeValuesRamdisk is a ImageTypeValues enum value
106975	ImageTypeValuesRamdisk = "ramdisk"
106976)
106977
106978const (
106979	// InstanceAttributeNameInstanceType is a InstanceAttributeName enum value
106980	InstanceAttributeNameInstanceType = "instanceType"
106981
106982	// InstanceAttributeNameKernel is a InstanceAttributeName enum value
106983	InstanceAttributeNameKernel = "kernel"
106984
106985	// InstanceAttributeNameRamdisk is a InstanceAttributeName enum value
106986	InstanceAttributeNameRamdisk = "ramdisk"
106987
106988	// InstanceAttributeNameUserData is a InstanceAttributeName enum value
106989	InstanceAttributeNameUserData = "userData"
106990
106991	// InstanceAttributeNameDisableApiTermination is a InstanceAttributeName enum value
106992	InstanceAttributeNameDisableApiTermination = "disableApiTermination"
106993
106994	// InstanceAttributeNameInstanceInitiatedShutdownBehavior is a InstanceAttributeName enum value
106995	InstanceAttributeNameInstanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
106996
106997	// InstanceAttributeNameRootDeviceName is a InstanceAttributeName enum value
106998	InstanceAttributeNameRootDeviceName = "rootDeviceName"
106999
107000	// InstanceAttributeNameBlockDeviceMapping is a InstanceAttributeName enum value
107001	InstanceAttributeNameBlockDeviceMapping = "blockDeviceMapping"
107002
107003	// InstanceAttributeNameProductCodes is a InstanceAttributeName enum value
107004	InstanceAttributeNameProductCodes = "productCodes"
107005
107006	// InstanceAttributeNameSourceDestCheck is a InstanceAttributeName enum value
107007	InstanceAttributeNameSourceDestCheck = "sourceDestCheck"
107008
107009	// InstanceAttributeNameGroupSet is a InstanceAttributeName enum value
107010	InstanceAttributeNameGroupSet = "groupSet"
107011
107012	// InstanceAttributeNameEbsOptimized is a InstanceAttributeName enum value
107013	InstanceAttributeNameEbsOptimized = "ebsOptimized"
107014
107015	// InstanceAttributeNameSriovNetSupport is a InstanceAttributeName enum value
107016	InstanceAttributeNameSriovNetSupport = "sriovNetSupport"
107017
107018	// InstanceAttributeNameEnaSupport is a InstanceAttributeName enum value
107019	InstanceAttributeNameEnaSupport = "enaSupport"
107020)
107021
107022const (
107023	// InstanceHealthStatusHealthy is a InstanceHealthStatus enum value
107024	InstanceHealthStatusHealthy = "healthy"
107025
107026	// InstanceHealthStatusUnhealthy is a InstanceHealthStatus enum value
107027	InstanceHealthStatusUnhealthy = "unhealthy"
107028)
107029
107030const (
107031	// InstanceInterruptionBehaviorHibernate is a InstanceInterruptionBehavior enum value
107032	InstanceInterruptionBehaviorHibernate = "hibernate"
107033
107034	// InstanceInterruptionBehaviorStop is a InstanceInterruptionBehavior enum value
107035	InstanceInterruptionBehaviorStop = "stop"
107036
107037	// InstanceInterruptionBehaviorTerminate is a InstanceInterruptionBehavior enum value
107038	InstanceInterruptionBehaviorTerminate = "terminate"
107039)
107040
107041const (
107042	// InstanceLifecycleSpot is a InstanceLifecycle enum value
107043	InstanceLifecycleSpot = "spot"
107044
107045	// InstanceLifecycleOnDemand is a InstanceLifecycle enum value
107046	InstanceLifecycleOnDemand = "on-demand"
107047)
107048
107049const (
107050	// InstanceLifecycleTypeSpot is a InstanceLifecycleType enum value
107051	InstanceLifecycleTypeSpot = "spot"
107052
107053	// InstanceLifecycleTypeScheduled is a InstanceLifecycleType enum value
107054	InstanceLifecycleTypeScheduled = "scheduled"
107055)
107056
107057const (
107058	// InstanceMatchCriteriaOpen is a InstanceMatchCriteria enum value
107059	InstanceMatchCriteriaOpen = "open"
107060
107061	// InstanceMatchCriteriaTargeted is a InstanceMatchCriteria enum value
107062	InstanceMatchCriteriaTargeted = "targeted"
107063)
107064
107065const (
107066	// InstanceMetadataEndpointStateDisabled is a InstanceMetadataEndpointState enum value
107067	InstanceMetadataEndpointStateDisabled = "disabled"
107068
107069	// InstanceMetadataEndpointStateEnabled is a InstanceMetadataEndpointState enum value
107070	InstanceMetadataEndpointStateEnabled = "enabled"
107071)
107072
107073const (
107074	// InstanceMetadataOptionsStatePending is a InstanceMetadataOptionsState enum value
107075	InstanceMetadataOptionsStatePending = "pending"
107076
107077	// InstanceMetadataOptionsStateApplied is a InstanceMetadataOptionsState enum value
107078	InstanceMetadataOptionsStateApplied = "applied"
107079)
107080
107081const (
107082	// InstanceStateNamePending is a InstanceStateName enum value
107083	InstanceStateNamePending = "pending"
107084
107085	// InstanceStateNameRunning is a InstanceStateName enum value
107086	InstanceStateNameRunning = "running"
107087
107088	// InstanceStateNameShuttingDown is a InstanceStateName enum value
107089	InstanceStateNameShuttingDown = "shutting-down"
107090
107091	// InstanceStateNameTerminated is a InstanceStateName enum value
107092	InstanceStateNameTerminated = "terminated"
107093
107094	// InstanceStateNameStopping is a InstanceStateName enum value
107095	InstanceStateNameStopping = "stopping"
107096
107097	// InstanceStateNameStopped is a InstanceStateName enum value
107098	InstanceStateNameStopped = "stopped"
107099)
107100
107101const (
107102	// InstanceTypeT1Micro is a InstanceType enum value
107103	InstanceTypeT1Micro = "t1.micro"
107104
107105	// InstanceTypeT2Nano is a InstanceType enum value
107106	InstanceTypeT2Nano = "t2.nano"
107107
107108	// InstanceTypeT2Micro is a InstanceType enum value
107109	InstanceTypeT2Micro = "t2.micro"
107110
107111	// InstanceTypeT2Small is a InstanceType enum value
107112	InstanceTypeT2Small = "t2.small"
107113
107114	// InstanceTypeT2Medium is a InstanceType enum value
107115	InstanceTypeT2Medium = "t2.medium"
107116
107117	// InstanceTypeT2Large is a InstanceType enum value
107118	InstanceTypeT2Large = "t2.large"
107119
107120	// InstanceTypeT2Xlarge is a InstanceType enum value
107121	InstanceTypeT2Xlarge = "t2.xlarge"
107122
107123	// InstanceTypeT22xlarge is a InstanceType enum value
107124	InstanceTypeT22xlarge = "t2.2xlarge"
107125
107126	// InstanceTypeT3Nano is a InstanceType enum value
107127	InstanceTypeT3Nano = "t3.nano"
107128
107129	// InstanceTypeT3Micro is a InstanceType enum value
107130	InstanceTypeT3Micro = "t3.micro"
107131
107132	// InstanceTypeT3Small is a InstanceType enum value
107133	InstanceTypeT3Small = "t3.small"
107134
107135	// InstanceTypeT3Medium is a InstanceType enum value
107136	InstanceTypeT3Medium = "t3.medium"
107137
107138	// InstanceTypeT3Large is a InstanceType enum value
107139	InstanceTypeT3Large = "t3.large"
107140
107141	// InstanceTypeT3Xlarge is a InstanceType enum value
107142	InstanceTypeT3Xlarge = "t3.xlarge"
107143
107144	// InstanceTypeT32xlarge is a InstanceType enum value
107145	InstanceTypeT32xlarge = "t3.2xlarge"
107146
107147	// InstanceTypeT3aNano is a InstanceType enum value
107148	InstanceTypeT3aNano = "t3a.nano"
107149
107150	// InstanceTypeT3aMicro is a InstanceType enum value
107151	InstanceTypeT3aMicro = "t3a.micro"
107152
107153	// InstanceTypeT3aSmall is a InstanceType enum value
107154	InstanceTypeT3aSmall = "t3a.small"
107155
107156	// InstanceTypeT3aMedium is a InstanceType enum value
107157	InstanceTypeT3aMedium = "t3a.medium"
107158
107159	// InstanceTypeT3aLarge is a InstanceType enum value
107160	InstanceTypeT3aLarge = "t3a.large"
107161
107162	// InstanceTypeT3aXlarge is a InstanceType enum value
107163	InstanceTypeT3aXlarge = "t3a.xlarge"
107164
107165	// InstanceTypeT3a2xlarge is a InstanceType enum value
107166	InstanceTypeT3a2xlarge = "t3a.2xlarge"
107167
107168	// InstanceTypeM1Small is a InstanceType enum value
107169	InstanceTypeM1Small = "m1.small"
107170
107171	// InstanceTypeM1Medium is a InstanceType enum value
107172	InstanceTypeM1Medium = "m1.medium"
107173
107174	// InstanceTypeM1Large is a InstanceType enum value
107175	InstanceTypeM1Large = "m1.large"
107176
107177	// InstanceTypeM1Xlarge is a InstanceType enum value
107178	InstanceTypeM1Xlarge = "m1.xlarge"
107179
107180	// InstanceTypeM3Medium is a InstanceType enum value
107181	InstanceTypeM3Medium = "m3.medium"
107182
107183	// InstanceTypeM3Large is a InstanceType enum value
107184	InstanceTypeM3Large = "m3.large"
107185
107186	// InstanceTypeM3Xlarge is a InstanceType enum value
107187	InstanceTypeM3Xlarge = "m3.xlarge"
107188
107189	// InstanceTypeM32xlarge is a InstanceType enum value
107190	InstanceTypeM32xlarge = "m3.2xlarge"
107191
107192	// InstanceTypeM4Large is a InstanceType enum value
107193	InstanceTypeM4Large = "m4.large"
107194
107195	// InstanceTypeM4Xlarge is a InstanceType enum value
107196	InstanceTypeM4Xlarge = "m4.xlarge"
107197
107198	// InstanceTypeM42xlarge is a InstanceType enum value
107199	InstanceTypeM42xlarge = "m4.2xlarge"
107200
107201	// InstanceTypeM44xlarge is a InstanceType enum value
107202	InstanceTypeM44xlarge = "m4.4xlarge"
107203
107204	// InstanceTypeM410xlarge is a InstanceType enum value
107205	InstanceTypeM410xlarge = "m4.10xlarge"
107206
107207	// InstanceTypeM416xlarge is a InstanceType enum value
107208	InstanceTypeM416xlarge = "m4.16xlarge"
107209
107210	// InstanceTypeM2Xlarge is a InstanceType enum value
107211	InstanceTypeM2Xlarge = "m2.xlarge"
107212
107213	// InstanceTypeM22xlarge is a InstanceType enum value
107214	InstanceTypeM22xlarge = "m2.2xlarge"
107215
107216	// InstanceTypeM24xlarge is a InstanceType enum value
107217	InstanceTypeM24xlarge = "m2.4xlarge"
107218
107219	// InstanceTypeCr18xlarge is a InstanceType enum value
107220	InstanceTypeCr18xlarge = "cr1.8xlarge"
107221
107222	// InstanceTypeR3Large is a InstanceType enum value
107223	InstanceTypeR3Large = "r3.large"
107224
107225	// InstanceTypeR3Xlarge is a InstanceType enum value
107226	InstanceTypeR3Xlarge = "r3.xlarge"
107227
107228	// InstanceTypeR32xlarge is a InstanceType enum value
107229	InstanceTypeR32xlarge = "r3.2xlarge"
107230
107231	// InstanceTypeR34xlarge is a InstanceType enum value
107232	InstanceTypeR34xlarge = "r3.4xlarge"
107233
107234	// InstanceTypeR38xlarge is a InstanceType enum value
107235	InstanceTypeR38xlarge = "r3.8xlarge"
107236
107237	// InstanceTypeR4Large is a InstanceType enum value
107238	InstanceTypeR4Large = "r4.large"
107239
107240	// InstanceTypeR4Xlarge is a InstanceType enum value
107241	InstanceTypeR4Xlarge = "r4.xlarge"
107242
107243	// InstanceTypeR42xlarge is a InstanceType enum value
107244	InstanceTypeR42xlarge = "r4.2xlarge"
107245
107246	// InstanceTypeR44xlarge is a InstanceType enum value
107247	InstanceTypeR44xlarge = "r4.4xlarge"
107248
107249	// InstanceTypeR48xlarge is a InstanceType enum value
107250	InstanceTypeR48xlarge = "r4.8xlarge"
107251
107252	// InstanceTypeR416xlarge is a InstanceType enum value
107253	InstanceTypeR416xlarge = "r4.16xlarge"
107254
107255	// InstanceTypeR5Large is a InstanceType enum value
107256	InstanceTypeR5Large = "r5.large"
107257
107258	// InstanceTypeR5Xlarge is a InstanceType enum value
107259	InstanceTypeR5Xlarge = "r5.xlarge"
107260
107261	// InstanceTypeR52xlarge is a InstanceType enum value
107262	InstanceTypeR52xlarge = "r5.2xlarge"
107263
107264	// InstanceTypeR54xlarge is a InstanceType enum value
107265	InstanceTypeR54xlarge = "r5.4xlarge"
107266
107267	// InstanceTypeR58xlarge is a InstanceType enum value
107268	InstanceTypeR58xlarge = "r5.8xlarge"
107269
107270	// InstanceTypeR512xlarge is a InstanceType enum value
107271	InstanceTypeR512xlarge = "r5.12xlarge"
107272
107273	// InstanceTypeR516xlarge is a InstanceType enum value
107274	InstanceTypeR516xlarge = "r5.16xlarge"
107275
107276	// InstanceTypeR524xlarge is a InstanceType enum value
107277	InstanceTypeR524xlarge = "r5.24xlarge"
107278
107279	// InstanceTypeR5Metal is a InstanceType enum value
107280	InstanceTypeR5Metal = "r5.metal"
107281
107282	// InstanceTypeR5aLarge is a InstanceType enum value
107283	InstanceTypeR5aLarge = "r5a.large"
107284
107285	// InstanceTypeR5aXlarge is a InstanceType enum value
107286	InstanceTypeR5aXlarge = "r5a.xlarge"
107287
107288	// InstanceTypeR5a2xlarge is a InstanceType enum value
107289	InstanceTypeR5a2xlarge = "r5a.2xlarge"
107290
107291	// InstanceTypeR5a4xlarge is a InstanceType enum value
107292	InstanceTypeR5a4xlarge = "r5a.4xlarge"
107293
107294	// InstanceTypeR5a8xlarge is a InstanceType enum value
107295	InstanceTypeR5a8xlarge = "r5a.8xlarge"
107296
107297	// InstanceTypeR5a12xlarge is a InstanceType enum value
107298	InstanceTypeR5a12xlarge = "r5a.12xlarge"
107299
107300	// InstanceTypeR5a16xlarge is a InstanceType enum value
107301	InstanceTypeR5a16xlarge = "r5a.16xlarge"
107302
107303	// InstanceTypeR5a24xlarge is a InstanceType enum value
107304	InstanceTypeR5a24xlarge = "r5a.24xlarge"
107305
107306	// InstanceTypeR5dLarge is a InstanceType enum value
107307	InstanceTypeR5dLarge = "r5d.large"
107308
107309	// InstanceTypeR5dXlarge is a InstanceType enum value
107310	InstanceTypeR5dXlarge = "r5d.xlarge"
107311
107312	// InstanceTypeR5d2xlarge is a InstanceType enum value
107313	InstanceTypeR5d2xlarge = "r5d.2xlarge"
107314
107315	// InstanceTypeR5d4xlarge is a InstanceType enum value
107316	InstanceTypeR5d4xlarge = "r5d.4xlarge"
107317
107318	// InstanceTypeR5d8xlarge is a InstanceType enum value
107319	InstanceTypeR5d8xlarge = "r5d.8xlarge"
107320
107321	// InstanceTypeR5d12xlarge is a InstanceType enum value
107322	InstanceTypeR5d12xlarge = "r5d.12xlarge"
107323
107324	// InstanceTypeR5d16xlarge is a InstanceType enum value
107325	InstanceTypeR5d16xlarge = "r5d.16xlarge"
107326
107327	// InstanceTypeR5d24xlarge is a InstanceType enum value
107328	InstanceTypeR5d24xlarge = "r5d.24xlarge"
107329
107330	// InstanceTypeR5dMetal is a InstanceType enum value
107331	InstanceTypeR5dMetal = "r5d.metal"
107332
107333	// InstanceTypeR5adLarge is a InstanceType enum value
107334	InstanceTypeR5adLarge = "r5ad.large"
107335
107336	// InstanceTypeR5adXlarge is a InstanceType enum value
107337	InstanceTypeR5adXlarge = "r5ad.xlarge"
107338
107339	// InstanceTypeR5ad2xlarge is a InstanceType enum value
107340	InstanceTypeR5ad2xlarge = "r5ad.2xlarge"
107341
107342	// InstanceTypeR5ad4xlarge is a InstanceType enum value
107343	InstanceTypeR5ad4xlarge = "r5ad.4xlarge"
107344
107345	// InstanceTypeR5ad8xlarge is a InstanceType enum value
107346	InstanceTypeR5ad8xlarge = "r5ad.8xlarge"
107347
107348	// InstanceTypeR5ad12xlarge is a InstanceType enum value
107349	InstanceTypeR5ad12xlarge = "r5ad.12xlarge"
107350
107351	// InstanceTypeR5ad16xlarge is a InstanceType enum value
107352	InstanceTypeR5ad16xlarge = "r5ad.16xlarge"
107353
107354	// InstanceTypeR5ad24xlarge is a InstanceType enum value
107355	InstanceTypeR5ad24xlarge = "r5ad.24xlarge"
107356
107357	// InstanceTypeX116xlarge is a InstanceType enum value
107358	InstanceTypeX116xlarge = "x1.16xlarge"
107359
107360	// InstanceTypeX132xlarge is a InstanceType enum value
107361	InstanceTypeX132xlarge = "x1.32xlarge"
107362
107363	// InstanceTypeX1eXlarge is a InstanceType enum value
107364	InstanceTypeX1eXlarge = "x1e.xlarge"
107365
107366	// InstanceTypeX1e2xlarge is a InstanceType enum value
107367	InstanceTypeX1e2xlarge = "x1e.2xlarge"
107368
107369	// InstanceTypeX1e4xlarge is a InstanceType enum value
107370	InstanceTypeX1e4xlarge = "x1e.4xlarge"
107371
107372	// InstanceTypeX1e8xlarge is a InstanceType enum value
107373	InstanceTypeX1e8xlarge = "x1e.8xlarge"
107374
107375	// InstanceTypeX1e16xlarge is a InstanceType enum value
107376	InstanceTypeX1e16xlarge = "x1e.16xlarge"
107377
107378	// InstanceTypeX1e32xlarge is a InstanceType enum value
107379	InstanceTypeX1e32xlarge = "x1e.32xlarge"
107380
107381	// InstanceTypeI2Xlarge is a InstanceType enum value
107382	InstanceTypeI2Xlarge = "i2.xlarge"
107383
107384	// InstanceTypeI22xlarge is a InstanceType enum value
107385	InstanceTypeI22xlarge = "i2.2xlarge"
107386
107387	// InstanceTypeI24xlarge is a InstanceType enum value
107388	InstanceTypeI24xlarge = "i2.4xlarge"
107389
107390	// InstanceTypeI28xlarge is a InstanceType enum value
107391	InstanceTypeI28xlarge = "i2.8xlarge"
107392
107393	// InstanceTypeI3Large is a InstanceType enum value
107394	InstanceTypeI3Large = "i3.large"
107395
107396	// InstanceTypeI3Xlarge is a InstanceType enum value
107397	InstanceTypeI3Xlarge = "i3.xlarge"
107398
107399	// InstanceTypeI32xlarge is a InstanceType enum value
107400	InstanceTypeI32xlarge = "i3.2xlarge"
107401
107402	// InstanceTypeI34xlarge is a InstanceType enum value
107403	InstanceTypeI34xlarge = "i3.4xlarge"
107404
107405	// InstanceTypeI38xlarge is a InstanceType enum value
107406	InstanceTypeI38xlarge = "i3.8xlarge"
107407
107408	// InstanceTypeI316xlarge is a InstanceType enum value
107409	InstanceTypeI316xlarge = "i3.16xlarge"
107410
107411	// InstanceTypeI3Metal is a InstanceType enum value
107412	InstanceTypeI3Metal = "i3.metal"
107413
107414	// InstanceTypeI3enLarge is a InstanceType enum value
107415	InstanceTypeI3enLarge = "i3en.large"
107416
107417	// InstanceTypeI3enXlarge is a InstanceType enum value
107418	InstanceTypeI3enXlarge = "i3en.xlarge"
107419
107420	// InstanceTypeI3en2xlarge is a InstanceType enum value
107421	InstanceTypeI3en2xlarge = "i3en.2xlarge"
107422
107423	// InstanceTypeI3en3xlarge is a InstanceType enum value
107424	InstanceTypeI3en3xlarge = "i3en.3xlarge"
107425
107426	// InstanceTypeI3en6xlarge is a InstanceType enum value
107427	InstanceTypeI3en6xlarge = "i3en.6xlarge"
107428
107429	// InstanceTypeI3en12xlarge is a InstanceType enum value
107430	InstanceTypeI3en12xlarge = "i3en.12xlarge"
107431
107432	// InstanceTypeI3en24xlarge is a InstanceType enum value
107433	InstanceTypeI3en24xlarge = "i3en.24xlarge"
107434
107435	// InstanceTypeI3enMetal is a InstanceType enum value
107436	InstanceTypeI3enMetal = "i3en.metal"
107437
107438	// InstanceTypeHi14xlarge is a InstanceType enum value
107439	InstanceTypeHi14xlarge = "hi1.4xlarge"
107440
107441	// InstanceTypeHs18xlarge is a InstanceType enum value
107442	InstanceTypeHs18xlarge = "hs1.8xlarge"
107443
107444	// InstanceTypeC1Medium is a InstanceType enum value
107445	InstanceTypeC1Medium = "c1.medium"
107446
107447	// InstanceTypeC1Xlarge is a InstanceType enum value
107448	InstanceTypeC1Xlarge = "c1.xlarge"
107449
107450	// InstanceTypeC3Large is a InstanceType enum value
107451	InstanceTypeC3Large = "c3.large"
107452
107453	// InstanceTypeC3Xlarge is a InstanceType enum value
107454	InstanceTypeC3Xlarge = "c3.xlarge"
107455
107456	// InstanceTypeC32xlarge is a InstanceType enum value
107457	InstanceTypeC32xlarge = "c3.2xlarge"
107458
107459	// InstanceTypeC34xlarge is a InstanceType enum value
107460	InstanceTypeC34xlarge = "c3.4xlarge"
107461
107462	// InstanceTypeC38xlarge is a InstanceType enum value
107463	InstanceTypeC38xlarge = "c3.8xlarge"
107464
107465	// InstanceTypeC4Large is a InstanceType enum value
107466	InstanceTypeC4Large = "c4.large"
107467
107468	// InstanceTypeC4Xlarge is a InstanceType enum value
107469	InstanceTypeC4Xlarge = "c4.xlarge"
107470
107471	// InstanceTypeC42xlarge is a InstanceType enum value
107472	InstanceTypeC42xlarge = "c4.2xlarge"
107473
107474	// InstanceTypeC44xlarge is a InstanceType enum value
107475	InstanceTypeC44xlarge = "c4.4xlarge"
107476
107477	// InstanceTypeC48xlarge is a InstanceType enum value
107478	InstanceTypeC48xlarge = "c4.8xlarge"
107479
107480	// InstanceTypeC5Large is a InstanceType enum value
107481	InstanceTypeC5Large = "c5.large"
107482
107483	// InstanceTypeC5Xlarge is a InstanceType enum value
107484	InstanceTypeC5Xlarge = "c5.xlarge"
107485
107486	// InstanceTypeC52xlarge is a InstanceType enum value
107487	InstanceTypeC52xlarge = "c5.2xlarge"
107488
107489	// InstanceTypeC54xlarge is a InstanceType enum value
107490	InstanceTypeC54xlarge = "c5.4xlarge"
107491
107492	// InstanceTypeC59xlarge is a InstanceType enum value
107493	InstanceTypeC59xlarge = "c5.9xlarge"
107494
107495	// InstanceTypeC512xlarge is a InstanceType enum value
107496	InstanceTypeC512xlarge = "c5.12xlarge"
107497
107498	// InstanceTypeC518xlarge is a InstanceType enum value
107499	InstanceTypeC518xlarge = "c5.18xlarge"
107500
107501	// InstanceTypeC524xlarge is a InstanceType enum value
107502	InstanceTypeC524xlarge = "c5.24xlarge"
107503
107504	// InstanceTypeC5Metal is a InstanceType enum value
107505	InstanceTypeC5Metal = "c5.metal"
107506
107507	// InstanceTypeC5dLarge is a InstanceType enum value
107508	InstanceTypeC5dLarge = "c5d.large"
107509
107510	// InstanceTypeC5dXlarge is a InstanceType enum value
107511	InstanceTypeC5dXlarge = "c5d.xlarge"
107512
107513	// InstanceTypeC5d2xlarge is a InstanceType enum value
107514	InstanceTypeC5d2xlarge = "c5d.2xlarge"
107515
107516	// InstanceTypeC5d4xlarge is a InstanceType enum value
107517	InstanceTypeC5d4xlarge = "c5d.4xlarge"
107518
107519	// InstanceTypeC5d9xlarge is a InstanceType enum value
107520	InstanceTypeC5d9xlarge = "c5d.9xlarge"
107521
107522	// InstanceTypeC5d12xlarge is a InstanceType enum value
107523	InstanceTypeC5d12xlarge = "c5d.12xlarge"
107524
107525	// InstanceTypeC5d18xlarge is a InstanceType enum value
107526	InstanceTypeC5d18xlarge = "c5d.18xlarge"
107527
107528	// InstanceTypeC5d24xlarge is a InstanceType enum value
107529	InstanceTypeC5d24xlarge = "c5d.24xlarge"
107530
107531	// InstanceTypeC5dMetal is a InstanceType enum value
107532	InstanceTypeC5dMetal = "c5d.metal"
107533
107534	// InstanceTypeC5nLarge is a InstanceType enum value
107535	InstanceTypeC5nLarge = "c5n.large"
107536
107537	// InstanceTypeC5nXlarge is a InstanceType enum value
107538	InstanceTypeC5nXlarge = "c5n.xlarge"
107539
107540	// InstanceTypeC5n2xlarge is a InstanceType enum value
107541	InstanceTypeC5n2xlarge = "c5n.2xlarge"
107542
107543	// InstanceTypeC5n4xlarge is a InstanceType enum value
107544	InstanceTypeC5n4xlarge = "c5n.4xlarge"
107545
107546	// InstanceTypeC5n9xlarge is a InstanceType enum value
107547	InstanceTypeC5n9xlarge = "c5n.9xlarge"
107548
107549	// InstanceTypeC5n18xlarge is a InstanceType enum value
107550	InstanceTypeC5n18xlarge = "c5n.18xlarge"
107551
107552	// InstanceTypeCc14xlarge is a InstanceType enum value
107553	InstanceTypeCc14xlarge = "cc1.4xlarge"
107554
107555	// InstanceTypeCc28xlarge is a InstanceType enum value
107556	InstanceTypeCc28xlarge = "cc2.8xlarge"
107557
107558	// InstanceTypeG22xlarge is a InstanceType enum value
107559	InstanceTypeG22xlarge = "g2.2xlarge"
107560
107561	// InstanceTypeG28xlarge is a InstanceType enum value
107562	InstanceTypeG28xlarge = "g2.8xlarge"
107563
107564	// InstanceTypeG34xlarge is a InstanceType enum value
107565	InstanceTypeG34xlarge = "g3.4xlarge"
107566
107567	// InstanceTypeG38xlarge is a InstanceType enum value
107568	InstanceTypeG38xlarge = "g3.8xlarge"
107569
107570	// InstanceTypeG316xlarge is a InstanceType enum value
107571	InstanceTypeG316xlarge = "g3.16xlarge"
107572
107573	// InstanceTypeG3sXlarge is a InstanceType enum value
107574	InstanceTypeG3sXlarge = "g3s.xlarge"
107575
107576	// InstanceTypeG4dnXlarge is a InstanceType enum value
107577	InstanceTypeG4dnXlarge = "g4dn.xlarge"
107578
107579	// InstanceTypeG4dn2xlarge is a InstanceType enum value
107580	InstanceTypeG4dn2xlarge = "g4dn.2xlarge"
107581
107582	// InstanceTypeG4dn4xlarge is a InstanceType enum value
107583	InstanceTypeG4dn4xlarge = "g4dn.4xlarge"
107584
107585	// InstanceTypeG4dn8xlarge is a InstanceType enum value
107586	InstanceTypeG4dn8xlarge = "g4dn.8xlarge"
107587
107588	// InstanceTypeG4dn12xlarge is a InstanceType enum value
107589	InstanceTypeG4dn12xlarge = "g4dn.12xlarge"
107590
107591	// InstanceTypeG4dn16xlarge is a InstanceType enum value
107592	InstanceTypeG4dn16xlarge = "g4dn.16xlarge"
107593
107594	// InstanceTypeCg14xlarge is a InstanceType enum value
107595	InstanceTypeCg14xlarge = "cg1.4xlarge"
107596
107597	// InstanceTypeP2Xlarge is a InstanceType enum value
107598	InstanceTypeP2Xlarge = "p2.xlarge"
107599
107600	// InstanceTypeP28xlarge is a InstanceType enum value
107601	InstanceTypeP28xlarge = "p2.8xlarge"
107602
107603	// InstanceTypeP216xlarge is a InstanceType enum value
107604	InstanceTypeP216xlarge = "p2.16xlarge"
107605
107606	// InstanceTypeP32xlarge is a InstanceType enum value
107607	InstanceTypeP32xlarge = "p3.2xlarge"
107608
107609	// InstanceTypeP38xlarge is a InstanceType enum value
107610	InstanceTypeP38xlarge = "p3.8xlarge"
107611
107612	// InstanceTypeP316xlarge is a InstanceType enum value
107613	InstanceTypeP316xlarge = "p3.16xlarge"
107614
107615	// InstanceTypeP3dn24xlarge is a InstanceType enum value
107616	InstanceTypeP3dn24xlarge = "p3dn.24xlarge"
107617
107618	// InstanceTypeD2Xlarge is a InstanceType enum value
107619	InstanceTypeD2Xlarge = "d2.xlarge"
107620
107621	// InstanceTypeD22xlarge is a InstanceType enum value
107622	InstanceTypeD22xlarge = "d2.2xlarge"
107623
107624	// InstanceTypeD24xlarge is a InstanceType enum value
107625	InstanceTypeD24xlarge = "d2.4xlarge"
107626
107627	// InstanceTypeD28xlarge is a InstanceType enum value
107628	InstanceTypeD28xlarge = "d2.8xlarge"
107629
107630	// InstanceTypeF12xlarge is a InstanceType enum value
107631	InstanceTypeF12xlarge = "f1.2xlarge"
107632
107633	// InstanceTypeF14xlarge is a InstanceType enum value
107634	InstanceTypeF14xlarge = "f1.4xlarge"
107635
107636	// InstanceTypeF116xlarge is a InstanceType enum value
107637	InstanceTypeF116xlarge = "f1.16xlarge"
107638
107639	// InstanceTypeM5Large is a InstanceType enum value
107640	InstanceTypeM5Large = "m5.large"
107641
107642	// InstanceTypeM5Xlarge is a InstanceType enum value
107643	InstanceTypeM5Xlarge = "m5.xlarge"
107644
107645	// InstanceTypeM52xlarge is a InstanceType enum value
107646	InstanceTypeM52xlarge = "m5.2xlarge"
107647
107648	// InstanceTypeM54xlarge is a InstanceType enum value
107649	InstanceTypeM54xlarge = "m5.4xlarge"
107650
107651	// InstanceTypeM58xlarge is a InstanceType enum value
107652	InstanceTypeM58xlarge = "m5.8xlarge"
107653
107654	// InstanceTypeM512xlarge is a InstanceType enum value
107655	InstanceTypeM512xlarge = "m5.12xlarge"
107656
107657	// InstanceTypeM516xlarge is a InstanceType enum value
107658	InstanceTypeM516xlarge = "m5.16xlarge"
107659
107660	// InstanceTypeM524xlarge is a InstanceType enum value
107661	InstanceTypeM524xlarge = "m5.24xlarge"
107662
107663	// InstanceTypeM5Metal is a InstanceType enum value
107664	InstanceTypeM5Metal = "m5.metal"
107665
107666	// InstanceTypeM5aLarge is a InstanceType enum value
107667	InstanceTypeM5aLarge = "m5a.large"
107668
107669	// InstanceTypeM5aXlarge is a InstanceType enum value
107670	InstanceTypeM5aXlarge = "m5a.xlarge"
107671
107672	// InstanceTypeM5a2xlarge is a InstanceType enum value
107673	InstanceTypeM5a2xlarge = "m5a.2xlarge"
107674
107675	// InstanceTypeM5a4xlarge is a InstanceType enum value
107676	InstanceTypeM5a4xlarge = "m5a.4xlarge"
107677
107678	// InstanceTypeM5a8xlarge is a InstanceType enum value
107679	InstanceTypeM5a8xlarge = "m5a.8xlarge"
107680
107681	// InstanceTypeM5a12xlarge is a InstanceType enum value
107682	InstanceTypeM5a12xlarge = "m5a.12xlarge"
107683
107684	// InstanceTypeM5a16xlarge is a InstanceType enum value
107685	InstanceTypeM5a16xlarge = "m5a.16xlarge"
107686
107687	// InstanceTypeM5a24xlarge is a InstanceType enum value
107688	InstanceTypeM5a24xlarge = "m5a.24xlarge"
107689
107690	// InstanceTypeM5dLarge is a InstanceType enum value
107691	InstanceTypeM5dLarge = "m5d.large"
107692
107693	// InstanceTypeM5dXlarge is a InstanceType enum value
107694	InstanceTypeM5dXlarge = "m5d.xlarge"
107695
107696	// InstanceTypeM5d2xlarge is a InstanceType enum value
107697	InstanceTypeM5d2xlarge = "m5d.2xlarge"
107698
107699	// InstanceTypeM5d4xlarge is a InstanceType enum value
107700	InstanceTypeM5d4xlarge = "m5d.4xlarge"
107701
107702	// InstanceTypeM5d8xlarge is a InstanceType enum value
107703	InstanceTypeM5d8xlarge = "m5d.8xlarge"
107704
107705	// InstanceTypeM5d12xlarge is a InstanceType enum value
107706	InstanceTypeM5d12xlarge = "m5d.12xlarge"
107707
107708	// InstanceTypeM5d16xlarge is a InstanceType enum value
107709	InstanceTypeM5d16xlarge = "m5d.16xlarge"
107710
107711	// InstanceTypeM5d24xlarge is a InstanceType enum value
107712	InstanceTypeM5d24xlarge = "m5d.24xlarge"
107713
107714	// InstanceTypeM5dMetal is a InstanceType enum value
107715	InstanceTypeM5dMetal = "m5d.metal"
107716
107717	// InstanceTypeM5adLarge is a InstanceType enum value
107718	InstanceTypeM5adLarge = "m5ad.large"
107719
107720	// InstanceTypeM5adXlarge is a InstanceType enum value
107721	InstanceTypeM5adXlarge = "m5ad.xlarge"
107722
107723	// InstanceTypeM5ad2xlarge is a InstanceType enum value
107724	InstanceTypeM5ad2xlarge = "m5ad.2xlarge"
107725
107726	// InstanceTypeM5ad4xlarge is a InstanceType enum value
107727	InstanceTypeM5ad4xlarge = "m5ad.4xlarge"
107728
107729	// InstanceTypeM5ad8xlarge is a InstanceType enum value
107730	InstanceTypeM5ad8xlarge = "m5ad.8xlarge"
107731
107732	// InstanceTypeM5ad12xlarge is a InstanceType enum value
107733	InstanceTypeM5ad12xlarge = "m5ad.12xlarge"
107734
107735	// InstanceTypeM5ad16xlarge is a InstanceType enum value
107736	InstanceTypeM5ad16xlarge = "m5ad.16xlarge"
107737
107738	// InstanceTypeM5ad24xlarge is a InstanceType enum value
107739	InstanceTypeM5ad24xlarge = "m5ad.24xlarge"
107740
107741	// InstanceTypeH12xlarge is a InstanceType enum value
107742	InstanceTypeH12xlarge = "h1.2xlarge"
107743
107744	// InstanceTypeH14xlarge is a InstanceType enum value
107745	InstanceTypeH14xlarge = "h1.4xlarge"
107746
107747	// InstanceTypeH18xlarge is a InstanceType enum value
107748	InstanceTypeH18xlarge = "h1.8xlarge"
107749
107750	// InstanceTypeH116xlarge is a InstanceType enum value
107751	InstanceTypeH116xlarge = "h1.16xlarge"
107752
107753	// InstanceTypeZ1dLarge is a InstanceType enum value
107754	InstanceTypeZ1dLarge = "z1d.large"
107755
107756	// InstanceTypeZ1dXlarge is a InstanceType enum value
107757	InstanceTypeZ1dXlarge = "z1d.xlarge"
107758
107759	// InstanceTypeZ1d2xlarge is a InstanceType enum value
107760	InstanceTypeZ1d2xlarge = "z1d.2xlarge"
107761
107762	// InstanceTypeZ1d3xlarge is a InstanceType enum value
107763	InstanceTypeZ1d3xlarge = "z1d.3xlarge"
107764
107765	// InstanceTypeZ1d6xlarge is a InstanceType enum value
107766	InstanceTypeZ1d6xlarge = "z1d.6xlarge"
107767
107768	// InstanceTypeZ1d12xlarge is a InstanceType enum value
107769	InstanceTypeZ1d12xlarge = "z1d.12xlarge"
107770
107771	// InstanceTypeZ1dMetal is a InstanceType enum value
107772	InstanceTypeZ1dMetal = "z1d.metal"
107773
107774	// InstanceTypeU6tb1Metal is a InstanceType enum value
107775	InstanceTypeU6tb1Metal = "u-6tb1.metal"
107776
107777	// InstanceTypeU9tb1Metal is a InstanceType enum value
107778	InstanceTypeU9tb1Metal = "u-9tb1.metal"
107779
107780	// InstanceTypeU12tb1Metal is a InstanceType enum value
107781	InstanceTypeU12tb1Metal = "u-12tb1.metal"
107782
107783	// InstanceTypeU18tb1Metal is a InstanceType enum value
107784	InstanceTypeU18tb1Metal = "u-18tb1.metal"
107785
107786	// InstanceTypeU24tb1Metal is a InstanceType enum value
107787	InstanceTypeU24tb1Metal = "u-24tb1.metal"
107788
107789	// InstanceTypeA1Medium is a InstanceType enum value
107790	InstanceTypeA1Medium = "a1.medium"
107791
107792	// InstanceTypeA1Large is a InstanceType enum value
107793	InstanceTypeA1Large = "a1.large"
107794
107795	// InstanceTypeA1Xlarge is a InstanceType enum value
107796	InstanceTypeA1Xlarge = "a1.xlarge"
107797
107798	// InstanceTypeA12xlarge is a InstanceType enum value
107799	InstanceTypeA12xlarge = "a1.2xlarge"
107800
107801	// InstanceTypeA14xlarge is a InstanceType enum value
107802	InstanceTypeA14xlarge = "a1.4xlarge"
107803
107804	// InstanceTypeA1Metal is a InstanceType enum value
107805	InstanceTypeA1Metal = "a1.metal"
107806
107807	// InstanceTypeM5dnLarge is a InstanceType enum value
107808	InstanceTypeM5dnLarge = "m5dn.large"
107809
107810	// InstanceTypeM5dnXlarge is a InstanceType enum value
107811	InstanceTypeM5dnXlarge = "m5dn.xlarge"
107812
107813	// InstanceTypeM5dn2xlarge is a InstanceType enum value
107814	InstanceTypeM5dn2xlarge = "m5dn.2xlarge"
107815
107816	// InstanceTypeM5dn4xlarge is a InstanceType enum value
107817	InstanceTypeM5dn4xlarge = "m5dn.4xlarge"
107818
107819	// InstanceTypeM5dn8xlarge is a InstanceType enum value
107820	InstanceTypeM5dn8xlarge = "m5dn.8xlarge"
107821
107822	// InstanceTypeM5dn12xlarge is a InstanceType enum value
107823	InstanceTypeM5dn12xlarge = "m5dn.12xlarge"
107824
107825	// InstanceTypeM5dn16xlarge is a InstanceType enum value
107826	InstanceTypeM5dn16xlarge = "m5dn.16xlarge"
107827
107828	// InstanceTypeM5dn24xlarge is a InstanceType enum value
107829	InstanceTypeM5dn24xlarge = "m5dn.24xlarge"
107830
107831	// InstanceTypeM5nLarge is a InstanceType enum value
107832	InstanceTypeM5nLarge = "m5n.large"
107833
107834	// InstanceTypeM5nXlarge is a InstanceType enum value
107835	InstanceTypeM5nXlarge = "m5n.xlarge"
107836
107837	// InstanceTypeM5n2xlarge is a InstanceType enum value
107838	InstanceTypeM5n2xlarge = "m5n.2xlarge"
107839
107840	// InstanceTypeM5n4xlarge is a InstanceType enum value
107841	InstanceTypeM5n4xlarge = "m5n.4xlarge"
107842
107843	// InstanceTypeM5n8xlarge is a InstanceType enum value
107844	InstanceTypeM5n8xlarge = "m5n.8xlarge"
107845
107846	// InstanceTypeM5n12xlarge is a InstanceType enum value
107847	InstanceTypeM5n12xlarge = "m5n.12xlarge"
107848
107849	// InstanceTypeM5n16xlarge is a InstanceType enum value
107850	InstanceTypeM5n16xlarge = "m5n.16xlarge"
107851
107852	// InstanceTypeM5n24xlarge is a InstanceType enum value
107853	InstanceTypeM5n24xlarge = "m5n.24xlarge"
107854
107855	// InstanceTypeR5dnLarge is a InstanceType enum value
107856	InstanceTypeR5dnLarge = "r5dn.large"
107857
107858	// InstanceTypeR5dnXlarge is a InstanceType enum value
107859	InstanceTypeR5dnXlarge = "r5dn.xlarge"
107860
107861	// InstanceTypeR5dn2xlarge is a InstanceType enum value
107862	InstanceTypeR5dn2xlarge = "r5dn.2xlarge"
107863
107864	// InstanceTypeR5dn4xlarge is a InstanceType enum value
107865	InstanceTypeR5dn4xlarge = "r5dn.4xlarge"
107866
107867	// InstanceTypeR5dn8xlarge is a InstanceType enum value
107868	InstanceTypeR5dn8xlarge = "r5dn.8xlarge"
107869
107870	// InstanceTypeR5dn12xlarge is a InstanceType enum value
107871	InstanceTypeR5dn12xlarge = "r5dn.12xlarge"
107872
107873	// InstanceTypeR5dn16xlarge is a InstanceType enum value
107874	InstanceTypeR5dn16xlarge = "r5dn.16xlarge"
107875
107876	// InstanceTypeR5dn24xlarge is a InstanceType enum value
107877	InstanceTypeR5dn24xlarge = "r5dn.24xlarge"
107878
107879	// InstanceTypeR5nLarge is a InstanceType enum value
107880	InstanceTypeR5nLarge = "r5n.large"
107881
107882	// InstanceTypeR5nXlarge is a InstanceType enum value
107883	InstanceTypeR5nXlarge = "r5n.xlarge"
107884
107885	// InstanceTypeR5n2xlarge is a InstanceType enum value
107886	InstanceTypeR5n2xlarge = "r5n.2xlarge"
107887
107888	// InstanceTypeR5n4xlarge is a InstanceType enum value
107889	InstanceTypeR5n4xlarge = "r5n.4xlarge"
107890
107891	// InstanceTypeR5n8xlarge is a InstanceType enum value
107892	InstanceTypeR5n8xlarge = "r5n.8xlarge"
107893
107894	// InstanceTypeR5n12xlarge is a InstanceType enum value
107895	InstanceTypeR5n12xlarge = "r5n.12xlarge"
107896
107897	// InstanceTypeR5n16xlarge is a InstanceType enum value
107898	InstanceTypeR5n16xlarge = "r5n.16xlarge"
107899
107900	// InstanceTypeR5n24xlarge is a InstanceType enum value
107901	InstanceTypeR5n24xlarge = "r5n.24xlarge"
107902
107903	// InstanceTypeInf1Xlarge is a InstanceType enum value
107904	InstanceTypeInf1Xlarge = "inf1.xlarge"
107905
107906	// InstanceTypeInf12xlarge is a InstanceType enum value
107907	InstanceTypeInf12xlarge = "inf1.2xlarge"
107908
107909	// InstanceTypeInf16xlarge is a InstanceType enum value
107910	InstanceTypeInf16xlarge = "inf1.6xlarge"
107911
107912	// InstanceTypeInf124xlarge is a InstanceType enum value
107913	InstanceTypeInf124xlarge = "inf1.24xlarge"
107914)
107915
107916const (
107917	// InstanceTypeHypervisorNitro is a InstanceTypeHypervisor enum value
107918	InstanceTypeHypervisorNitro = "nitro"
107919
107920	// InstanceTypeHypervisorXen is a InstanceTypeHypervisor enum value
107921	InstanceTypeHypervisorXen = "xen"
107922)
107923
107924const (
107925	// InterfacePermissionTypeInstanceAttach is a InterfacePermissionType enum value
107926	InterfacePermissionTypeInstanceAttach = "INSTANCE-ATTACH"
107927
107928	// InterfacePermissionTypeEipAssociate is a InterfacePermissionType enum value
107929	InterfacePermissionTypeEipAssociate = "EIP-ASSOCIATE"
107930)
107931
107932const (
107933	// Ipv6SupportValueEnable is a Ipv6SupportValue enum value
107934	Ipv6SupportValueEnable = "enable"
107935
107936	// Ipv6SupportValueDisable is a Ipv6SupportValue enum value
107937	Ipv6SupportValueDisable = "disable"
107938)
107939
107940const (
107941	// LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist is a LaunchTemplateErrorCode enum value
107942	LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
107943
107944	// LaunchTemplateErrorCodeLaunchTemplateIdMalformed is a LaunchTemplateErrorCode enum value
107945	LaunchTemplateErrorCodeLaunchTemplateIdMalformed = "launchTemplateIdMalformed"
107946
107947	// LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist is a LaunchTemplateErrorCode enum value
107948	LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
107949
107950	// LaunchTemplateErrorCodeLaunchTemplateNameMalformed is a LaunchTemplateErrorCode enum value
107951	LaunchTemplateErrorCodeLaunchTemplateNameMalformed = "launchTemplateNameMalformed"
107952
107953	// LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist is a LaunchTemplateErrorCode enum value
107954	LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
107955
107956	// LaunchTemplateErrorCodeUnexpectedError is a LaunchTemplateErrorCode enum value
107957	LaunchTemplateErrorCodeUnexpectedError = "unexpectedError"
107958)
107959
107960const (
107961	// ListingStateAvailable is a ListingState enum value
107962	ListingStateAvailable = "available"
107963
107964	// ListingStateSold is a ListingState enum value
107965	ListingStateSold = "sold"
107966
107967	// ListingStateCancelled is a ListingState enum value
107968	ListingStateCancelled = "cancelled"
107969
107970	// ListingStatePending is a ListingState enum value
107971	ListingStatePending = "pending"
107972)
107973
107974const (
107975	// ListingStatusActive is a ListingStatus enum value
107976	ListingStatusActive = "active"
107977
107978	// ListingStatusPending is a ListingStatus enum value
107979	ListingStatusPending = "pending"
107980
107981	// ListingStatusCancelled is a ListingStatus enum value
107982	ListingStatusCancelled = "cancelled"
107983
107984	// ListingStatusClosed is a ListingStatus enum value
107985	ListingStatusClosed = "closed"
107986)
107987
107988const (
107989	// LocalGatewayRouteStatePending is a LocalGatewayRouteState enum value
107990	LocalGatewayRouteStatePending = "pending"
107991
107992	// LocalGatewayRouteStateActive is a LocalGatewayRouteState enum value
107993	LocalGatewayRouteStateActive = "active"
107994
107995	// LocalGatewayRouteStateBlackhole is a LocalGatewayRouteState enum value
107996	LocalGatewayRouteStateBlackhole = "blackhole"
107997
107998	// LocalGatewayRouteStateDeleting is a LocalGatewayRouteState enum value
107999	LocalGatewayRouteStateDeleting = "deleting"
108000
108001	// LocalGatewayRouteStateDeleted is a LocalGatewayRouteState enum value
108002	LocalGatewayRouteStateDeleted = "deleted"
108003)
108004
108005const (
108006	// LocalGatewayRouteTypeStatic is a LocalGatewayRouteType enum value
108007	LocalGatewayRouteTypeStatic = "static"
108008
108009	// LocalGatewayRouteTypePropagated is a LocalGatewayRouteType enum value
108010	LocalGatewayRouteTypePropagated = "propagated"
108011)
108012
108013const (
108014	// LocationTypeRegion is a LocationType enum value
108015	LocationTypeRegion = "region"
108016
108017	// LocationTypeAvailabilityZone is a LocationType enum value
108018	LocationTypeAvailabilityZone = "availability-zone"
108019
108020	// LocationTypeAvailabilityZoneId is a LocationType enum value
108021	LocationTypeAvailabilityZoneId = "availability-zone-id"
108022)
108023
108024const (
108025	// LogDestinationTypeCloudWatchLogs is a LogDestinationType enum value
108026	LogDestinationTypeCloudWatchLogs = "cloud-watch-logs"
108027
108028	// LogDestinationTypeS3 is a LogDestinationType enum value
108029	LogDestinationTypeS3 = "s3"
108030)
108031
108032const (
108033	// MarketTypeSpot is a MarketType enum value
108034	MarketTypeSpot = "spot"
108035)
108036
108037const (
108038	// MembershipTypeStatic is a MembershipType enum value
108039	MembershipTypeStatic = "static"
108040
108041	// MembershipTypeIgmp is a MembershipType enum value
108042	MembershipTypeIgmp = "igmp"
108043)
108044
108045const (
108046	// MonitoringStateDisabled is a MonitoringState enum value
108047	MonitoringStateDisabled = "disabled"
108048
108049	// MonitoringStateDisabling is a MonitoringState enum value
108050	MonitoringStateDisabling = "disabling"
108051
108052	// MonitoringStateEnabled is a MonitoringState enum value
108053	MonitoringStateEnabled = "enabled"
108054
108055	// MonitoringStatePending is a MonitoringState enum value
108056	MonitoringStatePending = "pending"
108057)
108058
108059const (
108060	// MoveStatusMovingToVpc is a MoveStatus enum value
108061	MoveStatusMovingToVpc = "movingToVpc"
108062
108063	// MoveStatusRestoringToClassic is a MoveStatus enum value
108064	MoveStatusRestoringToClassic = "restoringToClassic"
108065)
108066
108067const (
108068	// MulticastSupportValueEnable is a MulticastSupportValue enum value
108069	MulticastSupportValueEnable = "enable"
108070
108071	// MulticastSupportValueDisable is a MulticastSupportValue enum value
108072	MulticastSupportValueDisable = "disable"
108073)
108074
108075const (
108076	// NatGatewayStatePending is a NatGatewayState enum value
108077	NatGatewayStatePending = "pending"
108078
108079	// NatGatewayStateFailed is a NatGatewayState enum value
108080	NatGatewayStateFailed = "failed"
108081
108082	// NatGatewayStateAvailable is a NatGatewayState enum value
108083	NatGatewayStateAvailable = "available"
108084
108085	// NatGatewayStateDeleting is a NatGatewayState enum value
108086	NatGatewayStateDeleting = "deleting"
108087
108088	// NatGatewayStateDeleted is a NatGatewayState enum value
108089	NatGatewayStateDeleted = "deleted"
108090)
108091
108092const (
108093	// NetworkInterfaceAttributeDescription is a NetworkInterfaceAttribute enum value
108094	NetworkInterfaceAttributeDescription = "description"
108095
108096	// NetworkInterfaceAttributeGroupSet is a NetworkInterfaceAttribute enum value
108097	NetworkInterfaceAttributeGroupSet = "groupSet"
108098
108099	// NetworkInterfaceAttributeSourceDestCheck is a NetworkInterfaceAttribute enum value
108100	NetworkInterfaceAttributeSourceDestCheck = "sourceDestCheck"
108101
108102	// NetworkInterfaceAttributeAttachment is a NetworkInterfaceAttribute enum value
108103	NetworkInterfaceAttributeAttachment = "attachment"
108104)
108105
108106const (
108107	// NetworkInterfaceCreationTypeEfa is a NetworkInterfaceCreationType enum value
108108	NetworkInterfaceCreationTypeEfa = "efa"
108109)
108110
108111const (
108112	// NetworkInterfacePermissionStateCodePending is a NetworkInterfacePermissionStateCode enum value
108113	NetworkInterfacePermissionStateCodePending = "pending"
108114
108115	// NetworkInterfacePermissionStateCodeGranted is a NetworkInterfacePermissionStateCode enum value
108116	NetworkInterfacePermissionStateCodeGranted = "granted"
108117
108118	// NetworkInterfacePermissionStateCodeRevoking is a NetworkInterfacePermissionStateCode enum value
108119	NetworkInterfacePermissionStateCodeRevoking = "revoking"
108120
108121	// NetworkInterfacePermissionStateCodeRevoked is a NetworkInterfacePermissionStateCode enum value
108122	NetworkInterfacePermissionStateCodeRevoked = "revoked"
108123)
108124
108125const (
108126	// NetworkInterfaceStatusAvailable is a NetworkInterfaceStatus enum value
108127	NetworkInterfaceStatusAvailable = "available"
108128
108129	// NetworkInterfaceStatusAssociated is a NetworkInterfaceStatus enum value
108130	NetworkInterfaceStatusAssociated = "associated"
108131
108132	// NetworkInterfaceStatusAttaching is a NetworkInterfaceStatus enum value
108133	NetworkInterfaceStatusAttaching = "attaching"
108134
108135	// NetworkInterfaceStatusInUse is a NetworkInterfaceStatus enum value
108136	NetworkInterfaceStatusInUse = "in-use"
108137
108138	// NetworkInterfaceStatusDetaching is a NetworkInterfaceStatus enum value
108139	NetworkInterfaceStatusDetaching = "detaching"
108140)
108141
108142const (
108143	// NetworkInterfaceTypeInterface is a NetworkInterfaceType enum value
108144	NetworkInterfaceTypeInterface = "interface"
108145
108146	// NetworkInterfaceTypeNatGateway is a NetworkInterfaceType enum value
108147	NetworkInterfaceTypeNatGateway = "natGateway"
108148
108149	// NetworkInterfaceTypeEfa is a NetworkInterfaceType enum value
108150	NetworkInterfaceTypeEfa = "efa"
108151)
108152
108153const (
108154	// OfferingClassTypeStandard is a OfferingClassType enum value
108155	OfferingClassTypeStandard = "standard"
108156
108157	// OfferingClassTypeConvertible is a OfferingClassType enum value
108158	OfferingClassTypeConvertible = "convertible"
108159)
108160
108161const (
108162	// OfferingTypeValuesHeavyUtilization is a OfferingTypeValues enum value
108163	OfferingTypeValuesHeavyUtilization = "Heavy Utilization"
108164
108165	// OfferingTypeValuesMediumUtilization is a OfferingTypeValues enum value
108166	OfferingTypeValuesMediumUtilization = "Medium Utilization"
108167
108168	// OfferingTypeValuesLightUtilization is a OfferingTypeValues enum value
108169	OfferingTypeValuesLightUtilization = "Light Utilization"
108170
108171	// OfferingTypeValuesNoUpfront is a OfferingTypeValues enum value
108172	OfferingTypeValuesNoUpfront = "No Upfront"
108173
108174	// OfferingTypeValuesPartialUpfront is a OfferingTypeValues enum value
108175	OfferingTypeValuesPartialUpfront = "Partial Upfront"
108176
108177	// OfferingTypeValuesAllUpfront is a OfferingTypeValues enum value
108178	OfferingTypeValuesAllUpfront = "All Upfront"
108179)
108180
108181const (
108182	// OnDemandAllocationStrategyLowestPrice is a OnDemandAllocationStrategy enum value
108183	OnDemandAllocationStrategyLowestPrice = "lowestPrice"
108184
108185	// OnDemandAllocationStrategyPrioritized is a OnDemandAllocationStrategy enum value
108186	OnDemandAllocationStrategyPrioritized = "prioritized"
108187)
108188
108189const (
108190	// OperationTypeAdd is a OperationType enum value
108191	OperationTypeAdd = "add"
108192
108193	// OperationTypeRemove is a OperationType enum value
108194	OperationTypeRemove = "remove"
108195)
108196
108197const (
108198	// PaymentOptionAllUpfront is a PaymentOption enum value
108199	PaymentOptionAllUpfront = "AllUpfront"
108200
108201	// PaymentOptionPartialUpfront is a PaymentOption enum value
108202	PaymentOptionPartialUpfront = "PartialUpfront"
108203
108204	// PaymentOptionNoUpfront is a PaymentOption enum value
108205	PaymentOptionNoUpfront = "NoUpfront"
108206)
108207
108208const (
108209	// PermissionGroupAll is a PermissionGroup enum value
108210	PermissionGroupAll = "all"
108211)
108212
108213const (
108214	// PlacementGroupStatePending is a PlacementGroupState enum value
108215	PlacementGroupStatePending = "pending"
108216
108217	// PlacementGroupStateAvailable is a PlacementGroupState enum value
108218	PlacementGroupStateAvailable = "available"
108219
108220	// PlacementGroupStateDeleting is a PlacementGroupState enum value
108221	PlacementGroupStateDeleting = "deleting"
108222
108223	// PlacementGroupStateDeleted is a PlacementGroupState enum value
108224	PlacementGroupStateDeleted = "deleted"
108225)
108226
108227const (
108228	// PlacementGroupStrategyCluster is a PlacementGroupStrategy enum value
108229	PlacementGroupStrategyCluster = "cluster"
108230
108231	// PlacementGroupStrategyPartition is a PlacementGroupStrategy enum value
108232	PlacementGroupStrategyPartition = "partition"
108233
108234	// PlacementGroupStrategySpread is a PlacementGroupStrategy enum value
108235	PlacementGroupStrategySpread = "spread"
108236)
108237
108238const (
108239	// PlacementStrategyCluster is a PlacementStrategy enum value
108240	PlacementStrategyCluster = "cluster"
108241
108242	// PlacementStrategySpread is a PlacementStrategy enum value
108243	PlacementStrategySpread = "spread"
108244
108245	// PlacementStrategyPartition is a PlacementStrategy enum value
108246	PlacementStrategyPartition = "partition"
108247)
108248
108249const (
108250	// PlatformValuesWindows is a PlatformValues enum value
108251	PlatformValuesWindows = "Windows"
108252)
108253
108254const (
108255	// PrincipalTypeAll is a PrincipalType enum value
108256	PrincipalTypeAll = "All"
108257
108258	// PrincipalTypeService is a PrincipalType enum value
108259	PrincipalTypeService = "Service"
108260
108261	// PrincipalTypeOrganizationUnit is a PrincipalType enum value
108262	PrincipalTypeOrganizationUnit = "OrganizationUnit"
108263
108264	// PrincipalTypeAccount is a PrincipalType enum value
108265	PrincipalTypeAccount = "Account"
108266
108267	// PrincipalTypeUser is a PrincipalType enum value
108268	PrincipalTypeUser = "User"
108269
108270	// PrincipalTypeRole is a PrincipalType enum value
108271	PrincipalTypeRole = "Role"
108272)
108273
108274const (
108275	// ProductCodeValuesDevpay is a ProductCodeValues enum value
108276	ProductCodeValuesDevpay = "devpay"
108277
108278	// ProductCodeValuesMarketplace is a ProductCodeValues enum value
108279	ProductCodeValuesMarketplace = "marketplace"
108280)
108281
108282const (
108283	// RIProductDescriptionLinuxUnix is a RIProductDescription enum value
108284	RIProductDescriptionLinuxUnix = "Linux/UNIX"
108285
108286	// RIProductDescriptionLinuxUnixamazonVpc is a RIProductDescription enum value
108287	RIProductDescriptionLinuxUnixamazonVpc = "Linux/UNIX (Amazon VPC)"
108288
108289	// RIProductDescriptionWindows is a RIProductDescription enum value
108290	RIProductDescriptionWindows = "Windows"
108291
108292	// RIProductDescriptionWindowsAmazonVpc is a RIProductDescription enum value
108293	RIProductDescriptionWindowsAmazonVpc = "Windows (Amazon VPC)"
108294)
108295
108296const (
108297	// RecurringChargeFrequencyHourly is a RecurringChargeFrequency enum value
108298	RecurringChargeFrequencyHourly = "Hourly"
108299)
108300
108301const (
108302	// ReportInstanceReasonCodesInstanceStuckInState is a ReportInstanceReasonCodes enum value
108303	ReportInstanceReasonCodesInstanceStuckInState = "instance-stuck-in-state"
108304
108305	// ReportInstanceReasonCodesUnresponsive is a ReportInstanceReasonCodes enum value
108306	ReportInstanceReasonCodesUnresponsive = "unresponsive"
108307
108308	// ReportInstanceReasonCodesNotAcceptingCredentials is a ReportInstanceReasonCodes enum value
108309	ReportInstanceReasonCodesNotAcceptingCredentials = "not-accepting-credentials"
108310
108311	// ReportInstanceReasonCodesPasswordNotAvailable is a ReportInstanceReasonCodes enum value
108312	ReportInstanceReasonCodesPasswordNotAvailable = "password-not-available"
108313
108314	// ReportInstanceReasonCodesPerformanceNetwork is a ReportInstanceReasonCodes enum value
108315	ReportInstanceReasonCodesPerformanceNetwork = "performance-network"
108316
108317	// ReportInstanceReasonCodesPerformanceInstanceStore is a ReportInstanceReasonCodes enum value
108318	ReportInstanceReasonCodesPerformanceInstanceStore = "performance-instance-store"
108319
108320	// ReportInstanceReasonCodesPerformanceEbsVolume is a ReportInstanceReasonCodes enum value
108321	ReportInstanceReasonCodesPerformanceEbsVolume = "performance-ebs-volume"
108322
108323	// ReportInstanceReasonCodesPerformanceOther is a ReportInstanceReasonCodes enum value
108324	ReportInstanceReasonCodesPerformanceOther = "performance-other"
108325
108326	// ReportInstanceReasonCodesOther is a ReportInstanceReasonCodes enum value
108327	ReportInstanceReasonCodesOther = "other"
108328)
108329
108330const (
108331	// ReportStatusTypeOk is a ReportStatusType enum value
108332	ReportStatusTypeOk = "ok"
108333
108334	// ReportStatusTypeImpaired is a ReportStatusType enum value
108335	ReportStatusTypeImpaired = "impaired"
108336)
108337
108338const (
108339	// ReservationStatePaymentPending is a ReservationState enum value
108340	ReservationStatePaymentPending = "payment-pending"
108341
108342	// ReservationStatePaymentFailed is a ReservationState enum value
108343	ReservationStatePaymentFailed = "payment-failed"
108344
108345	// ReservationStateActive is a ReservationState enum value
108346	ReservationStateActive = "active"
108347
108348	// ReservationStateRetired is a ReservationState enum value
108349	ReservationStateRetired = "retired"
108350)
108351
108352const (
108353	// ReservedInstanceStatePaymentPending is a ReservedInstanceState enum value
108354	ReservedInstanceStatePaymentPending = "payment-pending"
108355
108356	// ReservedInstanceStateActive is a ReservedInstanceState enum value
108357	ReservedInstanceStateActive = "active"
108358
108359	// ReservedInstanceStatePaymentFailed is a ReservedInstanceState enum value
108360	ReservedInstanceStatePaymentFailed = "payment-failed"
108361
108362	// ReservedInstanceStateRetired is a ReservedInstanceState enum value
108363	ReservedInstanceStateRetired = "retired"
108364
108365	// ReservedInstanceStateQueued is a ReservedInstanceState enum value
108366	ReservedInstanceStateQueued = "queued"
108367
108368	// ReservedInstanceStateQueuedDeleted is a ReservedInstanceState enum value
108369	ReservedInstanceStateQueuedDeleted = "queued-deleted"
108370)
108371
108372const (
108373	// ResetFpgaImageAttributeNameLoadPermission is a ResetFpgaImageAttributeName enum value
108374	ResetFpgaImageAttributeNameLoadPermission = "loadPermission"
108375)
108376
108377const (
108378	// ResetImageAttributeNameLaunchPermission is a ResetImageAttributeName enum value
108379	ResetImageAttributeNameLaunchPermission = "launchPermission"
108380)
108381
108382const (
108383	// ResourceTypeClientVpnEndpoint is a ResourceType enum value
108384	ResourceTypeClientVpnEndpoint = "client-vpn-endpoint"
108385
108386	// ResourceTypeCustomerGateway is a ResourceType enum value
108387	ResourceTypeCustomerGateway = "customer-gateway"
108388
108389	// ResourceTypeDedicatedHost is a ResourceType enum value
108390	ResourceTypeDedicatedHost = "dedicated-host"
108391
108392	// ResourceTypeDhcpOptions is a ResourceType enum value
108393	ResourceTypeDhcpOptions = "dhcp-options"
108394
108395	// ResourceTypeElasticIp is a ResourceType enum value
108396	ResourceTypeElasticIp = "elastic-ip"
108397
108398	// ResourceTypeFleet is a ResourceType enum value
108399	ResourceTypeFleet = "fleet"
108400
108401	// ResourceTypeFpgaImage is a ResourceType enum value
108402	ResourceTypeFpgaImage = "fpga-image"
108403
108404	// ResourceTypeHostReservation is a ResourceType enum value
108405	ResourceTypeHostReservation = "host-reservation"
108406
108407	// ResourceTypeImage is a ResourceType enum value
108408	ResourceTypeImage = "image"
108409
108410	// ResourceTypeInstance is a ResourceType enum value
108411	ResourceTypeInstance = "instance"
108412
108413	// ResourceTypeInternetGateway is a ResourceType enum value
108414	ResourceTypeInternetGateway = "internet-gateway"
108415
108416	// ResourceTypeKeyPair is a ResourceType enum value
108417	ResourceTypeKeyPair = "key-pair"
108418
108419	// ResourceTypeLaunchTemplate is a ResourceType enum value
108420	ResourceTypeLaunchTemplate = "launch-template"
108421
108422	// ResourceTypeNatgateway is a ResourceType enum value
108423	ResourceTypeNatgateway = "natgateway"
108424
108425	// ResourceTypeNetworkAcl is a ResourceType enum value
108426	ResourceTypeNetworkAcl = "network-acl"
108427
108428	// ResourceTypeNetworkInterface is a ResourceType enum value
108429	ResourceTypeNetworkInterface = "network-interface"
108430
108431	// ResourceTypePlacementGroup is a ResourceType enum value
108432	ResourceTypePlacementGroup = "placement-group"
108433
108434	// ResourceTypeReservedInstances is a ResourceType enum value
108435	ResourceTypeReservedInstances = "reserved-instances"
108436
108437	// ResourceTypeRouteTable is a ResourceType enum value
108438	ResourceTypeRouteTable = "route-table"
108439
108440	// ResourceTypeSecurityGroup is a ResourceType enum value
108441	ResourceTypeSecurityGroup = "security-group"
108442
108443	// ResourceTypeSnapshot is a ResourceType enum value
108444	ResourceTypeSnapshot = "snapshot"
108445
108446	// ResourceTypeSpotFleetRequest is a ResourceType enum value
108447	ResourceTypeSpotFleetRequest = "spot-fleet-request"
108448
108449	// ResourceTypeSpotInstancesRequest is a ResourceType enum value
108450	ResourceTypeSpotInstancesRequest = "spot-instances-request"
108451
108452	// ResourceTypeSubnet is a ResourceType enum value
108453	ResourceTypeSubnet = "subnet"
108454
108455	// ResourceTypeTrafficMirrorFilter is a ResourceType enum value
108456	ResourceTypeTrafficMirrorFilter = "traffic-mirror-filter"
108457
108458	// ResourceTypeTrafficMirrorSession is a ResourceType enum value
108459	ResourceTypeTrafficMirrorSession = "traffic-mirror-session"
108460
108461	// ResourceTypeTrafficMirrorTarget is a ResourceType enum value
108462	ResourceTypeTrafficMirrorTarget = "traffic-mirror-target"
108463
108464	// ResourceTypeTransitGateway is a ResourceType enum value
108465	ResourceTypeTransitGateway = "transit-gateway"
108466
108467	// ResourceTypeTransitGatewayAttachment is a ResourceType enum value
108468	ResourceTypeTransitGatewayAttachment = "transit-gateway-attachment"
108469
108470	// ResourceTypeTransitGatewayMulticastDomain is a ResourceType enum value
108471	ResourceTypeTransitGatewayMulticastDomain = "transit-gateway-multicast-domain"
108472
108473	// ResourceTypeTransitGatewayRouteTable is a ResourceType enum value
108474	ResourceTypeTransitGatewayRouteTable = "transit-gateway-route-table"
108475
108476	// ResourceTypeVolume is a ResourceType enum value
108477	ResourceTypeVolume = "volume"
108478
108479	// ResourceTypeVpc is a ResourceType enum value
108480	ResourceTypeVpc = "vpc"
108481
108482	// ResourceTypeVpcPeeringConnection is a ResourceType enum value
108483	ResourceTypeVpcPeeringConnection = "vpc-peering-connection"
108484
108485	// ResourceTypeVpnConnection is a ResourceType enum value
108486	ResourceTypeVpnConnection = "vpn-connection"
108487
108488	// ResourceTypeVpnGateway is a ResourceType enum value
108489	ResourceTypeVpnGateway = "vpn-gateway"
108490)
108491
108492const (
108493	// RootDeviceTypeEbs is a RootDeviceType enum value
108494	RootDeviceTypeEbs = "ebs"
108495
108496	// RootDeviceTypeInstanceStore is a RootDeviceType enum value
108497	RootDeviceTypeInstanceStore = "instance-store"
108498)
108499
108500const (
108501	// RouteOriginCreateRouteTable is a RouteOrigin enum value
108502	RouteOriginCreateRouteTable = "CreateRouteTable"
108503
108504	// RouteOriginCreateRoute is a RouteOrigin enum value
108505	RouteOriginCreateRoute = "CreateRoute"
108506
108507	// RouteOriginEnableVgwRoutePropagation is a RouteOrigin enum value
108508	RouteOriginEnableVgwRoutePropagation = "EnableVgwRoutePropagation"
108509)
108510
108511const (
108512	// RouteStateActive is a RouteState enum value
108513	RouteStateActive = "active"
108514
108515	// RouteStateBlackhole is a RouteState enum value
108516	RouteStateBlackhole = "blackhole"
108517)
108518
108519const (
108520	// RouteTableAssociationStateCodeAssociating is a RouteTableAssociationStateCode enum value
108521	RouteTableAssociationStateCodeAssociating = "associating"
108522
108523	// RouteTableAssociationStateCodeAssociated is a RouteTableAssociationStateCode enum value
108524	RouteTableAssociationStateCodeAssociated = "associated"
108525
108526	// RouteTableAssociationStateCodeDisassociating is a RouteTableAssociationStateCode enum value
108527	RouteTableAssociationStateCodeDisassociating = "disassociating"
108528
108529	// RouteTableAssociationStateCodeDisassociated is a RouteTableAssociationStateCode enum value
108530	RouteTableAssociationStateCodeDisassociated = "disassociated"
108531
108532	// RouteTableAssociationStateCodeFailed is a RouteTableAssociationStateCode enum value
108533	RouteTableAssociationStateCodeFailed = "failed"
108534)
108535
108536const (
108537	// RuleActionAllow is a RuleAction enum value
108538	RuleActionAllow = "allow"
108539
108540	// RuleActionDeny is a RuleAction enum value
108541	RuleActionDeny = "deny"
108542)
108543
108544const (
108545	// ServiceStatePending is a ServiceState enum value
108546	ServiceStatePending = "Pending"
108547
108548	// ServiceStateAvailable is a ServiceState enum value
108549	ServiceStateAvailable = "Available"
108550
108551	// ServiceStateDeleting is a ServiceState enum value
108552	ServiceStateDeleting = "Deleting"
108553
108554	// ServiceStateDeleted is a ServiceState enum value
108555	ServiceStateDeleted = "Deleted"
108556
108557	// ServiceStateFailed is a ServiceState enum value
108558	ServiceStateFailed = "Failed"
108559)
108560
108561const (
108562	// ServiceTypeInterface is a ServiceType enum value
108563	ServiceTypeInterface = "Interface"
108564
108565	// ServiceTypeGateway is a ServiceType enum value
108566	ServiceTypeGateway = "Gateway"
108567)
108568
108569const (
108570	// ShutdownBehaviorStop is a ShutdownBehavior enum value
108571	ShutdownBehaviorStop = "stop"
108572
108573	// ShutdownBehaviorTerminate is a ShutdownBehavior enum value
108574	ShutdownBehaviorTerminate = "terminate"
108575)
108576
108577const (
108578	// SnapshotAttributeNameProductCodes is a SnapshotAttributeName enum value
108579	SnapshotAttributeNameProductCodes = "productCodes"
108580
108581	// SnapshotAttributeNameCreateVolumePermission is a SnapshotAttributeName enum value
108582	SnapshotAttributeNameCreateVolumePermission = "createVolumePermission"
108583)
108584
108585const (
108586	// SnapshotStatePending is a SnapshotState enum value
108587	SnapshotStatePending = "pending"
108588
108589	// SnapshotStateCompleted is a SnapshotState enum value
108590	SnapshotStateCompleted = "completed"
108591
108592	// SnapshotStateError is a SnapshotState enum value
108593	SnapshotStateError = "error"
108594)
108595
108596const (
108597	// SpotAllocationStrategyLowestPrice is a SpotAllocationStrategy enum value
108598	SpotAllocationStrategyLowestPrice = "lowest-price"
108599
108600	// SpotAllocationStrategyDiversified is a SpotAllocationStrategy enum value
108601	SpotAllocationStrategyDiversified = "diversified"
108602
108603	// SpotAllocationStrategyCapacityOptimized is a SpotAllocationStrategy enum value
108604	SpotAllocationStrategyCapacityOptimized = "capacity-optimized"
108605)
108606
108607const (
108608	// SpotInstanceInterruptionBehaviorHibernate is a SpotInstanceInterruptionBehavior enum value
108609	SpotInstanceInterruptionBehaviorHibernate = "hibernate"
108610
108611	// SpotInstanceInterruptionBehaviorStop is a SpotInstanceInterruptionBehavior enum value
108612	SpotInstanceInterruptionBehaviorStop = "stop"
108613
108614	// SpotInstanceInterruptionBehaviorTerminate is a SpotInstanceInterruptionBehavior enum value
108615	SpotInstanceInterruptionBehaviorTerminate = "terminate"
108616)
108617
108618const (
108619	// SpotInstanceStateOpen is a SpotInstanceState enum value
108620	SpotInstanceStateOpen = "open"
108621
108622	// SpotInstanceStateActive is a SpotInstanceState enum value
108623	SpotInstanceStateActive = "active"
108624
108625	// SpotInstanceStateClosed is a SpotInstanceState enum value
108626	SpotInstanceStateClosed = "closed"
108627
108628	// SpotInstanceStateCancelled is a SpotInstanceState enum value
108629	SpotInstanceStateCancelled = "cancelled"
108630
108631	// SpotInstanceStateFailed is a SpotInstanceState enum value
108632	SpotInstanceStateFailed = "failed"
108633)
108634
108635const (
108636	// SpotInstanceTypeOneTime is a SpotInstanceType enum value
108637	SpotInstanceTypeOneTime = "one-time"
108638
108639	// SpotInstanceTypePersistent is a SpotInstanceType enum value
108640	SpotInstanceTypePersistent = "persistent"
108641)
108642
108643const (
108644	// StatePendingAcceptance is a State enum value
108645	StatePendingAcceptance = "PendingAcceptance"
108646
108647	// StatePending is a State enum value
108648	StatePending = "Pending"
108649
108650	// StateAvailable is a State enum value
108651	StateAvailable = "Available"
108652
108653	// StateDeleting is a State enum value
108654	StateDeleting = "Deleting"
108655
108656	// StateDeleted is a State enum value
108657	StateDeleted = "Deleted"
108658
108659	// StateRejected is a State enum value
108660	StateRejected = "Rejected"
108661
108662	// StateFailed is a State enum value
108663	StateFailed = "Failed"
108664
108665	// StateExpired is a State enum value
108666	StateExpired = "Expired"
108667)
108668
108669const (
108670	// StatusMoveInProgress is a Status enum value
108671	StatusMoveInProgress = "MoveInProgress"
108672
108673	// StatusInVpc is a Status enum value
108674	StatusInVpc = "InVpc"
108675
108676	// StatusInClassic is a Status enum value
108677	StatusInClassic = "InClassic"
108678)
108679
108680const (
108681	// StatusNameReachability is a StatusName enum value
108682	StatusNameReachability = "reachability"
108683)
108684
108685const (
108686	// StatusTypePassed is a StatusType enum value
108687	StatusTypePassed = "passed"
108688
108689	// StatusTypeFailed is a StatusType enum value
108690	StatusTypeFailed = "failed"
108691
108692	// StatusTypeInsufficientData is a StatusType enum value
108693	StatusTypeInsufficientData = "insufficient-data"
108694
108695	// StatusTypeInitializing is a StatusType enum value
108696	StatusTypeInitializing = "initializing"
108697)
108698
108699const (
108700	// SubnetCidrBlockStateCodeAssociating is a SubnetCidrBlockStateCode enum value
108701	SubnetCidrBlockStateCodeAssociating = "associating"
108702
108703	// SubnetCidrBlockStateCodeAssociated is a SubnetCidrBlockStateCode enum value
108704	SubnetCidrBlockStateCodeAssociated = "associated"
108705
108706	// SubnetCidrBlockStateCodeDisassociating is a SubnetCidrBlockStateCode enum value
108707	SubnetCidrBlockStateCodeDisassociating = "disassociating"
108708
108709	// SubnetCidrBlockStateCodeDisassociated is a SubnetCidrBlockStateCode enum value
108710	SubnetCidrBlockStateCodeDisassociated = "disassociated"
108711
108712	// SubnetCidrBlockStateCodeFailing is a SubnetCidrBlockStateCode enum value
108713	SubnetCidrBlockStateCodeFailing = "failing"
108714
108715	// SubnetCidrBlockStateCodeFailed is a SubnetCidrBlockStateCode enum value
108716	SubnetCidrBlockStateCodeFailed = "failed"
108717)
108718
108719const (
108720	// SubnetStatePending is a SubnetState enum value
108721	SubnetStatePending = "pending"
108722
108723	// SubnetStateAvailable is a SubnetState enum value
108724	SubnetStateAvailable = "available"
108725)
108726
108727const (
108728	// SummaryStatusOk is a SummaryStatus enum value
108729	SummaryStatusOk = "ok"
108730
108731	// SummaryStatusImpaired is a SummaryStatus enum value
108732	SummaryStatusImpaired = "impaired"
108733
108734	// SummaryStatusInsufficientData is a SummaryStatus enum value
108735	SummaryStatusInsufficientData = "insufficient-data"
108736
108737	// SummaryStatusNotApplicable is a SummaryStatus enum value
108738	SummaryStatusNotApplicable = "not-applicable"
108739
108740	// SummaryStatusInitializing is a SummaryStatus enum value
108741	SummaryStatusInitializing = "initializing"
108742)
108743
108744const (
108745	// TelemetryStatusUp is a TelemetryStatus enum value
108746	TelemetryStatusUp = "UP"
108747
108748	// TelemetryStatusDown is a TelemetryStatus enum value
108749	TelemetryStatusDown = "DOWN"
108750)
108751
108752const (
108753	// TenancyDefault is a Tenancy enum value
108754	TenancyDefault = "default"
108755
108756	// TenancyDedicated is a Tenancy enum value
108757	TenancyDedicated = "dedicated"
108758
108759	// TenancyHost is a Tenancy enum value
108760	TenancyHost = "host"
108761)
108762
108763const (
108764	// TrafficDirectionIngress is a TrafficDirection enum value
108765	TrafficDirectionIngress = "ingress"
108766
108767	// TrafficDirectionEgress is a TrafficDirection enum value
108768	TrafficDirectionEgress = "egress"
108769)
108770
108771const (
108772	// TrafficMirrorFilterRuleFieldDestinationPortRange is a TrafficMirrorFilterRuleField enum value
108773	TrafficMirrorFilterRuleFieldDestinationPortRange = "destination-port-range"
108774
108775	// TrafficMirrorFilterRuleFieldSourcePortRange is a TrafficMirrorFilterRuleField enum value
108776	TrafficMirrorFilterRuleFieldSourcePortRange = "source-port-range"
108777
108778	// TrafficMirrorFilterRuleFieldProtocol is a TrafficMirrorFilterRuleField enum value
108779	TrafficMirrorFilterRuleFieldProtocol = "protocol"
108780
108781	// TrafficMirrorFilterRuleFieldDescription is a TrafficMirrorFilterRuleField enum value
108782	TrafficMirrorFilterRuleFieldDescription = "description"
108783)
108784
108785const (
108786	// TrafficMirrorNetworkServiceAmazonDns is a TrafficMirrorNetworkService enum value
108787	TrafficMirrorNetworkServiceAmazonDns = "amazon-dns"
108788)
108789
108790const (
108791	// TrafficMirrorRuleActionAccept is a TrafficMirrorRuleAction enum value
108792	TrafficMirrorRuleActionAccept = "accept"
108793
108794	// TrafficMirrorRuleActionReject is a TrafficMirrorRuleAction enum value
108795	TrafficMirrorRuleActionReject = "reject"
108796)
108797
108798const (
108799	// TrafficMirrorSessionFieldPacketLength is a TrafficMirrorSessionField enum value
108800	TrafficMirrorSessionFieldPacketLength = "packet-length"
108801
108802	// TrafficMirrorSessionFieldDescription is a TrafficMirrorSessionField enum value
108803	TrafficMirrorSessionFieldDescription = "description"
108804
108805	// TrafficMirrorSessionFieldVirtualNetworkId is a TrafficMirrorSessionField enum value
108806	TrafficMirrorSessionFieldVirtualNetworkId = "virtual-network-id"
108807)
108808
108809const (
108810	// TrafficMirrorTargetTypeNetworkInterface is a TrafficMirrorTargetType enum value
108811	TrafficMirrorTargetTypeNetworkInterface = "network-interface"
108812
108813	// TrafficMirrorTargetTypeNetworkLoadBalancer is a TrafficMirrorTargetType enum value
108814	TrafficMirrorTargetTypeNetworkLoadBalancer = "network-load-balancer"
108815)
108816
108817const (
108818	// TrafficTypeAccept is a TrafficType enum value
108819	TrafficTypeAccept = "ACCEPT"
108820
108821	// TrafficTypeReject is a TrafficType enum value
108822	TrafficTypeReject = "REJECT"
108823
108824	// TrafficTypeAll is a TrafficType enum value
108825	TrafficTypeAll = "ALL"
108826)
108827
108828const (
108829	// TransitGatewayAssociationStateAssociating is a TransitGatewayAssociationState enum value
108830	TransitGatewayAssociationStateAssociating = "associating"
108831
108832	// TransitGatewayAssociationStateAssociated is a TransitGatewayAssociationState enum value
108833	TransitGatewayAssociationStateAssociated = "associated"
108834
108835	// TransitGatewayAssociationStateDisassociating is a TransitGatewayAssociationState enum value
108836	TransitGatewayAssociationStateDisassociating = "disassociating"
108837
108838	// TransitGatewayAssociationStateDisassociated is a TransitGatewayAssociationState enum value
108839	TransitGatewayAssociationStateDisassociated = "disassociated"
108840)
108841
108842const (
108843	// TransitGatewayAttachmentResourceTypeVpc is a TransitGatewayAttachmentResourceType enum value
108844	TransitGatewayAttachmentResourceTypeVpc = "vpc"
108845
108846	// TransitGatewayAttachmentResourceTypeVpn is a TransitGatewayAttachmentResourceType enum value
108847	TransitGatewayAttachmentResourceTypeVpn = "vpn"
108848
108849	// TransitGatewayAttachmentResourceTypeDirectConnectGateway is a TransitGatewayAttachmentResourceType enum value
108850	TransitGatewayAttachmentResourceTypeDirectConnectGateway = "direct-connect-gateway"
108851
108852	// TransitGatewayAttachmentResourceTypeTgwPeering is a TransitGatewayAttachmentResourceType enum value
108853	TransitGatewayAttachmentResourceTypeTgwPeering = "tgw-peering"
108854)
108855
108856const (
108857	// TransitGatewayAttachmentStateInitiating is a TransitGatewayAttachmentState enum value
108858	TransitGatewayAttachmentStateInitiating = "initiating"
108859
108860	// TransitGatewayAttachmentStatePendingAcceptance is a TransitGatewayAttachmentState enum value
108861	TransitGatewayAttachmentStatePendingAcceptance = "pendingAcceptance"
108862
108863	// TransitGatewayAttachmentStateRollingBack is a TransitGatewayAttachmentState enum value
108864	TransitGatewayAttachmentStateRollingBack = "rollingBack"
108865
108866	// TransitGatewayAttachmentStatePending is a TransitGatewayAttachmentState enum value
108867	TransitGatewayAttachmentStatePending = "pending"
108868
108869	// TransitGatewayAttachmentStateAvailable is a TransitGatewayAttachmentState enum value
108870	TransitGatewayAttachmentStateAvailable = "available"
108871
108872	// TransitGatewayAttachmentStateModifying is a TransitGatewayAttachmentState enum value
108873	TransitGatewayAttachmentStateModifying = "modifying"
108874
108875	// TransitGatewayAttachmentStateDeleting is a TransitGatewayAttachmentState enum value
108876	TransitGatewayAttachmentStateDeleting = "deleting"
108877
108878	// TransitGatewayAttachmentStateDeleted is a TransitGatewayAttachmentState enum value
108879	TransitGatewayAttachmentStateDeleted = "deleted"
108880
108881	// TransitGatewayAttachmentStateFailed is a TransitGatewayAttachmentState enum value
108882	TransitGatewayAttachmentStateFailed = "failed"
108883
108884	// TransitGatewayAttachmentStateRejected is a TransitGatewayAttachmentState enum value
108885	TransitGatewayAttachmentStateRejected = "rejected"
108886
108887	// TransitGatewayAttachmentStateRejecting is a TransitGatewayAttachmentState enum value
108888	TransitGatewayAttachmentStateRejecting = "rejecting"
108889
108890	// TransitGatewayAttachmentStateFailing is a TransitGatewayAttachmentState enum value
108891	TransitGatewayAttachmentStateFailing = "failing"
108892)
108893
108894const (
108895	// TransitGatewayMulitcastDomainAssociationStateAssociating is a TransitGatewayMulitcastDomainAssociationState enum value
108896	TransitGatewayMulitcastDomainAssociationStateAssociating = "associating"
108897
108898	// TransitGatewayMulitcastDomainAssociationStateAssociated is a TransitGatewayMulitcastDomainAssociationState enum value
108899	TransitGatewayMulitcastDomainAssociationStateAssociated = "associated"
108900
108901	// TransitGatewayMulitcastDomainAssociationStateDisassociating is a TransitGatewayMulitcastDomainAssociationState enum value
108902	TransitGatewayMulitcastDomainAssociationStateDisassociating = "disassociating"
108903
108904	// TransitGatewayMulitcastDomainAssociationStateDisassociated is a TransitGatewayMulitcastDomainAssociationState enum value
108905	TransitGatewayMulitcastDomainAssociationStateDisassociated = "disassociated"
108906)
108907
108908const (
108909	// TransitGatewayMulticastDomainStatePending is a TransitGatewayMulticastDomainState enum value
108910	TransitGatewayMulticastDomainStatePending = "pending"
108911
108912	// TransitGatewayMulticastDomainStateAvailable is a TransitGatewayMulticastDomainState enum value
108913	TransitGatewayMulticastDomainStateAvailable = "available"
108914
108915	// TransitGatewayMulticastDomainStateDeleting is a TransitGatewayMulticastDomainState enum value
108916	TransitGatewayMulticastDomainStateDeleting = "deleting"
108917
108918	// TransitGatewayMulticastDomainStateDeleted is a TransitGatewayMulticastDomainState enum value
108919	TransitGatewayMulticastDomainStateDeleted = "deleted"
108920)
108921
108922const (
108923	// TransitGatewayPropagationStateEnabling is a TransitGatewayPropagationState enum value
108924	TransitGatewayPropagationStateEnabling = "enabling"
108925
108926	// TransitGatewayPropagationStateEnabled is a TransitGatewayPropagationState enum value
108927	TransitGatewayPropagationStateEnabled = "enabled"
108928
108929	// TransitGatewayPropagationStateDisabling is a TransitGatewayPropagationState enum value
108930	TransitGatewayPropagationStateDisabling = "disabling"
108931
108932	// TransitGatewayPropagationStateDisabled is a TransitGatewayPropagationState enum value
108933	TransitGatewayPropagationStateDisabled = "disabled"
108934)
108935
108936const (
108937	// TransitGatewayRouteStatePending is a TransitGatewayRouteState enum value
108938	TransitGatewayRouteStatePending = "pending"
108939
108940	// TransitGatewayRouteStateActive is a TransitGatewayRouteState enum value
108941	TransitGatewayRouteStateActive = "active"
108942
108943	// TransitGatewayRouteStateBlackhole is a TransitGatewayRouteState enum value
108944	TransitGatewayRouteStateBlackhole = "blackhole"
108945
108946	// TransitGatewayRouteStateDeleting is a TransitGatewayRouteState enum value
108947	TransitGatewayRouteStateDeleting = "deleting"
108948
108949	// TransitGatewayRouteStateDeleted is a TransitGatewayRouteState enum value
108950	TransitGatewayRouteStateDeleted = "deleted"
108951)
108952
108953const (
108954	// TransitGatewayRouteTableStatePending is a TransitGatewayRouteTableState enum value
108955	TransitGatewayRouteTableStatePending = "pending"
108956
108957	// TransitGatewayRouteTableStateAvailable is a TransitGatewayRouteTableState enum value
108958	TransitGatewayRouteTableStateAvailable = "available"
108959
108960	// TransitGatewayRouteTableStateDeleting is a TransitGatewayRouteTableState enum value
108961	TransitGatewayRouteTableStateDeleting = "deleting"
108962
108963	// TransitGatewayRouteTableStateDeleted is a TransitGatewayRouteTableState enum value
108964	TransitGatewayRouteTableStateDeleted = "deleted"
108965)
108966
108967const (
108968	// TransitGatewayRouteTypeStatic is a TransitGatewayRouteType enum value
108969	TransitGatewayRouteTypeStatic = "static"
108970
108971	// TransitGatewayRouteTypePropagated is a TransitGatewayRouteType enum value
108972	TransitGatewayRouteTypePropagated = "propagated"
108973)
108974
108975const (
108976	// TransitGatewayStatePending is a TransitGatewayState enum value
108977	TransitGatewayStatePending = "pending"
108978
108979	// TransitGatewayStateAvailable is a TransitGatewayState enum value
108980	TransitGatewayStateAvailable = "available"
108981
108982	// TransitGatewayStateModifying is a TransitGatewayState enum value
108983	TransitGatewayStateModifying = "modifying"
108984
108985	// TransitGatewayStateDeleting is a TransitGatewayState enum value
108986	TransitGatewayStateDeleting = "deleting"
108987
108988	// TransitGatewayStateDeleted is a TransitGatewayState enum value
108989	TransitGatewayStateDeleted = "deleted"
108990)
108991
108992const (
108993	// TransportProtocolTcp is a TransportProtocol enum value
108994	TransportProtocolTcp = "tcp"
108995
108996	// TransportProtocolUdp is a TransportProtocol enum value
108997	TransportProtocolUdp = "udp"
108998)
108999
109000const (
109001	// UnlimitedSupportedInstanceFamilyT2 is a UnlimitedSupportedInstanceFamily enum value
109002	UnlimitedSupportedInstanceFamilyT2 = "t2"
109003
109004	// UnlimitedSupportedInstanceFamilyT3 is a UnlimitedSupportedInstanceFamily enum value
109005	UnlimitedSupportedInstanceFamilyT3 = "t3"
109006
109007	// UnlimitedSupportedInstanceFamilyT3a is a UnlimitedSupportedInstanceFamily enum value
109008	UnlimitedSupportedInstanceFamilyT3a = "t3a"
109009)
109010
109011const (
109012	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
109013	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdMalformed = "InvalidInstanceID.Malformed"
109014
109015	// UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
109016	UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIdNotFound = "InvalidInstanceID.NotFound"
109017
109018	// UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
109019	UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState = "IncorrectInstanceState"
109020
109021	// UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported is a UnsuccessfulInstanceCreditSpecificationErrorCode enum value
109022	UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported = "InstanceCreditSpecification.NotSupported"
109023)
109024
109025const (
109026	// UsageClassTypeSpot is a UsageClassType enum value
109027	UsageClassTypeSpot = "spot"
109028
109029	// UsageClassTypeOnDemand is a UsageClassType enum value
109030	UsageClassTypeOnDemand = "on-demand"
109031)
109032
109033const (
109034	// VirtualizationTypeHvm is a VirtualizationType enum value
109035	VirtualizationTypeHvm = "hvm"
109036
109037	// VirtualizationTypeParavirtual is a VirtualizationType enum value
109038	VirtualizationTypeParavirtual = "paravirtual"
109039)
109040
109041const (
109042	// VolumeAttachmentStateAttaching is a VolumeAttachmentState enum value
109043	VolumeAttachmentStateAttaching = "attaching"
109044
109045	// VolumeAttachmentStateAttached is a VolumeAttachmentState enum value
109046	VolumeAttachmentStateAttached = "attached"
109047
109048	// VolumeAttachmentStateDetaching is a VolumeAttachmentState enum value
109049	VolumeAttachmentStateDetaching = "detaching"
109050
109051	// VolumeAttachmentStateDetached is a VolumeAttachmentState enum value
109052	VolumeAttachmentStateDetached = "detached"
109053
109054	// VolumeAttachmentStateBusy is a VolumeAttachmentState enum value
109055	VolumeAttachmentStateBusy = "busy"
109056)
109057
109058const (
109059	// VolumeAttributeNameAutoEnableIo is a VolumeAttributeName enum value
109060	VolumeAttributeNameAutoEnableIo = "autoEnableIO"
109061
109062	// VolumeAttributeNameProductCodes is a VolumeAttributeName enum value
109063	VolumeAttributeNameProductCodes = "productCodes"
109064)
109065
109066const (
109067	// VolumeModificationStateModifying is a VolumeModificationState enum value
109068	VolumeModificationStateModifying = "modifying"
109069
109070	// VolumeModificationStateOptimizing is a VolumeModificationState enum value
109071	VolumeModificationStateOptimizing = "optimizing"
109072
109073	// VolumeModificationStateCompleted is a VolumeModificationState enum value
109074	VolumeModificationStateCompleted = "completed"
109075
109076	// VolumeModificationStateFailed is a VolumeModificationState enum value
109077	VolumeModificationStateFailed = "failed"
109078)
109079
109080const (
109081	// VolumeStateCreating is a VolumeState enum value
109082	VolumeStateCreating = "creating"
109083
109084	// VolumeStateAvailable is a VolumeState enum value
109085	VolumeStateAvailable = "available"
109086
109087	// VolumeStateInUse is a VolumeState enum value
109088	VolumeStateInUse = "in-use"
109089
109090	// VolumeStateDeleting is a VolumeState enum value
109091	VolumeStateDeleting = "deleting"
109092
109093	// VolumeStateDeleted is a VolumeState enum value
109094	VolumeStateDeleted = "deleted"
109095
109096	// VolumeStateError is a VolumeState enum value
109097	VolumeStateError = "error"
109098)
109099
109100const (
109101	// VolumeStatusInfoStatusOk is a VolumeStatusInfoStatus enum value
109102	VolumeStatusInfoStatusOk = "ok"
109103
109104	// VolumeStatusInfoStatusImpaired is a VolumeStatusInfoStatus enum value
109105	VolumeStatusInfoStatusImpaired = "impaired"
109106
109107	// VolumeStatusInfoStatusInsufficientData is a VolumeStatusInfoStatus enum value
109108	VolumeStatusInfoStatusInsufficientData = "insufficient-data"
109109)
109110
109111const (
109112	// VolumeStatusNameIoEnabled is a VolumeStatusName enum value
109113	VolumeStatusNameIoEnabled = "io-enabled"
109114
109115	// VolumeStatusNameIoPerformance is a VolumeStatusName enum value
109116	VolumeStatusNameIoPerformance = "io-performance"
109117)
109118
109119const (
109120	// VolumeTypeStandard is a VolumeType enum value
109121	VolumeTypeStandard = "standard"
109122
109123	// VolumeTypeIo1 is a VolumeType enum value
109124	VolumeTypeIo1 = "io1"
109125
109126	// VolumeTypeGp2 is a VolumeType enum value
109127	VolumeTypeGp2 = "gp2"
109128
109129	// VolumeTypeSc1 is a VolumeType enum value
109130	VolumeTypeSc1 = "sc1"
109131
109132	// VolumeTypeSt1 is a VolumeType enum value
109133	VolumeTypeSt1 = "st1"
109134)
109135
109136const (
109137	// VpcAttributeNameEnableDnsSupport is a VpcAttributeName enum value
109138	VpcAttributeNameEnableDnsSupport = "enableDnsSupport"
109139
109140	// VpcAttributeNameEnableDnsHostnames is a VpcAttributeName enum value
109141	VpcAttributeNameEnableDnsHostnames = "enableDnsHostnames"
109142)
109143
109144const (
109145	// VpcCidrBlockStateCodeAssociating is a VpcCidrBlockStateCode enum value
109146	VpcCidrBlockStateCodeAssociating = "associating"
109147
109148	// VpcCidrBlockStateCodeAssociated is a VpcCidrBlockStateCode enum value
109149	VpcCidrBlockStateCodeAssociated = "associated"
109150
109151	// VpcCidrBlockStateCodeDisassociating is a VpcCidrBlockStateCode enum value
109152	VpcCidrBlockStateCodeDisassociating = "disassociating"
109153
109154	// VpcCidrBlockStateCodeDisassociated is a VpcCidrBlockStateCode enum value
109155	VpcCidrBlockStateCodeDisassociated = "disassociated"
109156
109157	// VpcCidrBlockStateCodeFailing is a VpcCidrBlockStateCode enum value
109158	VpcCidrBlockStateCodeFailing = "failing"
109159
109160	// VpcCidrBlockStateCodeFailed is a VpcCidrBlockStateCode enum value
109161	VpcCidrBlockStateCodeFailed = "failed"
109162)
109163
109164const (
109165	// VpcEndpointTypeInterface is a VpcEndpointType enum value
109166	VpcEndpointTypeInterface = "Interface"
109167
109168	// VpcEndpointTypeGateway is a VpcEndpointType enum value
109169	VpcEndpointTypeGateway = "Gateway"
109170)
109171
109172const (
109173	// VpcPeeringConnectionStateReasonCodeInitiatingRequest is a VpcPeeringConnectionStateReasonCode enum value
109174	VpcPeeringConnectionStateReasonCodeInitiatingRequest = "initiating-request"
109175
109176	// VpcPeeringConnectionStateReasonCodePendingAcceptance is a VpcPeeringConnectionStateReasonCode enum value
109177	VpcPeeringConnectionStateReasonCodePendingAcceptance = "pending-acceptance"
109178
109179	// VpcPeeringConnectionStateReasonCodeActive is a VpcPeeringConnectionStateReasonCode enum value
109180	VpcPeeringConnectionStateReasonCodeActive = "active"
109181
109182	// VpcPeeringConnectionStateReasonCodeDeleted is a VpcPeeringConnectionStateReasonCode enum value
109183	VpcPeeringConnectionStateReasonCodeDeleted = "deleted"
109184
109185	// VpcPeeringConnectionStateReasonCodeRejected is a VpcPeeringConnectionStateReasonCode enum value
109186	VpcPeeringConnectionStateReasonCodeRejected = "rejected"
109187
109188	// VpcPeeringConnectionStateReasonCodeFailed is a VpcPeeringConnectionStateReasonCode enum value
109189	VpcPeeringConnectionStateReasonCodeFailed = "failed"
109190
109191	// VpcPeeringConnectionStateReasonCodeExpired is a VpcPeeringConnectionStateReasonCode enum value
109192	VpcPeeringConnectionStateReasonCodeExpired = "expired"
109193
109194	// VpcPeeringConnectionStateReasonCodeProvisioning is a VpcPeeringConnectionStateReasonCode enum value
109195	VpcPeeringConnectionStateReasonCodeProvisioning = "provisioning"
109196
109197	// VpcPeeringConnectionStateReasonCodeDeleting is a VpcPeeringConnectionStateReasonCode enum value
109198	VpcPeeringConnectionStateReasonCodeDeleting = "deleting"
109199)
109200
109201const (
109202	// VpcStatePending is a VpcState enum value
109203	VpcStatePending = "pending"
109204
109205	// VpcStateAvailable is a VpcState enum value
109206	VpcStateAvailable = "available"
109207)
109208
109209const (
109210	// VpcTenancyDefault is a VpcTenancy enum value
109211	VpcTenancyDefault = "default"
109212)
109213
109214const (
109215	// VpnEcmpSupportValueEnable is a VpnEcmpSupportValue enum value
109216	VpnEcmpSupportValueEnable = "enable"
109217
109218	// VpnEcmpSupportValueDisable is a VpnEcmpSupportValue enum value
109219	VpnEcmpSupportValueDisable = "disable"
109220)
109221
109222const (
109223	// VpnProtocolOpenvpn is a VpnProtocol enum value
109224	VpnProtocolOpenvpn = "openvpn"
109225)
109226
109227const (
109228	// VpnStatePending is a VpnState enum value
109229	VpnStatePending = "pending"
109230
109231	// VpnStateAvailable is a VpnState enum value
109232	VpnStateAvailable = "available"
109233
109234	// VpnStateDeleting is a VpnState enum value
109235	VpnStateDeleting = "deleting"
109236
109237	// VpnStateDeleted is a VpnState enum value
109238	VpnStateDeleted = "deleted"
109239)
109240
109241const (
109242	// VpnStaticRouteSourceStatic is a VpnStaticRouteSource enum value
109243	VpnStaticRouteSourceStatic = "Static"
109244)
109245
109246const (
109247	// ScopeAvailabilityZone is a scope enum value
109248	ScopeAvailabilityZone = "Availability Zone"
109249
109250	// ScopeRegion is a scope enum value
109251	ScopeRegion = "Region"
109252)
109253