1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package snowball
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/jsonrpc"
14)
15
16const opCancelCluster = "CancelCluster"
17
18// CancelClusterRequest generates a "aws/request.Request" representing the
19// client's request for the CancelCluster 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 CancelCluster for more information on using the CancelCluster
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 CancelClusterRequest method.
34//    req, resp := client.CancelClusterRequest(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/snowball-2016-06-30/CancelCluster
42func (c *Snowball) CancelClusterRequest(input *CancelClusterInput) (req *request.Request, output *CancelClusterOutput) {
43	op := &request.Operation{
44		Name:       opCancelCluster,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &CancelClusterInput{}
51	}
52
53	output = &CancelClusterOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// CancelCluster API operation for Amazon Import/Export Snowball.
60//
61// Cancels a cluster job. You can only cancel a cluster job while it's in the
62// AwaitingQuorum status. You'll have at least an hour after creating a cluster
63// job to cancel it.
64//
65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
66// with awserr.Error's Code and Message methods to get detailed information about
67// the error.
68//
69// See the AWS API reference guide for Amazon Import/Export Snowball's
70// API operation CancelCluster for usage and error information.
71//
72// Returned Error Types:
73//   * KMSRequestFailedException
74//   The provided AWS Key Management Service key lacks the permissions to perform
75//   the specified CreateJob or UpdateJob action.
76//
77//   * InvalidJobStateException
78//   The action can't be performed because the job's current state doesn't allow
79//   that action to be performed.
80//
81//   * InvalidResourceException
82//   The specified resource can't be found. Check the information you provided
83//   in your last request, and try again.
84//
85// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CancelCluster
86func (c *Snowball) CancelCluster(input *CancelClusterInput) (*CancelClusterOutput, error) {
87	req, out := c.CancelClusterRequest(input)
88	return out, req.Send()
89}
90
91// CancelClusterWithContext is the same as CancelCluster with the addition of
92// the ability to pass a context and additional request options.
93//
94// See CancelCluster for details on how to use this API operation.
95//
96// The context must be non-nil and will be used for request cancellation. If
97// the context is nil a panic will occur. In the future the SDK may create
98// sub-contexts for http.Requests. See https://golang.org/pkg/context/
99// for more information on using Contexts.
100func (c *Snowball) CancelClusterWithContext(ctx aws.Context, input *CancelClusterInput, opts ...request.Option) (*CancelClusterOutput, error) {
101	req, out := c.CancelClusterRequest(input)
102	req.SetContext(ctx)
103	req.ApplyOptions(opts...)
104	return out, req.Send()
105}
106
107const opCancelJob = "CancelJob"
108
109// CancelJobRequest generates a "aws/request.Request" representing the
110// client's request for the CancelJob operation. The "output" return
111// value will be populated with the request's response once the request completes
112// successfully.
113//
114// Use "Send" method on the returned Request to send the API call to the service.
115// the "output" return value is not valid until after Send returns without error.
116//
117// See CancelJob for more information on using the CancelJob
118// API call, and error handling.
119//
120// This method is useful when you want to inject custom logic or configuration
121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
122//
123//
124//    // Example sending a request using the CancelJobRequest method.
125//    req, resp := client.CancelJobRequest(params)
126//
127//    err := req.Send()
128//    if err == nil { // resp is now filled
129//        fmt.Println(resp)
130//    }
131//
132// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CancelJob
133func (c *Snowball) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) {
134	op := &request.Operation{
135		Name:       opCancelJob,
136		HTTPMethod: "POST",
137		HTTPPath:   "/",
138	}
139
140	if input == nil {
141		input = &CancelJobInput{}
142	}
143
144	output = &CancelJobOutput{}
145	req = c.newRequest(op, input, output)
146	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
147	return
148}
149
150// CancelJob API operation for Amazon Import/Export Snowball.
151//
152// Cancels the specified job. You can only cancel a job before its JobState
153// value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob
154// action returns a job's JobState as part of the response element data returned.
155//
156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
157// with awserr.Error's Code and Message methods to get detailed information about
158// the error.
159//
160// See the AWS API reference guide for Amazon Import/Export Snowball's
161// API operation CancelJob for usage and error information.
162//
163// Returned Error Types:
164//   * InvalidResourceException
165//   The specified resource can't be found. Check the information you provided
166//   in your last request, and try again.
167//
168//   * InvalidJobStateException
169//   The action can't be performed because the job's current state doesn't allow
170//   that action to be performed.
171//
172//   * KMSRequestFailedException
173//   The provided AWS Key Management Service key lacks the permissions to perform
174//   the specified CreateJob or UpdateJob action.
175//
176// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CancelJob
177func (c *Snowball) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) {
178	req, out := c.CancelJobRequest(input)
179	return out, req.Send()
180}
181
182// CancelJobWithContext is the same as CancelJob with the addition of
183// the ability to pass a context and additional request options.
184//
185// See CancelJob for details on how to use this API operation.
186//
187// The context must be non-nil and will be used for request cancellation. If
188// the context is nil a panic will occur. In the future the SDK may create
189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
190// for more information on using Contexts.
191func (c *Snowball) CancelJobWithContext(ctx aws.Context, input *CancelJobInput, opts ...request.Option) (*CancelJobOutput, error) {
192	req, out := c.CancelJobRequest(input)
193	req.SetContext(ctx)
194	req.ApplyOptions(opts...)
195	return out, req.Send()
196}
197
198const opCreateAddress = "CreateAddress"
199
200// CreateAddressRequest generates a "aws/request.Request" representing the
201// client's request for the CreateAddress operation. The "output" return
202// value will be populated with the request's response once the request completes
203// successfully.
204//
205// Use "Send" method on the returned Request to send the API call to the service.
206// the "output" return value is not valid until after Send returns without error.
207//
208// See CreateAddress for more information on using the CreateAddress
209// API call, and error handling.
210//
211// This method is useful when you want to inject custom logic or configuration
212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
213//
214//
215//    // Example sending a request using the CreateAddressRequest method.
216//    req, resp := client.CreateAddressRequest(params)
217//
218//    err := req.Send()
219//    if err == nil { // resp is now filled
220//        fmt.Println(resp)
221//    }
222//
223// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateAddress
224func (c *Snowball) CreateAddressRequest(input *CreateAddressInput) (req *request.Request, output *CreateAddressOutput) {
225	op := &request.Operation{
226		Name:       opCreateAddress,
227		HTTPMethod: "POST",
228		HTTPPath:   "/",
229	}
230
231	if input == nil {
232		input = &CreateAddressInput{}
233	}
234
235	output = &CreateAddressOutput{}
236	req = c.newRequest(op, input, output)
237	return
238}
239
240// CreateAddress API operation for Amazon Import/Export Snowball.
241//
242// Creates an address for a Snow device to be shipped to. In most regions, addresses
243// are validated at the time of creation. The address you provide must be located
244// within the serviceable area of your region. If the address is invalid or
245// unsupported, then an exception is thrown.
246//
247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
248// with awserr.Error's Code and Message methods to get detailed information about
249// the error.
250//
251// See the AWS API reference guide for Amazon Import/Export Snowball's
252// API operation CreateAddress for usage and error information.
253//
254// Returned Error Types:
255//   * InvalidAddressException
256//   The address provided was invalid. Check the address with your region's carrier,
257//   and try again.
258//
259//   * UnsupportedAddressException
260//   The address is either outside the serviceable area for your region, or an
261//   error occurred. Check the address with your region's carrier and try again.
262//   If the issue persists, contact AWS Support.
263//
264// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateAddress
265func (c *Snowball) CreateAddress(input *CreateAddressInput) (*CreateAddressOutput, error) {
266	req, out := c.CreateAddressRequest(input)
267	return out, req.Send()
268}
269
270// CreateAddressWithContext is the same as CreateAddress with the addition of
271// the ability to pass a context and additional request options.
272//
273// See CreateAddress for details on how to use this API operation.
274//
275// The context must be non-nil and will be used for request cancellation. If
276// the context is nil a panic will occur. In the future the SDK may create
277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
278// for more information on using Contexts.
279func (c *Snowball) CreateAddressWithContext(ctx aws.Context, input *CreateAddressInput, opts ...request.Option) (*CreateAddressOutput, error) {
280	req, out := c.CreateAddressRequest(input)
281	req.SetContext(ctx)
282	req.ApplyOptions(opts...)
283	return out, req.Send()
284}
285
286const opCreateCluster = "CreateCluster"
287
288// CreateClusterRequest generates a "aws/request.Request" representing the
289// client's request for the CreateCluster operation. The "output" return
290// value will be populated with the request's response once the request completes
291// successfully.
292//
293// Use "Send" method on the returned Request to send the API call to the service.
294// the "output" return value is not valid until after Send returns without error.
295//
296// See CreateCluster for more information on using the CreateCluster
297// API call, and error handling.
298//
299// This method is useful when you want to inject custom logic or configuration
300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
301//
302//
303//    // Example sending a request using the CreateClusterRequest method.
304//    req, resp := client.CreateClusterRequest(params)
305//
306//    err := req.Send()
307//    if err == nil { // resp is now filled
308//        fmt.Println(resp)
309//    }
310//
311// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateCluster
312func (c *Snowball) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
313	op := &request.Operation{
314		Name:       opCreateCluster,
315		HTTPMethod: "POST",
316		HTTPPath:   "/",
317	}
318
319	if input == nil {
320		input = &CreateClusterInput{}
321	}
322
323	output = &CreateClusterOutput{}
324	req = c.newRequest(op, input, output)
325	return
326}
327
328// CreateCluster API operation for Amazon Import/Export Snowball.
329//
330// Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob
331// action separately to create the jobs for each of these nodes. The cluster
332// does not ship until these five node jobs have been created.
333//
334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
335// with awserr.Error's Code and Message methods to get detailed information about
336// the error.
337//
338// See the AWS API reference guide for Amazon Import/Export Snowball's
339// API operation CreateCluster for usage and error information.
340//
341// Returned Error Types:
342//   * InvalidResourceException
343//   The specified resource can't be found. Check the information you provided
344//   in your last request, and try again.
345//
346//   * KMSRequestFailedException
347//   The provided AWS Key Management Service key lacks the permissions to perform
348//   the specified CreateJob or UpdateJob action.
349//
350//   * InvalidInputCombinationException
351//   Job or cluster creation failed. One or more inputs were invalid. Confirm
352//   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
353//   and try again.
354//
355//   * Ec2RequestFailedException
356//   Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
357//   action.
358//
359// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateCluster
360func (c *Snowball) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) {
361	req, out := c.CreateClusterRequest(input)
362	return out, req.Send()
363}
364
365// CreateClusterWithContext is the same as CreateCluster with the addition of
366// the ability to pass a context and additional request options.
367//
368// See CreateCluster for details on how to use this API operation.
369//
370// The context must be non-nil and will be used for request cancellation. If
371// the context is nil a panic will occur. In the future the SDK may create
372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
373// for more information on using Contexts.
374func (c *Snowball) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) {
375	req, out := c.CreateClusterRequest(input)
376	req.SetContext(ctx)
377	req.ApplyOptions(opts...)
378	return out, req.Send()
379}
380
381const opCreateJob = "CreateJob"
382
383// CreateJobRequest generates a "aws/request.Request" representing the
384// client's request for the CreateJob operation. The "output" return
385// value will be populated with the request's response once the request completes
386// successfully.
387//
388// Use "Send" method on the returned Request to send the API call to the service.
389// the "output" return value is not valid until after Send returns without error.
390//
391// See CreateJob for more information on using the CreateJob
392// API call, and error handling.
393//
394// This method is useful when you want to inject custom logic or configuration
395// into the SDK's request lifecycle. Such as custom headers, or retry logic.
396//
397//
398//    // Example sending a request using the CreateJobRequest method.
399//    req, resp := client.CreateJobRequest(params)
400//
401//    err := req.Send()
402//    if err == nil { // resp is now filled
403//        fmt.Println(resp)
404//    }
405//
406// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateJob
407func (c *Snowball) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobOutput) {
408	op := &request.Operation{
409		Name:       opCreateJob,
410		HTTPMethod: "POST",
411		HTTPPath:   "/",
412	}
413
414	if input == nil {
415		input = &CreateJobInput{}
416	}
417
418	output = &CreateJobOutput{}
419	req = c.newRequest(op, input, output)
420	return
421}
422
423// CreateJob API operation for Amazon Import/Export Snowball.
424//
425// Creates a job to import or export data between Amazon S3 and your on-premises
426// data center. Your AWS account must have the right trust policies and permissions
427// in place to create a job for a Snow device. If you're creating a job for
428// a node in a cluster, you only need to provide the clusterId value; the other
429// job attributes are inherited from the cluster.
430//
431// Only the Snowball; Edge device type is supported when ordering clustered
432// jobs.
433//
434// The device capacity is optional.
435//
436// Availability of device types differ by AWS Region. For more information about
437// Region availability, see AWS Regional Services (https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/?p=ngi&loc=4).
438//
439// AWS Snow Family device types and their capacities.
440//
441//    * Snow Family device type: SNC1_SSD Capacity: T14 Description: Snowcone
442//
443//    * Snow Family device type: SNC1_HDD Capacity: T8 Description: Snowcone
444//
445//    * Device type: EDGE_S Capacity: T98 Description: Snowball Edge Storage
446//    Optimized for data transfer only
447//
448//    * Device type: EDGE_CG Capacity: T42 Description: Snowball Edge Compute
449//    Optimized with GPU
450//
451//    * Device type: EDGE_C Capacity: T42 Description: Snowball Edge Compute
452//    Optimized without GPU
453//
454//    * Device type: EDGE Capacity: T100 Description: Snowball Edge Storage
455//    Optimized with EC2 Compute
456//
457//    * Device type: STANDARD Capacity: T50 Description: Original Snowball device
458//    This device is only available in the Ningxia, Beijing, and Singapore AWS
459//    Regions.
460//
461//    * Device type: STANDARD Capacity: T80 Description: Original Snowball device
462//    This device is only available in the Ningxia, Beijing, and Singapore AWS
463//    Regions.
464//
465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
466// with awserr.Error's Code and Message methods to get detailed information about
467// the error.
468//
469// See the AWS API reference guide for Amazon Import/Export Snowball's
470// API operation CreateJob for usage and error information.
471//
472// Returned Error Types:
473//   * InvalidResourceException
474//   The specified resource can't be found. Check the information you provided
475//   in your last request, and try again.
476//
477//   * KMSRequestFailedException
478//   The provided AWS Key Management Service key lacks the permissions to perform
479//   the specified CreateJob or UpdateJob action.
480//
481//   * InvalidInputCombinationException
482//   Job or cluster creation failed. One or more inputs were invalid. Confirm
483//   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
484//   and try again.
485//
486//   * ClusterLimitExceededException
487//   Job creation failed. Currently, clusters support five nodes. If you have
488//   fewer than five nodes for your cluster and you have more nodes to create
489//   for this cluster, try again and create jobs until your cluster has exactly
490//   five nodes.
491//
492//   * Ec2RequestFailedException
493//   Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
494//   action.
495//
496// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateJob
497func (c *Snowball) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) {
498	req, out := c.CreateJobRequest(input)
499	return out, req.Send()
500}
501
502// CreateJobWithContext is the same as CreateJob with the addition of
503// the ability to pass a context and additional request options.
504//
505// See CreateJob for details on how to use this API operation.
506//
507// The context must be non-nil and will be used for request cancellation. If
508// the context is nil a panic will occur. In the future the SDK may create
509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
510// for more information on using Contexts.
511func (c *Snowball) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobOutput, error) {
512	req, out := c.CreateJobRequest(input)
513	req.SetContext(ctx)
514	req.ApplyOptions(opts...)
515	return out, req.Send()
516}
517
518const opCreateLongTermPricing = "CreateLongTermPricing"
519
520// CreateLongTermPricingRequest generates a "aws/request.Request" representing the
521// client's request for the CreateLongTermPricing operation. The "output" return
522// value will be populated with the request's response once the request completes
523// successfully.
524//
525// Use "Send" method on the returned Request to send the API call to the service.
526// the "output" return value is not valid until after Send returns without error.
527//
528// See CreateLongTermPricing for more information on using the CreateLongTermPricing
529// API call, and error handling.
530//
531// This method is useful when you want to inject custom logic or configuration
532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
533//
534//
535//    // Example sending a request using the CreateLongTermPricingRequest method.
536//    req, resp := client.CreateLongTermPricingRequest(params)
537//
538//    err := req.Send()
539//    if err == nil { // resp is now filled
540//        fmt.Println(resp)
541//    }
542//
543// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateLongTermPricing
544func (c *Snowball) CreateLongTermPricingRequest(input *CreateLongTermPricingInput) (req *request.Request, output *CreateLongTermPricingOutput) {
545	op := &request.Operation{
546		Name:       opCreateLongTermPricing,
547		HTTPMethod: "POST",
548		HTTPPath:   "/",
549	}
550
551	if input == nil {
552		input = &CreateLongTermPricingInput{}
553	}
554
555	output = &CreateLongTermPricingOutput{}
556	req = c.newRequest(op, input, output)
557	return
558}
559
560// CreateLongTermPricing API operation for Amazon Import/Export Snowball.
561//
562// Creates a job with the long-term usage option for a device. The long-term
563// usage is a 1-year or 3-year long-term pricing type for the device. You are
564// billed upfront, and AWS provides discounts for long-term pricing.
565//
566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
567// with awserr.Error's Code and Message methods to get detailed information about
568// the error.
569//
570// See the AWS API reference guide for Amazon Import/Export Snowball's
571// API operation CreateLongTermPricing for usage and error information.
572//
573// Returned Error Types:
574//   * InvalidResourceException
575//   The specified resource can't be found. Check the information you provided
576//   in your last request, and try again.
577//
578// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateLongTermPricing
579func (c *Snowball) CreateLongTermPricing(input *CreateLongTermPricingInput) (*CreateLongTermPricingOutput, error) {
580	req, out := c.CreateLongTermPricingRequest(input)
581	return out, req.Send()
582}
583
584// CreateLongTermPricingWithContext is the same as CreateLongTermPricing with the addition of
585// the ability to pass a context and additional request options.
586//
587// See CreateLongTermPricing for details on how to use this API operation.
588//
589// The context must be non-nil and will be used for request cancellation. If
590// the context is nil a panic will occur. In the future the SDK may create
591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
592// for more information on using Contexts.
593func (c *Snowball) CreateLongTermPricingWithContext(ctx aws.Context, input *CreateLongTermPricingInput, opts ...request.Option) (*CreateLongTermPricingOutput, error) {
594	req, out := c.CreateLongTermPricingRequest(input)
595	req.SetContext(ctx)
596	req.ApplyOptions(opts...)
597	return out, req.Send()
598}
599
600const opCreateReturnShippingLabel = "CreateReturnShippingLabel"
601
602// CreateReturnShippingLabelRequest generates a "aws/request.Request" representing the
603// client's request for the CreateReturnShippingLabel operation. The "output" return
604// value will be populated with the request's response once the request completes
605// successfully.
606//
607// Use "Send" method on the returned Request to send the API call to the service.
608// the "output" return value is not valid until after Send returns without error.
609//
610// See CreateReturnShippingLabel for more information on using the CreateReturnShippingLabel
611// API call, and error handling.
612//
613// This method is useful when you want to inject custom logic or configuration
614// into the SDK's request lifecycle. Such as custom headers, or retry logic.
615//
616//
617//    // Example sending a request using the CreateReturnShippingLabelRequest method.
618//    req, resp := client.CreateReturnShippingLabelRequest(params)
619//
620//    err := req.Send()
621//    if err == nil { // resp is now filled
622//        fmt.Println(resp)
623//    }
624//
625// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateReturnShippingLabel
626func (c *Snowball) CreateReturnShippingLabelRequest(input *CreateReturnShippingLabelInput) (req *request.Request, output *CreateReturnShippingLabelOutput) {
627	op := &request.Operation{
628		Name:       opCreateReturnShippingLabel,
629		HTTPMethod: "POST",
630		HTTPPath:   "/",
631	}
632
633	if input == nil {
634		input = &CreateReturnShippingLabelInput{}
635	}
636
637	output = &CreateReturnShippingLabelOutput{}
638	req = c.newRequest(op, input, output)
639	return
640}
641
642// CreateReturnShippingLabel API operation for Amazon Import/Export Snowball.
643//
644// Creates a shipping label that will be used to return the Snow device to AWS.
645//
646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
647// with awserr.Error's Code and Message methods to get detailed information about
648// the error.
649//
650// See the AWS API reference guide for Amazon Import/Export Snowball's
651// API operation CreateReturnShippingLabel for usage and error information.
652//
653// Returned Error Types:
654//   * InvalidResourceException
655//   The specified resource can't be found. Check the information you provided
656//   in your last request, and try again.
657//
658//   * InvalidJobStateException
659//   The action can't be performed because the job's current state doesn't allow
660//   that action to be performed.
661//
662//   * InvalidInputCombinationException
663//   Job or cluster creation failed. One or more inputs were invalid. Confirm
664//   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
665//   and try again.
666//
667//   * ConflictException
668//   You get this exception when you call CreateReturnShippingLabel more than
669//   once when other requests are not completed.
670//
671//   * ReturnShippingLabelAlreadyExistsException
672//   You get this exception if you call CreateReturnShippingLabel and a valid
673//   return shipping label already exists. In this case, use DescribeReturnShippingLabel
674//   to get the url.
675//
676// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateReturnShippingLabel
677func (c *Snowball) CreateReturnShippingLabel(input *CreateReturnShippingLabelInput) (*CreateReturnShippingLabelOutput, error) {
678	req, out := c.CreateReturnShippingLabelRequest(input)
679	return out, req.Send()
680}
681
682// CreateReturnShippingLabelWithContext is the same as CreateReturnShippingLabel with the addition of
683// the ability to pass a context and additional request options.
684//
685// See CreateReturnShippingLabel for details on how to use this API operation.
686//
687// The context must be non-nil and will be used for request cancellation. If
688// the context is nil a panic will occur. In the future the SDK may create
689// sub-contexts for http.Requests. See https://golang.org/pkg/context/
690// for more information on using Contexts.
691func (c *Snowball) CreateReturnShippingLabelWithContext(ctx aws.Context, input *CreateReturnShippingLabelInput, opts ...request.Option) (*CreateReturnShippingLabelOutput, error) {
692	req, out := c.CreateReturnShippingLabelRequest(input)
693	req.SetContext(ctx)
694	req.ApplyOptions(opts...)
695	return out, req.Send()
696}
697
698const opDescribeAddress = "DescribeAddress"
699
700// DescribeAddressRequest generates a "aws/request.Request" representing the
701// client's request for the DescribeAddress operation. The "output" return
702// value will be populated with the request's response once the request completes
703// successfully.
704//
705// Use "Send" method on the returned Request to send the API call to the service.
706// the "output" return value is not valid until after Send returns without error.
707//
708// See DescribeAddress for more information on using the DescribeAddress
709// API call, and error handling.
710//
711// This method is useful when you want to inject custom logic or configuration
712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
713//
714//
715//    // Example sending a request using the DescribeAddressRequest method.
716//    req, resp := client.DescribeAddressRequest(params)
717//
718//    err := req.Send()
719//    if err == nil { // resp is now filled
720//        fmt.Println(resp)
721//    }
722//
723// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddress
724func (c *Snowball) DescribeAddressRequest(input *DescribeAddressInput) (req *request.Request, output *DescribeAddressOutput) {
725	op := &request.Operation{
726		Name:       opDescribeAddress,
727		HTTPMethod: "POST",
728		HTTPPath:   "/",
729	}
730
731	if input == nil {
732		input = &DescribeAddressInput{}
733	}
734
735	output = &DescribeAddressOutput{}
736	req = c.newRequest(op, input, output)
737	return
738}
739
740// DescribeAddress API operation for Amazon Import/Export Snowball.
741//
742// Takes an AddressId and returns specific details about that address in the
743// form of an Address object.
744//
745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
746// with awserr.Error's Code and Message methods to get detailed information about
747// the error.
748//
749// See the AWS API reference guide for Amazon Import/Export Snowball's
750// API operation DescribeAddress for usage and error information.
751//
752// Returned Error Types:
753//   * InvalidResourceException
754//   The specified resource can't be found. Check the information you provided
755//   in your last request, and try again.
756//
757// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddress
758func (c *Snowball) DescribeAddress(input *DescribeAddressInput) (*DescribeAddressOutput, error) {
759	req, out := c.DescribeAddressRequest(input)
760	return out, req.Send()
761}
762
763// DescribeAddressWithContext is the same as DescribeAddress with the addition of
764// the ability to pass a context and additional request options.
765//
766// See DescribeAddress for details on how to use this API operation.
767//
768// The context must be non-nil and will be used for request cancellation. If
769// the context is nil a panic will occur. In the future the SDK may create
770// sub-contexts for http.Requests. See https://golang.org/pkg/context/
771// for more information on using Contexts.
772func (c *Snowball) DescribeAddressWithContext(ctx aws.Context, input *DescribeAddressInput, opts ...request.Option) (*DescribeAddressOutput, error) {
773	req, out := c.DescribeAddressRequest(input)
774	req.SetContext(ctx)
775	req.ApplyOptions(opts...)
776	return out, req.Send()
777}
778
779const opDescribeAddresses = "DescribeAddresses"
780
781// DescribeAddressesRequest generates a "aws/request.Request" representing the
782// client's request for the DescribeAddresses operation. The "output" return
783// value will be populated with the request's response once the request completes
784// successfully.
785//
786// Use "Send" method on the returned Request to send the API call to the service.
787// the "output" return value is not valid until after Send returns without error.
788//
789// See DescribeAddresses for more information on using the DescribeAddresses
790// API call, and error handling.
791//
792// This method is useful when you want to inject custom logic or configuration
793// into the SDK's request lifecycle. Such as custom headers, or retry logic.
794//
795//
796//    // Example sending a request using the DescribeAddressesRequest method.
797//    req, resp := client.DescribeAddressesRequest(params)
798//
799//    err := req.Send()
800//    if err == nil { // resp is now filled
801//        fmt.Println(resp)
802//    }
803//
804// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddresses
805func (c *Snowball) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
806	op := &request.Operation{
807		Name:       opDescribeAddresses,
808		HTTPMethod: "POST",
809		HTTPPath:   "/",
810		Paginator: &request.Paginator{
811			InputTokens:     []string{"NextToken"},
812			OutputTokens:    []string{"NextToken"},
813			LimitToken:      "MaxResults",
814			TruncationToken: "",
815		},
816	}
817
818	if input == nil {
819		input = &DescribeAddressesInput{}
820	}
821
822	output = &DescribeAddressesOutput{}
823	req = c.newRequest(op, input, output)
824	return
825}
826
827// DescribeAddresses API operation for Amazon Import/Export Snowball.
828//
829// Returns a specified number of ADDRESS objects. Calling this API in one of
830// the US regions will return addresses from the list of all addresses associated
831// with this account in all US regions.
832//
833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
834// with awserr.Error's Code and Message methods to get detailed information about
835// the error.
836//
837// See the AWS API reference guide for Amazon Import/Export Snowball's
838// API operation DescribeAddresses for usage and error information.
839//
840// Returned Error Types:
841//   * InvalidResourceException
842//   The specified resource can't be found. Check the information you provided
843//   in your last request, and try again.
844//
845//   * InvalidNextTokenException
846//   The NextToken string was altered unexpectedly, and the operation has stopped.
847//   Run the operation without changing the NextToken string, and try again.
848//
849// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddresses
850func (c *Snowball) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
851	req, out := c.DescribeAddressesRequest(input)
852	return out, req.Send()
853}
854
855// DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
856// the ability to pass a context and additional request options.
857//
858// See DescribeAddresses for details on how to use this API operation.
859//
860// The context must be non-nil and will be used for request cancellation. If
861// the context is nil a panic will occur. In the future the SDK may create
862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
863// for more information on using Contexts.
864func (c *Snowball) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
865	req, out := c.DescribeAddressesRequest(input)
866	req.SetContext(ctx)
867	req.ApplyOptions(opts...)
868	return out, req.Send()
869}
870
871// DescribeAddressesPages iterates over the pages of a DescribeAddresses operation,
872// calling the "fn" function with the response data for each page. To stop
873// iterating, return false from the fn function.
874//
875// See DescribeAddresses method for more information on how to use this operation.
876//
877// Note: This operation can generate multiple requests to a service.
878//
879//    // Example iterating over at most 3 pages of a DescribeAddresses operation.
880//    pageNum := 0
881//    err := client.DescribeAddressesPages(params,
882//        func(page *snowball.DescribeAddressesOutput, lastPage bool) bool {
883//            pageNum++
884//            fmt.Println(page)
885//            return pageNum <= 3
886//        })
887//
888func (c *Snowball) DescribeAddressesPages(input *DescribeAddressesInput, fn func(*DescribeAddressesOutput, bool) bool) error {
889	return c.DescribeAddressesPagesWithContext(aws.BackgroundContext(), input, fn)
890}
891
892// DescribeAddressesPagesWithContext same as DescribeAddressesPages except
893// it takes a Context and allows setting request options on the pages.
894//
895// The context must be non-nil and will be used for request cancellation. If
896// the context is nil a panic will occur. In the future the SDK may create
897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
898// for more information on using Contexts.
899func (c *Snowball) DescribeAddressesPagesWithContext(ctx aws.Context, input *DescribeAddressesInput, fn func(*DescribeAddressesOutput, bool) bool, opts ...request.Option) error {
900	p := request.Pagination{
901		NewRequest: func() (*request.Request, error) {
902			var inCpy *DescribeAddressesInput
903			if input != nil {
904				tmp := *input
905				inCpy = &tmp
906			}
907			req, _ := c.DescribeAddressesRequest(inCpy)
908			req.SetContext(ctx)
909			req.ApplyOptions(opts...)
910			return req, nil
911		},
912	}
913
914	for p.Next() {
915		if !fn(p.Page().(*DescribeAddressesOutput), !p.HasNextPage()) {
916			break
917		}
918	}
919
920	return p.Err()
921}
922
923const opDescribeCluster = "DescribeCluster"
924
925// DescribeClusterRequest generates a "aws/request.Request" representing the
926// client's request for the DescribeCluster operation. The "output" return
927// value will be populated with the request's response once the request completes
928// successfully.
929//
930// Use "Send" method on the returned Request to send the API call to the service.
931// the "output" return value is not valid until after Send returns without error.
932//
933// See DescribeCluster for more information on using the DescribeCluster
934// API call, and error handling.
935//
936// This method is useful when you want to inject custom logic or configuration
937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
938//
939//
940//    // Example sending a request using the DescribeClusterRequest method.
941//    req, resp := client.DescribeClusterRequest(params)
942//
943//    err := req.Send()
944//    if err == nil { // resp is now filled
945//        fmt.Println(resp)
946//    }
947//
948// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeCluster
949func (c *Snowball) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) {
950	op := &request.Operation{
951		Name:       opDescribeCluster,
952		HTTPMethod: "POST",
953		HTTPPath:   "/",
954	}
955
956	if input == nil {
957		input = &DescribeClusterInput{}
958	}
959
960	output = &DescribeClusterOutput{}
961	req = c.newRequest(op, input, output)
962	return
963}
964
965// DescribeCluster API operation for Amazon Import/Export Snowball.
966//
967// Returns information about a specific cluster including shipping information,
968// cluster status, and other important metadata.
969//
970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
971// with awserr.Error's Code and Message methods to get detailed information about
972// the error.
973//
974// See the AWS API reference guide for Amazon Import/Export Snowball's
975// API operation DescribeCluster for usage and error information.
976//
977// Returned Error Types:
978//   * InvalidResourceException
979//   The specified resource can't be found. Check the information you provided
980//   in your last request, and try again.
981//
982// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeCluster
983func (c *Snowball) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) {
984	req, out := c.DescribeClusterRequest(input)
985	return out, req.Send()
986}
987
988// DescribeClusterWithContext is the same as DescribeCluster with the addition of
989// the ability to pass a context and additional request options.
990//
991// See DescribeCluster for details on how to use this API operation.
992//
993// The context must be non-nil and will be used for request cancellation. If
994// the context is nil a panic will occur. In the future the SDK may create
995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
996// for more information on using Contexts.
997func (c *Snowball) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) {
998	req, out := c.DescribeClusterRequest(input)
999	req.SetContext(ctx)
1000	req.ApplyOptions(opts...)
1001	return out, req.Send()
1002}
1003
1004const opDescribeJob = "DescribeJob"
1005
1006// DescribeJobRequest generates a "aws/request.Request" representing the
1007// client's request for the DescribeJob operation. The "output" return
1008// value will be populated with the request's response once the request completes
1009// successfully.
1010//
1011// Use "Send" method on the returned Request to send the API call to the service.
1012// the "output" return value is not valid until after Send returns without error.
1013//
1014// See DescribeJob for more information on using the DescribeJob
1015// API call, and error handling.
1016//
1017// This method is useful when you want to inject custom logic or configuration
1018// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1019//
1020//
1021//    // Example sending a request using the DescribeJobRequest method.
1022//    req, resp := client.DescribeJobRequest(params)
1023//
1024//    err := req.Send()
1025//    if err == nil { // resp is now filled
1026//        fmt.Println(resp)
1027//    }
1028//
1029// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeJob
1030func (c *Snowball) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *DescribeJobOutput) {
1031	op := &request.Operation{
1032		Name:       opDescribeJob,
1033		HTTPMethod: "POST",
1034		HTTPPath:   "/",
1035	}
1036
1037	if input == nil {
1038		input = &DescribeJobInput{}
1039	}
1040
1041	output = &DescribeJobOutput{}
1042	req = c.newRequest(op, input, output)
1043	return
1044}
1045
1046// DescribeJob API operation for Amazon Import/Export Snowball.
1047//
1048// Returns information about a specific job including shipping information,
1049// job status, and other important metadata.
1050//
1051// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1052// with awserr.Error's Code and Message methods to get detailed information about
1053// the error.
1054//
1055// See the AWS API reference guide for Amazon Import/Export Snowball's
1056// API operation DescribeJob for usage and error information.
1057//
1058// Returned Error Types:
1059//   * InvalidResourceException
1060//   The specified resource can't be found. Check the information you provided
1061//   in your last request, and try again.
1062//
1063// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeJob
1064func (c *Snowball) DescribeJob(input *DescribeJobInput) (*DescribeJobOutput, error) {
1065	req, out := c.DescribeJobRequest(input)
1066	return out, req.Send()
1067}
1068
1069// DescribeJobWithContext is the same as DescribeJob with the addition of
1070// the ability to pass a context and additional request options.
1071//
1072// See DescribeJob for details on how to use this API operation.
1073//
1074// The context must be non-nil and will be used for request cancellation. If
1075// the context is nil a panic will occur. In the future the SDK may create
1076// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1077// for more information on using Contexts.
1078func (c *Snowball) DescribeJobWithContext(ctx aws.Context, input *DescribeJobInput, opts ...request.Option) (*DescribeJobOutput, error) {
1079	req, out := c.DescribeJobRequest(input)
1080	req.SetContext(ctx)
1081	req.ApplyOptions(opts...)
1082	return out, req.Send()
1083}
1084
1085const opDescribeReturnShippingLabel = "DescribeReturnShippingLabel"
1086
1087// DescribeReturnShippingLabelRequest generates a "aws/request.Request" representing the
1088// client's request for the DescribeReturnShippingLabel operation. The "output" return
1089// value will be populated with the request's response once the request completes
1090// successfully.
1091//
1092// Use "Send" method on the returned Request to send the API call to the service.
1093// the "output" return value is not valid until after Send returns without error.
1094//
1095// See DescribeReturnShippingLabel for more information on using the DescribeReturnShippingLabel
1096// API call, and error handling.
1097//
1098// This method is useful when you want to inject custom logic or configuration
1099// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1100//
1101//
1102//    // Example sending a request using the DescribeReturnShippingLabelRequest method.
1103//    req, resp := client.DescribeReturnShippingLabelRequest(params)
1104//
1105//    err := req.Send()
1106//    if err == nil { // resp is now filled
1107//        fmt.Println(resp)
1108//    }
1109//
1110// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeReturnShippingLabel
1111func (c *Snowball) DescribeReturnShippingLabelRequest(input *DescribeReturnShippingLabelInput) (req *request.Request, output *DescribeReturnShippingLabelOutput) {
1112	op := &request.Operation{
1113		Name:       opDescribeReturnShippingLabel,
1114		HTTPMethod: "POST",
1115		HTTPPath:   "/",
1116	}
1117
1118	if input == nil {
1119		input = &DescribeReturnShippingLabelInput{}
1120	}
1121
1122	output = &DescribeReturnShippingLabelOutput{}
1123	req = c.newRequest(op, input, output)
1124	return
1125}
1126
1127// DescribeReturnShippingLabel API operation for Amazon Import/Export Snowball.
1128//
1129// Information on the shipping label of a Snow device that is being returned
1130// to AWS.
1131//
1132// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1133// with awserr.Error's Code and Message methods to get detailed information about
1134// the error.
1135//
1136// See the AWS API reference guide for Amazon Import/Export Snowball's
1137// API operation DescribeReturnShippingLabel for usage and error information.
1138//
1139// Returned Error Types:
1140//   * InvalidResourceException
1141//   The specified resource can't be found. Check the information you provided
1142//   in your last request, and try again.
1143//
1144//   * InvalidJobStateException
1145//   The action can't be performed because the job's current state doesn't allow
1146//   that action to be performed.
1147//
1148//   * ConflictException
1149//   You get this exception when you call CreateReturnShippingLabel more than
1150//   once when other requests are not completed.
1151//
1152// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeReturnShippingLabel
1153func (c *Snowball) DescribeReturnShippingLabel(input *DescribeReturnShippingLabelInput) (*DescribeReturnShippingLabelOutput, error) {
1154	req, out := c.DescribeReturnShippingLabelRequest(input)
1155	return out, req.Send()
1156}
1157
1158// DescribeReturnShippingLabelWithContext is the same as DescribeReturnShippingLabel with the addition of
1159// the ability to pass a context and additional request options.
1160//
1161// See DescribeReturnShippingLabel 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 *Snowball) DescribeReturnShippingLabelWithContext(ctx aws.Context, input *DescribeReturnShippingLabelInput, opts ...request.Option) (*DescribeReturnShippingLabelOutput, error) {
1168	req, out := c.DescribeReturnShippingLabelRequest(input)
1169	req.SetContext(ctx)
1170	req.ApplyOptions(opts...)
1171	return out, req.Send()
1172}
1173
1174const opGetJobManifest = "GetJobManifest"
1175
1176// GetJobManifestRequest generates a "aws/request.Request" representing the
1177// client's request for the GetJobManifest 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 GetJobManifest for more information on using the GetJobManifest
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 GetJobManifestRequest method.
1192//    req, resp := client.GetJobManifestRequest(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/snowball-2016-06-30/GetJobManifest
1200func (c *Snowball) GetJobManifestRequest(input *GetJobManifestInput) (req *request.Request, output *GetJobManifestOutput) {
1201	op := &request.Operation{
1202		Name:       opGetJobManifest,
1203		HTTPMethod: "POST",
1204		HTTPPath:   "/",
1205	}
1206
1207	if input == nil {
1208		input = &GetJobManifestInput{}
1209	}
1210
1211	output = &GetJobManifestOutput{}
1212	req = c.newRequest(op, input, output)
1213	return
1214}
1215
1216// GetJobManifest API operation for Amazon Import/Export Snowball.
1217//
1218// Returns a link to an Amazon S3 presigned URL for the manifest file associated
1219// with the specified JobId value. You can access the manifest file for up to
1220// 60 minutes after this request has been made. To access the manifest file
1221// after 60 minutes have passed, you'll have to make another call to the GetJobManifest
1222// action.
1223//
1224// The manifest is an encrypted file that you can download after your job enters
1225// the WithCustomer status. The manifest is decrypted by using the UnlockCode
1226// code value, when you pass both values to the Snow device through the Snowball
1227// client when the client is started for the first time.
1228//
1229// As a best practice, we recommend that you don't save a copy of an UnlockCode
1230// value in the same location as the manifest file for that job. Saving these
1231// separately helps prevent unauthorized parties from gaining access to the
1232// Snow device associated with that job.
1233//
1234// The credentials of a given job, including its manifest file and unlock code,
1235// expire 360 days after the job is created.
1236//
1237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1238// with awserr.Error's Code and Message methods to get detailed information about
1239// the error.
1240//
1241// See the AWS API reference guide for Amazon Import/Export Snowball's
1242// API operation GetJobManifest for usage and error information.
1243//
1244// Returned Error Types:
1245//   * InvalidResourceException
1246//   The specified resource can't be found. Check the information you provided
1247//   in your last request, and try again.
1248//
1249//   * InvalidJobStateException
1250//   The action can't be performed because the job's current state doesn't allow
1251//   that action to be performed.
1252//
1253// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobManifest
1254func (c *Snowball) GetJobManifest(input *GetJobManifestInput) (*GetJobManifestOutput, error) {
1255	req, out := c.GetJobManifestRequest(input)
1256	return out, req.Send()
1257}
1258
1259// GetJobManifestWithContext is the same as GetJobManifest with the addition of
1260// the ability to pass a context and additional request options.
1261//
1262// See GetJobManifest for details on how to use this API operation.
1263//
1264// The context must be non-nil and will be used for request cancellation. If
1265// the context is nil a panic will occur. In the future the SDK may create
1266// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1267// for more information on using Contexts.
1268func (c *Snowball) GetJobManifestWithContext(ctx aws.Context, input *GetJobManifestInput, opts ...request.Option) (*GetJobManifestOutput, error) {
1269	req, out := c.GetJobManifestRequest(input)
1270	req.SetContext(ctx)
1271	req.ApplyOptions(opts...)
1272	return out, req.Send()
1273}
1274
1275const opGetJobUnlockCode = "GetJobUnlockCode"
1276
1277// GetJobUnlockCodeRequest generates a "aws/request.Request" representing the
1278// client's request for the GetJobUnlockCode operation. The "output" return
1279// value will be populated with the request's response once the request completes
1280// successfully.
1281//
1282// Use "Send" method on the returned Request to send the API call to the service.
1283// the "output" return value is not valid until after Send returns without error.
1284//
1285// See GetJobUnlockCode for more information on using the GetJobUnlockCode
1286// API call, and error handling.
1287//
1288// This method is useful when you want to inject custom logic or configuration
1289// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1290//
1291//
1292//    // Example sending a request using the GetJobUnlockCodeRequest method.
1293//    req, resp := client.GetJobUnlockCodeRequest(params)
1294//
1295//    err := req.Send()
1296//    if err == nil { // resp is now filled
1297//        fmt.Println(resp)
1298//    }
1299//
1300// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobUnlockCode
1301func (c *Snowball) GetJobUnlockCodeRequest(input *GetJobUnlockCodeInput) (req *request.Request, output *GetJobUnlockCodeOutput) {
1302	op := &request.Operation{
1303		Name:       opGetJobUnlockCode,
1304		HTTPMethod: "POST",
1305		HTTPPath:   "/",
1306	}
1307
1308	if input == nil {
1309		input = &GetJobUnlockCodeInput{}
1310	}
1311
1312	output = &GetJobUnlockCodeOutput{}
1313	req = c.newRequest(op, input, output)
1314	return
1315}
1316
1317// GetJobUnlockCode API operation for Amazon Import/Export Snowball.
1318//
1319// Returns the UnlockCode code value for the specified job. A particular UnlockCode
1320// value can be accessed for up to 360 days after the associated job has been
1321// created.
1322//
1323// The UnlockCode value is a 29-character code with 25 alphanumeric characters
1324// and 4 hyphens. This code is used to decrypt the manifest file when it is
1325// passed along with the manifest to the Snow device through the Snowball client
1326// when the client is started for the first time.
1327//
1328// As a best practice, we recommend that you don't save a copy of the UnlockCode
1329// in the same location as the manifest file for that job. Saving these separately
1330// helps prevent unauthorized parties from gaining access to the Snow device
1331// associated with that job.
1332//
1333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1334// with awserr.Error's Code and Message methods to get detailed information about
1335// the error.
1336//
1337// See the AWS API reference guide for Amazon Import/Export Snowball's
1338// API operation GetJobUnlockCode for usage and error information.
1339//
1340// Returned Error Types:
1341//   * InvalidResourceException
1342//   The specified resource can't be found. Check the information you provided
1343//   in your last request, and try again.
1344//
1345//   * InvalidJobStateException
1346//   The action can't be performed because the job's current state doesn't allow
1347//   that action to be performed.
1348//
1349// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobUnlockCode
1350func (c *Snowball) GetJobUnlockCode(input *GetJobUnlockCodeInput) (*GetJobUnlockCodeOutput, error) {
1351	req, out := c.GetJobUnlockCodeRequest(input)
1352	return out, req.Send()
1353}
1354
1355// GetJobUnlockCodeWithContext is the same as GetJobUnlockCode with the addition of
1356// the ability to pass a context and additional request options.
1357//
1358// See GetJobUnlockCode for details on how to use this API operation.
1359//
1360// The context must be non-nil and will be used for request cancellation. If
1361// the context is nil a panic will occur. In the future the SDK may create
1362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1363// for more information on using Contexts.
1364func (c *Snowball) GetJobUnlockCodeWithContext(ctx aws.Context, input *GetJobUnlockCodeInput, opts ...request.Option) (*GetJobUnlockCodeOutput, error) {
1365	req, out := c.GetJobUnlockCodeRequest(input)
1366	req.SetContext(ctx)
1367	req.ApplyOptions(opts...)
1368	return out, req.Send()
1369}
1370
1371const opGetSnowballUsage = "GetSnowballUsage"
1372
1373// GetSnowballUsageRequest generates a "aws/request.Request" representing the
1374// client's request for the GetSnowballUsage operation. The "output" return
1375// value will be populated with the request's response once the request completes
1376// successfully.
1377//
1378// Use "Send" method on the returned Request to send the API call to the service.
1379// the "output" return value is not valid until after Send returns without error.
1380//
1381// See GetSnowballUsage for more information on using the GetSnowballUsage
1382// API call, and error handling.
1383//
1384// This method is useful when you want to inject custom logic or configuration
1385// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1386//
1387//
1388//    // Example sending a request using the GetSnowballUsageRequest method.
1389//    req, resp := client.GetSnowballUsageRequest(params)
1390//
1391//    err := req.Send()
1392//    if err == nil { // resp is now filled
1393//        fmt.Println(resp)
1394//    }
1395//
1396// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSnowballUsage
1397func (c *Snowball) GetSnowballUsageRequest(input *GetSnowballUsageInput) (req *request.Request, output *GetSnowballUsageOutput) {
1398	op := &request.Operation{
1399		Name:       opGetSnowballUsage,
1400		HTTPMethod: "POST",
1401		HTTPPath:   "/",
1402	}
1403
1404	if input == nil {
1405		input = &GetSnowballUsageInput{}
1406	}
1407
1408	output = &GetSnowballUsageOutput{}
1409	req = c.newRequest(op, input, output)
1410	return
1411}
1412
1413// GetSnowballUsage API operation for Amazon Import/Export Snowball.
1414//
1415// Returns information about the Snow Family service limit for your account,
1416// and also the number of Snow devices your account has in use.
1417//
1418// The default service limit for the number of Snow devices that you can have
1419// at one time is 1. If you want to increase your service limit, contact AWS
1420// Support.
1421//
1422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1423// with awserr.Error's Code and Message methods to get detailed information about
1424// the error.
1425//
1426// See the AWS API reference guide for Amazon Import/Export Snowball's
1427// API operation GetSnowballUsage for usage and error information.
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSnowballUsage
1429func (c *Snowball) GetSnowballUsage(input *GetSnowballUsageInput) (*GetSnowballUsageOutput, error) {
1430	req, out := c.GetSnowballUsageRequest(input)
1431	return out, req.Send()
1432}
1433
1434// GetSnowballUsageWithContext is the same as GetSnowballUsage with the addition of
1435// the ability to pass a context and additional request options.
1436//
1437// See GetSnowballUsage for details on how to use this API operation.
1438//
1439// The context must be non-nil and will be used for request cancellation. If
1440// the context is nil a panic will occur. In the future the SDK may create
1441// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1442// for more information on using Contexts.
1443func (c *Snowball) GetSnowballUsageWithContext(ctx aws.Context, input *GetSnowballUsageInput, opts ...request.Option) (*GetSnowballUsageOutput, error) {
1444	req, out := c.GetSnowballUsageRequest(input)
1445	req.SetContext(ctx)
1446	req.ApplyOptions(opts...)
1447	return out, req.Send()
1448}
1449
1450const opGetSoftwareUpdates = "GetSoftwareUpdates"
1451
1452// GetSoftwareUpdatesRequest generates a "aws/request.Request" representing the
1453// client's request for the GetSoftwareUpdates operation. The "output" return
1454// value will be populated with the request's response once the request completes
1455// successfully.
1456//
1457// Use "Send" method on the returned Request to send the API call to the service.
1458// the "output" return value is not valid until after Send returns without error.
1459//
1460// See GetSoftwareUpdates for more information on using the GetSoftwareUpdates
1461// API call, and error handling.
1462//
1463// This method is useful when you want to inject custom logic or configuration
1464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1465//
1466//
1467//    // Example sending a request using the GetSoftwareUpdatesRequest method.
1468//    req, resp := client.GetSoftwareUpdatesRequest(params)
1469//
1470//    err := req.Send()
1471//    if err == nil { // resp is now filled
1472//        fmt.Println(resp)
1473//    }
1474//
1475// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSoftwareUpdates
1476func (c *Snowball) GetSoftwareUpdatesRequest(input *GetSoftwareUpdatesInput) (req *request.Request, output *GetSoftwareUpdatesOutput) {
1477	op := &request.Operation{
1478		Name:       opGetSoftwareUpdates,
1479		HTTPMethod: "POST",
1480		HTTPPath:   "/",
1481	}
1482
1483	if input == nil {
1484		input = &GetSoftwareUpdatesInput{}
1485	}
1486
1487	output = &GetSoftwareUpdatesOutput{}
1488	req = c.newRequest(op, input, output)
1489	return
1490}
1491
1492// GetSoftwareUpdates API operation for Amazon Import/Export Snowball.
1493//
1494// Returns an Amazon S3 presigned URL for an update file associated with a specified
1495// JobId.
1496//
1497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1498// with awserr.Error's Code and Message methods to get detailed information about
1499// the error.
1500//
1501// See the AWS API reference guide for Amazon Import/Export Snowball's
1502// API operation GetSoftwareUpdates for usage and error information.
1503//
1504// Returned Error Types:
1505//   * InvalidResourceException
1506//   The specified resource can't be found. Check the information you provided
1507//   in your last request, and try again.
1508//
1509//   * InvalidJobStateException
1510//   The action can't be performed because the job's current state doesn't allow
1511//   that action to be performed.
1512//
1513// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSoftwareUpdates
1514func (c *Snowball) GetSoftwareUpdates(input *GetSoftwareUpdatesInput) (*GetSoftwareUpdatesOutput, error) {
1515	req, out := c.GetSoftwareUpdatesRequest(input)
1516	return out, req.Send()
1517}
1518
1519// GetSoftwareUpdatesWithContext is the same as GetSoftwareUpdates with the addition of
1520// the ability to pass a context and additional request options.
1521//
1522// See GetSoftwareUpdates for details on how to use this API operation.
1523//
1524// The context must be non-nil and will be used for request cancellation. If
1525// the context is nil a panic will occur. In the future the SDK may create
1526// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1527// for more information on using Contexts.
1528func (c *Snowball) GetSoftwareUpdatesWithContext(ctx aws.Context, input *GetSoftwareUpdatesInput, opts ...request.Option) (*GetSoftwareUpdatesOutput, error) {
1529	req, out := c.GetSoftwareUpdatesRequest(input)
1530	req.SetContext(ctx)
1531	req.ApplyOptions(opts...)
1532	return out, req.Send()
1533}
1534
1535const opListClusterJobs = "ListClusterJobs"
1536
1537// ListClusterJobsRequest generates a "aws/request.Request" representing the
1538// client's request for the ListClusterJobs operation. The "output" return
1539// value will be populated with the request's response once the request completes
1540// successfully.
1541//
1542// Use "Send" method on the returned Request to send the API call to the service.
1543// the "output" return value is not valid until after Send returns without error.
1544//
1545// See ListClusterJobs for more information on using the ListClusterJobs
1546// API call, and error handling.
1547//
1548// This method is useful when you want to inject custom logic or configuration
1549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1550//
1551//
1552//    // Example sending a request using the ListClusterJobsRequest method.
1553//    req, resp := client.ListClusterJobsRequest(params)
1554//
1555//    err := req.Send()
1556//    if err == nil { // resp is now filled
1557//        fmt.Println(resp)
1558//    }
1559//
1560// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusterJobs
1561func (c *Snowball) ListClusterJobsRequest(input *ListClusterJobsInput) (req *request.Request, output *ListClusterJobsOutput) {
1562	op := &request.Operation{
1563		Name:       opListClusterJobs,
1564		HTTPMethod: "POST",
1565		HTTPPath:   "/",
1566	}
1567
1568	if input == nil {
1569		input = &ListClusterJobsInput{}
1570	}
1571
1572	output = &ListClusterJobsOutput{}
1573	req = c.newRequest(op, input, output)
1574	return
1575}
1576
1577// ListClusterJobs API operation for Amazon Import/Export Snowball.
1578//
1579// Returns an array of JobListEntry objects of the specified length. Each JobListEntry
1580// object is for a job in the specified cluster and contains a job's state,
1581// a job's ID, and other information.
1582//
1583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1584// with awserr.Error's Code and Message methods to get detailed information about
1585// the error.
1586//
1587// See the AWS API reference guide for Amazon Import/Export Snowball's
1588// API operation ListClusterJobs for usage and error information.
1589//
1590// Returned Error Types:
1591//   * InvalidResourceException
1592//   The specified resource can't be found. Check the information you provided
1593//   in your last request, and try again.
1594//
1595//   * InvalidNextTokenException
1596//   The NextToken string was altered unexpectedly, and the operation has stopped.
1597//   Run the operation without changing the NextToken string, and try again.
1598//
1599// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusterJobs
1600func (c *Snowball) ListClusterJobs(input *ListClusterJobsInput) (*ListClusterJobsOutput, error) {
1601	req, out := c.ListClusterJobsRequest(input)
1602	return out, req.Send()
1603}
1604
1605// ListClusterJobsWithContext is the same as ListClusterJobs with the addition of
1606// the ability to pass a context and additional request options.
1607//
1608// See ListClusterJobs for details on how to use this API operation.
1609//
1610// The context must be non-nil and will be used for request cancellation. If
1611// the context is nil a panic will occur. In the future the SDK may create
1612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1613// for more information on using Contexts.
1614func (c *Snowball) ListClusterJobsWithContext(ctx aws.Context, input *ListClusterJobsInput, opts ...request.Option) (*ListClusterJobsOutput, error) {
1615	req, out := c.ListClusterJobsRequest(input)
1616	req.SetContext(ctx)
1617	req.ApplyOptions(opts...)
1618	return out, req.Send()
1619}
1620
1621const opListClusters = "ListClusters"
1622
1623// ListClustersRequest generates a "aws/request.Request" representing the
1624// client's request for the ListClusters operation. The "output" return
1625// value will be populated with the request's response once the request completes
1626// successfully.
1627//
1628// Use "Send" method on the returned Request to send the API call to the service.
1629// the "output" return value is not valid until after Send returns without error.
1630//
1631// See ListClusters for more information on using the ListClusters
1632// API call, and error handling.
1633//
1634// This method is useful when you want to inject custom logic or configuration
1635// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1636//
1637//
1638//    // Example sending a request using the ListClustersRequest method.
1639//    req, resp := client.ListClustersRequest(params)
1640//
1641//    err := req.Send()
1642//    if err == nil { // resp is now filled
1643//        fmt.Println(resp)
1644//    }
1645//
1646// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusters
1647func (c *Snowball) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) {
1648	op := &request.Operation{
1649		Name:       opListClusters,
1650		HTTPMethod: "POST",
1651		HTTPPath:   "/",
1652	}
1653
1654	if input == nil {
1655		input = &ListClustersInput{}
1656	}
1657
1658	output = &ListClustersOutput{}
1659	req = c.newRequest(op, input, output)
1660	return
1661}
1662
1663// ListClusters API operation for Amazon Import/Export Snowball.
1664//
1665// Returns an array of ClusterListEntry objects of the specified length. Each
1666// ClusterListEntry object contains a cluster's state, a cluster's ID, and other
1667// important status information.
1668//
1669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1670// with awserr.Error's Code and Message methods to get detailed information about
1671// the error.
1672//
1673// See the AWS API reference guide for Amazon Import/Export Snowball's
1674// API operation ListClusters for usage and error information.
1675//
1676// Returned Error Types:
1677//   * InvalidNextTokenException
1678//   The NextToken string was altered unexpectedly, and the operation has stopped.
1679//   Run the operation without changing the NextToken string, and try again.
1680//
1681// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusters
1682func (c *Snowball) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) {
1683	req, out := c.ListClustersRequest(input)
1684	return out, req.Send()
1685}
1686
1687// ListClustersWithContext is the same as ListClusters with the addition of
1688// the ability to pass a context and additional request options.
1689//
1690// See ListClusters for details on how to use this API operation.
1691//
1692// The context must be non-nil and will be used for request cancellation. If
1693// the context is nil a panic will occur. In the future the SDK may create
1694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1695// for more information on using Contexts.
1696func (c *Snowball) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) {
1697	req, out := c.ListClustersRequest(input)
1698	req.SetContext(ctx)
1699	req.ApplyOptions(opts...)
1700	return out, req.Send()
1701}
1702
1703const opListCompatibleImages = "ListCompatibleImages"
1704
1705// ListCompatibleImagesRequest generates a "aws/request.Request" representing the
1706// client's request for the ListCompatibleImages operation. The "output" return
1707// value will be populated with the request's response once the request completes
1708// successfully.
1709//
1710// Use "Send" method on the returned Request to send the API call to the service.
1711// the "output" return value is not valid until after Send returns without error.
1712//
1713// See ListCompatibleImages for more information on using the ListCompatibleImages
1714// API call, and error handling.
1715//
1716// This method is useful when you want to inject custom logic or configuration
1717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1718//
1719//
1720//    // Example sending a request using the ListCompatibleImagesRequest method.
1721//    req, resp := client.ListCompatibleImagesRequest(params)
1722//
1723//    err := req.Send()
1724//    if err == nil { // resp is now filled
1725//        fmt.Println(resp)
1726//    }
1727//
1728// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListCompatibleImages
1729func (c *Snowball) ListCompatibleImagesRequest(input *ListCompatibleImagesInput) (req *request.Request, output *ListCompatibleImagesOutput) {
1730	op := &request.Operation{
1731		Name:       opListCompatibleImages,
1732		HTTPMethod: "POST",
1733		HTTPPath:   "/",
1734	}
1735
1736	if input == nil {
1737		input = &ListCompatibleImagesInput{}
1738	}
1739
1740	output = &ListCompatibleImagesOutput{}
1741	req = c.newRequest(op, input, output)
1742	return
1743}
1744
1745// ListCompatibleImages API operation for Amazon Import/Export Snowball.
1746//
1747// This action returns a list of the different Amazon EC2 Amazon Machine Images
1748// (AMIs) that are owned by your AWS account that would be supported for use
1749// on a Snow device. Currently, supported AMIs are based on the CentOS 7 (x86_64)
1750// - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS -
1751// Xenial (HVM) images, available on the AWS Marketplace.
1752//
1753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1754// with awserr.Error's Code and Message methods to get detailed information about
1755// the error.
1756//
1757// See the AWS API reference guide for Amazon Import/Export Snowball's
1758// API operation ListCompatibleImages for usage and error information.
1759//
1760// Returned Error Types:
1761//   * InvalidNextTokenException
1762//   The NextToken string was altered unexpectedly, and the operation has stopped.
1763//   Run the operation without changing the NextToken string, and try again.
1764//
1765//   * Ec2RequestFailedException
1766//   Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
1767//   action.
1768//
1769// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListCompatibleImages
1770func (c *Snowball) ListCompatibleImages(input *ListCompatibleImagesInput) (*ListCompatibleImagesOutput, error) {
1771	req, out := c.ListCompatibleImagesRequest(input)
1772	return out, req.Send()
1773}
1774
1775// ListCompatibleImagesWithContext is the same as ListCompatibleImages with the addition of
1776// the ability to pass a context and additional request options.
1777//
1778// See ListCompatibleImages for details on how to use this API operation.
1779//
1780// The context must be non-nil and will be used for request cancellation. If
1781// the context is nil a panic will occur. In the future the SDK may create
1782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1783// for more information on using Contexts.
1784func (c *Snowball) ListCompatibleImagesWithContext(ctx aws.Context, input *ListCompatibleImagesInput, opts ...request.Option) (*ListCompatibleImagesOutput, error) {
1785	req, out := c.ListCompatibleImagesRequest(input)
1786	req.SetContext(ctx)
1787	req.ApplyOptions(opts...)
1788	return out, req.Send()
1789}
1790
1791const opListJobs = "ListJobs"
1792
1793// ListJobsRequest generates a "aws/request.Request" representing the
1794// client's request for the ListJobs operation. The "output" return
1795// value will be populated with the request's response once the request completes
1796// successfully.
1797//
1798// Use "Send" method on the returned Request to send the API call to the service.
1799// the "output" return value is not valid until after Send returns without error.
1800//
1801// See ListJobs for more information on using the ListJobs
1802// API call, and error handling.
1803//
1804// This method is useful when you want to inject custom logic or configuration
1805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1806//
1807//
1808//    // Example sending a request using the ListJobsRequest method.
1809//    req, resp := client.ListJobsRequest(params)
1810//
1811//    err := req.Send()
1812//    if err == nil { // resp is now filled
1813//        fmt.Println(resp)
1814//    }
1815//
1816// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListJobs
1817func (c *Snowball) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
1818	op := &request.Operation{
1819		Name:       opListJobs,
1820		HTTPMethod: "POST",
1821		HTTPPath:   "/",
1822		Paginator: &request.Paginator{
1823			InputTokens:     []string{"NextToken"},
1824			OutputTokens:    []string{"NextToken"},
1825			LimitToken:      "MaxResults",
1826			TruncationToken: "",
1827		},
1828	}
1829
1830	if input == nil {
1831		input = &ListJobsInput{}
1832	}
1833
1834	output = &ListJobsOutput{}
1835	req = c.newRequest(op, input, output)
1836	return
1837}
1838
1839// ListJobs API operation for Amazon Import/Export Snowball.
1840//
1841// Returns an array of JobListEntry objects of the specified length. Each JobListEntry
1842// object contains a job's state, a job's ID, and a value that indicates whether
1843// the job is a job part, in the case of export jobs. Calling this API action
1844// in one of the US regions will return jobs from the list of all jobs associated
1845// with this account in all US regions.
1846//
1847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1848// with awserr.Error's Code and Message methods to get detailed information about
1849// the error.
1850//
1851// See the AWS API reference guide for Amazon Import/Export Snowball's
1852// API operation ListJobs for usage and error information.
1853//
1854// Returned Error Types:
1855//   * InvalidNextTokenException
1856//   The NextToken string was altered unexpectedly, and the operation has stopped.
1857//   Run the operation without changing the NextToken string, and try again.
1858//
1859// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListJobs
1860func (c *Snowball) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
1861	req, out := c.ListJobsRequest(input)
1862	return out, req.Send()
1863}
1864
1865// ListJobsWithContext is the same as ListJobs with the addition of
1866// the ability to pass a context and additional request options.
1867//
1868// See ListJobs for details on how to use this API operation.
1869//
1870// The context must be non-nil and will be used for request cancellation. If
1871// the context is nil a panic will occur. In the future the SDK may create
1872// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1873// for more information on using Contexts.
1874func (c *Snowball) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
1875	req, out := c.ListJobsRequest(input)
1876	req.SetContext(ctx)
1877	req.ApplyOptions(opts...)
1878	return out, req.Send()
1879}
1880
1881// ListJobsPages iterates over the pages of a ListJobs operation,
1882// calling the "fn" function with the response data for each page. To stop
1883// iterating, return false from the fn function.
1884//
1885// See ListJobs method for more information on how to use this operation.
1886//
1887// Note: This operation can generate multiple requests to a service.
1888//
1889//    // Example iterating over at most 3 pages of a ListJobs operation.
1890//    pageNum := 0
1891//    err := client.ListJobsPages(params,
1892//        func(page *snowball.ListJobsOutput, lastPage bool) bool {
1893//            pageNum++
1894//            fmt.Println(page)
1895//            return pageNum <= 3
1896//        })
1897//
1898func (c *Snowball) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error {
1899	return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn)
1900}
1901
1902// ListJobsPagesWithContext same as ListJobsPages except
1903// it takes a Context and allows setting request options on the pages.
1904//
1905// The context must be non-nil and will be used for request cancellation. If
1906// the context is nil a panic will occur. In the future the SDK may create
1907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1908// for more information on using Contexts.
1909func (c *Snowball) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error {
1910	p := request.Pagination{
1911		NewRequest: func() (*request.Request, error) {
1912			var inCpy *ListJobsInput
1913			if input != nil {
1914				tmp := *input
1915				inCpy = &tmp
1916			}
1917			req, _ := c.ListJobsRequest(inCpy)
1918			req.SetContext(ctx)
1919			req.ApplyOptions(opts...)
1920			return req, nil
1921		},
1922	}
1923
1924	for p.Next() {
1925		if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) {
1926			break
1927		}
1928	}
1929
1930	return p.Err()
1931}
1932
1933const opListLongTermPricing = "ListLongTermPricing"
1934
1935// ListLongTermPricingRequest generates a "aws/request.Request" representing the
1936// client's request for the ListLongTermPricing operation. The "output" return
1937// value will be populated with the request's response once the request completes
1938// successfully.
1939//
1940// Use "Send" method on the returned Request to send the API call to the service.
1941// the "output" return value is not valid until after Send returns without error.
1942//
1943// See ListLongTermPricing for more information on using the ListLongTermPricing
1944// API call, and error handling.
1945//
1946// This method is useful when you want to inject custom logic or configuration
1947// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1948//
1949//
1950//    // Example sending a request using the ListLongTermPricingRequest method.
1951//    req, resp := client.ListLongTermPricingRequest(params)
1952//
1953//    err := req.Send()
1954//    if err == nil { // resp is now filled
1955//        fmt.Println(resp)
1956//    }
1957//
1958// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListLongTermPricing
1959func (c *Snowball) ListLongTermPricingRequest(input *ListLongTermPricingInput) (req *request.Request, output *ListLongTermPricingOutput) {
1960	op := &request.Operation{
1961		Name:       opListLongTermPricing,
1962		HTTPMethod: "POST",
1963		HTTPPath:   "/",
1964	}
1965
1966	if input == nil {
1967		input = &ListLongTermPricingInput{}
1968	}
1969
1970	output = &ListLongTermPricingOutput{}
1971	req = c.newRequest(op, input, output)
1972	return
1973}
1974
1975// ListLongTermPricing API operation for Amazon Import/Export Snowball.
1976//
1977// Lists all long-term pricing types.
1978//
1979// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1980// with awserr.Error's Code and Message methods to get detailed information about
1981// the error.
1982//
1983// See the AWS API reference guide for Amazon Import/Export Snowball's
1984// API operation ListLongTermPricing for usage and error information.
1985//
1986// Returned Error Types:
1987//   * InvalidResourceException
1988//   The specified resource can't be found. Check the information you provided
1989//   in your last request, and try again.
1990//
1991//   * InvalidNextTokenException
1992//   The NextToken string was altered unexpectedly, and the operation has stopped.
1993//   Run the operation without changing the NextToken string, and try again.
1994//
1995// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListLongTermPricing
1996func (c *Snowball) ListLongTermPricing(input *ListLongTermPricingInput) (*ListLongTermPricingOutput, error) {
1997	req, out := c.ListLongTermPricingRequest(input)
1998	return out, req.Send()
1999}
2000
2001// ListLongTermPricingWithContext is the same as ListLongTermPricing with the addition of
2002// the ability to pass a context and additional request options.
2003//
2004// See ListLongTermPricing for details on how to use this API operation.
2005//
2006// The context must be non-nil and will be used for request cancellation. If
2007// the context is nil a panic will occur. In the future the SDK may create
2008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2009// for more information on using Contexts.
2010func (c *Snowball) ListLongTermPricingWithContext(ctx aws.Context, input *ListLongTermPricingInput, opts ...request.Option) (*ListLongTermPricingOutput, error) {
2011	req, out := c.ListLongTermPricingRequest(input)
2012	req.SetContext(ctx)
2013	req.ApplyOptions(opts...)
2014	return out, req.Send()
2015}
2016
2017const opUpdateCluster = "UpdateCluster"
2018
2019// UpdateClusterRequest generates a "aws/request.Request" representing the
2020// client's request for the UpdateCluster operation. The "output" return
2021// value will be populated with the request's response once the request completes
2022// successfully.
2023//
2024// Use "Send" method on the returned Request to send the API call to the service.
2025// the "output" return value is not valid until after Send returns without error.
2026//
2027// See UpdateCluster for more information on using the UpdateCluster
2028// API call, and error handling.
2029//
2030// This method is useful when you want to inject custom logic or configuration
2031// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2032//
2033//
2034//    // Example sending a request using the UpdateClusterRequest method.
2035//    req, resp := client.UpdateClusterRequest(params)
2036//
2037//    err := req.Send()
2038//    if err == nil { // resp is now filled
2039//        fmt.Println(resp)
2040//    }
2041//
2042// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateCluster
2043func (c *Snowball) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Request, output *UpdateClusterOutput) {
2044	op := &request.Operation{
2045		Name:       opUpdateCluster,
2046		HTTPMethod: "POST",
2047		HTTPPath:   "/",
2048	}
2049
2050	if input == nil {
2051		input = &UpdateClusterInput{}
2052	}
2053
2054	output = &UpdateClusterOutput{}
2055	req = c.newRequest(op, input, output)
2056	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2057	return
2058}
2059
2060// UpdateCluster API operation for Amazon Import/Export Snowball.
2061//
2062// While a cluster's ClusterState value is in the AwaitingQuorum state, you
2063// can update some of the information associated with a cluster. Once the cluster
2064// changes to a different job state, usually 60 minutes after the cluster being
2065// created, this action is no longer available.
2066//
2067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2068// with awserr.Error's Code and Message methods to get detailed information about
2069// the error.
2070//
2071// See the AWS API reference guide for Amazon Import/Export Snowball's
2072// API operation UpdateCluster for usage and error information.
2073//
2074// Returned Error Types:
2075//   * InvalidResourceException
2076//   The specified resource can't be found. Check the information you provided
2077//   in your last request, and try again.
2078//
2079//   * InvalidJobStateException
2080//   The action can't be performed because the job's current state doesn't allow
2081//   that action to be performed.
2082//
2083//   * KMSRequestFailedException
2084//   The provided AWS Key Management Service key lacks the permissions to perform
2085//   the specified CreateJob or UpdateJob action.
2086//
2087//   * InvalidInputCombinationException
2088//   Job or cluster creation failed. One or more inputs were invalid. Confirm
2089//   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
2090//   and try again.
2091//
2092//   * Ec2RequestFailedException
2093//   Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
2094//   action.
2095//
2096// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateCluster
2097func (c *Snowball) UpdateCluster(input *UpdateClusterInput) (*UpdateClusterOutput, error) {
2098	req, out := c.UpdateClusterRequest(input)
2099	return out, req.Send()
2100}
2101
2102// UpdateClusterWithContext is the same as UpdateCluster with the addition of
2103// the ability to pass a context and additional request options.
2104//
2105// See UpdateCluster for details on how to use this API operation.
2106//
2107// The context must be non-nil and will be used for request cancellation. If
2108// the context is nil a panic will occur. In the future the SDK may create
2109// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2110// for more information on using Contexts.
2111func (c *Snowball) UpdateClusterWithContext(ctx aws.Context, input *UpdateClusterInput, opts ...request.Option) (*UpdateClusterOutput, error) {
2112	req, out := c.UpdateClusterRequest(input)
2113	req.SetContext(ctx)
2114	req.ApplyOptions(opts...)
2115	return out, req.Send()
2116}
2117
2118const opUpdateJob = "UpdateJob"
2119
2120// UpdateJobRequest generates a "aws/request.Request" representing the
2121// client's request for the UpdateJob operation. The "output" return
2122// value will be populated with the request's response once the request completes
2123// successfully.
2124//
2125// Use "Send" method on the returned Request to send the API call to the service.
2126// the "output" return value is not valid until after Send returns without error.
2127//
2128// See UpdateJob for more information on using the UpdateJob
2129// API call, and error handling.
2130//
2131// This method is useful when you want to inject custom logic or configuration
2132// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2133//
2134//
2135//    // Example sending a request using the UpdateJobRequest method.
2136//    req, resp := client.UpdateJobRequest(params)
2137//
2138//    err := req.Send()
2139//    if err == nil { // resp is now filled
2140//        fmt.Println(resp)
2141//    }
2142//
2143// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJob
2144func (c *Snowball) UpdateJobRequest(input *UpdateJobInput) (req *request.Request, output *UpdateJobOutput) {
2145	op := &request.Operation{
2146		Name:       opUpdateJob,
2147		HTTPMethod: "POST",
2148		HTTPPath:   "/",
2149	}
2150
2151	if input == nil {
2152		input = &UpdateJobInput{}
2153	}
2154
2155	output = &UpdateJobOutput{}
2156	req = c.newRequest(op, input, output)
2157	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2158	return
2159}
2160
2161// UpdateJob API operation for Amazon Import/Export Snowball.
2162//
2163// While a job's JobState value is New, you can update some of the information
2164// associated with a job. Once the job changes to a different job state, usually
2165// within 60 minutes of the job being created, this action is no longer available.
2166//
2167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2168// with awserr.Error's Code and Message methods to get detailed information about
2169// the error.
2170//
2171// See the AWS API reference guide for Amazon Import/Export Snowball's
2172// API operation UpdateJob for usage and error information.
2173//
2174// Returned Error Types:
2175//   * InvalidResourceException
2176//   The specified resource can't be found. Check the information you provided
2177//   in your last request, and try again.
2178//
2179//   * InvalidJobStateException
2180//   The action can't be performed because the job's current state doesn't allow
2181//   that action to be performed.
2182//
2183//   * KMSRequestFailedException
2184//   The provided AWS Key Management Service key lacks the permissions to perform
2185//   the specified CreateJob or UpdateJob action.
2186//
2187//   * InvalidInputCombinationException
2188//   Job or cluster creation failed. One or more inputs were invalid. Confirm
2189//   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
2190//   and try again.
2191//
2192//   * ClusterLimitExceededException
2193//   Job creation failed. Currently, clusters support five nodes. If you have
2194//   fewer than five nodes for your cluster and you have more nodes to create
2195//   for this cluster, try again and create jobs until your cluster has exactly
2196//   five nodes.
2197//
2198//   * Ec2RequestFailedException
2199//   Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
2200//   action.
2201//
2202// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJob
2203func (c *Snowball) UpdateJob(input *UpdateJobInput) (*UpdateJobOutput, error) {
2204	req, out := c.UpdateJobRequest(input)
2205	return out, req.Send()
2206}
2207
2208// UpdateJobWithContext is the same as UpdateJob with the addition of
2209// the ability to pass a context and additional request options.
2210//
2211// See UpdateJob for details on how to use this API operation.
2212//
2213// The context must be non-nil and will be used for request cancellation. If
2214// the context is nil a panic will occur. In the future the SDK may create
2215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2216// for more information on using Contexts.
2217func (c *Snowball) UpdateJobWithContext(ctx aws.Context, input *UpdateJobInput, opts ...request.Option) (*UpdateJobOutput, error) {
2218	req, out := c.UpdateJobRequest(input)
2219	req.SetContext(ctx)
2220	req.ApplyOptions(opts...)
2221	return out, req.Send()
2222}
2223
2224const opUpdateJobShipmentState = "UpdateJobShipmentState"
2225
2226// UpdateJobShipmentStateRequest generates a "aws/request.Request" representing the
2227// client's request for the UpdateJobShipmentState operation. The "output" return
2228// value will be populated with the request's response once the request completes
2229// successfully.
2230//
2231// Use "Send" method on the returned Request to send the API call to the service.
2232// the "output" return value is not valid until after Send returns without error.
2233//
2234// See UpdateJobShipmentState for more information on using the UpdateJobShipmentState
2235// API call, and error handling.
2236//
2237// This method is useful when you want to inject custom logic or configuration
2238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2239//
2240//
2241//    // Example sending a request using the UpdateJobShipmentStateRequest method.
2242//    req, resp := client.UpdateJobShipmentStateRequest(params)
2243//
2244//    err := req.Send()
2245//    if err == nil { // resp is now filled
2246//        fmt.Println(resp)
2247//    }
2248//
2249// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJobShipmentState
2250func (c *Snowball) UpdateJobShipmentStateRequest(input *UpdateJobShipmentStateInput) (req *request.Request, output *UpdateJobShipmentStateOutput) {
2251	op := &request.Operation{
2252		Name:       opUpdateJobShipmentState,
2253		HTTPMethod: "POST",
2254		HTTPPath:   "/",
2255	}
2256
2257	if input == nil {
2258		input = &UpdateJobShipmentStateInput{}
2259	}
2260
2261	output = &UpdateJobShipmentStateOutput{}
2262	req = c.newRequest(op, input, output)
2263	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2264	return
2265}
2266
2267// UpdateJobShipmentState API operation for Amazon Import/Export Snowball.
2268//
2269// Updates the state when a shipment state changes to a different state.
2270//
2271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2272// with awserr.Error's Code and Message methods to get detailed information about
2273// the error.
2274//
2275// See the AWS API reference guide for Amazon Import/Export Snowball's
2276// API operation UpdateJobShipmentState for usage and error information.
2277//
2278// Returned Error Types:
2279//   * InvalidResourceException
2280//   The specified resource can't be found. Check the information you provided
2281//   in your last request, and try again.
2282//
2283//   * InvalidJobStateException
2284//   The action can't be performed because the job's current state doesn't allow
2285//   that action to be performed.
2286//
2287// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJobShipmentState
2288func (c *Snowball) UpdateJobShipmentState(input *UpdateJobShipmentStateInput) (*UpdateJobShipmentStateOutput, error) {
2289	req, out := c.UpdateJobShipmentStateRequest(input)
2290	return out, req.Send()
2291}
2292
2293// UpdateJobShipmentStateWithContext is the same as UpdateJobShipmentState with the addition of
2294// the ability to pass a context and additional request options.
2295//
2296// See UpdateJobShipmentState for details on how to use this API operation.
2297//
2298// The context must be non-nil and will be used for request cancellation. If
2299// the context is nil a panic will occur. In the future the SDK may create
2300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2301// for more information on using Contexts.
2302func (c *Snowball) UpdateJobShipmentStateWithContext(ctx aws.Context, input *UpdateJobShipmentStateInput, opts ...request.Option) (*UpdateJobShipmentStateOutput, error) {
2303	req, out := c.UpdateJobShipmentStateRequest(input)
2304	req.SetContext(ctx)
2305	req.ApplyOptions(opts...)
2306	return out, req.Send()
2307}
2308
2309const opUpdateLongTermPricing = "UpdateLongTermPricing"
2310
2311// UpdateLongTermPricingRequest generates a "aws/request.Request" representing the
2312// client's request for the UpdateLongTermPricing operation. The "output" return
2313// value will be populated with the request's response once the request completes
2314// successfully.
2315//
2316// Use "Send" method on the returned Request to send the API call to the service.
2317// the "output" return value is not valid until after Send returns without error.
2318//
2319// See UpdateLongTermPricing for more information on using the UpdateLongTermPricing
2320// API call, and error handling.
2321//
2322// This method is useful when you want to inject custom logic or configuration
2323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2324//
2325//
2326//    // Example sending a request using the UpdateLongTermPricingRequest method.
2327//    req, resp := client.UpdateLongTermPricingRequest(params)
2328//
2329//    err := req.Send()
2330//    if err == nil { // resp is now filled
2331//        fmt.Println(resp)
2332//    }
2333//
2334// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateLongTermPricing
2335func (c *Snowball) UpdateLongTermPricingRequest(input *UpdateLongTermPricingInput) (req *request.Request, output *UpdateLongTermPricingOutput) {
2336	op := &request.Operation{
2337		Name:       opUpdateLongTermPricing,
2338		HTTPMethod: "POST",
2339		HTTPPath:   "/",
2340	}
2341
2342	if input == nil {
2343		input = &UpdateLongTermPricingInput{}
2344	}
2345
2346	output = &UpdateLongTermPricingOutput{}
2347	req = c.newRequest(op, input, output)
2348	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2349	return
2350}
2351
2352// UpdateLongTermPricing API operation for Amazon Import/Export Snowball.
2353//
2354// Updates the long-term pricing type.
2355//
2356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2357// with awserr.Error's Code and Message methods to get detailed information about
2358// the error.
2359//
2360// See the AWS API reference guide for Amazon Import/Export Snowball's
2361// API operation UpdateLongTermPricing for usage and error information.
2362//
2363// Returned Error Types:
2364//   * InvalidResourceException
2365//   The specified resource can't be found. Check the information you provided
2366//   in your last request, and try again.
2367//
2368// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateLongTermPricing
2369func (c *Snowball) UpdateLongTermPricing(input *UpdateLongTermPricingInput) (*UpdateLongTermPricingOutput, error) {
2370	req, out := c.UpdateLongTermPricingRequest(input)
2371	return out, req.Send()
2372}
2373
2374// UpdateLongTermPricingWithContext is the same as UpdateLongTermPricing with the addition of
2375// the ability to pass a context and additional request options.
2376//
2377// See UpdateLongTermPricing for details on how to use this API operation.
2378//
2379// The context must be non-nil and will be used for request cancellation. If
2380// the context is nil a panic will occur. In the future the SDK may create
2381// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2382// for more information on using Contexts.
2383func (c *Snowball) UpdateLongTermPricingWithContext(ctx aws.Context, input *UpdateLongTermPricingInput, opts ...request.Option) (*UpdateLongTermPricingOutput, error) {
2384	req, out := c.UpdateLongTermPricingRequest(input)
2385	req.SetContext(ctx)
2386	req.ApplyOptions(opts...)
2387	return out, req.Send()
2388}
2389
2390// The address that you want the Snow device(s) associated with a specific job
2391// to be shipped to. Addresses are validated at the time of creation. The address
2392// you provide must be located within the serviceable area of your region. Although
2393// no individual elements of the Address are required, if the address is invalid
2394// or unsupported, then an exception is thrown.
2395type Address struct {
2396	_ struct{} `type:"structure"`
2397
2398	// The unique ID for an address.
2399	AddressId *string `min:"40" type:"string"`
2400
2401	// The city in an address that a Snow device is to be delivered to.
2402	City *string `min:"1" type:"string"`
2403
2404	// The name of the company to receive a Snow device at an address.
2405	Company *string `min:"1" type:"string"`
2406
2407	// The country in an address that a Snow device is to be delivered to.
2408	Country *string `min:"1" type:"string"`
2409
2410	// If the address you are creating is a primary address, then set this option
2411	// to true. This field is not supported in most regions.
2412	IsRestricted *bool `type:"boolean"`
2413
2414	// This field is no longer used and the value is ignored.
2415	Landmark *string `min:"1" type:"string"`
2416
2417	// The name of a person to receive a Snow device at an address.
2418	Name *string `min:"1" type:"string"`
2419
2420	// The phone number associated with an address that a Snow device is to be delivered
2421	// to.
2422	PhoneNumber *string `min:"1" type:"string"`
2423
2424	// The postal code in an address that a Snow device is to be delivered to.
2425	PostalCode *string `min:"1" type:"string"`
2426
2427	// This field is no longer used and the value is ignored.
2428	PrefectureOrDistrict *string `min:"1" type:"string"`
2429
2430	// The state or province in an address that a Snow device is to be delivered
2431	// to.
2432	StateOrProvince *string `min:"1" type:"string"`
2433
2434	// The first line in a street address that a Snow device is to be delivered
2435	// to.
2436	Street1 *string `min:"1" type:"string"`
2437
2438	// The second line in a street address that a Snow device is to be delivered
2439	// to.
2440	Street2 *string `min:"1" type:"string"`
2441
2442	// The third line in a street address that a Snow device is to be delivered
2443	// to.
2444	Street3 *string `min:"1" type:"string"`
2445}
2446
2447// String returns the string representation.
2448//
2449// API parameter values that are decorated as "sensitive" in the API will not
2450// be included in the string output. The member name will be present, but the
2451// value will be replaced with "sensitive".
2452func (s Address) String() string {
2453	return awsutil.Prettify(s)
2454}
2455
2456// GoString returns the string representation.
2457//
2458// API parameter values that are decorated as "sensitive" in the API will not
2459// be included in the string output. The member name will be present, but the
2460// value will be replaced with "sensitive".
2461func (s Address) GoString() string {
2462	return s.String()
2463}
2464
2465// Validate inspects the fields of the type to determine if they are valid.
2466func (s *Address) Validate() error {
2467	invalidParams := request.ErrInvalidParams{Context: "Address"}
2468	if s.AddressId != nil && len(*s.AddressId) < 40 {
2469		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
2470	}
2471	if s.City != nil && len(*s.City) < 1 {
2472		invalidParams.Add(request.NewErrParamMinLen("City", 1))
2473	}
2474	if s.Company != nil && len(*s.Company) < 1 {
2475		invalidParams.Add(request.NewErrParamMinLen("Company", 1))
2476	}
2477	if s.Country != nil && len(*s.Country) < 1 {
2478		invalidParams.Add(request.NewErrParamMinLen("Country", 1))
2479	}
2480	if s.Landmark != nil && len(*s.Landmark) < 1 {
2481		invalidParams.Add(request.NewErrParamMinLen("Landmark", 1))
2482	}
2483	if s.Name != nil && len(*s.Name) < 1 {
2484		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
2485	}
2486	if s.PhoneNumber != nil && len(*s.PhoneNumber) < 1 {
2487		invalidParams.Add(request.NewErrParamMinLen("PhoneNumber", 1))
2488	}
2489	if s.PostalCode != nil && len(*s.PostalCode) < 1 {
2490		invalidParams.Add(request.NewErrParamMinLen("PostalCode", 1))
2491	}
2492	if s.PrefectureOrDistrict != nil && len(*s.PrefectureOrDistrict) < 1 {
2493		invalidParams.Add(request.NewErrParamMinLen("PrefectureOrDistrict", 1))
2494	}
2495	if s.StateOrProvince != nil && len(*s.StateOrProvince) < 1 {
2496		invalidParams.Add(request.NewErrParamMinLen("StateOrProvince", 1))
2497	}
2498	if s.Street1 != nil && len(*s.Street1) < 1 {
2499		invalidParams.Add(request.NewErrParamMinLen("Street1", 1))
2500	}
2501	if s.Street2 != nil && len(*s.Street2) < 1 {
2502		invalidParams.Add(request.NewErrParamMinLen("Street2", 1))
2503	}
2504	if s.Street3 != nil && len(*s.Street3) < 1 {
2505		invalidParams.Add(request.NewErrParamMinLen("Street3", 1))
2506	}
2507
2508	if invalidParams.Len() > 0 {
2509		return invalidParams
2510	}
2511	return nil
2512}
2513
2514// SetAddressId sets the AddressId field's value.
2515func (s *Address) SetAddressId(v string) *Address {
2516	s.AddressId = &v
2517	return s
2518}
2519
2520// SetCity sets the City field's value.
2521func (s *Address) SetCity(v string) *Address {
2522	s.City = &v
2523	return s
2524}
2525
2526// SetCompany sets the Company field's value.
2527func (s *Address) SetCompany(v string) *Address {
2528	s.Company = &v
2529	return s
2530}
2531
2532// SetCountry sets the Country field's value.
2533func (s *Address) SetCountry(v string) *Address {
2534	s.Country = &v
2535	return s
2536}
2537
2538// SetIsRestricted sets the IsRestricted field's value.
2539func (s *Address) SetIsRestricted(v bool) *Address {
2540	s.IsRestricted = &v
2541	return s
2542}
2543
2544// SetLandmark sets the Landmark field's value.
2545func (s *Address) SetLandmark(v string) *Address {
2546	s.Landmark = &v
2547	return s
2548}
2549
2550// SetName sets the Name field's value.
2551func (s *Address) SetName(v string) *Address {
2552	s.Name = &v
2553	return s
2554}
2555
2556// SetPhoneNumber sets the PhoneNumber field's value.
2557func (s *Address) SetPhoneNumber(v string) *Address {
2558	s.PhoneNumber = &v
2559	return s
2560}
2561
2562// SetPostalCode sets the PostalCode field's value.
2563func (s *Address) SetPostalCode(v string) *Address {
2564	s.PostalCode = &v
2565	return s
2566}
2567
2568// SetPrefectureOrDistrict sets the PrefectureOrDistrict field's value.
2569func (s *Address) SetPrefectureOrDistrict(v string) *Address {
2570	s.PrefectureOrDistrict = &v
2571	return s
2572}
2573
2574// SetStateOrProvince sets the StateOrProvince field's value.
2575func (s *Address) SetStateOrProvince(v string) *Address {
2576	s.StateOrProvince = &v
2577	return s
2578}
2579
2580// SetStreet1 sets the Street1 field's value.
2581func (s *Address) SetStreet1(v string) *Address {
2582	s.Street1 = &v
2583	return s
2584}
2585
2586// SetStreet2 sets the Street2 field's value.
2587func (s *Address) SetStreet2(v string) *Address {
2588	s.Street2 = &v
2589	return s
2590}
2591
2592// SetStreet3 sets the Street3 field's value.
2593func (s *Address) SetStreet3(v string) *Address {
2594	s.Street3 = &v
2595	return s
2596}
2597
2598type CancelClusterInput struct {
2599	_ struct{} `type:"structure"`
2600
2601	// The 39-character ID for the cluster that you want to cancel, for example
2602	// CID123e4567-e89b-12d3-a456-426655440000.
2603	//
2604	// ClusterId is a required field
2605	ClusterId *string `min:"39" type:"string" required:"true"`
2606}
2607
2608// String returns the string representation.
2609//
2610// API parameter values that are decorated as "sensitive" in the API will not
2611// be included in the string output. The member name will be present, but the
2612// value will be replaced with "sensitive".
2613func (s CancelClusterInput) String() string {
2614	return awsutil.Prettify(s)
2615}
2616
2617// GoString returns the string representation.
2618//
2619// API parameter values that are decorated as "sensitive" in the API will not
2620// be included in the string output. The member name will be present, but the
2621// value will be replaced with "sensitive".
2622func (s CancelClusterInput) GoString() string {
2623	return s.String()
2624}
2625
2626// Validate inspects the fields of the type to determine if they are valid.
2627func (s *CancelClusterInput) Validate() error {
2628	invalidParams := request.ErrInvalidParams{Context: "CancelClusterInput"}
2629	if s.ClusterId == nil {
2630		invalidParams.Add(request.NewErrParamRequired("ClusterId"))
2631	}
2632	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
2633		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
2634	}
2635
2636	if invalidParams.Len() > 0 {
2637		return invalidParams
2638	}
2639	return nil
2640}
2641
2642// SetClusterId sets the ClusterId field's value.
2643func (s *CancelClusterInput) SetClusterId(v string) *CancelClusterInput {
2644	s.ClusterId = &v
2645	return s
2646}
2647
2648type CancelClusterOutput struct {
2649	_ struct{} `type:"structure"`
2650}
2651
2652// String returns the string representation.
2653//
2654// API parameter values that are decorated as "sensitive" in the API will not
2655// be included in the string output. The member name will be present, but the
2656// value will be replaced with "sensitive".
2657func (s CancelClusterOutput) String() string {
2658	return awsutil.Prettify(s)
2659}
2660
2661// GoString returns the string representation.
2662//
2663// API parameter values that are decorated as "sensitive" in the API will not
2664// be included in the string output. The member name will be present, but the
2665// value will be replaced with "sensitive".
2666func (s CancelClusterOutput) GoString() string {
2667	return s.String()
2668}
2669
2670type CancelJobInput struct {
2671	_ struct{} `type:"structure"`
2672
2673	// The 39-character job ID for the job that you want to cancel, for example
2674	// JID123e4567-e89b-12d3-a456-426655440000.
2675	//
2676	// JobId is a required field
2677	JobId *string `min:"39" type:"string" required:"true"`
2678}
2679
2680// String returns the string representation.
2681//
2682// API parameter values that are decorated as "sensitive" in the API will not
2683// be included in the string output. The member name will be present, but the
2684// value will be replaced with "sensitive".
2685func (s CancelJobInput) String() string {
2686	return awsutil.Prettify(s)
2687}
2688
2689// GoString returns the string representation.
2690//
2691// API parameter values that are decorated as "sensitive" in the API will not
2692// be included in the string output. The member name will be present, but the
2693// value will be replaced with "sensitive".
2694func (s CancelJobInput) GoString() string {
2695	return s.String()
2696}
2697
2698// Validate inspects the fields of the type to determine if they are valid.
2699func (s *CancelJobInput) Validate() error {
2700	invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"}
2701	if s.JobId == nil {
2702		invalidParams.Add(request.NewErrParamRequired("JobId"))
2703	}
2704	if s.JobId != nil && len(*s.JobId) < 39 {
2705		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
2706	}
2707
2708	if invalidParams.Len() > 0 {
2709		return invalidParams
2710	}
2711	return nil
2712}
2713
2714// SetJobId sets the JobId field's value.
2715func (s *CancelJobInput) SetJobId(v string) *CancelJobInput {
2716	s.JobId = &v
2717	return s
2718}
2719
2720type CancelJobOutput struct {
2721	_ struct{} `type:"structure"`
2722}
2723
2724// String returns the string representation.
2725//
2726// API parameter values that are decorated as "sensitive" in the API will not
2727// be included in the string output. The member name will be present, but the
2728// value will be replaced with "sensitive".
2729func (s CancelJobOutput) String() string {
2730	return awsutil.Prettify(s)
2731}
2732
2733// GoString returns the string representation.
2734//
2735// API parameter values that are decorated as "sensitive" in the API will not
2736// be included in the string output. The member name will be present, but the
2737// value will be replaced with "sensitive".
2738func (s CancelJobOutput) GoString() string {
2739	return s.String()
2740}
2741
2742// Job creation failed. Currently, clusters support five nodes. If you have
2743// fewer than five nodes for your cluster and you have more nodes to create
2744// for this cluster, try again and create jobs until your cluster has exactly
2745// five nodes.
2746type ClusterLimitExceededException struct {
2747	_            struct{}                  `type:"structure"`
2748	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
2749
2750	Message_ *string `locationName:"Message" min:"1" type:"string"`
2751}
2752
2753// String returns the string representation.
2754//
2755// API parameter values that are decorated as "sensitive" in the API will not
2756// be included in the string output. The member name will be present, but the
2757// value will be replaced with "sensitive".
2758func (s ClusterLimitExceededException) String() string {
2759	return awsutil.Prettify(s)
2760}
2761
2762// GoString returns the string representation.
2763//
2764// API parameter values that are decorated as "sensitive" in the API will not
2765// be included in the string output. The member name will be present, but the
2766// value will be replaced with "sensitive".
2767func (s ClusterLimitExceededException) GoString() string {
2768	return s.String()
2769}
2770
2771func newErrorClusterLimitExceededException(v protocol.ResponseMetadata) error {
2772	return &ClusterLimitExceededException{
2773		RespMetadata: v,
2774	}
2775}
2776
2777// Code returns the exception type name.
2778func (s *ClusterLimitExceededException) Code() string {
2779	return "ClusterLimitExceededException"
2780}
2781
2782// Message returns the exception's message.
2783func (s *ClusterLimitExceededException) Message() string {
2784	if s.Message_ != nil {
2785		return *s.Message_
2786	}
2787	return ""
2788}
2789
2790// OrigErr always returns nil, satisfies awserr.Error interface.
2791func (s *ClusterLimitExceededException) OrigErr() error {
2792	return nil
2793}
2794
2795func (s *ClusterLimitExceededException) Error() string {
2796	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
2797}
2798
2799// Status code returns the HTTP status code for the request's response error.
2800func (s *ClusterLimitExceededException) StatusCode() int {
2801	return s.RespMetadata.StatusCode
2802}
2803
2804// RequestID returns the service's response RequestID for request.
2805func (s *ClusterLimitExceededException) RequestID() string {
2806	return s.RespMetadata.RequestID
2807}
2808
2809// Contains a cluster's state, a cluster's ID, and other important information.
2810type ClusterListEntry struct {
2811	_ struct{} `type:"structure"`
2812
2813	// The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000.
2814	ClusterId *string `min:"1" type:"string"`
2815
2816	// The current state of this cluster. For information about the state of a specific
2817	// node, see JobListEntry$JobState.
2818	ClusterState *string `type:"string" enum:"ClusterState"`
2819
2820	// The creation date for this cluster.
2821	CreationDate *time.Time `type:"timestamp"`
2822
2823	// Defines an optional description of the cluster, for example Environmental
2824	// Data Cluster-01.
2825	Description *string `min:"1" type:"string"`
2826}
2827
2828// String returns the string representation.
2829//
2830// API parameter values that are decorated as "sensitive" in the API will not
2831// be included in the string output. The member name will be present, but the
2832// value will be replaced with "sensitive".
2833func (s ClusterListEntry) String() string {
2834	return awsutil.Prettify(s)
2835}
2836
2837// GoString returns the string representation.
2838//
2839// API parameter values that are decorated as "sensitive" in the API will not
2840// be included in the string output. The member name will be present, but the
2841// value will be replaced with "sensitive".
2842func (s ClusterListEntry) GoString() string {
2843	return s.String()
2844}
2845
2846// SetClusterId sets the ClusterId field's value.
2847func (s *ClusterListEntry) SetClusterId(v string) *ClusterListEntry {
2848	s.ClusterId = &v
2849	return s
2850}
2851
2852// SetClusterState sets the ClusterState field's value.
2853func (s *ClusterListEntry) SetClusterState(v string) *ClusterListEntry {
2854	s.ClusterState = &v
2855	return s
2856}
2857
2858// SetCreationDate sets the CreationDate field's value.
2859func (s *ClusterListEntry) SetCreationDate(v time.Time) *ClusterListEntry {
2860	s.CreationDate = &v
2861	return s
2862}
2863
2864// SetDescription sets the Description field's value.
2865func (s *ClusterListEntry) SetDescription(v string) *ClusterListEntry {
2866	s.Description = &v
2867	return s
2868}
2869
2870// Contains metadata about a specific cluster.
2871type ClusterMetadata struct {
2872	_ struct{} `type:"structure"`
2873
2874	// The automatically generated ID for a specific address.
2875	AddressId *string `min:"40" type:"string"`
2876
2877	// The automatically generated ID for a cluster.
2878	ClusterId *string `min:"1" type:"string"`
2879
2880	// The current status of the cluster.
2881	ClusterState *string `type:"string" enum:"ClusterState"`
2882
2883	// The creation date for this cluster.
2884	CreationDate *time.Time `type:"timestamp"`
2885
2886	// The optional description of the cluster.
2887	Description *string `min:"1" type:"string"`
2888
2889	// The ID of the address that you want a cluster shipped to, after it will be
2890	// shipped to its primary address. This field is not supported in most regions.
2891	ForwardingAddressId *string `min:"40" type:"string"`
2892
2893	// The type of job for this cluster. Currently, the only job type supported
2894	// for clusters is LOCAL_USE.
2895	JobType *string `type:"string" enum:"JobType"`
2896
2897	// The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This
2898	// ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
2899	// API action in AWS Key Management Service (AWS KMS).
2900	KmsKeyARN *string `type:"string"`
2901
2902	// The Amazon Simple Notification Service (Amazon SNS) notification settings
2903	// for this cluster.
2904	Notification *Notification `type:"structure"`
2905
2906	// Represents metadata and configuration settings for services on an AWS Snow
2907	// Family device.
2908	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
2909
2910	// The arrays of JobResource objects that can include updated S3Resource objects
2911	// or LambdaResource objects.
2912	Resources *JobResource `type:"structure"`
2913
2914	// The role ARN associated with this cluster. This ARN was created using the
2915	// CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
2916	// API action in AWS Identity and Access Management (IAM).
2917	RoleARN *string `type:"string"`
2918
2919	// The shipping speed for each node in this cluster. This speed doesn't dictate
2920	// how soon you'll get each device, rather it represents how quickly each device
2921	// moves to its destination while in transit. Regional shipping speeds are as
2922	// follows:
2923	//
2924	//    * In Australia, you have access to express shipping. Typically, devices
2925	//    shipped express are delivered in about a day.
2926	//
2927	//    * In the European Union (EU), you have access to express shipping. Typically,
2928	//    Snow devices shipped express are delivered in about a day. In addition,
2929	//    most countries in the EU have access to standard shipping, which typically
2930	//    takes less than a week, one way.
2931	//
2932	//    * In India, Snow devices are delivered in one to seven days.
2933	//
2934	//    * In the US, you have access to one-day shipping and two-day shipping.
2935	ShippingOption *string `type:"string" enum:"ShippingOption"`
2936
2937	// The type of AWS Snow device to use for this cluster.
2938	//
2939	// For cluster jobs, AWS Snow Family currently supports only the EDGE device
2940	// type.
2941	SnowballType *string `type:"string" enum:"Type"`
2942
2943	// The tax documents required in your AWS Region.
2944	TaxDocuments *TaxDocuments `type:"structure"`
2945}
2946
2947// String returns the string representation.
2948//
2949// API parameter values that are decorated as "sensitive" in the API will not
2950// be included in the string output. The member name will be present, but the
2951// value will be replaced with "sensitive".
2952func (s ClusterMetadata) String() string {
2953	return awsutil.Prettify(s)
2954}
2955
2956// GoString returns the string representation.
2957//
2958// API parameter values that are decorated as "sensitive" in the API will not
2959// be included in the string output. The member name will be present, but the
2960// value will be replaced with "sensitive".
2961func (s ClusterMetadata) GoString() string {
2962	return s.String()
2963}
2964
2965// SetAddressId sets the AddressId field's value.
2966func (s *ClusterMetadata) SetAddressId(v string) *ClusterMetadata {
2967	s.AddressId = &v
2968	return s
2969}
2970
2971// SetClusterId sets the ClusterId field's value.
2972func (s *ClusterMetadata) SetClusterId(v string) *ClusterMetadata {
2973	s.ClusterId = &v
2974	return s
2975}
2976
2977// SetClusterState sets the ClusterState field's value.
2978func (s *ClusterMetadata) SetClusterState(v string) *ClusterMetadata {
2979	s.ClusterState = &v
2980	return s
2981}
2982
2983// SetCreationDate sets the CreationDate field's value.
2984func (s *ClusterMetadata) SetCreationDate(v time.Time) *ClusterMetadata {
2985	s.CreationDate = &v
2986	return s
2987}
2988
2989// SetDescription sets the Description field's value.
2990func (s *ClusterMetadata) SetDescription(v string) *ClusterMetadata {
2991	s.Description = &v
2992	return s
2993}
2994
2995// SetForwardingAddressId sets the ForwardingAddressId field's value.
2996func (s *ClusterMetadata) SetForwardingAddressId(v string) *ClusterMetadata {
2997	s.ForwardingAddressId = &v
2998	return s
2999}
3000
3001// SetJobType sets the JobType field's value.
3002func (s *ClusterMetadata) SetJobType(v string) *ClusterMetadata {
3003	s.JobType = &v
3004	return s
3005}
3006
3007// SetKmsKeyARN sets the KmsKeyARN field's value.
3008func (s *ClusterMetadata) SetKmsKeyARN(v string) *ClusterMetadata {
3009	s.KmsKeyARN = &v
3010	return s
3011}
3012
3013// SetNotification sets the Notification field's value.
3014func (s *ClusterMetadata) SetNotification(v *Notification) *ClusterMetadata {
3015	s.Notification = v
3016	return s
3017}
3018
3019// SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
3020func (s *ClusterMetadata) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *ClusterMetadata {
3021	s.OnDeviceServiceConfiguration = v
3022	return s
3023}
3024
3025// SetResources sets the Resources field's value.
3026func (s *ClusterMetadata) SetResources(v *JobResource) *ClusterMetadata {
3027	s.Resources = v
3028	return s
3029}
3030
3031// SetRoleARN sets the RoleARN field's value.
3032func (s *ClusterMetadata) SetRoleARN(v string) *ClusterMetadata {
3033	s.RoleARN = &v
3034	return s
3035}
3036
3037// SetShippingOption sets the ShippingOption field's value.
3038func (s *ClusterMetadata) SetShippingOption(v string) *ClusterMetadata {
3039	s.ShippingOption = &v
3040	return s
3041}
3042
3043// SetSnowballType sets the SnowballType field's value.
3044func (s *ClusterMetadata) SetSnowballType(v string) *ClusterMetadata {
3045	s.SnowballType = &v
3046	return s
3047}
3048
3049// SetTaxDocuments sets the TaxDocuments field's value.
3050func (s *ClusterMetadata) SetTaxDocuments(v *TaxDocuments) *ClusterMetadata {
3051	s.TaxDocuments = v
3052	return s
3053}
3054
3055// A JSON-formatted object that describes a compatible Amazon Machine Image
3056// (AMI), including the ID and name for a Snow device AMI. This AMI is compatible
3057// with the device's physical hardware requirements, and it should be able to
3058// be run in an SBE1 instance on the device.
3059type CompatibleImage struct {
3060	_ struct{} `type:"structure"`
3061
3062	// The unique identifier for an individual Snow device AMI.
3063	AmiId *string `min:"1" type:"string"`
3064
3065	// The optional name of a compatible image.
3066	Name *string `min:"1" type:"string"`
3067}
3068
3069// String returns the string representation.
3070//
3071// API parameter values that are decorated as "sensitive" in the API will not
3072// be included in the string output. The member name will be present, but the
3073// value will be replaced with "sensitive".
3074func (s CompatibleImage) String() string {
3075	return awsutil.Prettify(s)
3076}
3077
3078// GoString returns the string representation.
3079//
3080// API parameter values that are decorated as "sensitive" in the API will not
3081// be included in the string output. The member name will be present, but the
3082// value will be replaced with "sensitive".
3083func (s CompatibleImage) GoString() string {
3084	return s.String()
3085}
3086
3087// SetAmiId sets the AmiId field's value.
3088func (s *CompatibleImage) SetAmiId(v string) *CompatibleImage {
3089	s.AmiId = &v
3090	return s
3091}
3092
3093// SetName sets the Name field's value.
3094func (s *CompatibleImage) SetName(v string) *CompatibleImage {
3095	s.Name = &v
3096	return s
3097}
3098
3099// You get this exception when you call CreateReturnShippingLabel more than
3100// once when other requests are not completed.
3101type ConflictException struct {
3102	_            struct{}                  `type:"structure"`
3103	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
3104
3105	ConflictResource *string `min:"1" type:"string"`
3106
3107	Message_ *string `locationName:"Message" min:"1" type:"string"`
3108}
3109
3110// String returns the string representation.
3111//
3112// API parameter values that are decorated as "sensitive" in the API will not
3113// be included in the string output. The member name will be present, but the
3114// value will be replaced with "sensitive".
3115func (s ConflictException) String() string {
3116	return awsutil.Prettify(s)
3117}
3118
3119// GoString returns the string representation.
3120//
3121// API parameter values that are decorated as "sensitive" in the API will not
3122// be included in the string output. The member name will be present, but the
3123// value will be replaced with "sensitive".
3124func (s ConflictException) GoString() string {
3125	return s.String()
3126}
3127
3128func newErrorConflictException(v protocol.ResponseMetadata) error {
3129	return &ConflictException{
3130		RespMetadata: v,
3131	}
3132}
3133
3134// Code returns the exception type name.
3135func (s *ConflictException) Code() string {
3136	return "ConflictException"
3137}
3138
3139// Message returns the exception's message.
3140func (s *ConflictException) Message() string {
3141	if s.Message_ != nil {
3142		return *s.Message_
3143	}
3144	return ""
3145}
3146
3147// OrigErr always returns nil, satisfies awserr.Error interface.
3148func (s *ConflictException) OrigErr() error {
3149	return nil
3150}
3151
3152func (s *ConflictException) Error() string {
3153	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
3154}
3155
3156// Status code returns the HTTP status code for the request's response error.
3157func (s *ConflictException) StatusCode() int {
3158	return s.RespMetadata.StatusCode
3159}
3160
3161// RequestID returns the service's response RequestID for request.
3162func (s *ConflictException) RequestID() string {
3163	return s.RespMetadata.RequestID
3164}
3165
3166type CreateAddressInput struct {
3167	_ struct{} `type:"structure"`
3168
3169	// The address that you want the Snow device shipped to.
3170	//
3171	// Address is a required field
3172	Address *Address `type:"structure" required:"true"`
3173}
3174
3175// String returns the string representation.
3176//
3177// API parameter values that are decorated as "sensitive" in the API will not
3178// be included in the string output. The member name will be present, but the
3179// value will be replaced with "sensitive".
3180func (s CreateAddressInput) String() string {
3181	return awsutil.Prettify(s)
3182}
3183
3184// GoString returns the string representation.
3185//
3186// API parameter values that are decorated as "sensitive" in the API will not
3187// be included in the string output. The member name will be present, but the
3188// value will be replaced with "sensitive".
3189func (s CreateAddressInput) GoString() string {
3190	return s.String()
3191}
3192
3193// Validate inspects the fields of the type to determine if they are valid.
3194func (s *CreateAddressInput) Validate() error {
3195	invalidParams := request.ErrInvalidParams{Context: "CreateAddressInput"}
3196	if s.Address == nil {
3197		invalidParams.Add(request.NewErrParamRequired("Address"))
3198	}
3199	if s.Address != nil {
3200		if err := s.Address.Validate(); err != nil {
3201			invalidParams.AddNested("Address", err.(request.ErrInvalidParams))
3202		}
3203	}
3204
3205	if invalidParams.Len() > 0 {
3206		return invalidParams
3207	}
3208	return nil
3209}
3210
3211// SetAddress sets the Address field's value.
3212func (s *CreateAddressInput) SetAddress(v *Address) *CreateAddressInput {
3213	s.Address = v
3214	return s
3215}
3216
3217type CreateAddressOutput struct {
3218	_ struct{} `type:"structure"`
3219
3220	// The automatically generated ID for a specific address. You'll use this ID
3221	// when you create a job to specify which address you want the Snow device for
3222	// that job shipped to.
3223	AddressId *string `min:"1" type:"string"`
3224}
3225
3226// String returns the string representation.
3227//
3228// API parameter values that are decorated as "sensitive" in the API will not
3229// be included in the string output. The member name will be present, but the
3230// value will be replaced with "sensitive".
3231func (s CreateAddressOutput) String() string {
3232	return awsutil.Prettify(s)
3233}
3234
3235// GoString returns the string representation.
3236//
3237// API parameter values that are decorated as "sensitive" in the API will not
3238// be included in the string output. The member name will be present, but the
3239// value will be replaced with "sensitive".
3240func (s CreateAddressOutput) GoString() string {
3241	return s.String()
3242}
3243
3244// SetAddressId sets the AddressId field's value.
3245func (s *CreateAddressOutput) SetAddressId(v string) *CreateAddressOutput {
3246	s.AddressId = &v
3247	return s
3248}
3249
3250type CreateClusterInput struct {
3251	_ struct{} `type:"structure"`
3252
3253	// The ID for the address that you want the cluster shipped to.
3254	//
3255	// AddressId is a required field
3256	AddressId *string `min:"40" type:"string" required:"true"`
3257
3258	// An optional description of this specific cluster, for example Environmental
3259	// Data Cluster-01.
3260	Description *string `min:"1" type:"string"`
3261
3262	// The forwarding address ID for a cluster. This field is not supported in most
3263	// regions.
3264	ForwardingAddressId *string `min:"40" type:"string"`
3265
3266	// The type of job for this cluster. Currently, the only job type supported
3267	// for clusters is LOCAL_USE.
3268	//
3269	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
3270	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
3271	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
3272	//
3273	// JobType is a required field
3274	JobType *string `type:"string" required:"true" enum:"JobType"`
3275
3276	// The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN
3277	// values are created by using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
3278	// API action in AWS Key Management Service (AWS KMS).
3279	KmsKeyARN *string `type:"string"`
3280
3281	// The Amazon Simple Notification Service (Amazon SNS) notification settings
3282	// for this cluster.
3283	Notification *Notification `type:"structure"`
3284
3285	// Specifies the service or services on the Snow Family device that your transferred
3286	// data will be exported from or imported into. AWS Snow Family supports Amazon
3287	// S3 and NFS (Network File System).
3288	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
3289
3290	// Allows you to securely operate and manage Snow devices in a cluster remotely
3291	// from outside of your internal network. When set to INSTALLED_AUTOSTART, remote
3292	// management will automatically be available when the device arrives at your
3293	// location. Otherwise, you need to use the Snowball Client to manage the device.
3294	RemoteManagement *string `type:"string" enum:"RemoteManagement"`
3295
3296	// The resources associated with the cluster job. These resources include Amazon
3297	// S3 buckets and optional AWS Lambda functions written in the Python language.
3298	//
3299	// Resources is a required field
3300	Resources *JobResource `type:"structure" required:"true"`
3301
3302	// The RoleARN that you want to associate with this cluster. RoleArn values
3303	// are created by using the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
3304	// API action in AWS Identity and Access Management (IAM).
3305	//
3306	// RoleARN is a required field
3307	RoleARN *string `type:"string" required:"true"`
3308
3309	// The shipping speed for each node in this cluster. This speed doesn't dictate
3310	// how soon you'll get each Snowball Edge device, rather it represents how quickly
3311	// each device moves to its destination while in transit. Regional shipping
3312	// speeds are as follows:
3313	//
3314	//    * In Australia, you have access to express shipping. Typically, Snow devices
3315	//    shipped express are delivered in about a day.
3316	//
3317	//    * In the European Union (EU), you have access to express shipping. Typically,
3318	//    Snow devices shipped express are delivered in about a day. In addition,
3319	//    most countries in the EU have access to standard shipping, which typically
3320	//    takes less than a week, one way.
3321	//
3322	//    * In India, Snow devices are delivered in one to seven days.
3323	//
3324	//    * In the United States of America (US), you have access to one-day shipping
3325	//    and two-day shipping.
3326	//
3327	//    * In Australia, you have access to express shipping. Typically, devices
3328	//    shipped express are delivered in about a day.
3329	//
3330	//    * In the European Union (EU), you have access to express shipping. Typically,
3331	//    Snow devices shipped express are delivered in about a day. In addition,
3332	//    most countries in the EU have access to standard shipping, which typically
3333	//    takes less than a week, one way.
3334	//
3335	//    * In India, Snow devices are delivered in one to seven days.
3336	//
3337	//    * In the US, you have access to one-day shipping and two-day shipping.
3338	//
3339	// ShippingOption is a required field
3340	ShippingOption *string `type:"string" required:"true" enum:"ShippingOption"`
3341
3342	// The type of AWS Snow Family device to use for this cluster.
3343	//
3344	// For cluster jobs, AWS Snow Family currently supports only the EDGE device
3345	// type.
3346	//
3347	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
3348	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
3349	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
3350	//
3351	// SnowballType is a required field
3352	SnowballType *string `type:"string" required:"true" enum:"Type"`
3353
3354	// The tax documents required in your AWS Region.
3355	TaxDocuments *TaxDocuments `type:"structure"`
3356}
3357
3358// String returns the string representation.
3359//
3360// API parameter values that are decorated as "sensitive" in the API will not
3361// be included in the string output. The member name will be present, but the
3362// value will be replaced with "sensitive".
3363func (s CreateClusterInput) String() string {
3364	return awsutil.Prettify(s)
3365}
3366
3367// GoString returns the string representation.
3368//
3369// API parameter values that are decorated as "sensitive" in the API will not
3370// be included in the string output. The member name will be present, but the
3371// value will be replaced with "sensitive".
3372func (s CreateClusterInput) GoString() string {
3373	return s.String()
3374}
3375
3376// Validate inspects the fields of the type to determine if they are valid.
3377func (s *CreateClusterInput) Validate() error {
3378	invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
3379	if s.AddressId == nil {
3380		invalidParams.Add(request.NewErrParamRequired("AddressId"))
3381	}
3382	if s.AddressId != nil && len(*s.AddressId) < 40 {
3383		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
3384	}
3385	if s.Description != nil && len(*s.Description) < 1 {
3386		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
3387	}
3388	if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 {
3389		invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40))
3390	}
3391	if s.JobType == nil {
3392		invalidParams.Add(request.NewErrParamRequired("JobType"))
3393	}
3394	if s.Resources == nil {
3395		invalidParams.Add(request.NewErrParamRequired("Resources"))
3396	}
3397	if s.RoleARN == nil {
3398		invalidParams.Add(request.NewErrParamRequired("RoleARN"))
3399	}
3400	if s.ShippingOption == nil {
3401		invalidParams.Add(request.NewErrParamRequired("ShippingOption"))
3402	}
3403	if s.SnowballType == nil {
3404		invalidParams.Add(request.NewErrParamRequired("SnowballType"))
3405	}
3406	if s.Resources != nil {
3407		if err := s.Resources.Validate(); err != nil {
3408			invalidParams.AddNested("Resources", err.(request.ErrInvalidParams))
3409		}
3410	}
3411
3412	if invalidParams.Len() > 0 {
3413		return invalidParams
3414	}
3415	return nil
3416}
3417
3418// SetAddressId sets the AddressId field's value.
3419func (s *CreateClusterInput) SetAddressId(v string) *CreateClusterInput {
3420	s.AddressId = &v
3421	return s
3422}
3423
3424// SetDescription sets the Description field's value.
3425func (s *CreateClusterInput) SetDescription(v string) *CreateClusterInput {
3426	s.Description = &v
3427	return s
3428}
3429
3430// SetForwardingAddressId sets the ForwardingAddressId field's value.
3431func (s *CreateClusterInput) SetForwardingAddressId(v string) *CreateClusterInput {
3432	s.ForwardingAddressId = &v
3433	return s
3434}
3435
3436// SetJobType sets the JobType field's value.
3437func (s *CreateClusterInput) SetJobType(v string) *CreateClusterInput {
3438	s.JobType = &v
3439	return s
3440}
3441
3442// SetKmsKeyARN sets the KmsKeyARN field's value.
3443func (s *CreateClusterInput) SetKmsKeyARN(v string) *CreateClusterInput {
3444	s.KmsKeyARN = &v
3445	return s
3446}
3447
3448// SetNotification sets the Notification field's value.
3449func (s *CreateClusterInput) SetNotification(v *Notification) *CreateClusterInput {
3450	s.Notification = v
3451	return s
3452}
3453
3454// SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
3455func (s *CreateClusterInput) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *CreateClusterInput {
3456	s.OnDeviceServiceConfiguration = v
3457	return s
3458}
3459
3460// SetRemoteManagement sets the RemoteManagement field's value.
3461func (s *CreateClusterInput) SetRemoteManagement(v string) *CreateClusterInput {
3462	s.RemoteManagement = &v
3463	return s
3464}
3465
3466// SetResources sets the Resources field's value.
3467func (s *CreateClusterInput) SetResources(v *JobResource) *CreateClusterInput {
3468	s.Resources = v
3469	return s
3470}
3471
3472// SetRoleARN sets the RoleARN field's value.
3473func (s *CreateClusterInput) SetRoleARN(v string) *CreateClusterInput {
3474	s.RoleARN = &v
3475	return s
3476}
3477
3478// SetShippingOption sets the ShippingOption field's value.
3479func (s *CreateClusterInput) SetShippingOption(v string) *CreateClusterInput {
3480	s.ShippingOption = &v
3481	return s
3482}
3483
3484// SetSnowballType sets the SnowballType field's value.
3485func (s *CreateClusterInput) SetSnowballType(v string) *CreateClusterInput {
3486	s.SnowballType = &v
3487	return s
3488}
3489
3490// SetTaxDocuments sets the TaxDocuments field's value.
3491func (s *CreateClusterInput) SetTaxDocuments(v *TaxDocuments) *CreateClusterInput {
3492	s.TaxDocuments = v
3493	return s
3494}
3495
3496type CreateClusterOutput struct {
3497	_ struct{} `type:"structure"`
3498
3499	// The automatically generated ID for a cluster.
3500	ClusterId *string `min:"39" type:"string"`
3501}
3502
3503// String returns the string representation.
3504//
3505// API parameter values that are decorated as "sensitive" in the API will not
3506// be included in the string output. The member name will be present, but the
3507// value will be replaced with "sensitive".
3508func (s CreateClusterOutput) String() string {
3509	return awsutil.Prettify(s)
3510}
3511
3512// GoString returns the string representation.
3513//
3514// API parameter values that are decorated as "sensitive" in the API will not
3515// be included in the string output. The member name will be present, but the
3516// value will be replaced with "sensitive".
3517func (s CreateClusterOutput) GoString() string {
3518	return s.String()
3519}
3520
3521// SetClusterId sets the ClusterId field's value.
3522func (s *CreateClusterOutput) SetClusterId(v string) *CreateClusterOutput {
3523	s.ClusterId = &v
3524	return s
3525}
3526
3527type CreateJobInput struct {
3528	_ struct{} `type:"structure"`
3529
3530	// The ID for the address that you want the Snow device shipped to.
3531	AddressId *string `min:"40" type:"string"`
3532
3533	// The ID of a cluster. If you're creating a job for a node in a cluster, you
3534	// need to provide only this clusterId value. The other job attributes are inherited
3535	// from the cluster.
3536	ClusterId *string `min:"39" type:"string"`
3537
3538	// Defines an optional description of this specific job, for example Important
3539	// Photos 2016-08-11.
3540	Description *string `min:"1" type:"string"`
3541
3542	// Defines the device configuration for an AWS Snowcone job.
3543	//
3544	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
3545	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
3546	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
3547	DeviceConfiguration *DeviceConfiguration `type:"structure"`
3548
3549	// The forwarding address ID for a job. This field is not supported in most
3550	// Regions.
3551	ForwardingAddressId *string `min:"40" type:"string"`
3552
3553	// Defines the type of job that you're creating.
3554	JobType *string `type:"string" enum:"JobType"`
3555
3556	// The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created
3557	// using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
3558	// AWS Key Management Service (KMS) API action.
3559	KmsKeyARN *string `type:"string"`
3560
3561	// The ID of the long-term pricing type for the device.
3562	LongTermPricingId *string `min:"41" type:"string"`
3563
3564	// Defines the Amazon Simple Notification Service (Amazon SNS) notification
3565	// settings for this job.
3566	Notification *Notification `type:"structure"`
3567
3568	// Specifies the service or services on the Snow Family device that your transferred
3569	// data will be exported from or imported into. AWS Snow Family supports Amazon
3570	// S3 and NFS (Network File System).
3571	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
3572
3573	// Allows you to securely operate and manage Snowcone devices remotely from
3574	// outside of your internal network. When set to INSTALLED_AUTOSTART, remote
3575	// management will automatically be available when the device arrives at your
3576	// location. Otherwise, you need to use the Snowball Client to manage the device.
3577	RemoteManagement *string `type:"string" enum:"RemoteManagement"`
3578
3579	// Defines the Amazon S3 buckets associated with this job.
3580	//
3581	// With IMPORT jobs, you specify the bucket or buckets that your transferred
3582	// data will be imported into.
3583	//
3584	// With EXPORT jobs, you specify the bucket or buckets that your transferred
3585	// data will be exported from. Optionally, you can also specify a KeyRange value.
3586	// If you choose to export a range, you define the length of the range by providing
3587	// either an inclusive BeginMarker value, an inclusive EndMarker value, or both.
3588	// Ranges are UTF-8 binary sorted.
3589	Resources *JobResource `type:"structure"`
3590
3591	// The RoleARN that you want to associate with this job. RoleArns are created
3592	// using the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
3593	// AWS Identity and Access Management (IAM) API action.
3594	RoleARN *string `type:"string"`
3595
3596	// The shipping speed for this job. This speed doesn't dictate how soon you'll
3597	// get the Snow device, rather it represents how quickly the Snow device moves
3598	// to its destination while in transit. Regional shipping speeds are as follows:
3599	//
3600	//    * In Australia, you have access to express shipping. Typically, Snow devices
3601	//    shipped express are delivered in about a day.
3602	//
3603	//    * In the European Union (EU), you have access to express shipping. Typically,
3604	//    Snow devices shipped express are delivered in about a day. In addition,
3605	//    most countries in the EU have access to standard shipping, which typically
3606	//    takes less than a week, one way.
3607	//
3608	//    * In India, Snow devices are delivered in one to seven days.
3609	//
3610	//    * In the US, you have access to one-day shipping and two-day shipping.
3611	ShippingOption *string `type:"string" enum:"ShippingOption"`
3612
3613	// If your job is being created in one of the US regions, you have the option
3614	// of specifying what size Snow device you'd like for this job. In all other
3615	// regions, Snowballs come with 80 TB in storage capacity.
3616	//
3617	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
3618	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
3619	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
3620	SnowballCapacityPreference *string `type:"string" enum:"Capacity"`
3621
3622	// The type of AWS Snow Family device to use for this job.
3623	//
3624	// For cluster jobs, AWS Snow Family currently supports only the EDGE device
3625	// type.
3626	//
3627	// The type of AWS Snow device to use for this job. Currently, the only supported
3628	// device type for cluster jobs is EDGE.
3629	//
3630	// For more information, see Snowball Edge Device Options (https://docs.aws.amazon.com/snowball/latest/developer-guide/device-differences.html)
3631	// in the Snowball Edge Developer Guide.
3632	//
3633	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
3634	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
3635	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
3636	SnowballType *string `type:"string" enum:"Type"`
3637
3638	// The tax documents required in your AWS Region.
3639	TaxDocuments *TaxDocuments `type:"structure"`
3640}
3641
3642// String returns the string representation.
3643//
3644// API parameter values that are decorated as "sensitive" in the API will not
3645// be included in the string output. The member name will be present, but the
3646// value will be replaced with "sensitive".
3647func (s CreateJobInput) String() string {
3648	return awsutil.Prettify(s)
3649}
3650
3651// GoString returns the string representation.
3652//
3653// API parameter values that are decorated as "sensitive" in the API will not
3654// be included in the string output. The member name will be present, but the
3655// value will be replaced with "sensitive".
3656func (s CreateJobInput) GoString() string {
3657	return s.String()
3658}
3659
3660// Validate inspects the fields of the type to determine if they are valid.
3661func (s *CreateJobInput) Validate() error {
3662	invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"}
3663	if s.AddressId != nil && len(*s.AddressId) < 40 {
3664		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
3665	}
3666	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
3667		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
3668	}
3669	if s.Description != nil && len(*s.Description) < 1 {
3670		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
3671	}
3672	if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 {
3673		invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40))
3674	}
3675	if s.LongTermPricingId != nil && len(*s.LongTermPricingId) < 41 {
3676		invalidParams.Add(request.NewErrParamMinLen("LongTermPricingId", 41))
3677	}
3678	if s.Resources != nil {
3679		if err := s.Resources.Validate(); err != nil {
3680			invalidParams.AddNested("Resources", err.(request.ErrInvalidParams))
3681		}
3682	}
3683
3684	if invalidParams.Len() > 0 {
3685		return invalidParams
3686	}
3687	return nil
3688}
3689
3690// SetAddressId sets the AddressId field's value.
3691func (s *CreateJobInput) SetAddressId(v string) *CreateJobInput {
3692	s.AddressId = &v
3693	return s
3694}
3695
3696// SetClusterId sets the ClusterId field's value.
3697func (s *CreateJobInput) SetClusterId(v string) *CreateJobInput {
3698	s.ClusterId = &v
3699	return s
3700}
3701
3702// SetDescription sets the Description field's value.
3703func (s *CreateJobInput) SetDescription(v string) *CreateJobInput {
3704	s.Description = &v
3705	return s
3706}
3707
3708// SetDeviceConfiguration sets the DeviceConfiguration field's value.
3709func (s *CreateJobInput) SetDeviceConfiguration(v *DeviceConfiguration) *CreateJobInput {
3710	s.DeviceConfiguration = v
3711	return s
3712}
3713
3714// SetForwardingAddressId sets the ForwardingAddressId field's value.
3715func (s *CreateJobInput) SetForwardingAddressId(v string) *CreateJobInput {
3716	s.ForwardingAddressId = &v
3717	return s
3718}
3719
3720// SetJobType sets the JobType field's value.
3721func (s *CreateJobInput) SetJobType(v string) *CreateJobInput {
3722	s.JobType = &v
3723	return s
3724}
3725
3726// SetKmsKeyARN sets the KmsKeyARN field's value.
3727func (s *CreateJobInput) SetKmsKeyARN(v string) *CreateJobInput {
3728	s.KmsKeyARN = &v
3729	return s
3730}
3731
3732// SetLongTermPricingId sets the LongTermPricingId field's value.
3733func (s *CreateJobInput) SetLongTermPricingId(v string) *CreateJobInput {
3734	s.LongTermPricingId = &v
3735	return s
3736}
3737
3738// SetNotification sets the Notification field's value.
3739func (s *CreateJobInput) SetNotification(v *Notification) *CreateJobInput {
3740	s.Notification = v
3741	return s
3742}
3743
3744// SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
3745func (s *CreateJobInput) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *CreateJobInput {
3746	s.OnDeviceServiceConfiguration = v
3747	return s
3748}
3749
3750// SetRemoteManagement sets the RemoteManagement field's value.
3751func (s *CreateJobInput) SetRemoteManagement(v string) *CreateJobInput {
3752	s.RemoteManagement = &v
3753	return s
3754}
3755
3756// SetResources sets the Resources field's value.
3757func (s *CreateJobInput) SetResources(v *JobResource) *CreateJobInput {
3758	s.Resources = v
3759	return s
3760}
3761
3762// SetRoleARN sets the RoleARN field's value.
3763func (s *CreateJobInput) SetRoleARN(v string) *CreateJobInput {
3764	s.RoleARN = &v
3765	return s
3766}
3767
3768// SetShippingOption sets the ShippingOption field's value.
3769func (s *CreateJobInput) SetShippingOption(v string) *CreateJobInput {
3770	s.ShippingOption = &v
3771	return s
3772}
3773
3774// SetSnowballCapacityPreference sets the SnowballCapacityPreference field's value.
3775func (s *CreateJobInput) SetSnowballCapacityPreference(v string) *CreateJobInput {
3776	s.SnowballCapacityPreference = &v
3777	return s
3778}
3779
3780// SetSnowballType sets the SnowballType field's value.
3781func (s *CreateJobInput) SetSnowballType(v string) *CreateJobInput {
3782	s.SnowballType = &v
3783	return s
3784}
3785
3786// SetTaxDocuments sets the TaxDocuments field's value.
3787func (s *CreateJobInput) SetTaxDocuments(v *TaxDocuments) *CreateJobInput {
3788	s.TaxDocuments = v
3789	return s
3790}
3791
3792type CreateJobOutput struct {
3793	_ struct{} `type:"structure"`
3794
3795	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
3796	JobId *string `min:"39" type:"string"`
3797}
3798
3799// String returns the string representation.
3800//
3801// API parameter values that are decorated as "sensitive" in the API will not
3802// be included in the string output. The member name will be present, but the
3803// value will be replaced with "sensitive".
3804func (s CreateJobOutput) String() string {
3805	return awsutil.Prettify(s)
3806}
3807
3808// GoString returns the string representation.
3809//
3810// API parameter values that are decorated as "sensitive" in the API will not
3811// be included in the string output. The member name will be present, but the
3812// value will be replaced with "sensitive".
3813func (s CreateJobOutput) GoString() string {
3814	return s.String()
3815}
3816
3817// SetJobId sets the JobId field's value.
3818func (s *CreateJobOutput) SetJobId(v string) *CreateJobOutput {
3819	s.JobId = &v
3820	return s
3821}
3822
3823type CreateLongTermPricingInput struct {
3824	_ struct{} `type:"structure"`
3825
3826	// Specifies whether the current long-term pricing type for the device should
3827	// be renewed.
3828	IsLongTermPricingAutoRenew *bool `type:"boolean"`
3829
3830	// The type of long-term pricing option you want for the device, either 1-year
3831	// or 3-year long-term pricing.
3832	//
3833	// LongTermPricingType is a required field
3834	LongTermPricingType *string `type:"string" required:"true" enum:"LongTermPricingType"`
3835
3836	// The type of AWS Snow Family device to use for the long-term pricing job.
3837	SnowballType *string `type:"string" enum:"Type"`
3838}
3839
3840// String returns the string representation.
3841//
3842// API parameter values that are decorated as "sensitive" in the API will not
3843// be included in the string output. The member name will be present, but the
3844// value will be replaced with "sensitive".
3845func (s CreateLongTermPricingInput) String() string {
3846	return awsutil.Prettify(s)
3847}
3848
3849// GoString returns the string representation.
3850//
3851// API parameter values that are decorated as "sensitive" in the API will not
3852// be included in the string output. The member name will be present, but the
3853// value will be replaced with "sensitive".
3854func (s CreateLongTermPricingInput) GoString() string {
3855	return s.String()
3856}
3857
3858// Validate inspects the fields of the type to determine if they are valid.
3859func (s *CreateLongTermPricingInput) Validate() error {
3860	invalidParams := request.ErrInvalidParams{Context: "CreateLongTermPricingInput"}
3861	if s.LongTermPricingType == nil {
3862		invalidParams.Add(request.NewErrParamRequired("LongTermPricingType"))
3863	}
3864
3865	if invalidParams.Len() > 0 {
3866		return invalidParams
3867	}
3868	return nil
3869}
3870
3871// SetIsLongTermPricingAutoRenew sets the IsLongTermPricingAutoRenew field's value.
3872func (s *CreateLongTermPricingInput) SetIsLongTermPricingAutoRenew(v bool) *CreateLongTermPricingInput {
3873	s.IsLongTermPricingAutoRenew = &v
3874	return s
3875}
3876
3877// SetLongTermPricingType sets the LongTermPricingType field's value.
3878func (s *CreateLongTermPricingInput) SetLongTermPricingType(v string) *CreateLongTermPricingInput {
3879	s.LongTermPricingType = &v
3880	return s
3881}
3882
3883// SetSnowballType sets the SnowballType field's value.
3884func (s *CreateLongTermPricingInput) SetSnowballType(v string) *CreateLongTermPricingInput {
3885	s.SnowballType = &v
3886	return s
3887}
3888
3889type CreateLongTermPricingOutput struct {
3890	_ struct{} `type:"structure"`
3891
3892	// The ID of the long-term pricing type for the device.
3893	LongTermPricingId *string `min:"41" type:"string"`
3894}
3895
3896// String returns the string representation.
3897//
3898// API parameter values that are decorated as "sensitive" in the API will not
3899// be included in the string output. The member name will be present, but the
3900// value will be replaced with "sensitive".
3901func (s CreateLongTermPricingOutput) String() string {
3902	return awsutil.Prettify(s)
3903}
3904
3905// GoString returns the string representation.
3906//
3907// API parameter values that are decorated as "sensitive" in the API will not
3908// be included in the string output. The member name will be present, but the
3909// value will be replaced with "sensitive".
3910func (s CreateLongTermPricingOutput) GoString() string {
3911	return s.String()
3912}
3913
3914// SetLongTermPricingId sets the LongTermPricingId field's value.
3915func (s *CreateLongTermPricingOutput) SetLongTermPricingId(v string) *CreateLongTermPricingOutput {
3916	s.LongTermPricingId = &v
3917	return s
3918}
3919
3920type CreateReturnShippingLabelInput struct {
3921	_ struct{} `type:"structure"`
3922
3923	// The ID for a job that you want to create the return shipping label for; for
3924	// example, JID123e4567-e89b-12d3-a456-426655440000.
3925	//
3926	// JobId is a required field
3927	JobId *string `min:"39" type:"string" required:"true"`
3928
3929	// The shipping speed for a particular job. This speed doesn't dictate how soon
3930	// the device is returned to AWS. This speed represents how quickly it moves
3931	// to its destination while in transit. Regional shipping speeds are as follows:
3932	ShippingOption *string `type:"string" enum:"ShippingOption"`
3933}
3934
3935// String returns the string representation.
3936//
3937// API parameter values that are decorated as "sensitive" in the API will not
3938// be included in the string output. The member name will be present, but the
3939// value will be replaced with "sensitive".
3940func (s CreateReturnShippingLabelInput) String() string {
3941	return awsutil.Prettify(s)
3942}
3943
3944// GoString returns the string representation.
3945//
3946// API parameter values that are decorated as "sensitive" in the API will not
3947// be included in the string output. The member name will be present, but the
3948// value will be replaced with "sensitive".
3949func (s CreateReturnShippingLabelInput) GoString() string {
3950	return s.String()
3951}
3952
3953// Validate inspects the fields of the type to determine if they are valid.
3954func (s *CreateReturnShippingLabelInput) Validate() error {
3955	invalidParams := request.ErrInvalidParams{Context: "CreateReturnShippingLabelInput"}
3956	if s.JobId == nil {
3957		invalidParams.Add(request.NewErrParamRequired("JobId"))
3958	}
3959	if s.JobId != nil && len(*s.JobId) < 39 {
3960		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
3961	}
3962
3963	if invalidParams.Len() > 0 {
3964		return invalidParams
3965	}
3966	return nil
3967}
3968
3969// SetJobId sets the JobId field's value.
3970func (s *CreateReturnShippingLabelInput) SetJobId(v string) *CreateReturnShippingLabelInput {
3971	s.JobId = &v
3972	return s
3973}
3974
3975// SetShippingOption sets the ShippingOption field's value.
3976func (s *CreateReturnShippingLabelInput) SetShippingOption(v string) *CreateReturnShippingLabelInput {
3977	s.ShippingOption = &v
3978	return s
3979}
3980
3981type CreateReturnShippingLabelOutput struct {
3982	_ struct{} `type:"structure"`
3983
3984	// The status information of the task on a Snow device that is being returned
3985	// to AWS.
3986	Status *string `type:"string" enum:"ShippingLabelStatus"`
3987}
3988
3989// String returns the string representation.
3990//
3991// API parameter values that are decorated as "sensitive" in the API will not
3992// be included in the string output. The member name will be present, but the
3993// value will be replaced with "sensitive".
3994func (s CreateReturnShippingLabelOutput) String() string {
3995	return awsutil.Prettify(s)
3996}
3997
3998// GoString returns the string representation.
3999//
4000// API parameter values that are decorated as "sensitive" in the API will not
4001// be included in the string output. The member name will be present, but the
4002// value will be replaced with "sensitive".
4003func (s CreateReturnShippingLabelOutput) GoString() string {
4004	return s.String()
4005}
4006
4007// SetStatus sets the Status field's value.
4008func (s *CreateReturnShippingLabelOutput) SetStatus(v string) *CreateReturnShippingLabelOutput {
4009	s.Status = &v
4010	return s
4011}
4012
4013// Defines the real-time status of a Snow device's data transfer while the device
4014// is at AWS. This data is only available while a job has a JobState value of
4015// InProgress, for both import and export jobs.
4016type DataTransfer struct {
4017	_ struct{} `type:"structure"`
4018
4019	// The number of bytes transferred between a Snow device and Amazon S3.
4020	BytesTransferred *int64 `type:"long"`
4021
4022	// The number of objects transferred between a Snow device and Amazon S3.
4023	ObjectsTransferred *int64 `type:"long"`
4024
4025	// The total bytes of data for a transfer between a Snow device and Amazon S3.
4026	// This value is set to 0 (zero) until all the keys that will be transferred
4027	// have been listed.
4028	TotalBytes *int64 `type:"long"`
4029
4030	// The total number of objects for a transfer between a Snow device and Amazon
4031	// S3. This value is set to 0 (zero) until all the keys that will be transferred
4032	// have been listed.
4033	TotalObjects *int64 `type:"long"`
4034}
4035
4036// String returns the string representation.
4037//
4038// API parameter values that are decorated as "sensitive" in the API will not
4039// be included in the string output. The member name will be present, but the
4040// value will be replaced with "sensitive".
4041func (s DataTransfer) String() string {
4042	return awsutil.Prettify(s)
4043}
4044
4045// GoString returns the string representation.
4046//
4047// API parameter values that are decorated as "sensitive" in the API will not
4048// be included in the string output. The member name will be present, but the
4049// value will be replaced with "sensitive".
4050func (s DataTransfer) GoString() string {
4051	return s.String()
4052}
4053
4054// SetBytesTransferred sets the BytesTransferred field's value.
4055func (s *DataTransfer) SetBytesTransferred(v int64) *DataTransfer {
4056	s.BytesTransferred = &v
4057	return s
4058}
4059
4060// SetObjectsTransferred sets the ObjectsTransferred field's value.
4061func (s *DataTransfer) SetObjectsTransferred(v int64) *DataTransfer {
4062	s.ObjectsTransferred = &v
4063	return s
4064}
4065
4066// SetTotalBytes sets the TotalBytes field's value.
4067func (s *DataTransfer) SetTotalBytes(v int64) *DataTransfer {
4068	s.TotalBytes = &v
4069	return s
4070}
4071
4072// SetTotalObjects sets the TotalObjects field's value.
4073func (s *DataTransfer) SetTotalObjects(v int64) *DataTransfer {
4074	s.TotalObjects = &v
4075	return s
4076}
4077
4078type DescribeAddressInput struct {
4079	_ struct{} `type:"structure"`
4080
4081	// The automatically generated ID for a specific address.
4082	//
4083	// AddressId is a required field
4084	AddressId *string `min:"40" type:"string" required:"true"`
4085}
4086
4087// String returns the string representation.
4088//
4089// API parameter values that are decorated as "sensitive" in the API will not
4090// be included in the string output. The member name will be present, but the
4091// value will be replaced with "sensitive".
4092func (s DescribeAddressInput) String() string {
4093	return awsutil.Prettify(s)
4094}
4095
4096// GoString returns the string representation.
4097//
4098// API parameter values that are decorated as "sensitive" in the API will not
4099// be included in the string output. The member name will be present, but the
4100// value will be replaced with "sensitive".
4101func (s DescribeAddressInput) GoString() string {
4102	return s.String()
4103}
4104
4105// Validate inspects the fields of the type to determine if they are valid.
4106func (s *DescribeAddressInput) Validate() error {
4107	invalidParams := request.ErrInvalidParams{Context: "DescribeAddressInput"}
4108	if s.AddressId == nil {
4109		invalidParams.Add(request.NewErrParamRequired("AddressId"))
4110	}
4111	if s.AddressId != nil && len(*s.AddressId) < 40 {
4112		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
4113	}
4114
4115	if invalidParams.Len() > 0 {
4116		return invalidParams
4117	}
4118	return nil
4119}
4120
4121// SetAddressId sets the AddressId field's value.
4122func (s *DescribeAddressInput) SetAddressId(v string) *DescribeAddressInput {
4123	s.AddressId = &v
4124	return s
4125}
4126
4127type DescribeAddressOutput struct {
4128	_ struct{} `type:"structure"`
4129
4130	// The address that you want the Snow device(s) associated with a specific job
4131	// to be shipped to.
4132	Address *Address `type:"structure"`
4133}
4134
4135// String returns the string representation.
4136//
4137// API parameter values that are decorated as "sensitive" in the API will not
4138// be included in the string output. The member name will be present, but the
4139// value will be replaced with "sensitive".
4140func (s DescribeAddressOutput) String() string {
4141	return awsutil.Prettify(s)
4142}
4143
4144// GoString returns the string representation.
4145//
4146// API parameter values that are decorated as "sensitive" in the API will not
4147// be included in the string output. The member name will be present, but the
4148// value will be replaced with "sensitive".
4149func (s DescribeAddressOutput) GoString() string {
4150	return s.String()
4151}
4152
4153// SetAddress sets the Address field's value.
4154func (s *DescribeAddressOutput) SetAddress(v *Address) *DescribeAddressOutput {
4155	s.Address = v
4156	return s
4157}
4158
4159type DescribeAddressesInput struct {
4160	_ struct{} `type:"structure"`
4161
4162	// The number of ADDRESS objects to return.
4163	MaxResults *int64 `type:"integer"`
4164
4165	// HTTP requests are stateless. To identify what object comes "next" in the
4166	// list of ADDRESS objects, you have the option of specifying a value for NextToken
4167	// as the starting point for your list of returned addresses.
4168	NextToken *string `min:"1" type:"string"`
4169}
4170
4171// String returns the string representation.
4172//
4173// API parameter values that are decorated as "sensitive" in the API will not
4174// be included in the string output. The member name will be present, but the
4175// value will be replaced with "sensitive".
4176func (s DescribeAddressesInput) String() string {
4177	return awsutil.Prettify(s)
4178}
4179
4180// GoString returns the string representation.
4181//
4182// API parameter values that are decorated as "sensitive" in the API will not
4183// be included in the string output. The member name will be present, but the
4184// value will be replaced with "sensitive".
4185func (s DescribeAddressesInput) GoString() string {
4186	return s.String()
4187}
4188
4189// Validate inspects the fields of the type to determine if they are valid.
4190func (s *DescribeAddressesInput) Validate() error {
4191	invalidParams := request.ErrInvalidParams{Context: "DescribeAddressesInput"}
4192	if s.NextToken != nil && len(*s.NextToken) < 1 {
4193		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
4194	}
4195
4196	if invalidParams.Len() > 0 {
4197		return invalidParams
4198	}
4199	return nil
4200}
4201
4202// SetMaxResults sets the MaxResults field's value.
4203func (s *DescribeAddressesInput) SetMaxResults(v int64) *DescribeAddressesInput {
4204	s.MaxResults = &v
4205	return s
4206}
4207
4208// SetNextToken sets the NextToken field's value.
4209func (s *DescribeAddressesInput) SetNextToken(v string) *DescribeAddressesInput {
4210	s.NextToken = &v
4211	return s
4212}
4213
4214type DescribeAddressesOutput struct {
4215	_ struct{} `type:"structure"`
4216
4217	// The Snow device shipping addresses that were created for this account.
4218	Addresses []*Address `type:"list"`
4219
4220	// HTTP requests are stateless. If you use the automatically generated NextToken
4221	// value in your next DescribeAddresses call, your list of returned addresses
4222	// will start from this point in the array.
4223	NextToken *string `min:"1" type:"string"`
4224}
4225
4226// String returns the string representation.
4227//
4228// API parameter values that are decorated as "sensitive" in the API will not
4229// be included in the string output. The member name will be present, but the
4230// value will be replaced with "sensitive".
4231func (s DescribeAddressesOutput) String() string {
4232	return awsutil.Prettify(s)
4233}
4234
4235// GoString returns the string representation.
4236//
4237// API parameter values that are decorated as "sensitive" in the API will not
4238// be included in the string output. The member name will be present, but the
4239// value will be replaced with "sensitive".
4240func (s DescribeAddressesOutput) GoString() string {
4241	return s.String()
4242}
4243
4244// SetAddresses sets the Addresses field's value.
4245func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
4246	s.Addresses = v
4247	return s
4248}
4249
4250// SetNextToken sets the NextToken field's value.
4251func (s *DescribeAddressesOutput) SetNextToken(v string) *DescribeAddressesOutput {
4252	s.NextToken = &v
4253	return s
4254}
4255
4256type DescribeClusterInput struct {
4257	_ struct{} `type:"structure"`
4258
4259	// The automatically generated ID for a cluster.
4260	//
4261	// ClusterId is a required field
4262	ClusterId *string `min:"39" type:"string" required:"true"`
4263}
4264
4265// String returns the string representation.
4266//
4267// API parameter values that are decorated as "sensitive" in the API will not
4268// be included in the string output. The member name will be present, but the
4269// value will be replaced with "sensitive".
4270func (s DescribeClusterInput) String() string {
4271	return awsutil.Prettify(s)
4272}
4273
4274// GoString returns the string representation.
4275//
4276// API parameter values that are decorated as "sensitive" in the API will not
4277// be included in the string output. The member name will be present, but the
4278// value will be replaced with "sensitive".
4279func (s DescribeClusterInput) GoString() string {
4280	return s.String()
4281}
4282
4283// Validate inspects the fields of the type to determine if they are valid.
4284func (s *DescribeClusterInput) Validate() error {
4285	invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"}
4286	if s.ClusterId == nil {
4287		invalidParams.Add(request.NewErrParamRequired("ClusterId"))
4288	}
4289	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
4290		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
4291	}
4292
4293	if invalidParams.Len() > 0 {
4294		return invalidParams
4295	}
4296	return nil
4297}
4298
4299// SetClusterId sets the ClusterId field's value.
4300func (s *DescribeClusterInput) SetClusterId(v string) *DescribeClusterInput {
4301	s.ClusterId = &v
4302	return s
4303}
4304
4305type DescribeClusterOutput struct {
4306	_ struct{} `type:"structure"`
4307
4308	// Information about a specific cluster, including shipping information, cluster
4309	// status, and other important metadata.
4310	ClusterMetadata *ClusterMetadata `type:"structure"`
4311}
4312
4313// String returns the string representation.
4314//
4315// API parameter values that are decorated as "sensitive" in the API will not
4316// be included in the string output. The member name will be present, but the
4317// value will be replaced with "sensitive".
4318func (s DescribeClusterOutput) String() string {
4319	return awsutil.Prettify(s)
4320}
4321
4322// GoString returns the string representation.
4323//
4324// API parameter values that are decorated as "sensitive" in the API will not
4325// be included in the string output. The member name will be present, but the
4326// value will be replaced with "sensitive".
4327func (s DescribeClusterOutput) GoString() string {
4328	return s.String()
4329}
4330
4331// SetClusterMetadata sets the ClusterMetadata field's value.
4332func (s *DescribeClusterOutput) SetClusterMetadata(v *ClusterMetadata) *DescribeClusterOutput {
4333	s.ClusterMetadata = v
4334	return s
4335}
4336
4337type DescribeJobInput struct {
4338	_ struct{} `type:"structure"`
4339
4340	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
4341	//
4342	// JobId is a required field
4343	JobId *string `min:"39" type:"string" required:"true"`
4344}
4345
4346// String returns the string representation.
4347//
4348// API parameter values that are decorated as "sensitive" in the API will not
4349// be included in the string output. The member name will be present, but the
4350// value will be replaced with "sensitive".
4351func (s DescribeJobInput) String() string {
4352	return awsutil.Prettify(s)
4353}
4354
4355// GoString returns the string representation.
4356//
4357// API parameter values that are decorated as "sensitive" in the API will not
4358// be included in the string output. The member name will be present, but the
4359// value will be replaced with "sensitive".
4360func (s DescribeJobInput) GoString() string {
4361	return s.String()
4362}
4363
4364// Validate inspects the fields of the type to determine if they are valid.
4365func (s *DescribeJobInput) Validate() error {
4366	invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"}
4367	if s.JobId == nil {
4368		invalidParams.Add(request.NewErrParamRequired("JobId"))
4369	}
4370	if s.JobId != nil && len(*s.JobId) < 39 {
4371		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
4372	}
4373
4374	if invalidParams.Len() > 0 {
4375		return invalidParams
4376	}
4377	return nil
4378}
4379
4380// SetJobId sets the JobId field's value.
4381func (s *DescribeJobInput) SetJobId(v string) *DescribeJobInput {
4382	s.JobId = &v
4383	return s
4384}
4385
4386type DescribeJobOutput struct {
4387	_ struct{} `type:"structure"`
4388
4389	// Information about a specific job, including shipping information, job status,
4390	// and other important metadata.
4391	JobMetadata *JobMetadata `type:"structure"`
4392
4393	// Information about a specific job part (in the case of an export job), including
4394	// shipping information, job status, and other important metadata.
4395	SubJobMetadata []*JobMetadata `type:"list"`
4396}
4397
4398// String returns the string representation.
4399//
4400// API parameter values that are decorated as "sensitive" in the API will not
4401// be included in the string output. The member name will be present, but the
4402// value will be replaced with "sensitive".
4403func (s DescribeJobOutput) String() string {
4404	return awsutil.Prettify(s)
4405}
4406
4407// GoString returns the string representation.
4408//
4409// API parameter values that are decorated as "sensitive" in the API will not
4410// be included in the string output. The member name will be present, but the
4411// value will be replaced with "sensitive".
4412func (s DescribeJobOutput) GoString() string {
4413	return s.String()
4414}
4415
4416// SetJobMetadata sets the JobMetadata field's value.
4417func (s *DescribeJobOutput) SetJobMetadata(v *JobMetadata) *DescribeJobOutput {
4418	s.JobMetadata = v
4419	return s
4420}
4421
4422// SetSubJobMetadata sets the SubJobMetadata field's value.
4423func (s *DescribeJobOutput) SetSubJobMetadata(v []*JobMetadata) *DescribeJobOutput {
4424	s.SubJobMetadata = v
4425	return s
4426}
4427
4428type DescribeReturnShippingLabelInput struct {
4429	_ struct{} `type:"structure"`
4430
4431	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
4432	//
4433	// JobId is a required field
4434	JobId *string `min:"39" type:"string" required:"true"`
4435}
4436
4437// String returns the string representation.
4438//
4439// API parameter values that are decorated as "sensitive" in the API will not
4440// be included in the string output. The member name will be present, but the
4441// value will be replaced with "sensitive".
4442func (s DescribeReturnShippingLabelInput) String() string {
4443	return awsutil.Prettify(s)
4444}
4445
4446// GoString returns the string representation.
4447//
4448// API parameter values that are decorated as "sensitive" in the API will not
4449// be included in the string output. The member name will be present, but the
4450// value will be replaced with "sensitive".
4451func (s DescribeReturnShippingLabelInput) GoString() string {
4452	return s.String()
4453}
4454
4455// Validate inspects the fields of the type to determine if they are valid.
4456func (s *DescribeReturnShippingLabelInput) Validate() error {
4457	invalidParams := request.ErrInvalidParams{Context: "DescribeReturnShippingLabelInput"}
4458	if s.JobId == nil {
4459		invalidParams.Add(request.NewErrParamRequired("JobId"))
4460	}
4461	if s.JobId != nil && len(*s.JobId) < 39 {
4462		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
4463	}
4464
4465	if invalidParams.Len() > 0 {
4466		return invalidParams
4467	}
4468	return nil
4469}
4470
4471// SetJobId sets the JobId field's value.
4472func (s *DescribeReturnShippingLabelInput) SetJobId(v string) *DescribeReturnShippingLabelInput {
4473	s.JobId = &v
4474	return s
4475}
4476
4477type DescribeReturnShippingLabelOutput struct {
4478	_ struct{} `type:"structure"`
4479
4480	// The expiration date of the current return shipping label.
4481	ExpirationDate *time.Time `type:"timestamp"`
4482
4483	// The status information of the task on a Snow device that is being returned
4484	// to AWS.
4485	Status *string `type:"string" enum:"ShippingLabelStatus"`
4486}
4487
4488// String returns the string representation.
4489//
4490// API parameter values that are decorated as "sensitive" in the API will not
4491// be included in the string output. The member name will be present, but the
4492// value will be replaced with "sensitive".
4493func (s DescribeReturnShippingLabelOutput) String() string {
4494	return awsutil.Prettify(s)
4495}
4496
4497// GoString returns the string representation.
4498//
4499// API parameter values that are decorated as "sensitive" in the API will not
4500// be included in the string output. The member name will be present, but the
4501// value will be replaced with "sensitive".
4502func (s DescribeReturnShippingLabelOutput) GoString() string {
4503	return s.String()
4504}
4505
4506// SetExpirationDate sets the ExpirationDate field's value.
4507func (s *DescribeReturnShippingLabelOutput) SetExpirationDate(v time.Time) *DescribeReturnShippingLabelOutput {
4508	s.ExpirationDate = &v
4509	return s
4510}
4511
4512// SetStatus sets the Status field's value.
4513func (s *DescribeReturnShippingLabelOutput) SetStatus(v string) *DescribeReturnShippingLabelOutput {
4514	s.Status = &v
4515	return s
4516}
4517
4518// The container for SnowconeDeviceConfiguration.
4519type DeviceConfiguration struct {
4520	_ struct{} `type:"structure"`
4521
4522	// Returns information about the device configuration for an AWS Snowcone job.
4523	SnowconeDeviceConfiguration *SnowconeDeviceConfiguration `type:"structure"`
4524}
4525
4526// String returns the string representation.
4527//
4528// API parameter values that are decorated as "sensitive" in the API will not
4529// be included in the string output. The member name will be present, but the
4530// value will be replaced with "sensitive".
4531func (s DeviceConfiguration) String() string {
4532	return awsutil.Prettify(s)
4533}
4534
4535// GoString returns the string representation.
4536//
4537// API parameter values that are decorated as "sensitive" in the API will not
4538// be included in the string output. The member name will be present, but the
4539// value will be replaced with "sensitive".
4540func (s DeviceConfiguration) GoString() string {
4541	return s.String()
4542}
4543
4544// SetSnowconeDeviceConfiguration sets the SnowconeDeviceConfiguration field's value.
4545func (s *DeviceConfiguration) SetSnowconeDeviceConfiguration(v *SnowconeDeviceConfiguration) *DeviceConfiguration {
4546	s.SnowconeDeviceConfiguration = v
4547	return s
4548}
4549
4550// A JSON-formatted object that contains the IDs for an Amazon Machine Image
4551// (AMI), including the Amazon EC2 AMI ID and the Snow device AMI ID. Each AMI
4552// has these two IDs to simplify identifying the AMI in both the AWS Cloud and
4553// on the device.
4554type Ec2AmiResource struct {
4555	_ struct{} `type:"structure"`
4556
4557	// The ID of the AMI in Amazon EC2.
4558	//
4559	// AmiId is a required field
4560	AmiId *string `min:"12" type:"string" required:"true"`
4561
4562	// The ID of the AMI on the Snow device.
4563	SnowballAmiId *string `min:"1" type:"string"`
4564}
4565
4566// String returns the string representation.
4567//
4568// API parameter values that are decorated as "sensitive" in the API will not
4569// be included in the string output. The member name will be present, but the
4570// value will be replaced with "sensitive".
4571func (s Ec2AmiResource) String() string {
4572	return awsutil.Prettify(s)
4573}
4574
4575// GoString returns the string representation.
4576//
4577// API parameter values that are decorated as "sensitive" in the API will not
4578// be included in the string output. The member name will be present, but the
4579// value will be replaced with "sensitive".
4580func (s Ec2AmiResource) GoString() string {
4581	return s.String()
4582}
4583
4584// Validate inspects the fields of the type to determine if they are valid.
4585func (s *Ec2AmiResource) Validate() error {
4586	invalidParams := request.ErrInvalidParams{Context: "Ec2AmiResource"}
4587	if s.AmiId == nil {
4588		invalidParams.Add(request.NewErrParamRequired("AmiId"))
4589	}
4590	if s.AmiId != nil && len(*s.AmiId) < 12 {
4591		invalidParams.Add(request.NewErrParamMinLen("AmiId", 12))
4592	}
4593	if s.SnowballAmiId != nil && len(*s.SnowballAmiId) < 1 {
4594		invalidParams.Add(request.NewErrParamMinLen("SnowballAmiId", 1))
4595	}
4596
4597	if invalidParams.Len() > 0 {
4598		return invalidParams
4599	}
4600	return nil
4601}
4602
4603// SetAmiId sets the AmiId field's value.
4604func (s *Ec2AmiResource) SetAmiId(v string) *Ec2AmiResource {
4605	s.AmiId = &v
4606	return s
4607}
4608
4609// SetSnowballAmiId sets the SnowballAmiId field's value.
4610func (s *Ec2AmiResource) SetSnowballAmiId(v string) *Ec2AmiResource {
4611	s.SnowballAmiId = &v
4612	return s
4613}
4614
4615// Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
4616// action.
4617type Ec2RequestFailedException struct {
4618	_            struct{}                  `type:"structure"`
4619	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4620
4621	Message_ *string `locationName:"Message" min:"1" type:"string"`
4622}
4623
4624// String returns the string representation.
4625//
4626// API parameter values that are decorated as "sensitive" in the API will not
4627// be included in the string output. The member name will be present, but the
4628// value will be replaced with "sensitive".
4629func (s Ec2RequestFailedException) String() string {
4630	return awsutil.Prettify(s)
4631}
4632
4633// GoString returns the string representation.
4634//
4635// API parameter values that are decorated as "sensitive" in the API will not
4636// be included in the string output. The member name will be present, but the
4637// value will be replaced with "sensitive".
4638func (s Ec2RequestFailedException) GoString() string {
4639	return s.String()
4640}
4641
4642func newErrorEc2RequestFailedException(v protocol.ResponseMetadata) error {
4643	return &Ec2RequestFailedException{
4644		RespMetadata: v,
4645	}
4646}
4647
4648// Code returns the exception type name.
4649func (s *Ec2RequestFailedException) Code() string {
4650	return "Ec2RequestFailedException"
4651}
4652
4653// Message returns the exception's message.
4654func (s *Ec2RequestFailedException) Message() string {
4655	if s.Message_ != nil {
4656		return *s.Message_
4657	}
4658	return ""
4659}
4660
4661// OrigErr always returns nil, satisfies awserr.Error interface.
4662func (s *Ec2RequestFailedException) OrigErr() error {
4663	return nil
4664}
4665
4666func (s *Ec2RequestFailedException) Error() string {
4667	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4668}
4669
4670// Status code returns the HTTP status code for the request's response error.
4671func (s *Ec2RequestFailedException) StatusCode() int {
4672	return s.RespMetadata.StatusCode
4673}
4674
4675// RequestID returns the service's response RequestID for request.
4676func (s *Ec2RequestFailedException) RequestID() string {
4677	return s.RespMetadata.RequestID
4678}
4679
4680// The container for the EventTriggerDefinition$EventResourceARN.
4681type EventTriggerDefinition struct {
4682	_ struct{} `type:"structure"`
4683
4684	// The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an
4685	// AWS Lambda function's event trigger associated with this job.
4686	EventResourceARN *string `type:"string"`
4687}
4688
4689// String returns the string representation.
4690//
4691// API parameter values that are decorated as "sensitive" in the API will not
4692// be included in the string output. The member name will be present, but the
4693// value will be replaced with "sensitive".
4694func (s EventTriggerDefinition) String() string {
4695	return awsutil.Prettify(s)
4696}
4697
4698// GoString returns the string representation.
4699//
4700// API parameter values that are decorated as "sensitive" in the API will not
4701// be included in the string output. The member name will be present, but the
4702// value will be replaced with "sensitive".
4703func (s EventTriggerDefinition) GoString() string {
4704	return s.String()
4705}
4706
4707// SetEventResourceARN sets the EventResourceARN field's value.
4708func (s *EventTriggerDefinition) SetEventResourceARN(v string) *EventTriggerDefinition {
4709	s.EventResourceARN = &v
4710	return s
4711}
4712
4713type GetJobManifestInput struct {
4714	_ struct{} `type:"structure"`
4715
4716	// The ID for a job that you want to get the manifest file for, for example
4717	// JID123e4567-e89b-12d3-a456-426655440000.
4718	//
4719	// JobId is a required field
4720	JobId *string `min:"39" type:"string" required:"true"`
4721}
4722
4723// String returns the string representation.
4724//
4725// API parameter values that are decorated as "sensitive" in the API will not
4726// be included in the string output. The member name will be present, but the
4727// value will be replaced with "sensitive".
4728func (s GetJobManifestInput) String() string {
4729	return awsutil.Prettify(s)
4730}
4731
4732// GoString returns the string representation.
4733//
4734// API parameter values that are decorated as "sensitive" in the API will not
4735// be included in the string output. The member name will be present, but the
4736// value will be replaced with "sensitive".
4737func (s GetJobManifestInput) GoString() string {
4738	return s.String()
4739}
4740
4741// Validate inspects the fields of the type to determine if they are valid.
4742func (s *GetJobManifestInput) Validate() error {
4743	invalidParams := request.ErrInvalidParams{Context: "GetJobManifestInput"}
4744	if s.JobId == nil {
4745		invalidParams.Add(request.NewErrParamRequired("JobId"))
4746	}
4747	if s.JobId != nil && len(*s.JobId) < 39 {
4748		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
4749	}
4750
4751	if invalidParams.Len() > 0 {
4752		return invalidParams
4753	}
4754	return nil
4755}
4756
4757// SetJobId sets the JobId field's value.
4758func (s *GetJobManifestInput) SetJobId(v string) *GetJobManifestInput {
4759	s.JobId = &v
4760	return s
4761}
4762
4763type GetJobManifestOutput struct {
4764	_ struct{} `type:"structure"`
4765
4766	// The Amazon S3 presigned URL for the manifest file associated with the specified
4767	// JobId value.
4768	ManifestURI *string `min:"1" type:"string"`
4769}
4770
4771// String returns the string representation.
4772//
4773// API parameter values that are decorated as "sensitive" in the API will not
4774// be included in the string output. The member name will be present, but the
4775// value will be replaced with "sensitive".
4776func (s GetJobManifestOutput) String() string {
4777	return awsutil.Prettify(s)
4778}
4779
4780// GoString returns the string representation.
4781//
4782// API parameter values that are decorated as "sensitive" in the API will not
4783// be included in the string output. The member name will be present, but the
4784// value will be replaced with "sensitive".
4785func (s GetJobManifestOutput) GoString() string {
4786	return s.String()
4787}
4788
4789// SetManifestURI sets the ManifestURI field's value.
4790func (s *GetJobManifestOutput) SetManifestURI(v string) *GetJobManifestOutput {
4791	s.ManifestURI = &v
4792	return s
4793}
4794
4795type GetJobUnlockCodeInput struct {
4796	_ struct{} `type:"structure"`
4797
4798	// The ID for the job that you want to get the UnlockCode value for, for example
4799	// JID123e4567-e89b-12d3-a456-426655440000.
4800	//
4801	// JobId is a required field
4802	JobId *string `min:"39" type:"string" required:"true"`
4803}
4804
4805// String returns the string representation.
4806//
4807// API parameter values that are decorated as "sensitive" in the API will not
4808// be included in the string output. The member name will be present, but the
4809// value will be replaced with "sensitive".
4810func (s GetJobUnlockCodeInput) String() string {
4811	return awsutil.Prettify(s)
4812}
4813
4814// GoString returns the string representation.
4815//
4816// API parameter values that are decorated as "sensitive" in the API will not
4817// be included in the string output. The member name will be present, but the
4818// value will be replaced with "sensitive".
4819func (s GetJobUnlockCodeInput) GoString() string {
4820	return s.String()
4821}
4822
4823// Validate inspects the fields of the type to determine if they are valid.
4824func (s *GetJobUnlockCodeInput) Validate() error {
4825	invalidParams := request.ErrInvalidParams{Context: "GetJobUnlockCodeInput"}
4826	if s.JobId == nil {
4827		invalidParams.Add(request.NewErrParamRequired("JobId"))
4828	}
4829	if s.JobId != nil && len(*s.JobId) < 39 {
4830		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
4831	}
4832
4833	if invalidParams.Len() > 0 {
4834		return invalidParams
4835	}
4836	return nil
4837}
4838
4839// SetJobId sets the JobId field's value.
4840func (s *GetJobUnlockCodeInput) SetJobId(v string) *GetJobUnlockCodeInput {
4841	s.JobId = &v
4842	return s
4843}
4844
4845type GetJobUnlockCodeOutput struct {
4846	_ struct{} `type:"structure"`
4847
4848	// The UnlockCode value for the specified job. The UnlockCode value can be accessed
4849	// for up to 360 days after the job has been created.
4850	UnlockCode *string `min:"1" type:"string"`
4851}
4852
4853// String returns the string representation.
4854//
4855// API parameter values that are decorated as "sensitive" in the API will not
4856// be included in the string output. The member name will be present, but the
4857// value will be replaced with "sensitive".
4858func (s GetJobUnlockCodeOutput) String() string {
4859	return awsutil.Prettify(s)
4860}
4861
4862// GoString returns the string representation.
4863//
4864// API parameter values that are decorated as "sensitive" in the API will not
4865// be included in the string output. The member name will be present, but the
4866// value will be replaced with "sensitive".
4867func (s GetJobUnlockCodeOutput) GoString() string {
4868	return s.String()
4869}
4870
4871// SetUnlockCode sets the UnlockCode field's value.
4872func (s *GetJobUnlockCodeOutput) SetUnlockCode(v string) *GetJobUnlockCodeOutput {
4873	s.UnlockCode = &v
4874	return s
4875}
4876
4877type GetSnowballUsageInput struct {
4878	_ struct{} `type:"structure"`
4879}
4880
4881// String returns the string representation.
4882//
4883// API parameter values that are decorated as "sensitive" in the API will not
4884// be included in the string output. The member name will be present, but the
4885// value will be replaced with "sensitive".
4886func (s GetSnowballUsageInput) String() string {
4887	return awsutil.Prettify(s)
4888}
4889
4890// GoString returns the string representation.
4891//
4892// API parameter values that are decorated as "sensitive" in the API will not
4893// be included in the string output. The member name will be present, but the
4894// value will be replaced with "sensitive".
4895func (s GetSnowballUsageInput) GoString() string {
4896	return s.String()
4897}
4898
4899type GetSnowballUsageOutput struct {
4900	_ struct{} `type:"structure"`
4901
4902	// The service limit for number of Snow devices this account can have at once.
4903	// The default service limit is 1 (one).
4904	SnowballLimit *int64 `type:"integer"`
4905
4906	// The number of Snow devices that this account is currently using.
4907	SnowballsInUse *int64 `type:"integer"`
4908}
4909
4910// String returns the string representation.
4911//
4912// API parameter values that are decorated as "sensitive" in the API will not
4913// be included in the string output. The member name will be present, but the
4914// value will be replaced with "sensitive".
4915func (s GetSnowballUsageOutput) String() string {
4916	return awsutil.Prettify(s)
4917}
4918
4919// GoString returns the string representation.
4920//
4921// API parameter values that are decorated as "sensitive" in the API will not
4922// be included in the string output. The member name will be present, but the
4923// value will be replaced with "sensitive".
4924func (s GetSnowballUsageOutput) GoString() string {
4925	return s.String()
4926}
4927
4928// SetSnowballLimit sets the SnowballLimit field's value.
4929func (s *GetSnowballUsageOutput) SetSnowballLimit(v int64) *GetSnowballUsageOutput {
4930	s.SnowballLimit = &v
4931	return s
4932}
4933
4934// SetSnowballsInUse sets the SnowballsInUse field's value.
4935func (s *GetSnowballUsageOutput) SetSnowballsInUse(v int64) *GetSnowballUsageOutput {
4936	s.SnowballsInUse = &v
4937	return s
4938}
4939
4940type GetSoftwareUpdatesInput struct {
4941	_ struct{} `type:"structure"`
4942
4943	// The ID for a job that you want to get the software update file for, for example
4944	// JID123e4567-e89b-12d3-a456-426655440000.
4945	//
4946	// JobId is a required field
4947	JobId *string `min:"39" type:"string" required:"true"`
4948}
4949
4950// String returns the string representation.
4951//
4952// API parameter values that are decorated as "sensitive" in the API will not
4953// be included in the string output. The member name will be present, but the
4954// value will be replaced with "sensitive".
4955func (s GetSoftwareUpdatesInput) String() string {
4956	return awsutil.Prettify(s)
4957}
4958
4959// GoString returns the string representation.
4960//
4961// API parameter values that are decorated as "sensitive" in the API will not
4962// be included in the string output. The member name will be present, but the
4963// value will be replaced with "sensitive".
4964func (s GetSoftwareUpdatesInput) GoString() string {
4965	return s.String()
4966}
4967
4968// Validate inspects the fields of the type to determine if they are valid.
4969func (s *GetSoftwareUpdatesInput) Validate() error {
4970	invalidParams := request.ErrInvalidParams{Context: "GetSoftwareUpdatesInput"}
4971	if s.JobId == nil {
4972		invalidParams.Add(request.NewErrParamRequired("JobId"))
4973	}
4974	if s.JobId != nil && len(*s.JobId) < 39 {
4975		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
4976	}
4977
4978	if invalidParams.Len() > 0 {
4979		return invalidParams
4980	}
4981	return nil
4982}
4983
4984// SetJobId sets the JobId field's value.
4985func (s *GetSoftwareUpdatesInput) SetJobId(v string) *GetSoftwareUpdatesInput {
4986	s.JobId = &v
4987	return s
4988}
4989
4990type GetSoftwareUpdatesOutput struct {
4991	_ struct{} `type:"structure"`
4992
4993	// The Amazon S3 presigned URL for the update file associated with the specified
4994	// JobId value. The software update will be available for 2 days after this
4995	// request is made. To access an update after the 2 days have passed, you'll
4996	// have to make another call to GetSoftwareUpdates.
4997	UpdatesURI *string `min:"1" type:"string"`
4998}
4999
5000// String returns the string representation.
5001//
5002// API parameter values that are decorated as "sensitive" in the API will not
5003// be included in the string output. The member name will be present, but the
5004// value will be replaced with "sensitive".
5005func (s GetSoftwareUpdatesOutput) String() string {
5006	return awsutil.Prettify(s)
5007}
5008
5009// GoString returns the string representation.
5010//
5011// API parameter values that are decorated as "sensitive" in the API will not
5012// be included in the string output. The member name will be present, but the
5013// value will be replaced with "sensitive".
5014func (s GetSoftwareUpdatesOutput) GoString() string {
5015	return s.String()
5016}
5017
5018// SetUpdatesURI sets the UpdatesURI field's value.
5019func (s *GetSoftwareUpdatesOutput) SetUpdatesURI(v string) *GetSoftwareUpdatesOutput {
5020	s.UpdatesURI = &v
5021	return s
5022}
5023
5024// The tax documents required in AWS Regions in India.
5025type INDTaxDocuments struct {
5026	_ struct{} `type:"structure"`
5027
5028	// The Goods and Services Tax (GST) documents required in AWS Regions in India.
5029	GSTIN *string `type:"string"`
5030}
5031
5032// String returns the string representation.
5033//
5034// API parameter values that are decorated as "sensitive" in the API will not
5035// be included in the string output. The member name will be present, but the
5036// value will be replaced with "sensitive".
5037func (s INDTaxDocuments) String() string {
5038	return awsutil.Prettify(s)
5039}
5040
5041// GoString returns the string representation.
5042//
5043// API parameter values that are decorated as "sensitive" in the API will not
5044// be included in the string output. The member name will be present, but the
5045// value will be replaced with "sensitive".
5046func (s INDTaxDocuments) GoString() string {
5047	return s.String()
5048}
5049
5050// SetGSTIN sets the GSTIN field's value.
5051func (s *INDTaxDocuments) SetGSTIN(v string) *INDTaxDocuments {
5052	s.GSTIN = &v
5053	return s
5054}
5055
5056// The address provided was invalid. Check the address with your region's carrier,
5057// and try again.
5058type InvalidAddressException struct {
5059	_            struct{}                  `type:"structure"`
5060	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5061
5062	Message_ *string `locationName:"Message" min:"1" type:"string"`
5063}
5064
5065// String returns the string representation.
5066//
5067// API parameter values that are decorated as "sensitive" in the API will not
5068// be included in the string output. The member name will be present, but the
5069// value will be replaced with "sensitive".
5070func (s InvalidAddressException) String() string {
5071	return awsutil.Prettify(s)
5072}
5073
5074// GoString returns the string representation.
5075//
5076// API parameter values that are decorated as "sensitive" in the API will not
5077// be included in the string output. The member name will be present, but the
5078// value will be replaced with "sensitive".
5079func (s InvalidAddressException) GoString() string {
5080	return s.String()
5081}
5082
5083func newErrorInvalidAddressException(v protocol.ResponseMetadata) error {
5084	return &InvalidAddressException{
5085		RespMetadata: v,
5086	}
5087}
5088
5089// Code returns the exception type name.
5090func (s *InvalidAddressException) Code() string {
5091	return "InvalidAddressException"
5092}
5093
5094// Message returns the exception's message.
5095func (s *InvalidAddressException) Message() string {
5096	if s.Message_ != nil {
5097		return *s.Message_
5098	}
5099	return ""
5100}
5101
5102// OrigErr always returns nil, satisfies awserr.Error interface.
5103func (s *InvalidAddressException) OrigErr() error {
5104	return nil
5105}
5106
5107func (s *InvalidAddressException) Error() string {
5108	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5109}
5110
5111// Status code returns the HTTP status code for the request's response error.
5112func (s *InvalidAddressException) StatusCode() int {
5113	return s.RespMetadata.StatusCode
5114}
5115
5116// RequestID returns the service's response RequestID for request.
5117func (s *InvalidAddressException) RequestID() string {
5118	return s.RespMetadata.RequestID
5119}
5120
5121// Job or cluster creation failed. One or more inputs were invalid. Confirm
5122// that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
5123// and try again.
5124type InvalidInputCombinationException struct {
5125	_            struct{}                  `type:"structure"`
5126	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5127
5128	Message_ *string `locationName:"Message" min:"1" type:"string"`
5129}
5130
5131// String returns the string representation.
5132//
5133// API parameter values that are decorated as "sensitive" in the API will not
5134// be included in the string output. The member name will be present, but the
5135// value will be replaced with "sensitive".
5136func (s InvalidInputCombinationException) String() string {
5137	return awsutil.Prettify(s)
5138}
5139
5140// GoString returns the string representation.
5141//
5142// API parameter values that are decorated as "sensitive" in the API will not
5143// be included in the string output. The member name will be present, but the
5144// value will be replaced with "sensitive".
5145func (s InvalidInputCombinationException) GoString() string {
5146	return s.String()
5147}
5148
5149func newErrorInvalidInputCombinationException(v protocol.ResponseMetadata) error {
5150	return &InvalidInputCombinationException{
5151		RespMetadata: v,
5152	}
5153}
5154
5155// Code returns the exception type name.
5156func (s *InvalidInputCombinationException) Code() string {
5157	return "InvalidInputCombinationException"
5158}
5159
5160// Message returns the exception's message.
5161func (s *InvalidInputCombinationException) Message() string {
5162	if s.Message_ != nil {
5163		return *s.Message_
5164	}
5165	return ""
5166}
5167
5168// OrigErr always returns nil, satisfies awserr.Error interface.
5169func (s *InvalidInputCombinationException) OrigErr() error {
5170	return nil
5171}
5172
5173func (s *InvalidInputCombinationException) Error() string {
5174	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5175}
5176
5177// Status code returns the HTTP status code for the request's response error.
5178func (s *InvalidInputCombinationException) StatusCode() int {
5179	return s.RespMetadata.StatusCode
5180}
5181
5182// RequestID returns the service's response RequestID for request.
5183func (s *InvalidInputCombinationException) RequestID() string {
5184	return s.RespMetadata.RequestID
5185}
5186
5187// The action can't be performed because the job's current state doesn't allow
5188// that action to be performed.
5189type InvalidJobStateException struct {
5190	_            struct{}                  `type:"structure"`
5191	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5192
5193	Message_ *string `locationName:"Message" min:"1" type:"string"`
5194}
5195
5196// String returns the string representation.
5197//
5198// API parameter values that are decorated as "sensitive" in the API will not
5199// be included in the string output. The member name will be present, but the
5200// value will be replaced with "sensitive".
5201func (s InvalidJobStateException) String() string {
5202	return awsutil.Prettify(s)
5203}
5204
5205// GoString returns the string representation.
5206//
5207// API parameter values that are decorated as "sensitive" in the API will not
5208// be included in the string output. The member name will be present, but the
5209// value will be replaced with "sensitive".
5210func (s InvalidJobStateException) GoString() string {
5211	return s.String()
5212}
5213
5214func newErrorInvalidJobStateException(v protocol.ResponseMetadata) error {
5215	return &InvalidJobStateException{
5216		RespMetadata: v,
5217	}
5218}
5219
5220// Code returns the exception type name.
5221func (s *InvalidJobStateException) Code() string {
5222	return "InvalidJobStateException"
5223}
5224
5225// Message returns the exception's message.
5226func (s *InvalidJobStateException) Message() string {
5227	if s.Message_ != nil {
5228		return *s.Message_
5229	}
5230	return ""
5231}
5232
5233// OrigErr always returns nil, satisfies awserr.Error interface.
5234func (s *InvalidJobStateException) OrigErr() error {
5235	return nil
5236}
5237
5238func (s *InvalidJobStateException) Error() string {
5239	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5240}
5241
5242// Status code returns the HTTP status code for the request's response error.
5243func (s *InvalidJobStateException) StatusCode() int {
5244	return s.RespMetadata.StatusCode
5245}
5246
5247// RequestID returns the service's response RequestID for request.
5248func (s *InvalidJobStateException) RequestID() string {
5249	return s.RespMetadata.RequestID
5250}
5251
5252// The NextToken string was altered unexpectedly, and the operation has stopped.
5253// Run the operation without changing the NextToken string, and try again.
5254type InvalidNextTokenException struct {
5255	_            struct{}                  `type:"structure"`
5256	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5257
5258	Message_ *string `locationName:"Message" min:"1" type:"string"`
5259}
5260
5261// String returns the string representation.
5262//
5263// API parameter values that are decorated as "sensitive" in the API will not
5264// be included in the string output. The member name will be present, but the
5265// value will be replaced with "sensitive".
5266func (s InvalidNextTokenException) String() string {
5267	return awsutil.Prettify(s)
5268}
5269
5270// GoString returns the string representation.
5271//
5272// API parameter values that are decorated as "sensitive" in the API will not
5273// be included in the string output. The member name will be present, but the
5274// value will be replaced with "sensitive".
5275func (s InvalidNextTokenException) GoString() string {
5276	return s.String()
5277}
5278
5279func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
5280	return &InvalidNextTokenException{
5281		RespMetadata: v,
5282	}
5283}
5284
5285// Code returns the exception type name.
5286func (s *InvalidNextTokenException) Code() string {
5287	return "InvalidNextTokenException"
5288}
5289
5290// Message returns the exception's message.
5291func (s *InvalidNextTokenException) Message() string {
5292	if s.Message_ != nil {
5293		return *s.Message_
5294	}
5295	return ""
5296}
5297
5298// OrigErr always returns nil, satisfies awserr.Error interface.
5299func (s *InvalidNextTokenException) OrigErr() error {
5300	return nil
5301}
5302
5303func (s *InvalidNextTokenException) Error() string {
5304	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5305}
5306
5307// Status code returns the HTTP status code for the request's response error.
5308func (s *InvalidNextTokenException) StatusCode() int {
5309	return s.RespMetadata.StatusCode
5310}
5311
5312// RequestID returns the service's response RequestID for request.
5313func (s *InvalidNextTokenException) RequestID() string {
5314	return s.RespMetadata.RequestID
5315}
5316
5317// The specified resource can't be found. Check the information you provided
5318// in your last request, and try again.
5319type InvalidResourceException struct {
5320	_            struct{}                  `type:"structure"`
5321	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5322
5323	Message_ *string `locationName:"Message" min:"1" type:"string"`
5324
5325	// The provided resource value is invalid.
5326	ResourceType *string `min:"1" type:"string"`
5327}
5328
5329// String returns the string representation.
5330//
5331// API parameter values that are decorated as "sensitive" in the API will not
5332// be included in the string output. The member name will be present, but the
5333// value will be replaced with "sensitive".
5334func (s InvalidResourceException) String() string {
5335	return awsutil.Prettify(s)
5336}
5337
5338// GoString returns the string representation.
5339//
5340// API parameter values that are decorated as "sensitive" in the API will not
5341// be included in the string output. The member name will be present, but the
5342// value will be replaced with "sensitive".
5343func (s InvalidResourceException) GoString() string {
5344	return s.String()
5345}
5346
5347func newErrorInvalidResourceException(v protocol.ResponseMetadata) error {
5348	return &InvalidResourceException{
5349		RespMetadata: v,
5350	}
5351}
5352
5353// Code returns the exception type name.
5354func (s *InvalidResourceException) Code() string {
5355	return "InvalidResourceException"
5356}
5357
5358// Message returns the exception's message.
5359func (s *InvalidResourceException) Message() string {
5360	if s.Message_ != nil {
5361		return *s.Message_
5362	}
5363	return ""
5364}
5365
5366// OrigErr always returns nil, satisfies awserr.Error interface.
5367func (s *InvalidResourceException) OrigErr() error {
5368	return nil
5369}
5370
5371func (s *InvalidResourceException) Error() string {
5372	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5373}
5374
5375// Status code returns the HTTP status code for the request's response error.
5376func (s *InvalidResourceException) StatusCode() int {
5377	return s.RespMetadata.StatusCode
5378}
5379
5380// RequestID returns the service's response RequestID for request.
5381func (s *InvalidResourceException) RequestID() string {
5382	return s.RespMetadata.RequestID
5383}
5384
5385// Each JobListEntry object contains a job's state, a job's ID, and a value
5386// that indicates whether the job is a job part, in the case of an export job.
5387type JobListEntry struct {
5388	_ struct{} `type:"structure"`
5389
5390	// The creation date for this job.
5391	CreationDate *time.Time `type:"timestamp"`
5392
5393	// The optional description of this specific job, for example Important Photos
5394	// 2016-08-11.
5395	Description *string `min:"1" type:"string"`
5396
5397	// A value that indicates that this job is a main job. A main job represents
5398	// a successful request to create an export job. Main jobs aren't associated
5399	// with any Snowballs. Instead, each main job will have at least one job part,
5400	// and each job part is associated with a Snowball. It might take some time
5401	// before the job parts associated with a particular main job are listed, because
5402	// they are created after the main job is created.
5403	IsMaster *bool `type:"boolean"`
5404
5405	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
5406	JobId *string `min:"1" type:"string"`
5407
5408	// The current state of this job.
5409	JobState *string `type:"string" enum:"JobState"`
5410
5411	// The type of job.
5412	JobType *string `type:"string" enum:"JobType"`
5413
5414	// The type of device used with this job.
5415	SnowballType *string `type:"string" enum:"Type"`
5416}
5417
5418// String returns the string representation.
5419//
5420// API parameter values that are decorated as "sensitive" in the API will not
5421// be included in the string output. The member name will be present, but the
5422// value will be replaced with "sensitive".
5423func (s JobListEntry) String() string {
5424	return awsutil.Prettify(s)
5425}
5426
5427// GoString returns the string representation.
5428//
5429// API parameter values that are decorated as "sensitive" in the API will not
5430// be included in the string output. The member name will be present, but the
5431// value will be replaced with "sensitive".
5432func (s JobListEntry) GoString() string {
5433	return s.String()
5434}
5435
5436// SetCreationDate sets the CreationDate field's value.
5437func (s *JobListEntry) SetCreationDate(v time.Time) *JobListEntry {
5438	s.CreationDate = &v
5439	return s
5440}
5441
5442// SetDescription sets the Description field's value.
5443func (s *JobListEntry) SetDescription(v string) *JobListEntry {
5444	s.Description = &v
5445	return s
5446}
5447
5448// SetIsMaster sets the IsMaster field's value.
5449func (s *JobListEntry) SetIsMaster(v bool) *JobListEntry {
5450	s.IsMaster = &v
5451	return s
5452}
5453
5454// SetJobId sets the JobId field's value.
5455func (s *JobListEntry) SetJobId(v string) *JobListEntry {
5456	s.JobId = &v
5457	return s
5458}
5459
5460// SetJobState sets the JobState field's value.
5461func (s *JobListEntry) SetJobState(v string) *JobListEntry {
5462	s.JobState = &v
5463	return s
5464}
5465
5466// SetJobType sets the JobType field's value.
5467func (s *JobListEntry) SetJobType(v string) *JobListEntry {
5468	s.JobType = &v
5469	return s
5470}
5471
5472// SetSnowballType sets the SnowballType field's value.
5473func (s *JobListEntry) SetSnowballType(v string) *JobListEntry {
5474	s.SnowballType = &v
5475	return s
5476}
5477
5478// Contains job logs. Whenever a Snow device is used to import data into or
5479// export data out of Amazon S3, you'll have the option of downloading a PDF
5480// job report. Job logs are returned as a part of the response syntax of the
5481// DescribeJob action in the JobMetadata data type. The job logs can be accessed
5482// for up to 60 minutes after this request has been made. To access any of the
5483// job logs after 60 minutes have passed, you'll have to make another call to
5484// the DescribeJob action.
5485//
5486// For import jobs, the PDF job report becomes available at the end of the import
5487// process. For export jobs, your job report typically becomes available while
5488// the Snow device for your job part is being delivered to you.
5489//
5490// The job report provides you insight into the state of your Amazon S3 data
5491// transfer. The report includes details about your job or job part for your
5492// records.
5493//
5494// For deeper visibility into the status of your transferred objects, you can
5495// look at the two associated logs: a success log and a failure log. The logs
5496// are saved in comma-separated value (CSV) format, and the name of each log
5497// includes the ID of the job or job part that the log describes.
5498type JobLogs struct {
5499	_ struct{} `type:"structure"`
5500
5501	// A link to an Amazon S3 presigned URL where the job completion report is located.
5502	JobCompletionReportURI *string `min:"1" type:"string"`
5503
5504	// A link to an Amazon S3 presigned URL where the job failure log is located.
5505	JobFailureLogURI *string `min:"1" type:"string"`
5506
5507	// A link to an Amazon S3 presigned URL where the job success log is located.
5508	JobSuccessLogURI *string `min:"1" type:"string"`
5509}
5510
5511// String returns the string representation.
5512//
5513// API parameter values that are decorated as "sensitive" in the API will not
5514// be included in the string output. The member name will be present, but the
5515// value will be replaced with "sensitive".
5516func (s JobLogs) String() string {
5517	return awsutil.Prettify(s)
5518}
5519
5520// GoString returns the string representation.
5521//
5522// API parameter values that are decorated as "sensitive" in the API will not
5523// be included in the string output. The member name will be present, but the
5524// value will be replaced with "sensitive".
5525func (s JobLogs) GoString() string {
5526	return s.String()
5527}
5528
5529// SetJobCompletionReportURI sets the JobCompletionReportURI field's value.
5530func (s *JobLogs) SetJobCompletionReportURI(v string) *JobLogs {
5531	s.JobCompletionReportURI = &v
5532	return s
5533}
5534
5535// SetJobFailureLogURI sets the JobFailureLogURI field's value.
5536func (s *JobLogs) SetJobFailureLogURI(v string) *JobLogs {
5537	s.JobFailureLogURI = &v
5538	return s
5539}
5540
5541// SetJobSuccessLogURI sets the JobSuccessLogURI field's value.
5542func (s *JobLogs) SetJobSuccessLogURI(v string) *JobLogs {
5543	s.JobSuccessLogURI = &v
5544	return s
5545}
5546
5547// Contains information about a specific job including shipping information,
5548// job status, and other important metadata. This information is returned as
5549// a part of the response syntax of the DescribeJob action.
5550type JobMetadata struct {
5551	_ struct{} `type:"structure"`
5552
5553	// The ID for the address that you want the Snow device shipped to.
5554	AddressId *string `min:"40" type:"string"`
5555
5556	// The 39-character ID for the cluster, for example CID123e4567-e89b-12d3-a456-426655440000.
5557	ClusterId *string `min:"1" type:"string"`
5558
5559	// The creation date for this job.
5560	CreationDate *time.Time `type:"timestamp"`
5561
5562	// A value that defines the real-time status of a Snow device's data transfer
5563	// while the device is at AWS. This data is only available while a job has a
5564	// JobState value of InProgress, for both import and export jobs.
5565	DataTransferProgress *DataTransfer `type:"structure"`
5566
5567	// The description of the job, provided at job creation.
5568	Description *string `min:"1" type:"string"`
5569
5570	// The container for SnowconeDeviceConfiguration.
5571	DeviceConfiguration *DeviceConfiguration `type:"structure"`
5572
5573	// The ID of the address that you want a job shipped to, after it will be shipped
5574	// to its primary address. This field is not supported in most regions.
5575	ForwardingAddressId *string `min:"40" type:"string"`
5576
5577	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
5578	JobId *string `min:"1" type:"string"`
5579
5580	// Links to Amazon S3 presigned URLs for the job report and logs. For import
5581	// jobs, the PDF job report becomes available at the end of the import process.
5582	// For export jobs, your job report typically becomes available while the Snow
5583	// device for your job part is being delivered to you.
5584	JobLogInfo *JobLogs `type:"structure"`
5585
5586	// The current status of the jobs.
5587	JobState *string `type:"string" enum:"JobState"`
5588
5589	// The type of job.
5590	JobType *string `type:"string" enum:"JobType"`
5591
5592	// The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS)
5593	// key associated with this job. This ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
5594	// API action in AWS KMS.
5595	KmsKeyARN *string `type:"string"`
5596
5597	// The ID of the long-term pricing type for the device.
5598	LongTermPricingId *string `min:"41" type:"string"`
5599
5600	// The Amazon Simple Notification Service (Amazon SNS) notification settings
5601	// associated with a specific job. The Notification object is returned as a
5602	// part of the response syntax of the DescribeJob action in the JobMetadata
5603	// data type.
5604	Notification *Notification `type:"structure"`
5605
5606	// Represents metadata and configuration settings for services on an AWS Snow
5607	// Family device.
5608	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
5609
5610	// Allows you to securely operate and manage Snowcone devices remotely from
5611	// outside of your internal network. When set to INSTALLED_AUTOSTART, remote
5612	// management will automatically be available when the device arrives at your
5613	// location. Otherwise, you need to use the Snowball Client to manage the device.
5614	RemoteManagement *string `type:"string" enum:"RemoteManagement"`
5615
5616	// An array of S3Resource objects. Each S3Resource object represents an Amazon
5617	// S3 bucket that your transferred data will be exported from or imported into.
5618	Resources *JobResource `type:"structure"`
5619
5620	// The role ARN associated with this job. This ARN was created using the CreateRole
5621	// (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
5622	// API action in AWS Identity and Access Management (IAM).
5623	RoleARN *string `type:"string"`
5624
5625	// A job's shipping information, including inbound and outbound tracking numbers
5626	// and shipping speed options.
5627	ShippingDetails *ShippingDetails `type:"structure"`
5628
5629	// The Snow device capacity preference for this job, specified at job creation.
5630	// In US regions, you can choose between 50 TB and 80 TB Snowballs. All other
5631	// regions use 80 TB capacity Snowballs.
5632	//
5633	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
5634	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
5635	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
5636	SnowballCapacityPreference *string `type:"string" enum:"Capacity"`
5637
5638	// The type of device used with this job.
5639	SnowballType *string `type:"string" enum:"Type"`
5640
5641	// The metadata associated with the tax documents required in your AWS Region.
5642	TaxDocuments *TaxDocuments `type:"structure"`
5643}
5644
5645// String returns the string representation.
5646//
5647// API parameter values that are decorated as "sensitive" in the API will not
5648// be included in the string output. The member name will be present, but the
5649// value will be replaced with "sensitive".
5650func (s JobMetadata) String() string {
5651	return awsutil.Prettify(s)
5652}
5653
5654// GoString returns the string representation.
5655//
5656// API parameter values that are decorated as "sensitive" in the API will not
5657// be included in the string output. The member name will be present, but the
5658// value will be replaced with "sensitive".
5659func (s JobMetadata) GoString() string {
5660	return s.String()
5661}
5662
5663// SetAddressId sets the AddressId field's value.
5664func (s *JobMetadata) SetAddressId(v string) *JobMetadata {
5665	s.AddressId = &v
5666	return s
5667}
5668
5669// SetClusterId sets the ClusterId field's value.
5670func (s *JobMetadata) SetClusterId(v string) *JobMetadata {
5671	s.ClusterId = &v
5672	return s
5673}
5674
5675// SetCreationDate sets the CreationDate field's value.
5676func (s *JobMetadata) SetCreationDate(v time.Time) *JobMetadata {
5677	s.CreationDate = &v
5678	return s
5679}
5680
5681// SetDataTransferProgress sets the DataTransferProgress field's value.
5682func (s *JobMetadata) SetDataTransferProgress(v *DataTransfer) *JobMetadata {
5683	s.DataTransferProgress = v
5684	return s
5685}
5686
5687// SetDescription sets the Description field's value.
5688func (s *JobMetadata) SetDescription(v string) *JobMetadata {
5689	s.Description = &v
5690	return s
5691}
5692
5693// SetDeviceConfiguration sets the DeviceConfiguration field's value.
5694func (s *JobMetadata) SetDeviceConfiguration(v *DeviceConfiguration) *JobMetadata {
5695	s.DeviceConfiguration = v
5696	return s
5697}
5698
5699// SetForwardingAddressId sets the ForwardingAddressId field's value.
5700func (s *JobMetadata) SetForwardingAddressId(v string) *JobMetadata {
5701	s.ForwardingAddressId = &v
5702	return s
5703}
5704
5705// SetJobId sets the JobId field's value.
5706func (s *JobMetadata) SetJobId(v string) *JobMetadata {
5707	s.JobId = &v
5708	return s
5709}
5710
5711// SetJobLogInfo sets the JobLogInfo field's value.
5712func (s *JobMetadata) SetJobLogInfo(v *JobLogs) *JobMetadata {
5713	s.JobLogInfo = v
5714	return s
5715}
5716
5717// SetJobState sets the JobState field's value.
5718func (s *JobMetadata) SetJobState(v string) *JobMetadata {
5719	s.JobState = &v
5720	return s
5721}
5722
5723// SetJobType sets the JobType field's value.
5724func (s *JobMetadata) SetJobType(v string) *JobMetadata {
5725	s.JobType = &v
5726	return s
5727}
5728
5729// SetKmsKeyARN sets the KmsKeyARN field's value.
5730func (s *JobMetadata) SetKmsKeyARN(v string) *JobMetadata {
5731	s.KmsKeyARN = &v
5732	return s
5733}
5734
5735// SetLongTermPricingId sets the LongTermPricingId field's value.
5736func (s *JobMetadata) SetLongTermPricingId(v string) *JobMetadata {
5737	s.LongTermPricingId = &v
5738	return s
5739}
5740
5741// SetNotification sets the Notification field's value.
5742func (s *JobMetadata) SetNotification(v *Notification) *JobMetadata {
5743	s.Notification = v
5744	return s
5745}
5746
5747// SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
5748func (s *JobMetadata) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *JobMetadata {
5749	s.OnDeviceServiceConfiguration = v
5750	return s
5751}
5752
5753// SetRemoteManagement sets the RemoteManagement field's value.
5754func (s *JobMetadata) SetRemoteManagement(v string) *JobMetadata {
5755	s.RemoteManagement = &v
5756	return s
5757}
5758
5759// SetResources sets the Resources field's value.
5760func (s *JobMetadata) SetResources(v *JobResource) *JobMetadata {
5761	s.Resources = v
5762	return s
5763}
5764
5765// SetRoleARN sets the RoleARN field's value.
5766func (s *JobMetadata) SetRoleARN(v string) *JobMetadata {
5767	s.RoleARN = &v
5768	return s
5769}
5770
5771// SetShippingDetails sets the ShippingDetails field's value.
5772func (s *JobMetadata) SetShippingDetails(v *ShippingDetails) *JobMetadata {
5773	s.ShippingDetails = v
5774	return s
5775}
5776
5777// SetSnowballCapacityPreference sets the SnowballCapacityPreference field's value.
5778func (s *JobMetadata) SetSnowballCapacityPreference(v string) *JobMetadata {
5779	s.SnowballCapacityPreference = &v
5780	return s
5781}
5782
5783// SetSnowballType sets the SnowballType field's value.
5784func (s *JobMetadata) SetSnowballType(v string) *JobMetadata {
5785	s.SnowballType = &v
5786	return s
5787}
5788
5789// SetTaxDocuments sets the TaxDocuments field's value.
5790func (s *JobMetadata) SetTaxDocuments(v *TaxDocuments) *JobMetadata {
5791	s.TaxDocuments = v
5792	return s
5793}
5794
5795// Contains an array of AWS resource objects. Each object represents an Amazon
5796// S3 bucket, an AWS Lambda function, or an Amazon Machine Image (AMI) based
5797// on Amazon EC2 that is associated with a particular job.
5798type JobResource struct {
5799	_ struct{} `type:"structure"`
5800
5801	// The Amazon Machine Images (AMIs) associated with this job.
5802	Ec2AmiResources []*Ec2AmiResource `type:"list"`
5803
5804	// The Python-language Lambda functions for this job.
5805	LambdaResources []*LambdaResource `type:"list"`
5806
5807	// An array of S3Resource objects.
5808	S3Resources []*S3Resource `type:"list"`
5809}
5810
5811// String returns the string representation.
5812//
5813// API parameter values that are decorated as "sensitive" in the API will not
5814// be included in the string output. The member name will be present, but the
5815// value will be replaced with "sensitive".
5816func (s JobResource) String() string {
5817	return awsutil.Prettify(s)
5818}
5819
5820// GoString returns the string representation.
5821//
5822// API parameter values that are decorated as "sensitive" in the API will not
5823// be included in the string output. The member name will be present, but the
5824// value will be replaced with "sensitive".
5825func (s JobResource) GoString() string {
5826	return s.String()
5827}
5828
5829// Validate inspects the fields of the type to determine if they are valid.
5830func (s *JobResource) Validate() error {
5831	invalidParams := request.ErrInvalidParams{Context: "JobResource"}
5832	if s.Ec2AmiResources != nil {
5833		for i, v := range s.Ec2AmiResources {
5834			if v == nil {
5835				continue
5836			}
5837			if err := v.Validate(); err != nil {
5838				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2AmiResources", i), err.(request.ErrInvalidParams))
5839			}
5840		}
5841	}
5842	if s.S3Resources != nil {
5843		for i, v := range s.S3Resources {
5844			if v == nil {
5845				continue
5846			}
5847			if err := v.Validate(); err != nil {
5848				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "S3Resources", i), err.(request.ErrInvalidParams))
5849			}
5850		}
5851	}
5852
5853	if invalidParams.Len() > 0 {
5854		return invalidParams
5855	}
5856	return nil
5857}
5858
5859// SetEc2AmiResources sets the Ec2AmiResources field's value.
5860func (s *JobResource) SetEc2AmiResources(v []*Ec2AmiResource) *JobResource {
5861	s.Ec2AmiResources = v
5862	return s
5863}
5864
5865// SetLambdaResources sets the LambdaResources field's value.
5866func (s *JobResource) SetLambdaResources(v []*LambdaResource) *JobResource {
5867	s.LambdaResources = v
5868	return s
5869}
5870
5871// SetS3Resources sets the S3Resources field's value.
5872func (s *JobResource) SetS3Resources(v []*S3Resource) *JobResource {
5873	s.S3Resources = v
5874	return s
5875}
5876
5877// The provided AWS Key Management Service key lacks the permissions to perform
5878// the specified CreateJob or UpdateJob action.
5879type KMSRequestFailedException struct {
5880	_            struct{}                  `type:"structure"`
5881	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5882
5883	Message_ *string `locationName:"Message" min:"1" type:"string"`
5884}
5885
5886// String returns the string representation.
5887//
5888// API parameter values that are decorated as "sensitive" in the API will not
5889// be included in the string output. The member name will be present, but the
5890// value will be replaced with "sensitive".
5891func (s KMSRequestFailedException) String() string {
5892	return awsutil.Prettify(s)
5893}
5894
5895// GoString returns the string representation.
5896//
5897// API parameter values that are decorated as "sensitive" in the API will not
5898// be included in the string output. The member name will be present, but the
5899// value will be replaced with "sensitive".
5900func (s KMSRequestFailedException) GoString() string {
5901	return s.String()
5902}
5903
5904func newErrorKMSRequestFailedException(v protocol.ResponseMetadata) error {
5905	return &KMSRequestFailedException{
5906		RespMetadata: v,
5907	}
5908}
5909
5910// Code returns the exception type name.
5911func (s *KMSRequestFailedException) Code() string {
5912	return "KMSRequestFailedException"
5913}
5914
5915// Message returns the exception's message.
5916func (s *KMSRequestFailedException) Message() string {
5917	if s.Message_ != nil {
5918		return *s.Message_
5919	}
5920	return ""
5921}
5922
5923// OrigErr always returns nil, satisfies awserr.Error interface.
5924func (s *KMSRequestFailedException) OrigErr() error {
5925	return nil
5926}
5927
5928func (s *KMSRequestFailedException) Error() string {
5929	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5930}
5931
5932// Status code returns the HTTP status code for the request's response error.
5933func (s *KMSRequestFailedException) StatusCode() int {
5934	return s.RespMetadata.StatusCode
5935}
5936
5937// RequestID returns the service's response RequestID for request.
5938func (s *KMSRequestFailedException) RequestID() string {
5939	return s.RespMetadata.RequestID
5940}
5941
5942// Contains a key range. For export jobs, a S3Resource object can have an optional
5943// KeyRange value. The length of the range is defined at job creation, and has
5944// either an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges
5945// are UTF-8 binary sorted.
5946type KeyRange struct {
5947	_ struct{} `type:"structure"`
5948
5949	// The key that starts an optional key range for an export job. Ranges are inclusive
5950	// and UTF-8 binary sorted.
5951	BeginMarker *string `min:"1" type:"string"`
5952
5953	// The key that ends an optional key range for an export job. Ranges are inclusive
5954	// and UTF-8 binary sorted.
5955	EndMarker *string `min:"1" type:"string"`
5956}
5957
5958// String returns the string representation.
5959//
5960// API parameter values that are decorated as "sensitive" in the API will not
5961// be included in the string output. The member name will be present, but the
5962// value will be replaced with "sensitive".
5963func (s KeyRange) String() string {
5964	return awsutil.Prettify(s)
5965}
5966
5967// GoString returns the string representation.
5968//
5969// API parameter values that are decorated as "sensitive" in the API will not
5970// be included in the string output. The member name will be present, but the
5971// value will be replaced with "sensitive".
5972func (s KeyRange) GoString() string {
5973	return s.String()
5974}
5975
5976// Validate inspects the fields of the type to determine if they are valid.
5977func (s *KeyRange) Validate() error {
5978	invalidParams := request.ErrInvalidParams{Context: "KeyRange"}
5979	if s.BeginMarker != nil && len(*s.BeginMarker) < 1 {
5980		invalidParams.Add(request.NewErrParamMinLen("BeginMarker", 1))
5981	}
5982	if s.EndMarker != nil && len(*s.EndMarker) < 1 {
5983		invalidParams.Add(request.NewErrParamMinLen("EndMarker", 1))
5984	}
5985
5986	if invalidParams.Len() > 0 {
5987		return invalidParams
5988	}
5989	return nil
5990}
5991
5992// SetBeginMarker sets the BeginMarker field's value.
5993func (s *KeyRange) SetBeginMarker(v string) *KeyRange {
5994	s.BeginMarker = &v
5995	return s
5996}
5997
5998// SetEndMarker sets the EndMarker field's value.
5999func (s *KeyRange) SetEndMarker(v string) *KeyRange {
6000	s.EndMarker = &v
6001	return s
6002}
6003
6004// Identifies
6005type LambdaResource struct {
6006	_ struct{} `type:"structure"`
6007
6008	// The array of ARNs for S3Resource objects to trigger the LambdaResource objects
6009	// associated with this job.
6010	EventTriggers []*EventTriggerDefinition `type:"list"`
6011
6012	// An Amazon Resource Name (ARN) that represents an AWS Lambda function to be
6013	// triggered by PUT object actions on the associated local Amazon S3 resource.
6014	LambdaArn *string `type:"string"`
6015}
6016
6017// String returns the string representation.
6018//
6019// API parameter values that are decorated as "sensitive" in the API will not
6020// be included in the string output. The member name will be present, but the
6021// value will be replaced with "sensitive".
6022func (s LambdaResource) String() string {
6023	return awsutil.Prettify(s)
6024}
6025
6026// GoString returns the string representation.
6027//
6028// API parameter values that are decorated as "sensitive" in the API will not
6029// be included in the string output. The member name will be present, but the
6030// value will be replaced with "sensitive".
6031func (s LambdaResource) GoString() string {
6032	return s.String()
6033}
6034
6035// SetEventTriggers sets the EventTriggers field's value.
6036func (s *LambdaResource) SetEventTriggers(v []*EventTriggerDefinition) *LambdaResource {
6037	s.EventTriggers = v
6038	return s
6039}
6040
6041// SetLambdaArn sets the LambdaArn field's value.
6042func (s *LambdaResource) SetLambdaArn(v string) *LambdaResource {
6043	s.LambdaArn = &v
6044	return s
6045}
6046
6047type ListClusterJobsInput struct {
6048	_ struct{} `type:"structure"`
6049
6050	// The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000.
6051	//
6052	// ClusterId is a required field
6053	ClusterId *string `min:"39" type:"string" required:"true"`
6054
6055	// The number of JobListEntry objects to return.
6056	MaxResults *int64 `type:"integer"`
6057
6058	// HTTP requests are stateless. To identify what object comes "next" in the
6059	// list of JobListEntry objects, you have the option of specifying NextToken
6060	// as the starting point for your returned list.
6061	NextToken *string `min:"1" type:"string"`
6062}
6063
6064// String returns the string representation.
6065//
6066// API parameter values that are decorated as "sensitive" in the API will not
6067// be included in the string output. The member name will be present, but the
6068// value will be replaced with "sensitive".
6069func (s ListClusterJobsInput) String() string {
6070	return awsutil.Prettify(s)
6071}
6072
6073// GoString returns the string representation.
6074//
6075// API parameter values that are decorated as "sensitive" in the API will not
6076// be included in the string output. The member name will be present, but the
6077// value will be replaced with "sensitive".
6078func (s ListClusterJobsInput) GoString() string {
6079	return s.String()
6080}
6081
6082// Validate inspects the fields of the type to determine if they are valid.
6083func (s *ListClusterJobsInput) Validate() error {
6084	invalidParams := request.ErrInvalidParams{Context: "ListClusterJobsInput"}
6085	if s.ClusterId == nil {
6086		invalidParams.Add(request.NewErrParamRequired("ClusterId"))
6087	}
6088	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
6089		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
6090	}
6091	if s.NextToken != nil && len(*s.NextToken) < 1 {
6092		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6093	}
6094
6095	if invalidParams.Len() > 0 {
6096		return invalidParams
6097	}
6098	return nil
6099}
6100
6101// SetClusterId sets the ClusterId field's value.
6102func (s *ListClusterJobsInput) SetClusterId(v string) *ListClusterJobsInput {
6103	s.ClusterId = &v
6104	return s
6105}
6106
6107// SetMaxResults sets the MaxResults field's value.
6108func (s *ListClusterJobsInput) SetMaxResults(v int64) *ListClusterJobsInput {
6109	s.MaxResults = &v
6110	return s
6111}
6112
6113// SetNextToken sets the NextToken field's value.
6114func (s *ListClusterJobsInput) SetNextToken(v string) *ListClusterJobsInput {
6115	s.NextToken = &v
6116	return s
6117}
6118
6119type ListClusterJobsOutput struct {
6120	_ struct{} `type:"structure"`
6121
6122	// Each JobListEntry object contains a job's state, a job's ID, and a value
6123	// that indicates whether the job is a job part, in the case of export jobs.
6124	JobListEntries []*JobListEntry `type:"list"`
6125
6126	// HTTP requests are stateless. If you use the automatically generated NextToken
6127	// value in your next ListClusterJobsResult call, your list of returned jobs
6128	// will start from this point in the array.
6129	NextToken *string `min:"1" type:"string"`
6130}
6131
6132// String returns the string representation.
6133//
6134// API parameter values that are decorated as "sensitive" in the API will not
6135// be included in the string output. The member name will be present, but the
6136// value will be replaced with "sensitive".
6137func (s ListClusterJobsOutput) String() string {
6138	return awsutil.Prettify(s)
6139}
6140
6141// GoString returns the string representation.
6142//
6143// API parameter values that are decorated as "sensitive" in the API will not
6144// be included in the string output. The member name will be present, but the
6145// value will be replaced with "sensitive".
6146func (s ListClusterJobsOutput) GoString() string {
6147	return s.String()
6148}
6149
6150// SetJobListEntries sets the JobListEntries field's value.
6151func (s *ListClusterJobsOutput) SetJobListEntries(v []*JobListEntry) *ListClusterJobsOutput {
6152	s.JobListEntries = v
6153	return s
6154}
6155
6156// SetNextToken sets the NextToken field's value.
6157func (s *ListClusterJobsOutput) SetNextToken(v string) *ListClusterJobsOutput {
6158	s.NextToken = &v
6159	return s
6160}
6161
6162type ListClustersInput struct {
6163	_ struct{} `type:"structure"`
6164
6165	// The number of ClusterListEntry objects to return.
6166	MaxResults *int64 `type:"integer"`
6167
6168	// HTTP requests are stateless. To identify what object comes "next" in the
6169	// list of ClusterListEntry objects, you have the option of specifying NextToken
6170	// as the starting point for your returned list.
6171	NextToken *string `min:"1" type:"string"`
6172}
6173
6174// String returns the string representation.
6175//
6176// API parameter values that are decorated as "sensitive" in the API will not
6177// be included in the string output. The member name will be present, but the
6178// value will be replaced with "sensitive".
6179func (s ListClustersInput) String() string {
6180	return awsutil.Prettify(s)
6181}
6182
6183// GoString returns the string representation.
6184//
6185// API parameter values that are decorated as "sensitive" in the API will not
6186// be included in the string output. The member name will be present, but the
6187// value will be replaced with "sensitive".
6188func (s ListClustersInput) GoString() string {
6189	return s.String()
6190}
6191
6192// Validate inspects the fields of the type to determine if they are valid.
6193func (s *ListClustersInput) Validate() error {
6194	invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"}
6195	if s.NextToken != nil && len(*s.NextToken) < 1 {
6196		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6197	}
6198
6199	if invalidParams.Len() > 0 {
6200		return invalidParams
6201	}
6202	return nil
6203}
6204
6205// SetMaxResults sets the MaxResults field's value.
6206func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput {
6207	s.MaxResults = &v
6208	return s
6209}
6210
6211// SetNextToken sets the NextToken field's value.
6212func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput {
6213	s.NextToken = &v
6214	return s
6215}
6216
6217type ListClustersOutput struct {
6218	_ struct{} `type:"structure"`
6219
6220	// Each ClusterListEntry object contains a cluster's state, a cluster's ID,
6221	// and other important status information.
6222	ClusterListEntries []*ClusterListEntry `type:"list"`
6223
6224	// HTTP requests are stateless. If you use the automatically generated NextToken
6225	// value in your next ClusterListEntry call, your list of returned clusters
6226	// will start from this point in the array.
6227	NextToken *string `min:"1" type:"string"`
6228}
6229
6230// String returns the string representation.
6231//
6232// API parameter values that are decorated as "sensitive" in the API will not
6233// be included in the string output. The member name will be present, but the
6234// value will be replaced with "sensitive".
6235func (s ListClustersOutput) String() string {
6236	return awsutil.Prettify(s)
6237}
6238
6239// GoString returns the string representation.
6240//
6241// API parameter values that are decorated as "sensitive" in the API will not
6242// be included in the string output. The member name will be present, but the
6243// value will be replaced with "sensitive".
6244func (s ListClustersOutput) GoString() string {
6245	return s.String()
6246}
6247
6248// SetClusterListEntries sets the ClusterListEntries field's value.
6249func (s *ListClustersOutput) SetClusterListEntries(v []*ClusterListEntry) *ListClustersOutput {
6250	s.ClusterListEntries = v
6251	return s
6252}
6253
6254// SetNextToken sets the NextToken field's value.
6255func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput {
6256	s.NextToken = &v
6257	return s
6258}
6259
6260type ListCompatibleImagesInput struct {
6261	_ struct{} `type:"structure"`
6262
6263	// The maximum number of results for the list of compatible images. Currently,
6264	// a Snowball Edge device can store 10 AMIs.
6265	MaxResults *int64 `type:"integer"`
6266
6267	// HTTP requests are stateless. To identify what object comes "next" in the
6268	// list of compatible images, you can specify a value for NextToken as the starting
6269	// point for your list of returned images.
6270	NextToken *string `min:"1" type:"string"`
6271}
6272
6273// String returns the string representation.
6274//
6275// API parameter values that are decorated as "sensitive" in the API will not
6276// be included in the string output. The member name will be present, but the
6277// value will be replaced with "sensitive".
6278func (s ListCompatibleImagesInput) String() string {
6279	return awsutil.Prettify(s)
6280}
6281
6282// GoString returns the string representation.
6283//
6284// API parameter values that are decorated as "sensitive" in the API will not
6285// be included in the string output. The member name will be present, but the
6286// value will be replaced with "sensitive".
6287func (s ListCompatibleImagesInput) GoString() string {
6288	return s.String()
6289}
6290
6291// Validate inspects the fields of the type to determine if they are valid.
6292func (s *ListCompatibleImagesInput) Validate() error {
6293	invalidParams := request.ErrInvalidParams{Context: "ListCompatibleImagesInput"}
6294	if s.NextToken != nil && len(*s.NextToken) < 1 {
6295		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6296	}
6297
6298	if invalidParams.Len() > 0 {
6299		return invalidParams
6300	}
6301	return nil
6302}
6303
6304// SetMaxResults sets the MaxResults field's value.
6305func (s *ListCompatibleImagesInput) SetMaxResults(v int64) *ListCompatibleImagesInput {
6306	s.MaxResults = &v
6307	return s
6308}
6309
6310// SetNextToken sets the NextToken field's value.
6311func (s *ListCompatibleImagesInput) SetNextToken(v string) *ListCompatibleImagesInput {
6312	s.NextToken = &v
6313	return s
6314}
6315
6316type ListCompatibleImagesOutput struct {
6317	_ struct{} `type:"structure"`
6318
6319	// A JSON-formatted object that describes a compatible AMI, including the ID
6320	// and name for a Snow device AMI.
6321	CompatibleImages []*CompatibleImage `type:"list"`
6322
6323	// Because HTTP requests are stateless, this is the starting point for your
6324	// next list of returned images.
6325	NextToken *string `min:"1" type:"string"`
6326}
6327
6328// String returns the string representation.
6329//
6330// API parameter values that are decorated as "sensitive" in the API will not
6331// be included in the string output. The member name will be present, but the
6332// value will be replaced with "sensitive".
6333func (s ListCompatibleImagesOutput) String() string {
6334	return awsutil.Prettify(s)
6335}
6336
6337// GoString returns the string representation.
6338//
6339// API parameter values that are decorated as "sensitive" in the API will not
6340// be included in the string output. The member name will be present, but the
6341// value will be replaced with "sensitive".
6342func (s ListCompatibleImagesOutput) GoString() string {
6343	return s.String()
6344}
6345
6346// SetCompatibleImages sets the CompatibleImages field's value.
6347func (s *ListCompatibleImagesOutput) SetCompatibleImages(v []*CompatibleImage) *ListCompatibleImagesOutput {
6348	s.CompatibleImages = v
6349	return s
6350}
6351
6352// SetNextToken sets the NextToken field's value.
6353func (s *ListCompatibleImagesOutput) SetNextToken(v string) *ListCompatibleImagesOutput {
6354	s.NextToken = &v
6355	return s
6356}
6357
6358type ListJobsInput struct {
6359	_ struct{} `type:"structure"`
6360
6361	// The number of JobListEntry objects to return.
6362	MaxResults *int64 `type:"integer"`
6363
6364	// HTTP requests are stateless. To identify what object comes "next" in the
6365	// list of JobListEntry objects, you have the option of specifying NextToken
6366	// as the starting point for your returned list.
6367	NextToken *string `min:"1" type:"string"`
6368}
6369
6370// String returns the string representation.
6371//
6372// API parameter values that are decorated as "sensitive" in the API will not
6373// be included in the string output. The member name will be present, but the
6374// value will be replaced with "sensitive".
6375func (s ListJobsInput) String() string {
6376	return awsutil.Prettify(s)
6377}
6378
6379// GoString returns the string representation.
6380//
6381// API parameter values that are decorated as "sensitive" in the API will not
6382// be included in the string output. The member name will be present, but the
6383// value will be replaced with "sensitive".
6384func (s ListJobsInput) GoString() string {
6385	return s.String()
6386}
6387
6388// Validate inspects the fields of the type to determine if they are valid.
6389func (s *ListJobsInput) Validate() error {
6390	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
6391	if s.NextToken != nil && len(*s.NextToken) < 1 {
6392		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6393	}
6394
6395	if invalidParams.Len() > 0 {
6396		return invalidParams
6397	}
6398	return nil
6399}
6400
6401// SetMaxResults sets the MaxResults field's value.
6402func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput {
6403	s.MaxResults = &v
6404	return s
6405}
6406
6407// SetNextToken sets the NextToken field's value.
6408func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
6409	s.NextToken = &v
6410	return s
6411}
6412
6413type ListJobsOutput struct {
6414	_ struct{} `type:"structure"`
6415
6416	// Each JobListEntry object contains a job's state, a job's ID, and a value
6417	// that indicates whether the job is a job part, in the case of export jobs.
6418	JobListEntries []*JobListEntry `type:"list"`
6419
6420	// HTTP requests are stateless. If you use this automatically generated NextToken
6421	// value in your next ListJobs call, your returned JobListEntry objects will
6422	// start from this point in the array.
6423	NextToken *string `min:"1" type:"string"`
6424}
6425
6426// String returns the string representation.
6427//
6428// API parameter values that are decorated as "sensitive" in the API will not
6429// be included in the string output. The member name will be present, but the
6430// value will be replaced with "sensitive".
6431func (s ListJobsOutput) String() string {
6432	return awsutil.Prettify(s)
6433}
6434
6435// GoString returns the string representation.
6436//
6437// API parameter values that are decorated as "sensitive" in the API will not
6438// be included in the string output. The member name will be present, but the
6439// value will be replaced with "sensitive".
6440func (s ListJobsOutput) GoString() string {
6441	return s.String()
6442}
6443
6444// SetJobListEntries sets the JobListEntries field's value.
6445func (s *ListJobsOutput) SetJobListEntries(v []*JobListEntry) *ListJobsOutput {
6446	s.JobListEntries = v
6447	return s
6448}
6449
6450// SetNextToken sets the NextToken field's value.
6451func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
6452	s.NextToken = &v
6453	return s
6454}
6455
6456type ListLongTermPricingInput struct {
6457	_ struct{} `type:"structure"`
6458
6459	// The maximum number of ListLongTermPricing objects to return.
6460	MaxResults *int64 `type:"integer"`
6461
6462	// Because HTTP requests are stateless, this is the starting point for your
6463	// next list of ListLongTermPricing to return.
6464	NextToken *string `min:"1" type:"string"`
6465}
6466
6467// String returns the string representation.
6468//
6469// API parameter values that are decorated as "sensitive" in the API will not
6470// be included in the string output. The member name will be present, but the
6471// value will be replaced with "sensitive".
6472func (s ListLongTermPricingInput) String() string {
6473	return awsutil.Prettify(s)
6474}
6475
6476// GoString returns the string representation.
6477//
6478// API parameter values that are decorated as "sensitive" in the API will not
6479// be included in the string output. The member name will be present, but the
6480// value will be replaced with "sensitive".
6481func (s ListLongTermPricingInput) GoString() string {
6482	return s.String()
6483}
6484
6485// Validate inspects the fields of the type to determine if they are valid.
6486func (s *ListLongTermPricingInput) Validate() error {
6487	invalidParams := request.ErrInvalidParams{Context: "ListLongTermPricingInput"}
6488	if s.NextToken != nil && len(*s.NextToken) < 1 {
6489		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
6490	}
6491
6492	if invalidParams.Len() > 0 {
6493		return invalidParams
6494	}
6495	return nil
6496}
6497
6498// SetMaxResults sets the MaxResults field's value.
6499func (s *ListLongTermPricingInput) SetMaxResults(v int64) *ListLongTermPricingInput {
6500	s.MaxResults = &v
6501	return s
6502}
6503
6504// SetNextToken sets the NextToken field's value.
6505func (s *ListLongTermPricingInput) SetNextToken(v string) *ListLongTermPricingInput {
6506	s.NextToken = &v
6507	return s
6508}
6509
6510type ListLongTermPricingOutput struct {
6511	_ struct{} `type:"structure"`
6512
6513	// Each LongTermPricingEntry object contains a status, ID, and other information
6514	// about the LongTermPricing type.
6515	LongTermPricingEntries []*LongTermPricingListEntry `type:"list"`
6516
6517	// Because HTTP requests are stateless, this is the starting point for your
6518	// next list of returned ListLongTermPricing list.
6519	NextToken *string `min:"1" type:"string"`
6520}
6521
6522// String returns the string representation.
6523//
6524// API parameter values that are decorated as "sensitive" in the API will not
6525// be included in the string output. The member name will be present, but the
6526// value will be replaced with "sensitive".
6527func (s ListLongTermPricingOutput) String() string {
6528	return awsutil.Prettify(s)
6529}
6530
6531// GoString returns the string representation.
6532//
6533// API parameter values that are decorated as "sensitive" in the API will not
6534// be included in the string output. The member name will be present, but the
6535// value will be replaced with "sensitive".
6536func (s ListLongTermPricingOutput) GoString() string {
6537	return s.String()
6538}
6539
6540// SetLongTermPricingEntries sets the LongTermPricingEntries field's value.
6541func (s *ListLongTermPricingOutput) SetLongTermPricingEntries(v []*LongTermPricingListEntry) *ListLongTermPricingOutput {
6542	s.LongTermPricingEntries = v
6543	return s
6544}
6545
6546// SetNextToken sets the NextToken field's value.
6547func (s *ListLongTermPricingOutput) SetNextToken(v string) *ListLongTermPricingOutput {
6548	s.NextToken = &v
6549	return s
6550}
6551
6552// Each LongTermPricingListEntry object contains information about a long-term
6553// pricing type.
6554type LongTermPricingListEntry struct {
6555	_ struct{} `type:"structure"`
6556
6557	// The current active jobs on the device the long-term pricing type.
6558	CurrentActiveJob *string `min:"39" type:"string"`
6559
6560	// If set to true, specifies that the current long-term pricing type for the
6561	// device should be automatically renewed before the long-term pricing contract
6562	// expires.
6563	IsLongTermPricingAutoRenew *bool `type:"boolean"`
6564
6565	// The IDs of the jobs that are associated with a long-term pricing type.
6566	JobIds []*string `type:"list"`
6567
6568	// The end date the long-term pricing contract.
6569	LongTermPricingEndDate *time.Time `type:"timestamp"`
6570
6571	// The ID of the long-term pricing type for the device.
6572	LongTermPricingId *string `min:"41" type:"string"`
6573
6574	// The start date of the long-term pricing contract.
6575	LongTermPricingStartDate *time.Time `type:"timestamp"`
6576
6577	// The status of the long-term pricing type.
6578	LongTermPricingStatus *string `min:"1" type:"string"`
6579
6580	// The type of long-term pricing that was selected for the device.
6581	LongTermPricingType *string `type:"string" enum:"LongTermPricingType"`
6582
6583	// A new device that replaces a device that is ordered with long-term pricing.
6584	ReplacementJob *string `min:"39" type:"string"`
6585
6586	// The type of AWS Snow Family device associated with this long-term pricing
6587	// job.
6588	SnowballType *string `type:"string" enum:"Type"`
6589}
6590
6591// String returns the string representation.
6592//
6593// API parameter values that are decorated as "sensitive" in the API will not
6594// be included in the string output. The member name will be present, but the
6595// value will be replaced with "sensitive".
6596func (s LongTermPricingListEntry) String() string {
6597	return awsutil.Prettify(s)
6598}
6599
6600// GoString returns the string representation.
6601//
6602// API parameter values that are decorated as "sensitive" in the API will not
6603// be included in the string output. The member name will be present, but the
6604// value will be replaced with "sensitive".
6605func (s LongTermPricingListEntry) GoString() string {
6606	return s.String()
6607}
6608
6609// SetCurrentActiveJob sets the CurrentActiveJob field's value.
6610func (s *LongTermPricingListEntry) SetCurrentActiveJob(v string) *LongTermPricingListEntry {
6611	s.CurrentActiveJob = &v
6612	return s
6613}
6614
6615// SetIsLongTermPricingAutoRenew sets the IsLongTermPricingAutoRenew field's value.
6616func (s *LongTermPricingListEntry) SetIsLongTermPricingAutoRenew(v bool) *LongTermPricingListEntry {
6617	s.IsLongTermPricingAutoRenew = &v
6618	return s
6619}
6620
6621// SetJobIds sets the JobIds field's value.
6622func (s *LongTermPricingListEntry) SetJobIds(v []*string) *LongTermPricingListEntry {
6623	s.JobIds = v
6624	return s
6625}
6626
6627// SetLongTermPricingEndDate sets the LongTermPricingEndDate field's value.
6628func (s *LongTermPricingListEntry) SetLongTermPricingEndDate(v time.Time) *LongTermPricingListEntry {
6629	s.LongTermPricingEndDate = &v
6630	return s
6631}
6632
6633// SetLongTermPricingId sets the LongTermPricingId field's value.
6634func (s *LongTermPricingListEntry) SetLongTermPricingId(v string) *LongTermPricingListEntry {
6635	s.LongTermPricingId = &v
6636	return s
6637}
6638
6639// SetLongTermPricingStartDate sets the LongTermPricingStartDate field's value.
6640func (s *LongTermPricingListEntry) SetLongTermPricingStartDate(v time.Time) *LongTermPricingListEntry {
6641	s.LongTermPricingStartDate = &v
6642	return s
6643}
6644
6645// SetLongTermPricingStatus sets the LongTermPricingStatus field's value.
6646func (s *LongTermPricingListEntry) SetLongTermPricingStatus(v string) *LongTermPricingListEntry {
6647	s.LongTermPricingStatus = &v
6648	return s
6649}
6650
6651// SetLongTermPricingType sets the LongTermPricingType field's value.
6652func (s *LongTermPricingListEntry) SetLongTermPricingType(v string) *LongTermPricingListEntry {
6653	s.LongTermPricingType = &v
6654	return s
6655}
6656
6657// SetReplacementJob sets the ReplacementJob field's value.
6658func (s *LongTermPricingListEntry) SetReplacementJob(v string) *LongTermPricingListEntry {
6659	s.ReplacementJob = &v
6660	return s
6661}
6662
6663// SetSnowballType sets the SnowballType field's value.
6664func (s *LongTermPricingListEntry) SetSnowballType(v string) *LongTermPricingListEntry {
6665	s.SnowballType = &v
6666	return s
6667}
6668
6669// An object that represents metadata and configuration settings for NFS service
6670// on an AWS Snow Family device.
6671type NFSOnDeviceServiceConfiguration struct {
6672	_ struct{} `type:"structure"`
6673
6674	// The maximum NFS storage for one Snowball Family device.
6675	StorageLimit *int64 `type:"integer"`
6676
6677	// The scale unit of the NFS storage on the device.
6678	//
6679	// Valid values: TB.
6680	StorageUnit *string `type:"string" enum:"StorageUnit"`
6681}
6682
6683// String returns the string representation.
6684//
6685// API parameter values that are decorated as "sensitive" in the API will not
6686// be included in the string output. The member name will be present, but the
6687// value will be replaced with "sensitive".
6688func (s NFSOnDeviceServiceConfiguration) String() string {
6689	return awsutil.Prettify(s)
6690}
6691
6692// GoString returns the string representation.
6693//
6694// API parameter values that are decorated as "sensitive" in the API will not
6695// be included in the string output. The member name will be present, but the
6696// value will be replaced with "sensitive".
6697func (s NFSOnDeviceServiceConfiguration) GoString() string {
6698	return s.String()
6699}
6700
6701// SetStorageLimit sets the StorageLimit field's value.
6702func (s *NFSOnDeviceServiceConfiguration) SetStorageLimit(v int64) *NFSOnDeviceServiceConfiguration {
6703	s.StorageLimit = &v
6704	return s
6705}
6706
6707// SetStorageUnit sets the StorageUnit field's value.
6708func (s *NFSOnDeviceServiceConfiguration) SetStorageUnit(v string) *NFSOnDeviceServiceConfiguration {
6709	s.StorageUnit = &v
6710	return s
6711}
6712
6713// The Amazon Simple Notification Service (Amazon SNS) notification settings
6714// associated with a specific job. The Notification object is returned as a
6715// part of the response syntax of the DescribeJob action in the JobMetadata
6716// data type.
6717//
6718// When the notification settings are defined during job creation, you can choose
6719// to notify based on a specific set of job states using the JobStatesToNotify
6720// array of strings, or you can specify that you want to have Amazon SNS notifications
6721// sent out for all job states with NotifyAll set to true.
6722type Notification struct {
6723	_ struct{} `type:"structure"`
6724
6725	// The list of job states that will trigger a notification for this job.
6726	JobStatesToNotify []*string `type:"list"`
6727
6728	// Any change in job state will trigger a notification for this job.
6729	NotifyAll *bool `type:"boolean"`
6730
6731	// The new SNS TopicArn that you want to associate with this job. You can create
6732	// Amazon Resource Names (ARNs) for topics by using the CreateTopic (https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html)
6733	// Amazon SNS API action.
6734	//
6735	// You can subscribe email addresses to an Amazon SNS topic through the AWS
6736	// Management Console, or by using the Subscribe (https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)
6737	// Amazon Simple Notification Service (Amazon SNS) API action.
6738	SnsTopicARN *string `type:"string"`
6739}
6740
6741// String returns the string representation.
6742//
6743// API parameter values that are decorated as "sensitive" in the API will not
6744// be included in the string output. The member name will be present, but the
6745// value will be replaced with "sensitive".
6746func (s Notification) String() string {
6747	return awsutil.Prettify(s)
6748}
6749
6750// GoString returns the string representation.
6751//
6752// API parameter values that are decorated as "sensitive" in the API will not
6753// be included in the string output. The member name will be present, but the
6754// value will be replaced with "sensitive".
6755func (s Notification) GoString() string {
6756	return s.String()
6757}
6758
6759// SetJobStatesToNotify sets the JobStatesToNotify field's value.
6760func (s *Notification) SetJobStatesToNotify(v []*string) *Notification {
6761	s.JobStatesToNotify = v
6762	return s
6763}
6764
6765// SetNotifyAll sets the NotifyAll field's value.
6766func (s *Notification) SetNotifyAll(v bool) *Notification {
6767	s.NotifyAll = &v
6768	return s
6769}
6770
6771// SetSnsTopicARN sets the SnsTopicARN field's value.
6772func (s *Notification) SetSnsTopicARN(v string) *Notification {
6773	s.SnsTopicARN = &v
6774	return s
6775}
6776
6777// An object that represents metadata and configuration settings for services
6778// on an AWS Snow Family device.
6779type OnDeviceServiceConfiguration struct {
6780	_ struct{} `type:"structure"`
6781
6782	// Represents the NFS service on a Snow Family device.
6783	NFSOnDeviceService *NFSOnDeviceServiceConfiguration `type:"structure"`
6784}
6785
6786// String returns the string representation.
6787//
6788// API parameter values that are decorated as "sensitive" in the API will not
6789// be included in the string output. The member name will be present, but the
6790// value will be replaced with "sensitive".
6791func (s OnDeviceServiceConfiguration) String() string {
6792	return awsutil.Prettify(s)
6793}
6794
6795// GoString returns the string representation.
6796//
6797// API parameter values that are decorated as "sensitive" in the API will not
6798// be included in the string output. The member name will be present, but the
6799// value will be replaced with "sensitive".
6800func (s OnDeviceServiceConfiguration) GoString() string {
6801	return s.String()
6802}
6803
6804// SetNFSOnDeviceService sets the NFSOnDeviceService field's value.
6805func (s *OnDeviceServiceConfiguration) SetNFSOnDeviceService(v *NFSOnDeviceServiceConfiguration) *OnDeviceServiceConfiguration {
6806	s.NFSOnDeviceService = v
6807	return s
6808}
6809
6810// You get this exception if you call CreateReturnShippingLabel and a valid
6811// return shipping label already exists. In this case, use DescribeReturnShippingLabel
6812// to get the url.
6813type ReturnShippingLabelAlreadyExistsException struct {
6814	_            struct{}                  `type:"structure"`
6815	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6816
6817	Message_ *string `locationName:"Message" min:"1" type:"string"`
6818}
6819
6820// String returns the string representation.
6821//
6822// API parameter values that are decorated as "sensitive" in the API will not
6823// be included in the string output. The member name will be present, but the
6824// value will be replaced with "sensitive".
6825func (s ReturnShippingLabelAlreadyExistsException) String() string {
6826	return awsutil.Prettify(s)
6827}
6828
6829// GoString returns the string representation.
6830//
6831// API parameter values that are decorated as "sensitive" in the API will not
6832// be included in the string output. The member name will be present, but the
6833// value will be replaced with "sensitive".
6834func (s ReturnShippingLabelAlreadyExistsException) GoString() string {
6835	return s.String()
6836}
6837
6838func newErrorReturnShippingLabelAlreadyExistsException(v protocol.ResponseMetadata) error {
6839	return &ReturnShippingLabelAlreadyExistsException{
6840		RespMetadata: v,
6841	}
6842}
6843
6844// Code returns the exception type name.
6845func (s *ReturnShippingLabelAlreadyExistsException) Code() string {
6846	return "ReturnShippingLabelAlreadyExistsException"
6847}
6848
6849// Message returns the exception's message.
6850func (s *ReturnShippingLabelAlreadyExistsException) Message() string {
6851	if s.Message_ != nil {
6852		return *s.Message_
6853	}
6854	return ""
6855}
6856
6857// OrigErr always returns nil, satisfies awserr.Error interface.
6858func (s *ReturnShippingLabelAlreadyExistsException) OrigErr() error {
6859	return nil
6860}
6861
6862func (s *ReturnShippingLabelAlreadyExistsException) Error() string {
6863	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6864}
6865
6866// Status code returns the HTTP status code for the request's response error.
6867func (s *ReturnShippingLabelAlreadyExistsException) StatusCode() int {
6868	return s.RespMetadata.StatusCode
6869}
6870
6871// RequestID returns the service's response RequestID for request.
6872func (s *ReturnShippingLabelAlreadyExistsException) RequestID() string {
6873	return s.RespMetadata.RequestID
6874}
6875
6876// Each S3Resource object represents an Amazon S3 bucket that your transferred
6877// data will be exported from or imported into. For export jobs, this object
6878// can have an optional KeyRange value. The length of the range is defined at
6879// job creation, and has either an inclusive BeginMarker, an inclusive EndMarker,
6880// or both. Ranges are UTF-8 binary sorted.
6881type S3Resource struct {
6882	_ struct{} `type:"structure"`
6883
6884	// The Amazon Resource Name (ARN) of an Amazon S3 bucket.
6885	BucketArn *string `type:"string"`
6886
6887	// For export jobs, you can provide an optional KeyRange within a specific Amazon
6888	// S3 bucket. The length of the range is defined at job creation, and has either
6889	// an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges are UTF-8
6890	// binary sorted.
6891	KeyRange *KeyRange `type:"structure"`
6892
6893	// Specifies the service or services on the Snow Family device that your transferred
6894	// data will be exported from or imported into. AWS Snow Family supports Amazon
6895	// S3 and NFS (Network File System).
6896	TargetOnDeviceServices []*TargetOnDeviceService `type:"list"`
6897}
6898
6899// String returns the string representation.
6900//
6901// API parameter values that are decorated as "sensitive" in the API will not
6902// be included in the string output. The member name will be present, but the
6903// value will be replaced with "sensitive".
6904func (s S3Resource) String() string {
6905	return awsutil.Prettify(s)
6906}
6907
6908// GoString returns the string representation.
6909//
6910// API parameter values that are decorated as "sensitive" in the API will not
6911// be included in the string output. The member name will be present, but the
6912// value will be replaced with "sensitive".
6913func (s S3Resource) GoString() string {
6914	return s.String()
6915}
6916
6917// Validate inspects the fields of the type to determine if they are valid.
6918func (s *S3Resource) Validate() error {
6919	invalidParams := request.ErrInvalidParams{Context: "S3Resource"}
6920	if s.KeyRange != nil {
6921		if err := s.KeyRange.Validate(); err != nil {
6922			invalidParams.AddNested("KeyRange", err.(request.ErrInvalidParams))
6923		}
6924	}
6925
6926	if invalidParams.Len() > 0 {
6927		return invalidParams
6928	}
6929	return nil
6930}
6931
6932// SetBucketArn sets the BucketArn field's value.
6933func (s *S3Resource) SetBucketArn(v string) *S3Resource {
6934	s.BucketArn = &v
6935	return s
6936}
6937
6938// SetKeyRange sets the KeyRange field's value.
6939func (s *S3Resource) SetKeyRange(v *KeyRange) *S3Resource {
6940	s.KeyRange = v
6941	return s
6942}
6943
6944// SetTargetOnDeviceServices sets the TargetOnDeviceServices field's value.
6945func (s *S3Resource) SetTargetOnDeviceServices(v []*TargetOnDeviceService) *S3Resource {
6946	s.TargetOnDeviceServices = v
6947	return s
6948}
6949
6950// The Status and TrackingNumber information for an inbound or outbound shipment.
6951type Shipment struct {
6952	_ struct{} `type:"structure"`
6953
6954	// Status information for a shipment.
6955	Status *string `min:"1" type:"string"`
6956
6957	// The tracking number for this job. Using this tracking number with your region's
6958	// carrier's website, you can track a Snow device as the carrier transports
6959	// it.
6960	//
6961	// For India, the carrier is Amazon Logistics. For all other regions, UPS is
6962	// the carrier.
6963	TrackingNumber *string `min:"1" type:"string"`
6964}
6965
6966// String returns the string representation.
6967//
6968// API parameter values that are decorated as "sensitive" in the API will not
6969// be included in the string output. The member name will be present, but the
6970// value will be replaced with "sensitive".
6971func (s Shipment) String() string {
6972	return awsutil.Prettify(s)
6973}
6974
6975// GoString returns the string representation.
6976//
6977// API parameter values that are decorated as "sensitive" in the API will not
6978// be included in the string output. The member name will be present, but the
6979// value will be replaced with "sensitive".
6980func (s Shipment) GoString() string {
6981	return s.String()
6982}
6983
6984// SetStatus sets the Status field's value.
6985func (s *Shipment) SetStatus(v string) *Shipment {
6986	s.Status = &v
6987	return s
6988}
6989
6990// SetTrackingNumber sets the TrackingNumber field's value.
6991func (s *Shipment) SetTrackingNumber(v string) *Shipment {
6992	s.TrackingNumber = &v
6993	return s
6994}
6995
6996// A job's shipping information, including inbound and outbound tracking numbers
6997// and shipping speed options.
6998type ShippingDetails struct {
6999	_ struct{} `type:"structure"`
7000
7001	// The Status and TrackingNumber values for a Snow device being returned to
7002	// AWS for a particular job.
7003	InboundShipment *Shipment `type:"structure"`
7004
7005	// The Status and TrackingNumber values for a Snow device being delivered to
7006	// the address that you specified for a particular job.
7007	OutboundShipment *Shipment `type:"structure"`
7008
7009	// The shipping speed for a particular job. This speed doesn't dictate how soon
7010	// you'll get the Snow device from the job's creation date. This speed represents
7011	// how quickly it moves to its destination while in transit. Regional shipping
7012	// speeds are as follows:
7013	//
7014	//    * In Australia, you have access to express shipping. Typically, Snow devices
7015	//    shipped express are delivered in about a day.
7016	//
7017	//    * In the European Union (EU), you have access to express shipping. Typically,
7018	//    Snow devices shipped express are delivered in about a day. In addition,
7019	//    most countries in the EU have access to standard shipping, which typically
7020	//    takes less than a week, one way.
7021	//
7022	//    * In India, Snow devices are delivered in one to seven days.
7023	//
7024	//    * In the United States of America (US), you have access to one-day shipping
7025	//    and two-day shipping.
7026	ShippingOption *string `type:"string" enum:"ShippingOption"`
7027}
7028
7029// String returns the string representation.
7030//
7031// API parameter values that are decorated as "sensitive" in the API will not
7032// be included in the string output. The member name will be present, but the
7033// value will be replaced with "sensitive".
7034func (s ShippingDetails) String() string {
7035	return awsutil.Prettify(s)
7036}
7037
7038// GoString returns the string representation.
7039//
7040// API parameter values that are decorated as "sensitive" in the API will not
7041// be included in the string output. The member name will be present, but the
7042// value will be replaced with "sensitive".
7043func (s ShippingDetails) GoString() string {
7044	return s.String()
7045}
7046
7047// SetInboundShipment sets the InboundShipment field's value.
7048func (s *ShippingDetails) SetInboundShipment(v *Shipment) *ShippingDetails {
7049	s.InboundShipment = v
7050	return s
7051}
7052
7053// SetOutboundShipment sets the OutboundShipment field's value.
7054func (s *ShippingDetails) SetOutboundShipment(v *Shipment) *ShippingDetails {
7055	s.OutboundShipment = v
7056	return s
7057}
7058
7059// SetShippingOption sets the ShippingOption field's value.
7060func (s *ShippingDetails) SetShippingOption(v string) *ShippingDetails {
7061	s.ShippingOption = &v
7062	return s
7063}
7064
7065// Specifies the device configuration for an AWS Snowcone job.
7066type SnowconeDeviceConfiguration struct {
7067	_ struct{} `type:"structure"`
7068
7069	// Configures the wireless connection for the AWS Snowcone device.
7070	WirelessConnection *WirelessConnection `type:"structure"`
7071}
7072
7073// String returns the string representation.
7074//
7075// API parameter values that are decorated as "sensitive" in the API will not
7076// be included in the string output. The member name will be present, but the
7077// value will be replaced with "sensitive".
7078func (s SnowconeDeviceConfiguration) String() string {
7079	return awsutil.Prettify(s)
7080}
7081
7082// GoString returns the string representation.
7083//
7084// API parameter values that are decorated as "sensitive" in the API will not
7085// be included in the string output. The member name will be present, but the
7086// value will be replaced with "sensitive".
7087func (s SnowconeDeviceConfiguration) GoString() string {
7088	return s.String()
7089}
7090
7091// SetWirelessConnection sets the WirelessConnection field's value.
7092func (s *SnowconeDeviceConfiguration) SetWirelessConnection(v *WirelessConnection) *SnowconeDeviceConfiguration {
7093	s.WirelessConnection = v
7094	return s
7095}
7096
7097// An object that represents the service or services on the Snow Family device
7098// that your transferred data will be exported from or imported into. AWS Snow
7099// Family supports Amazon S3 and NFS (Network File System).
7100type TargetOnDeviceService struct {
7101	_ struct{} `type:"structure"`
7102
7103	// Specifies the name of the service on the Snow Family device that your transferred
7104	// data will be exported from or imported into.
7105	ServiceName *string `type:"string" enum:"DeviceServiceName"`
7106
7107	// Specifies whether the data is being imported or exported. You can import
7108	// or export the data, or use it locally on the device.
7109	TransferOption *string `type:"string" enum:"TransferOption"`
7110}
7111
7112// String returns the string representation.
7113//
7114// API parameter values that are decorated as "sensitive" in the API will not
7115// be included in the string output. The member name will be present, but the
7116// value will be replaced with "sensitive".
7117func (s TargetOnDeviceService) String() string {
7118	return awsutil.Prettify(s)
7119}
7120
7121// GoString returns the string representation.
7122//
7123// API parameter values that are decorated as "sensitive" in the API will not
7124// be included in the string output. The member name will be present, but the
7125// value will be replaced with "sensitive".
7126func (s TargetOnDeviceService) GoString() string {
7127	return s.String()
7128}
7129
7130// SetServiceName sets the ServiceName field's value.
7131func (s *TargetOnDeviceService) SetServiceName(v string) *TargetOnDeviceService {
7132	s.ServiceName = &v
7133	return s
7134}
7135
7136// SetTransferOption sets the TransferOption field's value.
7137func (s *TargetOnDeviceService) SetTransferOption(v string) *TargetOnDeviceService {
7138	s.TransferOption = &v
7139	return s
7140}
7141
7142// The tax documents required in your AWS Region.
7143type TaxDocuments struct {
7144	_ struct{} `type:"structure"`
7145
7146	// The tax documents required in AWS Regions in India.
7147	IND *INDTaxDocuments `type:"structure"`
7148}
7149
7150// String returns the string representation.
7151//
7152// API parameter values that are decorated as "sensitive" in the API will not
7153// be included in the string output. The member name will be present, but the
7154// value will be replaced with "sensitive".
7155func (s TaxDocuments) String() string {
7156	return awsutil.Prettify(s)
7157}
7158
7159// GoString returns the string representation.
7160//
7161// API parameter values that are decorated as "sensitive" in the API will not
7162// be included in the string output. The member name will be present, but the
7163// value will be replaced with "sensitive".
7164func (s TaxDocuments) GoString() string {
7165	return s.String()
7166}
7167
7168// SetIND sets the IND field's value.
7169func (s *TaxDocuments) SetIND(v *INDTaxDocuments) *TaxDocuments {
7170	s.IND = v
7171	return s
7172}
7173
7174// The address is either outside the serviceable area for your region, or an
7175// error occurred. Check the address with your region's carrier and try again.
7176// If the issue persists, contact AWS Support.
7177type UnsupportedAddressException struct {
7178	_            struct{}                  `type:"structure"`
7179	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7180
7181	Message_ *string `locationName:"Message" min:"1" type:"string"`
7182}
7183
7184// String returns the string representation.
7185//
7186// API parameter values that are decorated as "sensitive" in the API will not
7187// be included in the string output. The member name will be present, but the
7188// value will be replaced with "sensitive".
7189func (s UnsupportedAddressException) String() string {
7190	return awsutil.Prettify(s)
7191}
7192
7193// GoString returns the string representation.
7194//
7195// API parameter values that are decorated as "sensitive" in the API will not
7196// be included in the string output. The member name will be present, but the
7197// value will be replaced with "sensitive".
7198func (s UnsupportedAddressException) GoString() string {
7199	return s.String()
7200}
7201
7202func newErrorUnsupportedAddressException(v protocol.ResponseMetadata) error {
7203	return &UnsupportedAddressException{
7204		RespMetadata: v,
7205	}
7206}
7207
7208// Code returns the exception type name.
7209func (s *UnsupportedAddressException) Code() string {
7210	return "UnsupportedAddressException"
7211}
7212
7213// Message returns the exception's message.
7214func (s *UnsupportedAddressException) Message() string {
7215	if s.Message_ != nil {
7216		return *s.Message_
7217	}
7218	return ""
7219}
7220
7221// OrigErr always returns nil, satisfies awserr.Error interface.
7222func (s *UnsupportedAddressException) OrigErr() error {
7223	return nil
7224}
7225
7226func (s *UnsupportedAddressException) Error() string {
7227	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7228}
7229
7230// Status code returns the HTTP status code for the request's response error.
7231func (s *UnsupportedAddressException) StatusCode() int {
7232	return s.RespMetadata.StatusCode
7233}
7234
7235// RequestID returns the service's response RequestID for request.
7236func (s *UnsupportedAddressException) RequestID() string {
7237	return s.RespMetadata.RequestID
7238}
7239
7240type UpdateClusterInput struct {
7241	_ struct{} `type:"structure"`
7242
7243	// The ID of the updated Address object.
7244	AddressId *string `min:"40" type:"string"`
7245
7246	// The cluster ID of the cluster that you want to update, for example CID123e4567-e89b-12d3-a456-426655440000.
7247	//
7248	// ClusterId is a required field
7249	ClusterId *string `min:"39" type:"string" required:"true"`
7250
7251	// The updated description of this cluster.
7252	Description *string `min:"1" type:"string"`
7253
7254	// The updated ID for the forwarding address for a cluster. This field is not
7255	// supported in most regions.
7256	ForwardingAddressId *string `min:"40" type:"string"`
7257
7258	// The new or updated Notification object.
7259	Notification *Notification `type:"structure"`
7260
7261	// Specifies the service or services on the Snow Family device that your transferred
7262	// data will be exported from or imported into. AWS Snow Family supports Amazon
7263	// S3 and NFS (Network File System).
7264	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
7265
7266	// The updated arrays of JobResource objects that can include updated S3Resource
7267	// objects or LambdaResource objects.
7268	Resources *JobResource `type:"structure"`
7269
7270	// The new role Amazon Resource Name (ARN) that you want to associate with this
7271	// cluster. To create a role ARN, use the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
7272	// API action in AWS Identity and Access Management (IAM).
7273	RoleARN *string `type:"string"`
7274
7275	// The updated shipping option value of this cluster's ShippingDetails object.
7276	ShippingOption *string `type:"string" enum:"ShippingOption"`
7277}
7278
7279// String returns the string representation.
7280//
7281// API parameter values that are decorated as "sensitive" in the API will not
7282// be included in the string output. The member name will be present, but the
7283// value will be replaced with "sensitive".
7284func (s UpdateClusterInput) String() string {
7285	return awsutil.Prettify(s)
7286}
7287
7288// GoString returns the string representation.
7289//
7290// API parameter values that are decorated as "sensitive" in the API will not
7291// be included in the string output. The member name will be present, but the
7292// value will be replaced with "sensitive".
7293func (s UpdateClusterInput) GoString() string {
7294	return s.String()
7295}
7296
7297// Validate inspects the fields of the type to determine if they are valid.
7298func (s *UpdateClusterInput) Validate() error {
7299	invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"}
7300	if s.AddressId != nil && len(*s.AddressId) < 40 {
7301		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
7302	}
7303	if s.ClusterId == nil {
7304		invalidParams.Add(request.NewErrParamRequired("ClusterId"))
7305	}
7306	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
7307		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
7308	}
7309	if s.Description != nil && len(*s.Description) < 1 {
7310		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
7311	}
7312	if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 {
7313		invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40))
7314	}
7315	if s.Resources != nil {
7316		if err := s.Resources.Validate(); err != nil {
7317			invalidParams.AddNested("Resources", err.(request.ErrInvalidParams))
7318		}
7319	}
7320
7321	if invalidParams.Len() > 0 {
7322		return invalidParams
7323	}
7324	return nil
7325}
7326
7327// SetAddressId sets the AddressId field's value.
7328func (s *UpdateClusterInput) SetAddressId(v string) *UpdateClusterInput {
7329	s.AddressId = &v
7330	return s
7331}
7332
7333// SetClusterId sets the ClusterId field's value.
7334func (s *UpdateClusterInput) SetClusterId(v string) *UpdateClusterInput {
7335	s.ClusterId = &v
7336	return s
7337}
7338
7339// SetDescription sets the Description field's value.
7340func (s *UpdateClusterInput) SetDescription(v string) *UpdateClusterInput {
7341	s.Description = &v
7342	return s
7343}
7344
7345// SetForwardingAddressId sets the ForwardingAddressId field's value.
7346func (s *UpdateClusterInput) SetForwardingAddressId(v string) *UpdateClusterInput {
7347	s.ForwardingAddressId = &v
7348	return s
7349}
7350
7351// SetNotification sets the Notification field's value.
7352func (s *UpdateClusterInput) SetNotification(v *Notification) *UpdateClusterInput {
7353	s.Notification = v
7354	return s
7355}
7356
7357// SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
7358func (s *UpdateClusterInput) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *UpdateClusterInput {
7359	s.OnDeviceServiceConfiguration = v
7360	return s
7361}
7362
7363// SetResources sets the Resources field's value.
7364func (s *UpdateClusterInput) SetResources(v *JobResource) *UpdateClusterInput {
7365	s.Resources = v
7366	return s
7367}
7368
7369// SetRoleARN sets the RoleARN field's value.
7370func (s *UpdateClusterInput) SetRoleARN(v string) *UpdateClusterInput {
7371	s.RoleARN = &v
7372	return s
7373}
7374
7375// SetShippingOption sets the ShippingOption field's value.
7376func (s *UpdateClusterInput) SetShippingOption(v string) *UpdateClusterInput {
7377	s.ShippingOption = &v
7378	return s
7379}
7380
7381type UpdateClusterOutput struct {
7382	_ struct{} `type:"structure"`
7383}
7384
7385// String returns the string representation.
7386//
7387// API parameter values that are decorated as "sensitive" in the API will not
7388// be included in the string output. The member name will be present, but the
7389// value will be replaced with "sensitive".
7390func (s UpdateClusterOutput) String() string {
7391	return awsutil.Prettify(s)
7392}
7393
7394// GoString returns the string representation.
7395//
7396// API parameter values that are decorated as "sensitive" in the API will not
7397// be included in the string output. The member name will be present, but the
7398// value will be replaced with "sensitive".
7399func (s UpdateClusterOutput) GoString() string {
7400	return s.String()
7401}
7402
7403type UpdateJobInput struct {
7404	_ struct{} `type:"structure"`
7405
7406	// The ID of the updated Address object.
7407	AddressId *string `min:"40" type:"string"`
7408
7409	// The updated description of this job's JobMetadata object.
7410	Description *string `min:"1" type:"string"`
7411
7412	// The updated ID for the forwarding address for a job. This field is not supported
7413	// in most regions.
7414	ForwardingAddressId *string `min:"40" type:"string"`
7415
7416	// The job ID of the job that you want to update, for example JID123e4567-e89b-12d3-a456-426655440000.
7417	//
7418	// JobId is a required field
7419	JobId *string `min:"39" type:"string" required:"true"`
7420
7421	// The new or updated Notification object.
7422	Notification *Notification `type:"structure"`
7423
7424	// Specifies the service or services on the Snow Family device that your transferred
7425	// data will be exported from or imported into. AWS Snow Family supports Amazon
7426	// S3 and NFS (Network File System).
7427	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
7428
7429	// The updated JobResource object, or the updated JobResource object.
7430	Resources *JobResource `type:"structure"`
7431
7432	// The new role Amazon Resource Name (ARN) that you want to associate with this
7433	// job. To create a role ARN, use the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)AWS
7434	// Identity and Access Management (IAM) API action.
7435	RoleARN *string `type:"string"`
7436
7437	// The updated shipping option value of this job's ShippingDetails object.
7438	ShippingOption *string `type:"string" enum:"ShippingOption"`
7439
7440	// The updated SnowballCapacityPreference of this job's JobMetadata object.
7441	// The 50 TB Snowballs are only available in the US regions.
7442	//
7443	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
7444	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
7445	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
7446	SnowballCapacityPreference *string `type:"string" enum:"Capacity"`
7447}
7448
7449// String returns the string representation.
7450//
7451// API parameter values that are decorated as "sensitive" in the API will not
7452// be included in the string output. The member name will be present, but the
7453// value will be replaced with "sensitive".
7454func (s UpdateJobInput) String() string {
7455	return awsutil.Prettify(s)
7456}
7457
7458// GoString returns the string representation.
7459//
7460// API parameter values that are decorated as "sensitive" in the API will not
7461// be included in the string output. The member name will be present, but the
7462// value will be replaced with "sensitive".
7463func (s UpdateJobInput) GoString() string {
7464	return s.String()
7465}
7466
7467// Validate inspects the fields of the type to determine if they are valid.
7468func (s *UpdateJobInput) Validate() error {
7469	invalidParams := request.ErrInvalidParams{Context: "UpdateJobInput"}
7470	if s.AddressId != nil && len(*s.AddressId) < 40 {
7471		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
7472	}
7473	if s.Description != nil && len(*s.Description) < 1 {
7474		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
7475	}
7476	if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 {
7477		invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40))
7478	}
7479	if s.JobId == nil {
7480		invalidParams.Add(request.NewErrParamRequired("JobId"))
7481	}
7482	if s.JobId != nil && len(*s.JobId) < 39 {
7483		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
7484	}
7485	if s.Resources != nil {
7486		if err := s.Resources.Validate(); err != nil {
7487			invalidParams.AddNested("Resources", err.(request.ErrInvalidParams))
7488		}
7489	}
7490
7491	if invalidParams.Len() > 0 {
7492		return invalidParams
7493	}
7494	return nil
7495}
7496
7497// SetAddressId sets the AddressId field's value.
7498func (s *UpdateJobInput) SetAddressId(v string) *UpdateJobInput {
7499	s.AddressId = &v
7500	return s
7501}
7502
7503// SetDescription sets the Description field's value.
7504func (s *UpdateJobInput) SetDescription(v string) *UpdateJobInput {
7505	s.Description = &v
7506	return s
7507}
7508
7509// SetForwardingAddressId sets the ForwardingAddressId field's value.
7510func (s *UpdateJobInput) SetForwardingAddressId(v string) *UpdateJobInput {
7511	s.ForwardingAddressId = &v
7512	return s
7513}
7514
7515// SetJobId sets the JobId field's value.
7516func (s *UpdateJobInput) SetJobId(v string) *UpdateJobInput {
7517	s.JobId = &v
7518	return s
7519}
7520
7521// SetNotification sets the Notification field's value.
7522func (s *UpdateJobInput) SetNotification(v *Notification) *UpdateJobInput {
7523	s.Notification = v
7524	return s
7525}
7526
7527// SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
7528func (s *UpdateJobInput) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *UpdateJobInput {
7529	s.OnDeviceServiceConfiguration = v
7530	return s
7531}
7532
7533// SetResources sets the Resources field's value.
7534func (s *UpdateJobInput) SetResources(v *JobResource) *UpdateJobInput {
7535	s.Resources = v
7536	return s
7537}
7538
7539// SetRoleARN sets the RoleARN field's value.
7540func (s *UpdateJobInput) SetRoleARN(v string) *UpdateJobInput {
7541	s.RoleARN = &v
7542	return s
7543}
7544
7545// SetShippingOption sets the ShippingOption field's value.
7546func (s *UpdateJobInput) SetShippingOption(v string) *UpdateJobInput {
7547	s.ShippingOption = &v
7548	return s
7549}
7550
7551// SetSnowballCapacityPreference sets the SnowballCapacityPreference field's value.
7552func (s *UpdateJobInput) SetSnowballCapacityPreference(v string) *UpdateJobInput {
7553	s.SnowballCapacityPreference = &v
7554	return s
7555}
7556
7557type UpdateJobOutput struct {
7558	_ struct{} `type:"structure"`
7559}
7560
7561// String returns the string representation.
7562//
7563// API parameter values that are decorated as "sensitive" in the API will not
7564// be included in the string output. The member name will be present, but the
7565// value will be replaced with "sensitive".
7566func (s UpdateJobOutput) String() string {
7567	return awsutil.Prettify(s)
7568}
7569
7570// GoString returns the string representation.
7571//
7572// API parameter values that are decorated as "sensitive" in the API will not
7573// be included in the string output. The member name will be present, but the
7574// value will be replaced with "sensitive".
7575func (s UpdateJobOutput) GoString() string {
7576	return s.String()
7577}
7578
7579type UpdateJobShipmentStateInput struct {
7580	_ struct{} `type:"structure"`
7581
7582	// The job ID of the job whose shipment date you want to update, for example
7583	// JID123e4567-e89b-12d3-a456-426655440000.
7584	//
7585	// JobId is a required field
7586	JobId *string `min:"39" type:"string" required:"true"`
7587
7588	// The state of a device when it is being shipped.
7589	//
7590	// Set to RECEIVED when the device arrives at your location.
7591	//
7592	// Set to RETURNED when you have returned the device to AWS.
7593	//
7594	// ShipmentState is a required field
7595	ShipmentState *string `type:"string" required:"true" enum:"ShipmentState"`
7596}
7597
7598// String returns the string representation.
7599//
7600// API parameter values that are decorated as "sensitive" in the API will not
7601// be included in the string output. The member name will be present, but the
7602// value will be replaced with "sensitive".
7603func (s UpdateJobShipmentStateInput) String() string {
7604	return awsutil.Prettify(s)
7605}
7606
7607// GoString returns the string representation.
7608//
7609// API parameter values that are decorated as "sensitive" in the API will not
7610// be included in the string output. The member name will be present, but the
7611// value will be replaced with "sensitive".
7612func (s UpdateJobShipmentStateInput) GoString() string {
7613	return s.String()
7614}
7615
7616// Validate inspects the fields of the type to determine if they are valid.
7617func (s *UpdateJobShipmentStateInput) Validate() error {
7618	invalidParams := request.ErrInvalidParams{Context: "UpdateJobShipmentStateInput"}
7619	if s.JobId == nil {
7620		invalidParams.Add(request.NewErrParamRequired("JobId"))
7621	}
7622	if s.JobId != nil && len(*s.JobId) < 39 {
7623		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
7624	}
7625	if s.ShipmentState == nil {
7626		invalidParams.Add(request.NewErrParamRequired("ShipmentState"))
7627	}
7628
7629	if invalidParams.Len() > 0 {
7630		return invalidParams
7631	}
7632	return nil
7633}
7634
7635// SetJobId sets the JobId field's value.
7636func (s *UpdateJobShipmentStateInput) SetJobId(v string) *UpdateJobShipmentStateInput {
7637	s.JobId = &v
7638	return s
7639}
7640
7641// SetShipmentState sets the ShipmentState field's value.
7642func (s *UpdateJobShipmentStateInput) SetShipmentState(v string) *UpdateJobShipmentStateInput {
7643	s.ShipmentState = &v
7644	return s
7645}
7646
7647type UpdateJobShipmentStateOutput struct {
7648	_ struct{} `type:"structure"`
7649}
7650
7651// String returns the string representation.
7652//
7653// API parameter values that are decorated as "sensitive" in the API will not
7654// be included in the string output. The member name will be present, but the
7655// value will be replaced with "sensitive".
7656func (s UpdateJobShipmentStateOutput) String() string {
7657	return awsutil.Prettify(s)
7658}
7659
7660// GoString returns the string representation.
7661//
7662// API parameter values that are decorated as "sensitive" in the API will not
7663// be included in the string output. The member name will be present, but the
7664// value will be replaced with "sensitive".
7665func (s UpdateJobShipmentStateOutput) GoString() string {
7666	return s.String()
7667}
7668
7669type UpdateLongTermPricingInput struct {
7670	_ struct{} `type:"structure"`
7671
7672	// If set to true, specifies that the current long-term pricing type for the
7673	// device should be automatically renewed before the long-term pricing contract
7674	// expires.
7675	IsLongTermPricingAutoRenew *bool `type:"boolean"`
7676
7677	// The ID of the long-term pricing type for the device.
7678	//
7679	// LongTermPricingId is a required field
7680	LongTermPricingId *string `min:"41" type:"string" required:"true"`
7681
7682	// Specifies that a device that is ordered with long-term pricing should be
7683	// replaced with a new device.
7684	ReplacementJob *string `min:"39" type:"string"`
7685}
7686
7687// String returns the string representation.
7688//
7689// API parameter values that are decorated as "sensitive" in the API will not
7690// be included in the string output. The member name will be present, but the
7691// value will be replaced with "sensitive".
7692func (s UpdateLongTermPricingInput) String() string {
7693	return awsutil.Prettify(s)
7694}
7695
7696// GoString returns the string representation.
7697//
7698// API parameter values that are decorated as "sensitive" in the API will not
7699// be included in the string output. The member name will be present, but the
7700// value will be replaced with "sensitive".
7701func (s UpdateLongTermPricingInput) GoString() string {
7702	return s.String()
7703}
7704
7705// Validate inspects the fields of the type to determine if they are valid.
7706func (s *UpdateLongTermPricingInput) Validate() error {
7707	invalidParams := request.ErrInvalidParams{Context: "UpdateLongTermPricingInput"}
7708	if s.LongTermPricingId == nil {
7709		invalidParams.Add(request.NewErrParamRequired("LongTermPricingId"))
7710	}
7711	if s.LongTermPricingId != nil && len(*s.LongTermPricingId) < 41 {
7712		invalidParams.Add(request.NewErrParamMinLen("LongTermPricingId", 41))
7713	}
7714	if s.ReplacementJob != nil && len(*s.ReplacementJob) < 39 {
7715		invalidParams.Add(request.NewErrParamMinLen("ReplacementJob", 39))
7716	}
7717
7718	if invalidParams.Len() > 0 {
7719		return invalidParams
7720	}
7721	return nil
7722}
7723
7724// SetIsLongTermPricingAutoRenew sets the IsLongTermPricingAutoRenew field's value.
7725func (s *UpdateLongTermPricingInput) SetIsLongTermPricingAutoRenew(v bool) *UpdateLongTermPricingInput {
7726	s.IsLongTermPricingAutoRenew = &v
7727	return s
7728}
7729
7730// SetLongTermPricingId sets the LongTermPricingId field's value.
7731func (s *UpdateLongTermPricingInput) SetLongTermPricingId(v string) *UpdateLongTermPricingInput {
7732	s.LongTermPricingId = &v
7733	return s
7734}
7735
7736// SetReplacementJob sets the ReplacementJob field's value.
7737func (s *UpdateLongTermPricingInput) SetReplacementJob(v string) *UpdateLongTermPricingInput {
7738	s.ReplacementJob = &v
7739	return s
7740}
7741
7742type UpdateLongTermPricingOutput struct {
7743	_ struct{} `type:"structure"`
7744}
7745
7746// String returns the string representation.
7747//
7748// API parameter values that are decorated as "sensitive" in the API will not
7749// be included in the string output. The member name will be present, but the
7750// value will be replaced with "sensitive".
7751func (s UpdateLongTermPricingOutput) String() string {
7752	return awsutil.Prettify(s)
7753}
7754
7755// GoString returns the string representation.
7756//
7757// API parameter values that are decorated as "sensitive" in the API will not
7758// be included in the string output. The member name will be present, but the
7759// value will be replaced with "sensitive".
7760func (s UpdateLongTermPricingOutput) GoString() string {
7761	return s.String()
7762}
7763
7764// Configures the wireless connection on an AWS Snowcone device.
7765type WirelessConnection struct {
7766	_ struct{} `type:"structure"`
7767
7768	// Enables the Wi-Fi adapter on an AWS Snowcone device.
7769	IsWifiEnabled *bool `type:"boolean"`
7770}
7771
7772// String returns the string representation.
7773//
7774// API parameter values that are decorated as "sensitive" in the API will not
7775// be included in the string output. The member name will be present, but the
7776// value will be replaced with "sensitive".
7777func (s WirelessConnection) String() string {
7778	return awsutil.Prettify(s)
7779}
7780
7781// GoString returns the string representation.
7782//
7783// API parameter values that are decorated as "sensitive" in the API will not
7784// be included in the string output. The member name will be present, but the
7785// value will be replaced with "sensitive".
7786func (s WirelessConnection) GoString() string {
7787	return s.String()
7788}
7789
7790// SetIsWifiEnabled sets the IsWifiEnabled field's value.
7791func (s *WirelessConnection) SetIsWifiEnabled(v bool) *WirelessConnection {
7792	s.IsWifiEnabled = &v
7793	return s
7794}
7795
7796const (
7797	// CapacityT50 is a Capacity enum value
7798	CapacityT50 = "T50"
7799
7800	// CapacityT80 is a Capacity enum value
7801	CapacityT80 = "T80"
7802
7803	// CapacityT100 is a Capacity enum value
7804	CapacityT100 = "T100"
7805
7806	// CapacityT42 is a Capacity enum value
7807	CapacityT42 = "T42"
7808
7809	// CapacityT98 is a Capacity enum value
7810	CapacityT98 = "T98"
7811
7812	// CapacityT8 is a Capacity enum value
7813	CapacityT8 = "T8"
7814
7815	// CapacityT14 is a Capacity enum value
7816	CapacityT14 = "T14"
7817
7818	// CapacityNoPreference is a Capacity enum value
7819	CapacityNoPreference = "NoPreference"
7820)
7821
7822// Capacity_Values returns all elements of the Capacity enum
7823func Capacity_Values() []string {
7824	return []string{
7825		CapacityT50,
7826		CapacityT80,
7827		CapacityT100,
7828		CapacityT42,
7829		CapacityT98,
7830		CapacityT8,
7831		CapacityT14,
7832		CapacityNoPreference,
7833	}
7834}
7835
7836const (
7837	// ClusterStateAwaitingQuorum is a ClusterState enum value
7838	ClusterStateAwaitingQuorum = "AwaitingQuorum"
7839
7840	// ClusterStatePending is a ClusterState enum value
7841	ClusterStatePending = "Pending"
7842
7843	// ClusterStateInUse is a ClusterState enum value
7844	ClusterStateInUse = "InUse"
7845
7846	// ClusterStateComplete is a ClusterState enum value
7847	ClusterStateComplete = "Complete"
7848
7849	// ClusterStateCancelled is a ClusterState enum value
7850	ClusterStateCancelled = "Cancelled"
7851)
7852
7853// ClusterState_Values returns all elements of the ClusterState enum
7854func ClusterState_Values() []string {
7855	return []string{
7856		ClusterStateAwaitingQuorum,
7857		ClusterStatePending,
7858		ClusterStateInUse,
7859		ClusterStateComplete,
7860		ClusterStateCancelled,
7861	}
7862}
7863
7864const (
7865	// DeviceServiceNameNfsOnDeviceService is a DeviceServiceName enum value
7866	DeviceServiceNameNfsOnDeviceService = "NFS_ON_DEVICE_SERVICE"
7867
7868	// DeviceServiceNameS3OnDeviceService is a DeviceServiceName enum value
7869	DeviceServiceNameS3OnDeviceService = "S3_ON_DEVICE_SERVICE"
7870)
7871
7872// DeviceServiceName_Values returns all elements of the DeviceServiceName enum
7873func DeviceServiceName_Values() []string {
7874	return []string{
7875		DeviceServiceNameNfsOnDeviceService,
7876		DeviceServiceNameS3OnDeviceService,
7877	}
7878}
7879
7880const (
7881	// JobStateNew is a JobState enum value
7882	JobStateNew = "New"
7883
7884	// JobStatePreparingAppliance is a JobState enum value
7885	JobStatePreparingAppliance = "PreparingAppliance"
7886
7887	// JobStatePreparingShipment is a JobState enum value
7888	JobStatePreparingShipment = "PreparingShipment"
7889
7890	// JobStateInTransitToCustomer is a JobState enum value
7891	JobStateInTransitToCustomer = "InTransitToCustomer"
7892
7893	// JobStateWithCustomer is a JobState enum value
7894	JobStateWithCustomer = "WithCustomer"
7895
7896	// JobStateInTransitToAws is a JobState enum value
7897	JobStateInTransitToAws = "InTransitToAWS"
7898
7899	// JobStateWithAwssortingFacility is a JobState enum value
7900	JobStateWithAwssortingFacility = "WithAWSSortingFacility"
7901
7902	// JobStateWithAws is a JobState enum value
7903	JobStateWithAws = "WithAWS"
7904
7905	// JobStateInProgress is a JobState enum value
7906	JobStateInProgress = "InProgress"
7907
7908	// JobStateComplete is a JobState enum value
7909	JobStateComplete = "Complete"
7910
7911	// JobStateCancelled is a JobState enum value
7912	JobStateCancelled = "Cancelled"
7913
7914	// JobStateListing is a JobState enum value
7915	JobStateListing = "Listing"
7916
7917	// JobStatePending is a JobState enum value
7918	JobStatePending = "Pending"
7919)
7920
7921// JobState_Values returns all elements of the JobState enum
7922func JobState_Values() []string {
7923	return []string{
7924		JobStateNew,
7925		JobStatePreparingAppliance,
7926		JobStatePreparingShipment,
7927		JobStateInTransitToCustomer,
7928		JobStateWithCustomer,
7929		JobStateInTransitToAws,
7930		JobStateWithAwssortingFacility,
7931		JobStateWithAws,
7932		JobStateInProgress,
7933		JobStateComplete,
7934		JobStateCancelled,
7935		JobStateListing,
7936		JobStatePending,
7937	}
7938}
7939
7940const (
7941	// JobTypeImport is a JobType enum value
7942	JobTypeImport = "IMPORT"
7943
7944	// JobTypeExport is a JobType enum value
7945	JobTypeExport = "EXPORT"
7946
7947	// JobTypeLocalUse is a JobType enum value
7948	JobTypeLocalUse = "LOCAL_USE"
7949)
7950
7951// JobType_Values returns all elements of the JobType enum
7952func JobType_Values() []string {
7953	return []string{
7954		JobTypeImport,
7955		JobTypeExport,
7956		JobTypeLocalUse,
7957	}
7958}
7959
7960const (
7961	// LongTermPricingTypeOneYear is a LongTermPricingType enum value
7962	LongTermPricingTypeOneYear = "OneYear"
7963
7964	// LongTermPricingTypeThreeYear is a LongTermPricingType enum value
7965	LongTermPricingTypeThreeYear = "ThreeYear"
7966)
7967
7968// LongTermPricingType_Values returns all elements of the LongTermPricingType enum
7969func LongTermPricingType_Values() []string {
7970	return []string{
7971		LongTermPricingTypeOneYear,
7972		LongTermPricingTypeThreeYear,
7973	}
7974}
7975
7976const (
7977	// RemoteManagementInstalledOnly is a RemoteManagement enum value
7978	RemoteManagementInstalledOnly = "INSTALLED_ONLY"
7979
7980	// RemoteManagementInstalledAutostart is a RemoteManagement enum value
7981	RemoteManagementInstalledAutostart = "INSTALLED_AUTOSTART"
7982)
7983
7984// RemoteManagement_Values returns all elements of the RemoteManagement enum
7985func RemoteManagement_Values() []string {
7986	return []string{
7987		RemoteManagementInstalledOnly,
7988		RemoteManagementInstalledAutostart,
7989	}
7990}
7991
7992const (
7993	// ShipmentStateReceived is a ShipmentState enum value
7994	ShipmentStateReceived = "RECEIVED"
7995
7996	// ShipmentStateReturned is a ShipmentState enum value
7997	ShipmentStateReturned = "RETURNED"
7998)
7999
8000// ShipmentState_Values returns all elements of the ShipmentState enum
8001func ShipmentState_Values() []string {
8002	return []string{
8003		ShipmentStateReceived,
8004		ShipmentStateReturned,
8005	}
8006}
8007
8008const (
8009	// ShippingLabelStatusInProgress is a ShippingLabelStatus enum value
8010	ShippingLabelStatusInProgress = "InProgress"
8011
8012	// ShippingLabelStatusTimedOut is a ShippingLabelStatus enum value
8013	ShippingLabelStatusTimedOut = "TimedOut"
8014
8015	// ShippingLabelStatusSucceeded is a ShippingLabelStatus enum value
8016	ShippingLabelStatusSucceeded = "Succeeded"
8017
8018	// ShippingLabelStatusFailed is a ShippingLabelStatus enum value
8019	ShippingLabelStatusFailed = "Failed"
8020)
8021
8022// ShippingLabelStatus_Values returns all elements of the ShippingLabelStatus enum
8023func ShippingLabelStatus_Values() []string {
8024	return []string{
8025		ShippingLabelStatusInProgress,
8026		ShippingLabelStatusTimedOut,
8027		ShippingLabelStatusSucceeded,
8028		ShippingLabelStatusFailed,
8029	}
8030}
8031
8032const (
8033	// ShippingOptionSecondDay is a ShippingOption enum value
8034	ShippingOptionSecondDay = "SECOND_DAY"
8035
8036	// ShippingOptionNextDay is a ShippingOption enum value
8037	ShippingOptionNextDay = "NEXT_DAY"
8038
8039	// ShippingOptionExpress is a ShippingOption enum value
8040	ShippingOptionExpress = "EXPRESS"
8041
8042	// ShippingOptionStandard is a ShippingOption enum value
8043	ShippingOptionStandard = "STANDARD"
8044)
8045
8046// ShippingOption_Values returns all elements of the ShippingOption enum
8047func ShippingOption_Values() []string {
8048	return []string{
8049		ShippingOptionSecondDay,
8050		ShippingOptionNextDay,
8051		ShippingOptionExpress,
8052		ShippingOptionStandard,
8053	}
8054}
8055
8056const (
8057	// StorageUnitTb is a StorageUnit enum value
8058	StorageUnitTb = "TB"
8059)
8060
8061// StorageUnit_Values returns all elements of the StorageUnit enum
8062func StorageUnit_Values() []string {
8063	return []string{
8064		StorageUnitTb,
8065	}
8066}
8067
8068const (
8069	// TransferOptionImport is a TransferOption enum value
8070	TransferOptionImport = "IMPORT"
8071
8072	// TransferOptionExport is a TransferOption enum value
8073	TransferOptionExport = "EXPORT"
8074
8075	// TransferOptionLocalUse is a TransferOption enum value
8076	TransferOptionLocalUse = "LOCAL_USE"
8077)
8078
8079// TransferOption_Values returns all elements of the TransferOption enum
8080func TransferOption_Values() []string {
8081	return []string{
8082		TransferOptionImport,
8083		TransferOptionExport,
8084		TransferOptionLocalUse,
8085	}
8086}
8087
8088const (
8089	// TypeStandard is a Type enum value
8090	TypeStandard = "STANDARD"
8091
8092	// TypeEdge is a Type enum value
8093	TypeEdge = "EDGE"
8094
8095	// TypeEdgeC is a Type enum value
8096	TypeEdgeC = "EDGE_C"
8097
8098	// TypeEdgeCg is a Type enum value
8099	TypeEdgeCg = "EDGE_CG"
8100
8101	// TypeEdgeS is a Type enum value
8102	TypeEdgeS = "EDGE_S"
8103
8104	// TypeSnc1Hdd is a Type enum value
8105	TypeSnc1Hdd = "SNC1_HDD"
8106
8107	// TypeSnc1Ssd is a Type enum value
8108	TypeSnc1Ssd = "SNC1_SSD"
8109)
8110
8111// Type_Values returns all elements of the Type enum
8112func Type_Values() []string {
8113	return []string{
8114		TypeStandard,
8115		TypeEdge,
8116		TypeEdgeC,
8117		TypeEdgeCg,
8118		TypeEdgeS,
8119		TypeSnc1Hdd,
8120		TypeSnc1Ssd,
8121	}
8122}
8123