1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package storagegateway
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)
14
15const opActivateGateway = "ActivateGateway"
16
17// ActivateGatewayRequest generates a "aws/request.Request" representing the
18// client's request for the ActivateGateway operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See ActivateGateway for more information on using the ActivateGateway
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the ActivateGatewayRequest method.
33//    req, resp := client.ActivateGatewayRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ActivateGateway
41func (c *StorageGateway) ActivateGatewayRequest(input *ActivateGatewayInput) (req *request.Request, output *ActivateGatewayOutput) {
42	op := &request.Operation{
43		Name:       opActivateGateway,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &ActivateGatewayInput{}
50	}
51
52	output = &ActivateGatewayOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// ActivateGateway API operation for AWS Storage Gateway.
58//
59// Activates the gateway you previously deployed on your host. In the activation
60// process, you specify information such as the AWS Region that you want to
61// use for storing snapshots or tapes, the time zone for scheduled snapshots
62// the gateway snapshot schedule window, an activation key, and a name for your
63// gateway. The activation process also associates your gateway with your account;
64// for more information, see UpdateGatewayInformation.
65//
66// You must turn on the gateway VM before you can activate your gateway.
67//
68// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
69// with awserr.Error's Code and Message methods to get detailed information about
70// the error.
71//
72// See the AWS API reference guide for AWS Storage Gateway's
73// API operation ActivateGateway for usage and error information.
74//
75// Returned Error Types:
76//   * InvalidGatewayRequestException
77//   An exception occurred because an invalid gateway request was issued to the
78//   service. For more information, see the error and message fields.
79//
80//   * InternalServerError
81//   An internal server error has occurred during the request. For more information,
82//   see the error and message fields.
83//
84// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ActivateGateway
85func (c *StorageGateway) ActivateGateway(input *ActivateGatewayInput) (*ActivateGatewayOutput, error) {
86	req, out := c.ActivateGatewayRequest(input)
87	return out, req.Send()
88}
89
90// ActivateGatewayWithContext is the same as ActivateGateway with the addition of
91// the ability to pass a context and additional request options.
92//
93// See ActivateGateway for details on how to use this API operation.
94//
95// The context must be non-nil and will be used for request cancellation. If
96// the context is nil a panic will occur. In the future the SDK may create
97// sub-contexts for http.Requests. See https://golang.org/pkg/context/
98// for more information on using Contexts.
99func (c *StorageGateway) ActivateGatewayWithContext(ctx aws.Context, input *ActivateGatewayInput, opts ...request.Option) (*ActivateGatewayOutput, error) {
100	req, out := c.ActivateGatewayRequest(input)
101	req.SetContext(ctx)
102	req.ApplyOptions(opts...)
103	return out, req.Send()
104}
105
106const opAddCache = "AddCache"
107
108// AddCacheRequest generates a "aws/request.Request" representing the
109// client's request for the AddCache operation. The "output" return
110// value will be populated with the request's response once the request completes
111// successfully.
112//
113// Use "Send" method on the returned Request to send the API call to the service.
114// the "output" return value is not valid until after Send returns without error.
115//
116// See AddCache for more information on using the AddCache
117// API call, and error handling.
118//
119// This method is useful when you want to inject custom logic or configuration
120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
121//
122//
123//    // Example sending a request using the AddCacheRequest method.
124//    req, resp := client.AddCacheRequest(params)
125//
126//    err := req.Send()
127//    if err == nil { // resp is now filled
128//        fmt.Println(resp)
129//    }
130//
131// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddCache
132func (c *StorageGateway) AddCacheRequest(input *AddCacheInput) (req *request.Request, output *AddCacheOutput) {
133	op := &request.Operation{
134		Name:       opAddCache,
135		HTTPMethod: "POST",
136		HTTPPath:   "/",
137	}
138
139	if input == nil {
140		input = &AddCacheInput{}
141	}
142
143	output = &AddCacheOutput{}
144	req = c.newRequest(op, input, output)
145	return
146}
147
148// AddCache API operation for AWS Storage Gateway.
149//
150// Configures one or more gateway local disks as cache for a gateway. This operation
151// is only supported in the cached volume, tape and file gateway type (see Storage
152// Gateway Concepts (https://docs.aws.amazon.com/storagegateway/latest/userguide/StorageGatewayConcepts.html)).
153//
154// In the request, you specify the gateway Amazon Resource Name (ARN) to which
155// you want to add cache, and one or more disk IDs that you want to configure
156// as cache.
157//
158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
159// with awserr.Error's Code and Message methods to get detailed information about
160// the error.
161//
162// See the AWS API reference guide for AWS Storage Gateway's
163// API operation AddCache for usage and error information.
164//
165// Returned Error Types:
166//   * InvalidGatewayRequestException
167//   An exception occurred because an invalid gateway request was issued to the
168//   service. For more information, see the error and message fields.
169//
170//   * InternalServerError
171//   An internal server error has occurred during the request. For more information,
172//   see the error and message fields.
173//
174// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddCache
175func (c *StorageGateway) AddCache(input *AddCacheInput) (*AddCacheOutput, error) {
176	req, out := c.AddCacheRequest(input)
177	return out, req.Send()
178}
179
180// AddCacheWithContext is the same as AddCache with the addition of
181// the ability to pass a context and additional request options.
182//
183// See AddCache for details on how to use this API operation.
184//
185// The context must be non-nil and will be used for request cancellation. If
186// the context is nil a panic will occur. In the future the SDK may create
187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
188// for more information on using Contexts.
189func (c *StorageGateway) AddCacheWithContext(ctx aws.Context, input *AddCacheInput, opts ...request.Option) (*AddCacheOutput, error) {
190	req, out := c.AddCacheRequest(input)
191	req.SetContext(ctx)
192	req.ApplyOptions(opts...)
193	return out, req.Send()
194}
195
196const opAddTagsToResource = "AddTagsToResource"
197
198// AddTagsToResourceRequest generates a "aws/request.Request" representing the
199// client's request for the AddTagsToResource operation. The "output" return
200// value will be populated with the request's response once the request completes
201// successfully.
202//
203// Use "Send" method on the returned Request to send the API call to the service.
204// the "output" return value is not valid until after Send returns without error.
205//
206// See AddTagsToResource for more information on using the AddTagsToResource
207// API call, and error handling.
208//
209// This method is useful when you want to inject custom logic or configuration
210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
211//
212//
213//    // Example sending a request using the AddTagsToResourceRequest method.
214//    req, resp := client.AddTagsToResourceRequest(params)
215//
216//    err := req.Send()
217//    if err == nil { // resp is now filled
218//        fmt.Println(resp)
219//    }
220//
221// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddTagsToResource
222func (c *StorageGateway) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
223	op := &request.Operation{
224		Name:       opAddTagsToResource,
225		HTTPMethod: "POST",
226		HTTPPath:   "/",
227	}
228
229	if input == nil {
230		input = &AddTagsToResourceInput{}
231	}
232
233	output = &AddTagsToResourceOutput{}
234	req = c.newRequest(op, input, output)
235	return
236}
237
238// AddTagsToResource API operation for AWS Storage Gateway.
239//
240// Adds one or more tags to the specified resource. You use tags to add metadata
241// to resources, which you can use to categorize these resources. For example,
242// you can categorize resources by purpose, owner, environment, or team. Each
243// tag consists of a key and a value, which you define. You can add tags to
244// the following AWS Storage Gateway resources:
245//
246//    * Storage gateways of all types
247//
248//    * Storage volumes
249//
250//    * Virtual tapes
251//
252//    * NFS and SMB file shares
253//
254// You can create a maximum of 50 tags for each resource. Virtual tapes and
255// storage volumes that are recovered to a new gateway maintain their tags.
256//
257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
258// with awserr.Error's Code and Message methods to get detailed information about
259// the error.
260//
261// See the AWS API reference guide for AWS Storage Gateway's
262// API operation AddTagsToResource for usage and error information.
263//
264// Returned Error Types:
265//   * InvalidGatewayRequestException
266//   An exception occurred because an invalid gateway request was issued to the
267//   service. For more information, see the error and message fields.
268//
269//   * InternalServerError
270//   An internal server error has occurred during the request. For more information,
271//   see the error and message fields.
272//
273// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddTagsToResource
274func (c *StorageGateway) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
275	req, out := c.AddTagsToResourceRequest(input)
276	return out, req.Send()
277}
278
279// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
280// the ability to pass a context and additional request options.
281//
282// See AddTagsToResource for details on how to use this API operation.
283//
284// The context must be non-nil and will be used for request cancellation. If
285// the context is nil a panic will occur. In the future the SDK may create
286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
287// for more information on using Contexts.
288func (c *StorageGateway) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
289	req, out := c.AddTagsToResourceRequest(input)
290	req.SetContext(ctx)
291	req.ApplyOptions(opts...)
292	return out, req.Send()
293}
294
295const opAddUploadBuffer = "AddUploadBuffer"
296
297// AddUploadBufferRequest generates a "aws/request.Request" representing the
298// client's request for the AddUploadBuffer operation. The "output" return
299// value will be populated with the request's response once the request completes
300// successfully.
301//
302// Use "Send" method on the returned Request to send the API call to the service.
303// the "output" return value is not valid until after Send returns without error.
304//
305// See AddUploadBuffer for more information on using the AddUploadBuffer
306// API call, and error handling.
307//
308// This method is useful when you want to inject custom logic or configuration
309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
310//
311//
312//    // Example sending a request using the AddUploadBufferRequest method.
313//    req, resp := client.AddUploadBufferRequest(params)
314//
315//    err := req.Send()
316//    if err == nil { // resp is now filled
317//        fmt.Println(resp)
318//    }
319//
320// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddUploadBuffer
321func (c *StorageGateway) AddUploadBufferRequest(input *AddUploadBufferInput) (req *request.Request, output *AddUploadBufferOutput) {
322	op := &request.Operation{
323		Name:       opAddUploadBuffer,
324		HTTPMethod: "POST",
325		HTTPPath:   "/",
326	}
327
328	if input == nil {
329		input = &AddUploadBufferInput{}
330	}
331
332	output = &AddUploadBufferOutput{}
333	req = c.newRequest(op, input, output)
334	return
335}
336
337// AddUploadBuffer API operation for AWS Storage Gateway.
338//
339// Configures one or more gateway local disks as upload buffer for a specified
340// gateway. This operation is supported for the stored volume, cached volume
341// and tape gateway types.
342//
343// In the request, you specify the gateway Amazon Resource Name (ARN) to which
344// you want to add upload buffer, and one or more disk IDs that you want to
345// configure as upload buffer.
346//
347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
348// with awserr.Error's Code and Message methods to get detailed information about
349// the error.
350//
351// See the AWS API reference guide for AWS Storage Gateway's
352// API operation AddUploadBuffer for usage and error information.
353//
354// Returned Error Types:
355//   * InvalidGatewayRequestException
356//   An exception occurred because an invalid gateway request was issued to the
357//   service. For more information, see the error and message fields.
358//
359//   * InternalServerError
360//   An internal server error has occurred during the request. For more information,
361//   see the error and message fields.
362//
363// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddUploadBuffer
364func (c *StorageGateway) AddUploadBuffer(input *AddUploadBufferInput) (*AddUploadBufferOutput, error) {
365	req, out := c.AddUploadBufferRequest(input)
366	return out, req.Send()
367}
368
369// AddUploadBufferWithContext is the same as AddUploadBuffer with the addition of
370// the ability to pass a context and additional request options.
371//
372// See AddUploadBuffer for details on how to use this API operation.
373//
374// The context must be non-nil and will be used for request cancellation. If
375// the context is nil a panic will occur. In the future the SDK may create
376// sub-contexts for http.Requests. See https://golang.org/pkg/context/
377// for more information on using Contexts.
378func (c *StorageGateway) AddUploadBufferWithContext(ctx aws.Context, input *AddUploadBufferInput, opts ...request.Option) (*AddUploadBufferOutput, error) {
379	req, out := c.AddUploadBufferRequest(input)
380	req.SetContext(ctx)
381	req.ApplyOptions(opts...)
382	return out, req.Send()
383}
384
385const opAddWorkingStorage = "AddWorkingStorage"
386
387// AddWorkingStorageRequest generates a "aws/request.Request" representing the
388// client's request for the AddWorkingStorage operation. The "output" return
389// value will be populated with the request's response once the request completes
390// successfully.
391//
392// Use "Send" method on the returned Request to send the API call to the service.
393// the "output" return value is not valid until after Send returns without error.
394//
395// See AddWorkingStorage for more information on using the AddWorkingStorage
396// API call, and error handling.
397//
398// This method is useful when you want to inject custom logic or configuration
399// into the SDK's request lifecycle. Such as custom headers, or retry logic.
400//
401//
402//    // Example sending a request using the AddWorkingStorageRequest method.
403//    req, resp := client.AddWorkingStorageRequest(params)
404//
405//    err := req.Send()
406//    if err == nil { // resp is now filled
407//        fmt.Println(resp)
408//    }
409//
410// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddWorkingStorage
411func (c *StorageGateway) AddWorkingStorageRequest(input *AddWorkingStorageInput) (req *request.Request, output *AddWorkingStorageOutput) {
412	op := &request.Operation{
413		Name:       opAddWorkingStorage,
414		HTTPMethod: "POST",
415		HTTPPath:   "/",
416	}
417
418	if input == nil {
419		input = &AddWorkingStorageInput{}
420	}
421
422	output = &AddWorkingStorageOutput{}
423	req = c.newRequest(op, input, output)
424	return
425}
426
427// AddWorkingStorage API operation for AWS Storage Gateway.
428//
429// Configures one or more gateway local disks as working storage for a gateway.
430// This operation is only supported in the stored volume gateway type. This
431// operation is deprecated in cached volume API version 20120630. Use AddUploadBuffer
432// instead.
433//
434// Working storage is also referred to as upload buffer. You can also use the
435// AddUploadBuffer operation to add upload buffer to a stored volume gateway.
436//
437// In the request, you specify the gateway Amazon Resource Name (ARN) to which
438// you want to add working storage, and one or more disk IDs that you want to
439// configure as working storage.
440//
441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
442// with awserr.Error's Code and Message methods to get detailed information about
443// the error.
444//
445// See the AWS API reference guide for AWS Storage Gateway's
446// API operation AddWorkingStorage for usage and error information.
447//
448// Returned Error Types:
449//   * InvalidGatewayRequestException
450//   An exception occurred because an invalid gateway request was issued to the
451//   service. For more information, see the error and message fields.
452//
453//   * InternalServerError
454//   An internal server error has occurred during the request. For more information,
455//   see the error and message fields.
456//
457// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddWorkingStorage
458func (c *StorageGateway) AddWorkingStorage(input *AddWorkingStorageInput) (*AddWorkingStorageOutput, error) {
459	req, out := c.AddWorkingStorageRequest(input)
460	return out, req.Send()
461}
462
463// AddWorkingStorageWithContext is the same as AddWorkingStorage with the addition of
464// the ability to pass a context and additional request options.
465//
466// See AddWorkingStorage for details on how to use this API operation.
467//
468// The context must be non-nil and will be used for request cancellation. If
469// the context is nil a panic will occur. In the future the SDK may create
470// sub-contexts for http.Requests. See https://golang.org/pkg/context/
471// for more information on using Contexts.
472func (c *StorageGateway) AddWorkingStorageWithContext(ctx aws.Context, input *AddWorkingStorageInput, opts ...request.Option) (*AddWorkingStorageOutput, error) {
473	req, out := c.AddWorkingStorageRequest(input)
474	req.SetContext(ctx)
475	req.ApplyOptions(opts...)
476	return out, req.Send()
477}
478
479const opAssignTapePool = "AssignTapePool"
480
481// AssignTapePoolRequest generates a "aws/request.Request" representing the
482// client's request for the AssignTapePool operation. The "output" return
483// value will be populated with the request's response once the request completes
484// successfully.
485//
486// Use "Send" method on the returned Request to send the API call to the service.
487// the "output" return value is not valid until after Send returns without error.
488//
489// See AssignTapePool for more information on using the AssignTapePool
490// API call, and error handling.
491//
492// This method is useful when you want to inject custom logic or configuration
493// into the SDK's request lifecycle. Such as custom headers, or retry logic.
494//
495//
496//    // Example sending a request using the AssignTapePoolRequest method.
497//    req, resp := client.AssignTapePoolRequest(params)
498//
499//    err := req.Send()
500//    if err == nil { // resp is now filled
501//        fmt.Println(resp)
502//    }
503//
504// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AssignTapePool
505func (c *StorageGateway) AssignTapePoolRequest(input *AssignTapePoolInput) (req *request.Request, output *AssignTapePoolOutput) {
506	op := &request.Operation{
507		Name:       opAssignTapePool,
508		HTTPMethod: "POST",
509		HTTPPath:   "/",
510	}
511
512	if input == nil {
513		input = &AssignTapePoolInput{}
514	}
515
516	output = &AssignTapePoolOutput{}
517	req = c.newRequest(op, input, output)
518	return
519}
520
521// AssignTapePool API operation for AWS Storage Gateway.
522//
523// Assigns a tape to a tape pool for archiving. The tape assigned to a pool
524// is archived in the S3 storage class that is associated with the pool. When
525// you use your backup application to eject the tape, the tape is archived directly
526// into the S3 storage class (Glacier or Deep Archive) that corresponds to the
527// pool.
528//
529// Valid values: "GLACIER", "DEEP_ARCHIVE"
530//
531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
532// with awserr.Error's Code and Message methods to get detailed information about
533// the error.
534//
535// See the AWS API reference guide for AWS Storage Gateway's
536// API operation AssignTapePool for usage and error information.
537//
538// Returned Error Types:
539//   * InvalidGatewayRequestException
540//   An exception occurred because an invalid gateway request was issued to the
541//   service. For more information, see the error and message fields.
542//
543//   * InternalServerError
544//   An internal server error has occurred during the request. For more information,
545//   see the error and message fields.
546//
547// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AssignTapePool
548func (c *StorageGateway) AssignTapePool(input *AssignTapePoolInput) (*AssignTapePoolOutput, error) {
549	req, out := c.AssignTapePoolRequest(input)
550	return out, req.Send()
551}
552
553// AssignTapePoolWithContext is the same as AssignTapePool with the addition of
554// the ability to pass a context and additional request options.
555//
556// See AssignTapePool for details on how to use this API operation.
557//
558// The context must be non-nil and will be used for request cancellation. If
559// the context is nil a panic will occur. In the future the SDK may create
560// sub-contexts for http.Requests. See https://golang.org/pkg/context/
561// for more information on using Contexts.
562func (c *StorageGateway) AssignTapePoolWithContext(ctx aws.Context, input *AssignTapePoolInput, opts ...request.Option) (*AssignTapePoolOutput, error) {
563	req, out := c.AssignTapePoolRequest(input)
564	req.SetContext(ctx)
565	req.ApplyOptions(opts...)
566	return out, req.Send()
567}
568
569const opAttachVolume = "AttachVolume"
570
571// AttachVolumeRequest generates a "aws/request.Request" representing the
572// client's request for the AttachVolume operation. The "output" return
573// value will be populated with the request's response once the request completes
574// successfully.
575//
576// Use "Send" method on the returned Request to send the API call to the service.
577// the "output" return value is not valid until after Send returns without error.
578//
579// See AttachVolume for more information on using the AttachVolume
580// API call, and error handling.
581//
582// This method is useful when you want to inject custom logic or configuration
583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
584//
585//
586//    // Example sending a request using the AttachVolumeRequest method.
587//    req, resp := client.AttachVolumeRequest(params)
588//
589//    err := req.Send()
590//    if err == nil { // resp is now filled
591//        fmt.Println(resp)
592//    }
593//
594// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AttachVolume
595func (c *StorageGateway) AttachVolumeRequest(input *AttachVolumeInput) (req *request.Request, output *AttachVolumeOutput) {
596	op := &request.Operation{
597		Name:       opAttachVolume,
598		HTTPMethod: "POST",
599		HTTPPath:   "/",
600	}
601
602	if input == nil {
603		input = &AttachVolumeInput{}
604	}
605
606	output = &AttachVolumeOutput{}
607	req = c.newRequest(op, input, output)
608	return
609}
610
611// AttachVolume API operation for AWS Storage Gateway.
612//
613// Connects a volume to an iSCSI connection and then attaches the volume to
614// the specified gateway. Detaching and attaching a volume enables you to recover
615// your data from one gateway to a different gateway without creating a snapshot.
616// It also makes it easier to move your volumes from an on-premises gateway
617// to a gateway hosted on an Amazon EC2 instance.
618//
619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
620// with awserr.Error's Code and Message methods to get detailed information about
621// the error.
622//
623// See the AWS API reference guide for AWS Storage Gateway's
624// API operation AttachVolume for usage and error information.
625//
626// Returned Error Types:
627//   * InvalidGatewayRequestException
628//   An exception occurred because an invalid gateway request was issued to the
629//   service. For more information, see the error and message fields.
630//
631//   * InternalServerError
632//   An internal server error has occurred during the request. For more information,
633//   see the error and message fields.
634//
635// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AttachVolume
636func (c *StorageGateway) AttachVolume(input *AttachVolumeInput) (*AttachVolumeOutput, error) {
637	req, out := c.AttachVolumeRequest(input)
638	return out, req.Send()
639}
640
641// AttachVolumeWithContext is the same as AttachVolume with the addition of
642// the ability to pass a context and additional request options.
643//
644// See AttachVolume for details on how to use this API operation.
645//
646// The context must be non-nil and will be used for request cancellation. If
647// the context is nil a panic will occur. In the future the SDK may create
648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
649// for more information on using Contexts.
650func (c *StorageGateway) AttachVolumeWithContext(ctx aws.Context, input *AttachVolumeInput, opts ...request.Option) (*AttachVolumeOutput, error) {
651	req, out := c.AttachVolumeRequest(input)
652	req.SetContext(ctx)
653	req.ApplyOptions(opts...)
654	return out, req.Send()
655}
656
657const opCancelArchival = "CancelArchival"
658
659// CancelArchivalRequest generates a "aws/request.Request" representing the
660// client's request for the CancelArchival operation. The "output" return
661// value will be populated with the request's response once the request completes
662// successfully.
663//
664// Use "Send" method on the returned Request to send the API call to the service.
665// the "output" return value is not valid until after Send returns without error.
666//
667// See CancelArchival for more information on using the CancelArchival
668// API call, and error handling.
669//
670// This method is useful when you want to inject custom logic or configuration
671// into the SDK's request lifecycle. Such as custom headers, or retry logic.
672//
673//
674//    // Example sending a request using the CancelArchivalRequest method.
675//    req, resp := client.CancelArchivalRequest(params)
676//
677//    err := req.Send()
678//    if err == nil { // resp is now filled
679//        fmt.Println(resp)
680//    }
681//
682// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CancelArchival
683func (c *StorageGateway) CancelArchivalRequest(input *CancelArchivalInput) (req *request.Request, output *CancelArchivalOutput) {
684	op := &request.Operation{
685		Name:       opCancelArchival,
686		HTTPMethod: "POST",
687		HTTPPath:   "/",
688	}
689
690	if input == nil {
691		input = &CancelArchivalInput{}
692	}
693
694	output = &CancelArchivalOutput{}
695	req = c.newRequest(op, input, output)
696	return
697}
698
699// CancelArchival API operation for AWS Storage Gateway.
700//
701// Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after
702// the archiving process is initiated. This operation is only supported in the
703// tape gateway type.
704//
705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
706// with awserr.Error's Code and Message methods to get detailed information about
707// the error.
708//
709// See the AWS API reference guide for AWS Storage Gateway's
710// API operation CancelArchival for usage and error information.
711//
712// Returned Error Types:
713//   * InvalidGatewayRequestException
714//   An exception occurred because an invalid gateway request was issued to the
715//   service. For more information, see the error and message fields.
716//
717//   * InternalServerError
718//   An internal server error has occurred during the request. For more information,
719//   see the error and message fields.
720//
721// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CancelArchival
722func (c *StorageGateway) CancelArchival(input *CancelArchivalInput) (*CancelArchivalOutput, error) {
723	req, out := c.CancelArchivalRequest(input)
724	return out, req.Send()
725}
726
727// CancelArchivalWithContext is the same as CancelArchival with the addition of
728// the ability to pass a context and additional request options.
729//
730// See CancelArchival for details on how to use this API operation.
731//
732// The context must be non-nil and will be used for request cancellation. If
733// the context is nil a panic will occur. In the future the SDK may create
734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
735// for more information on using Contexts.
736func (c *StorageGateway) CancelArchivalWithContext(ctx aws.Context, input *CancelArchivalInput, opts ...request.Option) (*CancelArchivalOutput, error) {
737	req, out := c.CancelArchivalRequest(input)
738	req.SetContext(ctx)
739	req.ApplyOptions(opts...)
740	return out, req.Send()
741}
742
743const opCancelRetrieval = "CancelRetrieval"
744
745// CancelRetrievalRequest generates a "aws/request.Request" representing the
746// client's request for the CancelRetrieval operation. The "output" return
747// value will be populated with the request's response once the request completes
748// successfully.
749//
750// Use "Send" method on the returned Request to send the API call to the service.
751// the "output" return value is not valid until after Send returns without error.
752//
753// See CancelRetrieval for more information on using the CancelRetrieval
754// API call, and error handling.
755//
756// This method is useful when you want to inject custom logic or configuration
757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
758//
759//
760//    // Example sending a request using the CancelRetrievalRequest method.
761//    req, resp := client.CancelRetrievalRequest(params)
762//
763//    err := req.Send()
764//    if err == nil { // resp is now filled
765//        fmt.Println(resp)
766//    }
767//
768// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CancelRetrieval
769func (c *StorageGateway) CancelRetrievalRequest(input *CancelRetrievalInput) (req *request.Request, output *CancelRetrievalOutput) {
770	op := &request.Operation{
771		Name:       opCancelRetrieval,
772		HTTPMethod: "POST",
773		HTTPPath:   "/",
774	}
775
776	if input == nil {
777		input = &CancelRetrievalInput{}
778	}
779
780	output = &CancelRetrievalOutput{}
781	req = c.newRequest(op, input, output)
782	return
783}
784
785// CancelRetrieval API operation for AWS Storage Gateway.
786//
787// Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to
788// a gateway after the retrieval process is initiated. The virtual tape is returned
789// to the VTS. This operation is only supported in the tape gateway type.
790//
791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
792// with awserr.Error's Code and Message methods to get detailed information about
793// the error.
794//
795// See the AWS API reference guide for AWS Storage Gateway's
796// API operation CancelRetrieval for usage and error information.
797//
798// Returned Error Types:
799//   * InvalidGatewayRequestException
800//   An exception occurred because an invalid gateway request was issued to the
801//   service. For more information, see the error and message fields.
802//
803//   * InternalServerError
804//   An internal server error has occurred during the request. For more information,
805//   see the error and message fields.
806//
807// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CancelRetrieval
808func (c *StorageGateway) CancelRetrieval(input *CancelRetrievalInput) (*CancelRetrievalOutput, error) {
809	req, out := c.CancelRetrievalRequest(input)
810	return out, req.Send()
811}
812
813// CancelRetrievalWithContext is the same as CancelRetrieval with the addition of
814// the ability to pass a context and additional request options.
815//
816// See CancelRetrieval for details on how to use this API operation.
817//
818// The context must be non-nil and will be used for request cancellation. If
819// the context is nil a panic will occur. In the future the SDK may create
820// sub-contexts for http.Requests. See https://golang.org/pkg/context/
821// for more information on using Contexts.
822func (c *StorageGateway) CancelRetrievalWithContext(ctx aws.Context, input *CancelRetrievalInput, opts ...request.Option) (*CancelRetrievalOutput, error) {
823	req, out := c.CancelRetrievalRequest(input)
824	req.SetContext(ctx)
825	req.ApplyOptions(opts...)
826	return out, req.Send()
827}
828
829const opCreateCachediSCSIVolume = "CreateCachediSCSIVolume"
830
831// CreateCachediSCSIVolumeRequest generates a "aws/request.Request" representing the
832// client's request for the CreateCachediSCSIVolume operation. The "output" return
833// value will be populated with the request's response once the request completes
834// successfully.
835//
836// Use "Send" method on the returned Request to send the API call to the service.
837// the "output" return value is not valid until after Send returns without error.
838//
839// See CreateCachediSCSIVolume for more information on using the CreateCachediSCSIVolume
840// API call, and error handling.
841//
842// This method is useful when you want to inject custom logic or configuration
843// into the SDK's request lifecycle. Such as custom headers, or retry logic.
844//
845//
846//    // Example sending a request using the CreateCachediSCSIVolumeRequest method.
847//    req, resp := client.CreateCachediSCSIVolumeRequest(params)
848//
849//    err := req.Send()
850//    if err == nil { // resp is now filled
851//        fmt.Println(resp)
852//    }
853//
854// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateCachediSCSIVolume
855func (c *StorageGateway) CreateCachediSCSIVolumeRequest(input *CreateCachediSCSIVolumeInput) (req *request.Request, output *CreateCachediSCSIVolumeOutput) {
856	op := &request.Operation{
857		Name:       opCreateCachediSCSIVolume,
858		HTTPMethod: "POST",
859		HTTPPath:   "/",
860	}
861
862	if input == nil {
863		input = &CreateCachediSCSIVolumeInput{}
864	}
865
866	output = &CreateCachediSCSIVolumeOutput{}
867	req = c.newRequest(op, input, output)
868	return
869}
870
871// CreateCachediSCSIVolume API operation for AWS Storage Gateway.
872//
873// Creates a cached volume on a specified cached volume gateway. This operation
874// is only supported in the cached volume gateway type.
875//
876// Cache storage must be allocated to the gateway before you can create a cached
877// volume. Use the AddCache operation to add cache storage to a gateway.
878//
879// In the request, you must specify the gateway, size of the volume in bytes,
880// the iSCSI target name, an IP address on which to expose the target, and a
881// unique client token. In response, the gateway creates the volume and returns
882// information about it. This information includes the volume Amazon Resource
883// Name (ARN), its size, and the iSCSI target ARN that initiators can use to
884// connect to the volume target.
885//
886// Optionally, you can provide the ARN for an existing volume as the SourceVolumeARN
887// for this cached volume, which creates an exact copy of the existing volume’s
888// latest recovery point. The VolumeSizeInBytes value must be equal to or larger
889// than the size of the copied volume, in bytes.
890//
891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
892// with awserr.Error's Code and Message methods to get detailed information about
893// the error.
894//
895// See the AWS API reference guide for AWS Storage Gateway's
896// API operation CreateCachediSCSIVolume for usage and error information.
897//
898// Returned Error Types:
899//   * InvalidGatewayRequestException
900//   An exception occurred because an invalid gateway request was issued to the
901//   service. For more information, see the error and message fields.
902//
903//   * InternalServerError
904//   An internal server error has occurred during the request. For more information,
905//   see the error and message fields.
906//
907// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateCachediSCSIVolume
908func (c *StorageGateway) CreateCachediSCSIVolume(input *CreateCachediSCSIVolumeInput) (*CreateCachediSCSIVolumeOutput, error) {
909	req, out := c.CreateCachediSCSIVolumeRequest(input)
910	return out, req.Send()
911}
912
913// CreateCachediSCSIVolumeWithContext is the same as CreateCachediSCSIVolume with the addition of
914// the ability to pass a context and additional request options.
915//
916// See CreateCachediSCSIVolume for details on how to use this API operation.
917//
918// The context must be non-nil and will be used for request cancellation. If
919// the context is nil a panic will occur. In the future the SDK may create
920// sub-contexts for http.Requests. See https://golang.org/pkg/context/
921// for more information on using Contexts.
922func (c *StorageGateway) CreateCachediSCSIVolumeWithContext(ctx aws.Context, input *CreateCachediSCSIVolumeInput, opts ...request.Option) (*CreateCachediSCSIVolumeOutput, error) {
923	req, out := c.CreateCachediSCSIVolumeRequest(input)
924	req.SetContext(ctx)
925	req.ApplyOptions(opts...)
926	return out, req.Send()
927}
928
929const opCreateNFSFileShare = "CreateNFSFileShare"
930
931// CreateNFSFileShareRequest generates a "aws/request.Request" representing the
932// client's request for the CreateNFSFileShare operation. The "output" return
933// value will be populated with the request's response once the request completes
934// successfully.
935//
936// Use "Send" method on the returned Request to send the API call to the service.
937// the "output" return value is not valid until after Send returns without error.
938//
939// See CreateNFSFileShare for more information on using the CreateNFSFileShare
940// API call, and error handling.
941//
942// This method is useful when you want to inject custom logic or configuration
943// into the SDK's request lifecycle. Such as custom headers, or retry logic.
944//
945//
946//    // Example sending a request using the CreateNFSFileShareRequest method.
947//    req, resp := client.CreateNFSFileShareRequest(params)
948//
949//    err := req.Send()
950//    if err == nil { // resp is now filled
951//        fmt.Println(resp)
952//    }
953//
954// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateNFSFileShare
955func (c *StorageGateway) CreateNFSFileShareRequest(input *CreateNFSFileShareInput) (req *request.Request, output *CreateNFSFileShareOutput) {
956	op := &request.Operation{
957		Name:       opCreateNFSFileShare,
958		HTTPMethod: "POST",
959		HTTPPath:   "/",
960	}
961
962	if input == nil {
963		input = &CreateNFSFileShareInput{}
964	}
965
966	output = &CreateNFSFileShareOutput{}
967	req = c.newRequest(op, input, output)
968	return
969}
970
971// CreateNFSFileShare API operation for AWS Storage Gateway.
972//
973// Creates a Network File System (NFS) file share on an existing file gateway.
974// In Storage Gateway, a file share is a file system mount point backed by Amazon
975// S3 cloud storage. Storage Gateway exposes file shares using a NFS interface.
976// This operation is only supported for file gateways.
977//
978// File gateway requires AWS Security Token Service (AWS STS) to be activated
979// to enable you create a file share. Make sure AWS STS is activated in the
980// AWS Region you are creating your file gateway in. If AWS STS is not activated
981// in the AWS Region, activate it. For information about how to activate AWS
982// STS, see Activating and Deactivating AWS STS in an AWS Region in the AWS
983// Identity and Access Management User Guide.
984//
985// File gateway does not support creating hard or symbolic links on a file share.
986//
987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
988// with awserr.Error's Code and Message methods to get detailed information about
989// the error.
990//
991// See the AWS API reference guide for AWS Storage Gateway's
992// API operation CreateNFSFileShare for usage and error information.
993//
994// Returned Error Types:
995//   * InvalidGatewayRequestException
996//   An exception occurred because an invalid gateway request was issued to the
997//   service. For more information, see the error and message fields.
998//
999//   * InternalServerError
1000//   An internal server error has occurred during the request. For more information,
1001//   see the error and message fields.
1002//
1003// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateNFSFileShare
1004func (c *StorageGateway) CreateNFSFileShare(input *CreateNFSFileShareInput) (*CreateNFSFileShareOutput, error) {
1005	req, out := c.CreateNFSFileShareRequest(input)
1006	return out, req.Send()
1007}
1008
1009// CreateNFSFileShareWithContext is the same as CreateNFSFileShare with the addition of
1010// the ability to pass a context and additional request options.
1011//
1012// See CreateNFSFileShare for details on how to use this API operation.
1013//
1014// The context must be non-nil and will be used for request cancellation. If
1015// the context is nil a panic will occur. In the future the SDK may create
1016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1017// for more information on using Contexts.
1018func (c *StorageGateway) CreateNFSFileShareWithContext(ctx aws.Context, input *CreateNFSFileShareInput, opts ...request.Option) (*CreateNFSFileShareOutput, error) {
1019	req, out := c.CreateNFSFileShareRequest(input)
1020	req.SetContext(ctx)
1021	req.ApplyOptions(opts...)
1022	return out, req.Send()
1023}
1024
1025const opCreateSMBFileShare = "CreateSMBFileShare"
1026
1027// CreateSMBFileShareRequest generates a "aws/request.Request" representing the
1028// client's request for the CreateSMBFileShare operation. The "output" return
1029// value will be populated with the request's response once the request completes
1030// successfully.
1031//
1032// Use "Send" method on the returned Request to send the API call to the service.
1033// the "output" return value is not valid until after Send returns without error.
1034//
1035// See CreateSMBFileShare for more information on using the CreateSMBFileShare
1036// API call, and error handling.
1037//
1038// This method is useful when you want to inject custom logic or configuration
1039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1040//
1041//
1042//    // Example sending a request using the CreateSMBFileShareRequest method.
1043//    req, resp := client.CreateSMBFileShareRequest(params)
1044//
1045//    err := req.Send()
1046//    if err == nil { // resp is now filled
1047//        fmt.Println(resp)
1048//    }
1049//
1050// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSMBFileShare
1051func (c *StorageGateway) CreateSMBFileShareRequest(input *CreateSMBFileShareInput) (req *request.Request, output *CreateSMBFileShareOutput) {
1052	op := &request.Operation{
1053		Name:       opCreateSMBFileShare,
1054		HTTPMethod: "POST",
1055		HTTPPath:   "/",
1056	}
1057
1058	if input == nil {
1059		input = &CreateSMBFileShareInput{}
1060	}
1061
1062	output = &CreateSMBFileShareOutput{}
1063	req = c.newRequest(op, input, output)
1064	return
1065}
1066
1067// CreateSMBFileShare API operation for AWS Storage Gateway.
1068//
1069// Creates a Server Message Block (SMB) file share on an existing file gateway.
1070// In Storage Gateway, a file share is a file system mount point backed by Amazon
1071// S3 cloud storage. Storage Gateway expose file shares using a SMB interface.
1072// This operation is only supported for file gateways.
1073//
1074// File gateways require AWS Security Token Service (AWS STS) to be activated
1075// to enable you to create a file share. Make sure that AWS STS is activated
1076// in the AWS Region you are creating your file gateway in. If AWS STS is not
1077// activated in this AWS Region, activate it. For information about how to activate
1078// AWS STS, see Activating and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
1079// in the AWS Identity and Access Management User Guide.
1080//
1081// File gateways don't support creating hard or symbolic links on a file share.
1082//
1083// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1084// with awserr.Error's Code and Message methods to get detailed information about
1085// the error.
1086//
1087// See the AWS API reference guide for AWS Storage Gateway's
1088// API operation CreateSMBFileShare for usage and error information.
1089//
1090// Returned Error Types:
1091//   * InvalidGatewayRequestException
1092//   An exception occurred because an invalid gateway request was issued to the
1093//   service. For more information, see the error and message fields.
1094//
1095//   * InternalServerError
1096//   An internal server error has occurred during the request. For more information,
1097//   see the error and message fields.
1098//
1099// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSMBFileShare
1100func (c *StorageGateway) CreateSMBFileShare(input *CreateSMBFileShareInput) (*CreateSMBFileShareOutput, error) {
1101	req, out := c.CreateSMBFileShareRequest(input)
1102	return out, req.Send()
1103}
1104
1105// CreateSMBFileShareWithContext is the same as CreateSMBFileShare with the addition of
1106// the ability to pass a context and additional request options.
1107//
1108// See CreateSMBFileShare for details on how to use this API operation.
1109//
1110// The context must be non-nil and will be used for request cancellation. If
1111// the context is nil a panic will occur. In the future the SDK may create
1112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1113// for more information on using Contexts.
1114func (c *StorageGateway) CreateSMBFileShareWithContext(ctx aws.Context, input *CreateSMBFileShareInput, opts ...request.Option) (*CreateSMBFileShareOutput, error) {
1115	req, out := c.CreateSMBFileShareRequest(input)
1116	req.SetContext(ctx)
1117	req.ApplyOptions(opts...)
1118	return out, req.Send()
1119}
1120
1121const opCreateSnapshot = "CreateSnapshot"
1122
1123// CreateSnapshotRequest generates a "aws/request.Request" representing the
1124// client's request for the CreateSnapshot operation. The "output" return
1125// value will be populated with the request's response once the request completes
1126// successfully.
1127//
1128// Use "Send" method on the returned Request to send the API call to the service.
1129// the "output" return value is not valid until after Send returns without error.
1130//
1131// See CreateSnapshot for more information on using the CreateSnapshot
1132// API call, and error handling.
1133//
1134// This method is useful when you want to inject custom logic or configuration
1135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1136//
1137//
1138//    // Example sending a request using the CreateSnapshotRequest method.
1139//    req, resp := client.CreateSnapshotRequest(params)
1140//
1141//    err := req.Send()
1142//    if err == nil { // resp is now filled
1143//        fmt.Println(resp)
1144//    }
1145//
1146// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSnapshot
1147func (c *StorageGateway) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) {
1148	op := &request.Operation{
1149		Name:       opCreateSnapshot,
1150		HTTPMethod: "POST",
1151		HTTPPath:   "/",
1152	}
1153
1154	if input == nil {
1155		input = &CreateSnapshotInput{}
1156	}
1157
1158	output = &CreateSnapshotOutput{}
1159	req = c.newRequest(op, input, output)
1160	return
1161}
1162
1163// CreateSnapshot API operation for AWS Storage Gateway.
1164//
1165// Initiates a snapshot of a volume.
1166//
1167// AWS Storage Gateway provides the ability to back up point-in-time snapshots
1168// of your data to Amazon Simple Storage (S3) for durable off-site recovery,
1169// as well as import the data to an Amazon Elastic Block Store (EBS) volume
1170// in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway
1171// volume on a scheduled or ad hoc basis. This API enables you to take ad-hoc
1172// snapshot. For more information, see Editing a Snapshot Schedule (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot).
1173//
1174// In the CreateSnapshot request you identify the volume by providing its Amazon
1175// Resource Name (ARN). You must also provide description for the snapshot.
1176// When AWS Storage Gateway takes the snapshot of specified volume, the snapshot
1177// and description appears in the AWS Storage Gateway Console. In response,
1178// AWS Storage Gateway returns you a snapshot ID. You can use this snapshot
1179// ID to check the snapshot progress or later use it when you want to create
1180// a volume from a snapshot. This operation is only supported in stored and
1181// cached volume gateway type.
1182//
1183// To list or delete a snapshot, you must use the Amazon EC2 API. For more information,
1184// see DescribeSnapshots or DeleteSnapshot in the EC2 API reference (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Operations.html).
1185//
1186// Volume and snapshot IDs are changing to a longer length ID format. For more
1187// information, see the important note on the Welcome (https://docs.aws.amazon.com/storagegateway/latest/APIReference/Welcome.html)
1188// page.
1189//
1190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1191// with awserr.Error's Code and Message methods to get detailed information about
1192// the error.
1193//
1194// See the AWS API reference guide for AWS Storage Gateway's
1195// API operation CreateSnapshot for usage and error information.
1196//
1197// Returned Error Types:
1198//   * InvalidGatewayRequestException
1199//   An exception occurred because an invalid gateway request was issued to the
1200//   service. For more information, see the error and message fields.
1201//
1202//   * InternalServerError
1203//   An internal server error has occurred during the request. For more information,
1204//   see the error and message fields.
1205//
1206//   * ServiceUnavailableError
1207//   An internal server error has occurred because the service is unavailable.
1208//   For more information, see the error and message fields.
1209//
1210// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSnapshot
1211func (c *StorageGateway) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) {
1212	req, out := c.CreateSnapshotRequest(input)
1213	return out, req.Send()
1214}
1215
1216// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of
1217// the ability to pass a context and additional request options.
1218//
1219// See CreateSnapshot for details on how to use this API operation.
1220//
1221// The context must be non-nil and will be used for request cancellation. If
1222// the context is nil a panic will occur. In the future the SDK may create
1223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1224// for more information on using Contexts.
1225func (c *StorageGateway) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) {
1226	req, out := c.CreateSnapshotRequest(input)
1227	req.SetContext(ctx)
1228	req.ApplyOptions(opts...)
1229	return out, req.Send()
1230}
1231
1232const opCreateSnapshotFromVolumeRecoveryPoint = "CreateSnapshotFromVolumeRecoveryPoint"
1233
1234// CreateSnapshotFromVolumeRecoveryPointRequest generates a "aws/request.Request" representing the
1235// client's request for the CreateSnapshotFromVolumeRecoveryPoint operation. The "output" return
1236// value will be populated with the request's response once the request completes
1237// successfully.
1238//
1239// Use "Send" method on the returned Request to send the API call to the service.
1240// the "output" return value is not valid until after Send returns without error.
1241//
1242// See CreateSnapshotFromVolumeRecoveryPoint for more information on using the CreateSnapshotFromVolumeRecoveryPoint
1243// API call, and error handling.
1244//
1245// This method is useful when you want to inject custom logic or configuration
1246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1247//
1248//
1249//    // Example sending a request using the CreateSnapshotFromVolumeRecoveryPointRequest method.
1250//    req, resp := client.CreateSnapshotFromVolumeRecoveryPointRequest(params)
1251//
1252//    err := req.Send()
1253//    if err == nil { // resp is now filled
1254//        fmt.Println(resp)
1255//    }
1256//
1257// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSnapshotFromVolumeRecoveryPoint
1258func (c *StorageGateway) CreateSnapshotFromVolumeRecoveryPointRequest(input *CreateSnapshotFromVolumeRecoveryPointInput) (req *request.Request, output *CreateSnapshotFromVolumeRecoveryPointOutput) {
1259	op := &request.Operation{
1260		Name:       opCreateSnapshotFromVolumeRecoveryPoint,
1261		HTTPMethod: "POST",
1262		HTTPPath:   "/",
1263	}
1264
1265	if input == nil {
1266		input = &CreateSnapshotFromVolumeRecoveryPointInput{}
1267	}
1268
1269	output = &CreateSnapshotFromVolumeRecoveryPointOutput{}
1270	req = c.newRequest(op, input, output)
1271	return
1272}
1273
1274// CreateSnapshotFromVolumeRecoveryPoint API operation for AWS Storage Gateway.
1275//
1276// Initiates a snapshot of a gateway from a volume recovery point. This operation
1277// is only supported in the cached volume gateway type.
1278//
1279// A volume recovery point is a point in time at which all data of the volume
1280// is consistent and from which you can create a snapshot. To get a list of
1281// volume recovery point for cached volume gateway, use ListVolumeRecoveryPoints.
1282//
1283// In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume
1284// by providing its Amazon Resource Name (ARN). You must also provide a description
1285// for the snapshot. When the gateway takes a snapshot of the specified volume,
1286// the snapshot and its description appear in the AWS Storage Gateway console.
1287// In response, the gateway returns you a snapshot ID. You can use this snapshot
1288// ID to check the snapshot progress or later use it when you want to create
1289// a volume from a snapshot.
1290//
1291// To list or delete a snapshot, you must use the Amazon EC2 API. For more information,
1292// in Amazon Elastic Compute Cloud API Reference.
1293//
1294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1295// with awserr.Error's Code and Message methods to get detailed information about
1296// the error.
1297//
1298// See the AWS API reference guide for AWS Storage Gateway's
1299// API operation CreateSnapshotFromVolumeRecoveryPoint for usage and error information.
1300//
1301// Returned Error Types:
1302//   * InvalidGatewayRequestException
1303//   An exception occurred because an invalid gateway request was issued to the
1304//   service. For more information, see the error and message fields.
1305//
1306//   * InternalServerError
1307//   An internal server error has occurred during the request. For more information,
1308//   see the error and message fields.
1309//
1310//   * ServiceUnavailableError
1311//   An internal server error has occurred because the service is unavailable.
1312//   For more information, see the error and message fields.
1313//
1314// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSnapshotFromVolumeRecoveryPoint
1315func (c *StorageGateway) CreateSnapshotFromVolumeRecoveryPoint(input *CreateSnapshotFromVolumeRecoveryPointInput) (*CreateSnapshotFromVolumeRecoveryPointOutput, error) {
1316	req, out := c.CreateSnapshotFromVolumeRecoveryPointRequest(input)
1317	return out, req.Send()
1318}
1319
1320// CreateSnapshotFromVolumeRecoveryPointWithContext is the same as CreateSnapshotFromVolumeRecoveryPoint with the addition of
1321// the ability to pass a context and additional request options.
1322//
1323// See CreateSnapshotFromVolumeRecoveryPoint for details on how to use this API operation.
1324//
1325// The context must be non-nil and will be used for request cancellation. If
1326// the context is nil a panic will occur. In the future the SDK may create
1327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1328// for more information on using Contexts.
1329func (c *StorageGateway) CreateSnapshotFromVolumeRecoveryPointWithContext(ctx aws.Context, input *CreateSnapshotFromVolumeRecoveryPointInput, opts ...request.Option) (*CreateSnapshotFromVolumeRecoveryPointOutput, error) {
1330	req, out := c.CreateSnapshotFromVolumeRecoveryPointRequest(input)
1331	req.SetContext(ctx)
1332	req.ApplyOptions(opts...)
1333	return out, req.Send()
1334}
1335
1336const opCreateStorediSCSIVolume = "CreateStorediSCSIVolume"
1337
1338// CreateStorediSCSIVolumeRequest generates a "aws/request.Request" representing the
1339// client's request for the CreateStorediSCSIVolume operation. The "output" return
1340// value will be populated with the request's response once the request completes
1341// successfully.
1342//
1343// Use "Send" method on the returned Request to send the API call to the service.
1344// the "output" return value is not valid until after Send returns without error.
1345//
1346// See CreateStorediSCSIVolume for more information on using the CreateStorediSCSIVolume
1347// API call, and error handling.
1348//
1349// This method is useful when you want to inject custom logic or configuration
1350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1351//
1352//
1353//    // Example sending a request using the CreateStorediSCSIVolumeRequest method.
1354//    req, resp := client.CreateStorediSCSIVolumeRequest(params)
1355//
1356//    err := req.Send()
1357//    if err == nil { // resp is now filled
1358//        fmt.Println(resp)
1359//    }
1360//
1361// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateStorediSCSIVolume
1362func (c *StorageGateway) CreateStorediSCSIVolumeRequest(input *CreateStorediSCSIVolumeInput) (req *request.Request, output *CreateStorediSCSIVolumeOutput) {
1363	op := &request.Operation{
1364		Name:       opCreateStorediSCSIVolume,
1365		HTTPMethod: "POST",
1366		HTTPPath:   "/",
1367	}
1368
1369	if input == nil {
1370		input = &CreateStorediSCSIVolumeInput{}
1371	}
1372
1373	output = &CreateStorediSCSIVolumeOutput{}
1374	req = c.newRequest(op, input, output)
1375	return
1376}
1377
1378// CreateStorediSCSIVolume API operation for AWS Storage Gateway.
1379//
1380// Creates a volume on a specified gateway. This operation is only supported
1381// in the stored volume gateway type.
1382//
1383// The size of the volume to create is inferred from the disk size. You can
1384// choose to preserve existing data on the disk, create volume from an existing
1385// snapshot, or create an empty volume. If you choose to create an empty gateway
1386// volume, then any existing data on the disk is erased.
1387//
1388// In the request you must specify the gateway and the disk information on which
1389// you are creating the volume. In response, the gateway creates the volume
1390// and returns volume information such as the volume Amazon Resource Name (ARN),
1391// its size, and the iSCSI target ARN that initiators can use to connect to
1392// the volume target.
1393//
1394// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1395// with awserr.Error's Code and Message methods to get detailed information about
1396// the error.
1397//
1398// See the AWS API reference guide for AWS Storage Gateway's
1399// API operation CreateStorediSCSIVolume for usage and error information.
1400//
1401// Returned Error Types:
1402//   * InvalidGatewayRequestException
1403//   An exception occurred because an invalid gateway request was issued to the
1404//   service. For more information, see the error and message fields.
1405//
1406//   * InternalServerError
1407//   An internal server error has occurred during the request. For more information,
1408//   see the error and message fields.
1409//
1410// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateStorediSCSIVolume
1411func (c *StorageGateway) CreateStorediSCSIVolume(input *CreateStorediSCSIVolumeInput) (*CreateStorediSCSIVolumeOutput, error) {
1412	req, out := c.CreateStorediSCSIVolumeRequest(input)
1413	return out, req.Send()
1414}
1415
1416// CreateStorediSCSIVolumeWithContext is the same as CreateStorediSCSIVolume with the addition of
1417// the ability to pass a context and additional request options.
1418//
1419// See CreateStorediSCSIVolume for details on how to use this API operation.
1420//
1421// The context must be non-nil and will be used for request cancellation. If
1422// the context is nil a panic will occur. In the future the SDK may create
1423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1424// for more information on using Contexts.
1425func (c *StorageGateway) CreateStorediSCSIVolumeWithContext(ctx aws.Context, input *CreateStorediSCSIVolumeInput, opts ...request.Option) (*CreateStorediSCSIVolumeOutput, error) {
1426	req, out := c.CreateStorediSCSIVolumeRequest(input)
1427	req.SetContext(ctx)
1428	req.ApplyOptions(opts...)
1429	return out, req.Send()
1430}
1431
1432const opCreateTapeWithBarcode = "CreateTapeWithBarcode"
1433
1434// CreateTapeWithBarcodeRequest generates a "aws/request.Request" representing the
1435// client's request for the CreateTapeWithBarcode operation. The "output" return
1436// value will be populated with the request's response once the request completes
1437// successfully.
1438//
1439// Use "Send" method on the returned Request to send the API call to the service.
1440// the "output" return value is not valid until after Send returns without error.
1441//
1442// See CreateTapeWithBarcode for more information on using the CreateTapeWithBarcode
1443// API call, and error handling.
1444//
1445// This method is useful when you want to inject custom logic or configuration
1446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1447//
1448//
1449//    // Example sending a request using the CreateTapeWithBarcodeRequest method.
1450//    req, resp := client.CreateTapeWithBarcodeRequest(params)
1451//
1452//    err := req.Send()
1453//    if err == nil { // resp is now filled
1454//        fmt.Println(resp)
1455//    }
1456//
1457// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapeWithBarcode
1458func (c *StorageGateway) CreateTapeWithBarcodeRequest(input *CreateTapeWithBarcodeInput) (req *request.Request, output *CreateTapeWithBarcodeOutput) {
1459	op := &request.Operation{
1460		Name:       opCreateTapeWithBarcode,
1461		HTTPMethod: "POST",
1462		HTTPPath:   "/",
1463	}
1464
1465	if input == nil {
1466		input = &CreateTapeWithBarcodeInput{}
1467	}
1468
1469	output = &CreateTapeWithBarcodeOutput{}
1470	req = c.newRequest(op, input, output)
1471	return
1472}
1473
1474// CreateTapeWithBarcode API operation for AWS Storage Gateway.
1475//
1476// Creates a virtual tape by using your own barcode. You write data to the virtual
1477// tape and then archive the tape. A barcode is unique and can not be reused
1478// if it has already been used on a tape . This applies to barcodes used on
1479// deleted tapes. This operation is only supported in the tape gateway type.
1480//
1481// Cache storage must be allocated to the gateway before you can create a virtual
1482// tape. Use the AddCache operation to add cache storage to a gateway.
1483//
1484// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1485// with awserr.Error's Code and Message methods to get detailed information about
1486// the error.
1487//
1488// See the AWS API reference guide for AWS Storage Gateway's
1489// API operation CreateTapeWithBarcode for usage and error information.
1490//
1491// Returned Error Types:
1492//   * InvalidGatewayRequestException
1493//   An exception occurred because an invalid gateway request was issued to the
1494//   service. For more information, see the error and message fields.
1495//
1496//   * InternalServerError
1497//   An internal server error has occurred during the request. For more information,
1498//   see the error and message fields.
1499//
1500// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapeWithBarcode
1501func (c *StorageGateway) CreateTapeWithBarcode(input *CreateTapeWithBarcodeInput) (*CreateTapeWithBarcodeOutput, error) {
1502	req, out := c.CreateTapeWithBarcodeRequest(input)
1503	return out, req.Send()
1504}
1505
1506// CreateTapeWithBarcodeWithContext is the same as CreateTapeWithBarcode with the addition of
1507// the ability to pass a context and additional request options.
1508//
1509// See CreateTapeWithBarcode for details on how to use this API operation.
1510//
1511// The context must be non-nil and will be used for request cancellation. If
1512// the context is nil a panic will occur. In the future the SDK may create
1513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1514// for more information on using Contexts.
1515func (c *StorageGateway) CreateTapeWithBarcodeWithContext(ctx aws.Context, input *CreateTapeWithBarcodeInput, opts ...request.Option) (*CreateTapeWithBarcodeOutput, error) {
1516	req, out := c.CreateTapeWithBarcodeRequest(input)
1517	req.SetContext(ctx)
1518	req.ApplyOptions(opts...)
1519	return out, req.Send()
1520}
1521
1522const opCreateTapes = "CreateTapes"
1523
1524// CreateTapesRequest generates a "aws/request.Request" representing the
1525// client's request for the CreateTapes operation. The "output" return
1526// value will be populated with the request's response once the request completes
1527// successfully.
1528//
1529// Use "Send" method on the returned Request to send the API call to the service.
1530// the "output" return value is not valid until after Send returns without error.
1531//
1532// See CreateTapes for more information on using the CreateTapes
1533// API call, and error handling.
1534//
1535// This method is useful when you want to inject custom logic or configuration
1536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1537//
1538//
1539//    // Example sending a request using the CreateTapesRequest method.
1540//    req, resp := client.CreateTapesRequest(params)
1541//
1542//    err := req.Send()
1543//    if err == nil { // resp is now filled
1544//        fmt.Println(resp)
1545//    }
1546//
1547// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapes
1548func (c *StorageGateway) CreateTapesRequest(input *CreateTapesInput) (req *request.Request, output *CreateTapesOutput) {
1549	op := &request.Operation{
1550		Name:       opCreateTapes,
1551		HTTPMethod: "POST",
1552		HTTPPath:   "/",
1553	}
1554
1555	if input == nil {
1556		input = &CreateTapesInput{}
1557	}
1558
1559	output = &CreateTapesOutput{}
1560	req = c.newRequest(op, input, output)
1561	return
1562}
1563
1564// CreateTapes API operation for AWS Storage Gateway.
1565//
1566// Creates one or more virtual tapes. You write data to the virtual tapes and
1567// then archive the tapes. This operation is only supported in the tape gateway
1568// type.
1569//
1570// Cache storage must be allocated to the gateway before you can create virtual
1571// tapes. Use the AddCache operation to add cache storage to a gateway.
1572//
1573// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1574// with awserr.Error's Code and Message methods to get detailed information about
1575// the error.
1576//
1577// See the AWS API reference guide for AWS Storage Gateway's
1578// API operation CreateTapes for usage and error information.
1579//
1580// Returned Error Types:
1581//   * InvalidGatewayRequestException
1582//   An exception occurred because an invalid gateway request was issued to the
1583//   service. For more information, see the error and message fields.
1584//
1585//   * InternalServerError
1586//   An internal server error has occurred during the request. For more information,
1587//   see the error and message fields.
1588//
1589// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapes
1590func (c *StorageGateway) CreateTapes(input *CreateTapesInput) (*CreateTapesOutput, error) {
1591	req, out := c.CreateTapesRequest(input)
1592	return out, req.Send()
1593}
1594
1595// CreateTapesWithContext is the same as CreateTapes with the addition of
1596// the ability to pass a context and additional request options.
1597//
1598// See CreateTapes for details on how to use this API operation.
1599//
1600// The context must be non-nil and will be used for request cancellation. If
1601// the context is nil a panic will occur. In the future the SDK may create
1602// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1603// for more information on using Contexts.
1604func (c *StorageGateway) CreateTapesWithContext(ctx aws.Context, input *CreateTapesInput, opts ...request.Option) (*CreateTapesOutput, error) {
1605	req, out := c.CreateTapesRequest(input)
1606	req.SetContext(ctx)
1607	req.ApplyOptions(opts...)
1608	return out, req.Send()
1609}
1610
1611const opDeleteBandwidthRateLimit = "DeleteBandwidthRateLimit"
1612
1613// DeleteBandwidthRateLimitRequest generates a "aws/request.Request" representing the
1614// client's request for the DeleteBandwidthRateLimit operation. The "output" return
1615// value will be populated with the request's response once the request completes
1616// successfully.
1617//
1618// Use "Send" method on the returned Request to send the API call to the service.
1619// the "output" return value is not valid until after Send returns without error.
1620//
1621// See DeleteBandwidthRateLimit for more information on using the DeleteBandwidthRateLimit
1622// API call, and error handling.
1623//
1624// This method is useful when you want to inject custom logic or configuration
1625// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1626//
1627//
1628//    // Example sending a request using the DeleteBandwidthRateLimitRequest method.
1629//    req, resp := client.DeleteBandwidthRateLimitRequest(params)
1630//
1631//    err := req.Send()
1632//    if err == nil { // resp is now filled
1633//        fmt.Println(resp)
1634//    }
1635//
1636// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteBandwidthRateLimit
1637func (c *StorageGateway) DeleteBandwidthRateLimitRequest(input *DeleteBandwidthRateLimitInput) (req *request.Request, output *DeleteBandwidthRateLimitOutput) {
1638	op := &request.Operation{
1639		Name:       opDeleteBandwidthRateLimit,
1640		HTTPMethod: "POST",
1641		HTTPPath:   "/",
1642	}
1643
1644	if input == nil {
1645		input = &DeleteBandwidthRateLimitInput{}
1646	}
1647
1648	output = &DeleteBandwidthRateLimitOutput{}
1649	req = c.newRequest(op, input, output)
1650	return
1651}
1652
1653// DeleteBandwidthRateLimit API operation for AWS Storage Gateway.
1654//
1655// Deletes the bandwidth rate limits of a gateway. You can delete either the
1656// upload and download bandwidth rate limit, or you can delete both. If you
1657// delete only one of the limits, the other limit remains unchanged. To specify
1658// which gateway to work with, use the Amazon Resource Name (ARN) of the gateway
1659// in your request. This operation is supported for the stored volume, cached
1660// volume and tape gateway types.
1661//
1662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1663// with awserr.Error's Code and Message methods to get detailed information about
1664// the error.
1665//
1666// See the AWS API reference guide for AWS Storage Gateway's
1667// API operation DeleteBandwidthRateLimit for usage and error information.
1668//
1669// Returned Error Types:
1670//   * InvalidGatewayRequestException
1671//   An exception occurred because an invalid gateway request was issued to the
1672//   service. For more information, see the error and message fields.
1673//
1674//   * InternalServerError
1675//   An internal server error has occurred during the request. For more information,
1676//   see the error and message fields.
1677//
1678// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteBandwidthRateLimit
1679func (c *StorageGateway) DeleteBandwidthRateLimit(input *DeleteBandwidthRateLimitInput) (*DeleteBandwidthRateLimitOutput, error) {
1680	req, out := c.DeleteBandwidthRateLimitRequest(input)
1681	return out, req.Send()
1682}
1683
1684// DeleteBandwidthRateLimitWithContext is the same as DeleteBandwidthRateLimit with the addition of
1685// the ability to pass a context and additional request options.
1686//
1687// See DeleteBandwidthRateLimit for details on how to use this API operation.
1688//
1689// The context must be non-nil and will be used for request cancellation. If
1690// the context is nil a panic will occur. In the future the SDK may create
1691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1692// for more information on using Contexts.
1693func (c *StorageGateway) DeleteBandwidthRateLimitWithContext(ctx aws.Context, input *DeleteBandwidthRateLimitInput, opts ...request.Option) (*DeleteBandwidthRateLimitOutput, error) {
1694	req, out := c.DeleteBandwidthRateLimitRequest(input)
1695	req.SetContext(ctx)
1696	req.ApplyOptions(opts...)
1697	return out, req.Send()
1698}
1699
1700const opDeleteChapCredentials = "DeleteChapCredentials"
1701
1702// DeleteChapCredentialsRequest generates a "aws/request.Request" representing the
1703// client's request for the DeleteChapCredentials operation. The "output" return
1704// value will be populated with the request's response once the request completes
1705// successfully.
1706//
1707// Use "Send" method on the returned Request to send the API call to the service.
1708// the "output" return value is not valid until after Send returns without error.
1709//
1710// See DeleteChapCredentials for more information on using the DeleteChapCredentials
1711// API call, and error handling.
1712//
1713// This method is useful when you want to inject custom logic or configuration
1714// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1715//
1716//
1717//    // Example sending a request using the DeleteChapCredentialsRequest method.
1718//    req, resp := client.DeleteChapCredentialsRequest(params)
1719//
1720//    err := req.Send()
1721//    if err == nil { // resp is now filled
1722//        fmt.Println(resp)
1723//    }
1724//
1725// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteChapCredentials
1726func (c *StorageGateway) DeleteChapCredentialsRequest(input *DeleteChapCredentialsInput) (req *request.Request, output *DeleteChapCredentialsOutput) {
1727	op := &request.Operation{
1728		Name:       opDeleteChapCredentials,
1729		HTTPMethod: "POST",
1730		HTTPPath:   "/",
1731	}
1732
1733	if input == nil {
1734		input = &DeleteChapCredentialsInput{}
1735	}
1736
1737	output = &DeleteChapCredentialsOutput{}
1738	req = c.newRequest(op, input, output)
1739	return
1740}
1741
1742// DeleteChapCredentials API operation for AWS Storage Gateway.
1743//
1744// Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for
1745// a specified iSCSI target and initiator pair. This operation is supported
1746// in volume and tape gateway types.
1747//
1748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1749// with awserr.Error's Code and Message methods to get detailed information about
1750// the error.
1751//
1752// See the AWS API reference guide for AWS Storage Gateway's
1753// API operation DeleteChapCredentials for usage and error information.
1754//
1755// Returned Error Types:
1756//   * InvalidGatewayRequestException
1757//   An exception occurred because an invalid gateway request was issued to the
1758//   service. For more information, see the error and message fields.
1759//
1760//   * InternalServerError
1761//   An internal server error has occurred during the request. For more information,
1762//   see the error and message fields.
1763//
1764// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteChapCredentials
1765func (c *StorageGateway) DeleteChapCredentials(input *DeleteChapCredentialsInput) (*DeleteChapCredentialsOutput, error) {
1766	req, out := c.DeleteChapCredentialsRequest(input)
1767	return out, req.Send()
1768}
1769
1770// DeleteChapCredentialsWithContext is the same as DeleteChapCredentials with the addition of
1771// the ability to pass a context and additional request options.
1772//
1773// See DeleteChapCredentials for details on how to use this API operation.
1774//
1775// The context must be non-nil and will be used for request cancellation. If
1776// the context is nil a panic will occur. In the future the SDK may create
1777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1778// for more information on using Contexts.
1779func (c *StorageGateway) DeleteChapCredentialsWithContext(ctx aws.Context, input *DeleteChapCredentialsInput, opts ...request.Option) (*DeleteChapCredentialsOutput, error) {
1780	req, out := c.DeleteChapCredentialsRequest(input)
1781	req.SetContext(ctx)
1782	req.ApplyOptions(opts...)
1783	return out, req.Send()
1784}
1785
1786const opDeleteFileShare = "DeleteFileShare"
1787
1788// DeleteFileShareRequest generates a "aws/request.Request" representing the
1789// client's request for the DeleteFileShare operation. The "output" return
1790// value will be populated with the request's response once the request completes
1791// successfully.
1792//
1793// Use "Send" method on the returned Request to send the API call to the service.
1794// the "output" return value is not valid until after Send returns without error.
1795//
1796// See DeleteFileShare for more information on using the DeleteFileShare
1797// API call, and error handling.
1798//
1799// This method is useful when you want to inject custom logic or configuration
1800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1801//
1802//
1803//    // Example sending a request using the DeleteFileShareRequest method.
1804//    req, resp := client.DeleteFileShareRequest(params)
1805//
1806//    err := req.Send()
1807//    if err == nil { // resp is now filled
1808//        fmt.Println(resp)
1809//    }
1810//
1811// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteFileShare
1812func (c *StorageGateway) DeleteFileShareRequest(input *DeleteFileShareInput) (req *request.Request, output *DeleteFileShareOutput) {
1813	op := &request.Operation{
1814		Name:       opDeleteFileShare,
1815		HTTPMethod: "POST",
1816		HTTPPath:   "/",
1817	}
1818
1819	if input == nil {
1820		input = &DeleteFileShareInput{}
1821	}
1822
1823	output = &DeleteFileShareOutput{}
1824	req = c.newRequest(op, input, output)
1825	return
1826}
1827
1828// DeleteFileShare API operation for AWS Storage Gateway.
1829//
1830// Deletes a file share from a file gateway. This operation is only supported
1831// for file gateways.
1832//
1833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1834// with awserr.Error's Code and Message methods to get detailed information about
1835// the error.
1836//
1837// See the AWS API reference guide for AWS Storage Gateway's
1838// API operation DeleteFileShare for usage and error information.
1839//
1840// Returned Error Types:
1841//   * InvalidGatewayRequestException
1842//   An exception occurred because an invalid gateway request was issued to the
1843//   service. For more information, see the error and message fields.
1844//
1845//   * InternalServerError
1846//   An internal server error has occurred during the request. For more information,
1847//   see the error and message fields.
1848//
1849// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteFileShare
1850func (c *StorageGateway) DeleteFileShare(input *DeleteFileShareInput) (*DeleteFileShareOutput, error) {
1851	req, out := c.DeleteFileShareRequest(input)
1852	return out, req.Send()
1853}
1854
1855// DeleteFileShareWithContext is the same as DeleteFileShare with the addition of
1856// the ability to pass a context and additional request options.
1857//
1858// See DeleteFileShare for details on how to use this API operation.
1859//
1860// The context must be non-nil and will be used for request cancellation. If
1861// the context is nil a panic will occur. In the future the SDK may create
1862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1863// for more information on using Contexts.
1864func (c *StorageGateway) DeleteFileShareWithContext(ctx aws.Context, input *DeleteFileShareInput, opts ...request.Option) (*DeleteFileShareOutput, error) {
1865	req, out := c.DeleteFileShareRequest(input)
1866	req.SetContext(ctx)
1867	req.ApplyOptions(opts...)
1868	return out, req.Send()
1869}
1870
1871const opDeleteGateway = "DeleteGateway"
1872
1873// DeleteGatewayRequest generates a "aws/request.Request" representing the
1874// client's request for the DeleteGateway operation. The "output" return
1875// value will be populated with the request's response once the request completes
1876// successfully.
1877//
1878// Use "Send" method on the returned Request to send the API call to the service.
1879// the "output" return value is not valid until after Send returns without error.
1880//
1881// See DeleteGateway for more information on using the DeleteGateway
1882// API call, and error handling.
1883//
1884// This method is useful when you want to inject custom logic or configuration
1885// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1886//
1887//
1888//    // Example sending a request using the DeleteGatewayRequest method.
1889//    req, resp := client.DeleteGatewayRequest(params)
1890//
1891//    err := req.Send()
1892//    if err == nil { // resp is now filled
1893//        fmt.Println(resp)
1894//    }
1895//
1896// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteGateway
1897func (c *StorageGateway) DeleteGatewayRequest(input *DeleteGatewayInput) (req *request.Request, output *DeleteGatewayOutput) {
1898	op := &request.Operation{
1899		Name:       opDeleteGateway,
1900		HTTPMethod: "POST",
1901		HTTPPath:   "/",
1902	}
1903
1904	if input == nil {
1905		input = &DeleteGatewayInput{}
1906	}
1907
1908	output = &DeleteGatewayOutput{}
1909	req = c.newRequest(op, input, output)
1910	return
1911}
1912
1913// DeleteGateway API operation for AWS Storage Gateway.
1914//
1915// Deletes a gateway. To specify which gateway to delete, use the Amazon Resource
1916// Name (ARN) of the gateway in your request. The operation deletes the gateway;
1917// however, it does not delete the gateway virtual machine (VM) from your host
1918// computer.
1919//
1920// After you delete a gateway, you cannot reactivate it. Completed snapshots
1921// of the gateway volumes are not deleted upon deleting the gateway, however,
1922// pending snapshots will not complete. After you delete a gateway, your next
1923// step is to remove it from your environment.
1924//
1925// You no longer pay software charges after the gateway is deleted; however,
1926// your existing Amazon EBS snapshots persist and you will continue to be billed
1927// for these snapshots. You can choose to remove all remaining Amazon EBS snapshots
1928// by canceling your Amazon EC2 subscription. If you prefer not to cancel your
1929// Amazon EC2 subscription, you can delete your snapshots using the Amazon EC2
1930// console. For more information, see the AWS Storage Gateway Detail Page (http://aws.amazon.com/storagegateway).
1931//
1932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1933// with awserr.Error's Code and Message methods to get detailed information about
1934// the error.
1935//
1936// See the AWS API reference guide for AWS Storage Gateway's
1937// API operation DeleteGateway for usage and error information.
1938//
1939// Returned Error Types:
1940//   * InvalidGatewayRequestException
1941//   An exception occurred because an invalid gateway request was issued to the
1942//   service. For more information, see the error and message fields.
1943//
1944//   * InternalServerError
1945//   An internal server error has occurred during the request. For more information,
1946//   see the error and message fields.
1947//
1948// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteGateway
1949func (c *StorageGateway) DeleteGateway(input *DeleteGatewayInput) (*DeleteGatewayOutput, error) {
1950	req, out := c.DeleteGatewayRequest(input)
1951	return out, req.Send()
1952}
1953
1954// DeleteGatewayWithContext is the same as DeleteGateway with the addition of
1955// the ability to pass a context and additional request options.
1956//
1957// See DeleteGateway for details on how to use this API operation.
1958//
1959// The context must be non-nil and will be used for request cancellation. If
1960// the context is nil a panic will occur. In the future the SDK may create
1961// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1962// for more information on using Contexts.
1963func (c *StorageGateway) DeleteGatewayWithContext(ctx aws.Context, input *DeleteGatewayInput, opts ...request.Option) (*DeleteGatewayOutput, error) {
1964	req, out := c.DeleteGatewayRequest(input)
1965	req.SetContext(ctx)
1966	req.ApplyOptions(opts...)
1967	return out, req.Send()
1968}
1969
1970const opDeleteSnapshotSchedule = "DeleteSnapshotSchedule"
1971
1972// DeleteSnapshotScheduleRequest generates a "aws/request.Request" representing the
1973// client's request for the DeleteSnapshotSchedule operation. The "output" return
1974// value will be populated with the request's response once the request completes
1975// successfully.
1976//
1977// Use "Send" method on the returned Request to send the API call to the service.
1978// the "output" return value is not valid until after Send returns without error.
1979//
1980// See DeleteSnapshotSchedule for more information on using the DeleteSnapshotSchedule
1981// API call, and error handling.
1982//
1983// This method is useful when you want to inject custom logic or configuration
1984// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1985//
1986//
1987//    // Example sending a request using the DeleteSnapshotScheduleRequest method.
1988//    req, resp := client.DeleteSnapshotScheduleRequest(params)
1989//
1990//    err := req.Send()
1991//    if err == nil { // resp is now filled
1992//        fmt.Println(resp)
1993//    }
1994//
1995// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteSnapshotSchedule
1996func (c *StorageGateway) DeleteSnapshotScheduleRequest(input *DeleteSnapshotScheduleInput) (req *request.Request, output *DeleteSnapshotScheduleOutput) {
1997	op := &request.Operation{
1998		Name:       opDeleteSnapshotSchedule,
1999		HTTPMethod: "POST",
2000		HTTPPath:   "/",
2001	}
2002
2003	if input == nil {
2004		input = &DeleteSnapshotScheduleInput{}
2005	}
2006
2007	output = &DeleteSnapshotScheduleOutput{}
2008	req = c.newRequest(op, input, output)
2009	return
2010}
2011
2012// DeleteSnapshotSchedule API operation for AWS Storage Gateway.
2013//
2014// Deletes a snapshot of a volume.
2015//
2016// You can take snapshots of your gateway volumes on a scheduled or ad hoc basis.
2017// This API action enables you to delete a snapshot schedule for a volume. For
2018// more information, see Working with Snapshots (https://docs.aws.amazon.com/storagegateway/latest/userguide/WorkingWithSnapshots.html).
2019// In the DeleteSnapshotSchedule request, you identify the volume by providing
2020// its Amazon Resource Name (ARN). This operation is only supported in stored
2021// and cached volume gateway types.
2022//
2023// To list or delete a snapshot, you must use the Amazon EC2 API. in Amazon
2024// Elastic Compute Cloud API Reference.
2025//
2026// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2027// with awserr.Error's Code and Message methods to get detailed information about
2028// the error.
2029//
2030// See the AWS API reference guide for AWS Storage Gateway's
2031// API operation DeleteSnapshotSchedule for usage and error information.
2032//
2033// Returned Error Types:
2034//   * InvalidGatewayRequestException
2035//   An exception occurred because an invalid gateway request was issued to the
2036//   service. For more information, see the error and message fields.
2037//
2038//   * InternalServerError
2039//   An internal server error has occurred during the request. For more information,
2040//   see the error and message fields.
2041//
2042// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteSnapshotSchedule
2043func (c *StorageGateway) DeleteSnapshotSchedule(input *DeleteSnapshotScheduleInput) (*DeleteSnapshotScheduleOutput, error) {
2044	req, out := c.DeleteSnapshotScheduleRequest(input)
2045	return out, req.Send()
2046}
2047
2048// DeleteSnapshotScheduleWithContext is the same as DeleteSnapshotSchedule with the addition of
2049// the ability to pass a context and additional request options.
2050//
2051// See DeleteSnapshotSchedule for details on how to use this API operation.
2052//
2053// The context must be non-nil and will be used for request cancellation. If
2054// the context is nil a panic will occur. In the future the SDK may create
2055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2056// for more information on using Contexts.
2057func (c *StorageGateway) DeleteSnapshotScheduleWithContext(ctx aws.Context, input *DeleteSnapshotScheduleInput, opts ...request.Option) (*DeleteSnapshotScheduleOutput, error) {
2058	req, out := c.DeleteSnapshotScheduleRequest(input)
2059	req.SetContext(ctx)
2060	req.ApplyOptions(opts...)
2061	return out, req.Send()
2062}
2063
2064const opDeleteTape = "DeleteTape"
2065
2066// DeleteTapeRequest generates a "aws/request.Request" representing the
2067// client's request for the DeleteTape operation. The "output" return
2068// value will be populated with the request's response once the request completes
2069// successfully.
2070//
2071// Use "Send" method on the returned Request to send the API call to the service.
2072// the "output" return value is not valid until after Send returns without error.
2073//
2074// See DeleteTape for more information on using the DeleteTape
2075// API call, and error handling.
2076//
2077// This method is useful when you want to inject custom logic or configuration
2078// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2079//
2080//
2081//    // Example sending a request using the DeleteTapeRequest method.
2082//    req, resp := client.DeleteTapeRequest(params)
2083//
2084//    err := req.Send()
2085//    if err == nil { // resp is now filled
2086//        fmt.Println(resp)
2087//    }
2088//
2089// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTape
2090func (c *StorageGateway) DeleteTapeRequest(input *DeleteTapeInput) (req *request.Request, output *DeleteTapeOutput) {
2091	op := &request.Operation{
2092		Name:       opDeleteTape,
2093		HTTPMethod: "POST",
2094		HTTPPath:   "/",
2095	}
2096
2097	if input == nil {
2098		input = &DeleteTapeInput{}
2099	}
2100
2101	output = &DeleteTapeOutput{}
2102	req = c.newRequest(op, input, output)
2103	return
2104}
2105
2106// DeleteTape API operation for AWS Storage Gateway.
2107//
2108// Deletes the specified virtual tape. This operation is only supported in the
2109// tape gateway type.
2110//
2111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2112// with awserr.Error's Code and Message methods to get detailed information about
2113// the error.
2114//
2115// See the AWS API reference guide for AWS Storage Gateway's
2116// API operation DeleteTape for usage and error information.
2117//
2118// Returned Error Types:
2119//   * InvalidGatewayRequestException
2120//   An exception occurred because an invalid gateway request was issued to the
2121//   service. For more information, see the error and message fields.
2122//
2123//   * InternalServerError
2124//   An internal server error has occurred during the request. For more information,
2125//   see the error and message fields.
2126//
2127// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTape
2128func (c *StorageGateway) DeleteTape(input *DeleteTapeInput) (*DeleteTapeOutput, error) {
2129	req, out := c.DeleteTapeRequest(input)
2130	return out, req.Send()
2131}
2132
2133// DeleteTapeWithContext is the same as DeleteTape with the addition of
2134// the ability to pass a context and additional request options.
2135//
2136// See DeleteTape for details on how to use this API operation.
2137//
2138// The context must be non-nil and will be used for request cancellation. If
2139// the context is nil a panic will occur. In the future the SDK may create
2140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2141// for more information on using Contexts.
2142func (c *StorageGateway) DeleteTapeWithContext(ctx aws.Context, input *DeleteTapeInput, opts ...request.Option) (*DeleteTapeOutput, error) {
2143	req, out := c.DeleteTapeRequest(input)
2144	req.SetContext(ctx)
2145	req.ApplyOptions(opts...)
2146	return out, req.Send()
2147}
2148
2149const opDeleteTapeArchive = "DeleteTapeArchive"
2150
2151// DeleteTapeArchiveRequest generates a "aws/request.Request" representing the
2152// client's request for the DeleteTapeArchive operation. The "output" return
2153// value will be populated with the request's response once the request completes
2154// successfully.
2155//
2156// Use "Send" method on the returned Request to send the API call to the service.
2157// the "output" return value is not valid until after Send returns without error.
2158//
2159// See DeleteTapeArchive for more information on using the DeleteTapeArchive
2160// API call, and error handling.
2161//
2162// This method is useful when you want to inject custom logic or configuration
2163// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2164//
2165//
2166//    // Example sending a request using the DeleteTapeArchiveRequest method.
2167//    req, resp := client.DeleteTapeArchiveRequest(params)
2168//
2169//    err := req.Send()
2170//    if err == nil { // resp is now filled
2171//        fmt.Println(resp)
2172//    }
2173//
2174// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTapeArchive
2175func (c *StorageGateway) DeleteTapeArchiveRequest(input *DeleteTapeArchiveInput) (req *request.Request, output *DeleteTapeArchiveOutput) {
2176	op := &request.Operation{
2177		Name:       opDeleteTapeArchive,
2178		HTTPMethod: "POST",
2179		HTTPPath:   "/",
2180	}
2181
2182	if input == nil {
2183		input = &DeleteTapeArchiveInput{}
2184	}
2185
2186	output = &DeleteTapeArchiveOutput{}
2187	req = c.newRequest(op, input, output)
2188	return
2189}
2190
2191// DeleteTapeArchive API operation for AWS Storage Gateway.
2192//
2193// Deletes the specified virtual tape from the virtual tape shelf (VTS). This
2194// operation is only supported in the tape gateway type.
2195//
2196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2197// with awserr.Error's Code and Message methods to get detailed information about
2198// the error.
2199//
2200// See the AWS API reference guide for AWS Storage Gateway's
2201// API operation DeleteTapeArchive for usage and error information.
2202//
2203// Returned Error Types:
2204//   * InvalidGatewayRequestException
2205//   An exception occurred because an invalid gateway request was issued to the
2206//   service. For more information, see the error and message fields.
2207//
2208//   * InternalServerError
2209//   An internal server error has occurred during the request. For more information,
2210//   see the error and message fields.
2211//
2212// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTapeArchive
2213func (c *StorageGateway) DeleteTapeArchive(input *DeleteTapeArchiveInput) (*DeleteTapeArchiveOutput, error) {
2214	req, out := c.DeleteTapeArchiveRequest(input)
2215	return out, req.Send()
2216}
2217
2218// DeleteTapeArchiveWithContext is the same as DeleteTapeArchive with the addition of
2219// the ability to pass a context and additional request options.
2220//
2221// See DeleteTapeArchive for details on how to use this API operation.
2222//
2223// The context must be non-nil and will be used for request cancellation. If
2224// the context is nil a panic will occur. In the future the SDK may create
2225// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2226// for more information on using Contexts.
2227func (c *StorageGateway) DeleteTapeArchiveWithContext(ctx aws.Context, input *DeleteTapeArchiveInput, opts ...request.Option) (*DeleteTapeArchiveOutput, error) {
2228	req, out := c.DeleteTapeArchiveRequest(input)
2229	req.SetContext(ctx)
2230	req.ApplyOptions(opts...)
2231	return out, req.Send()
2232}
2233
2234const opDeleteVolume = "DeleteVolume"
2235
2236// DeleteVolumeRequest generates a "aws/request.Request" representing the
2237// client's request for the DeleteVolume operation. The "output" return
2238// value will be populated with the request's response once the request completes
2239// successfully.
2240//
2241// Use "Send" method on the returned Request to send the API call to the service.
2242// the "output" return value is not valid until after Send returns without error.
2243//
2244// See DeleteVolume for more information on using the DeleteVolume
2245// API call, and error handling.
2246//
2247// This method is useful when you want to inject custom logic or configuration
2248// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2249//
2250//
2251//    // Example sending a request using the DeleteVolumeRequest method.
2252//    req, resp := client.DeleteVolumeRequest(params)
2253//
2254//    err := req.Send()
2255//    if err == nil { // resp is now filled
2256//        fmt.Println(resp)
2257//    }
2258//
2259// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteVolume
2260func (c *StorageGateway) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Request, output *DeleteVolumeOutput) {
2261	op := &request.Operation{
2262		Name:       opDeleteVolume,
2263		HTTPMethod: "POST",
2264		HTTPPath:   "/",
2265	}
2266
2267	if input == nil {
2268		input = &DeleteVolumeInput{}
2269	}
2270
2271	output = &DeleteVolumeOutput{}
2272	req = c.newRequest(op, input, output)
2273	return
2274}
2275
2276// DeleteVolume API operation for AWS Storage Gateway.
2277//
2278// Deletes the specified storage volume that you previously created using the
2279// CreateCachediSCSIVolume or CreateStorediSCSIVolume API. This operation is
2280// only supported in the cached volume and stored volume types. For stored volume
2281// gateways, the local disk that was configured as the storage volume is not
2282// deleted. You can reuse the local disk to create another storage volume.
2283//
2284// Before you delete a volume, make sure there are no iSCSI connections to the
2285// volume you are deleting. You should also make sure there is no snapshot in
2286// progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to
2287// query snapshots on the volume you are deleting and check the snapshot status.
2288// For more information, go to DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html)
2289// in the Amazon Elastic Compute Cloud API Reference.
2290//
2291// In the request, you must provide the Amazon Resource Name (ARN) of the storage
2292// volume you want to delete.
2293//
2294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2295// with awserr.Error's Code and Message methods to get detailed information about
2296// the error.
2297//
2298// See the AWS API reference guide for AWS Storage Gateway's
2299// API operation DeleteVolume for usage and error information.
2300//
2301// Returned Error Types:
2302//   * InvalidGatewayRequestException
2303//   An exception occurred because an invalid gateway request was issued to the
2304//   service. For more information, see the error and message fields.
2305//
2306//   * InternalServerError
2307//   An internal server error has occurred during the request. For more information,
2308//   see the error and message fields.
2309//
2310// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteVolume
2311func (c *StorageGateway) DeleteVolume(input *DeleteVolumeInput) (*DeleteVolumeOutput, error) {
2312	req, out := c.DeleteVolumeRequest(input)
2313	return out, req.Send()
2314}
2315
2316// DeleteVolumeWithContext is the same as DeleteVolume with the addition of
2317// the ability to pass a context and additional request options.
2318//
2319// See DeleteVolume for details on how to use this API operation.
2320//
2321// The context must be non-nil and will be used for request cancellation. If
2322// the context is nil a panic will occur. In the future the SDK may create
2323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2324// for more information on using Contexts.
2325func (c *StorageGateway) DeleteVolumeWithContext(ctx aws.Context, input *DeleteVolumeInput, opts ...request.Option) (*DeleteVolumeOutput, error) {
2326	req, out := c.DeleteVolumeRequest(input)
2327	req.SetContext(ctx)
2328	req.ApplyOptions(opts...)
2329	return out, req.Send()
2330}
2331
2332const opDescribeAvailabilityMonitorTest = "DescribeAvailabilityMonitorTest"
2333
2334// DescribeAvailabilityMonitorTestRequest generates a "aws/request.Request" representing the
2335// client's request for the DescribeAvailabilityMonitorTest operation. The "output" return
2336// value will be populated with the request's response once the request completes
2337// successfully.
2338//
2339// Use "Send" method on the returned Request to send the API call to the service.
2340// the "output" return value is not valid until after Send returns without error.
2341//
2342// See DescribeAvailabilityMonitorTest for more information on using the DescribeAvailabilityMonitorTest
2343// API call, and error handling.
2344//
2345// This method is useful when you want to inject custom logic or configuration
2346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2347//
2348//
2349//    // Example sending a request using the DescribeAvailabilityMonitorTestRequest method.
2350//    req, resp := client.DescribeAvailabilityMonitorTestRequest(params)
2351//
2352//    err := req.Send()
2353//    if err == nil { // resp is now filled
2354//        fmt.Println(resp)
2355//    }
2356//
2357// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeAvailabilityMonitorTest
2358func (c *StorageGateway) DescribeAvailabilityMonitorTestRequest(input *DescribeAvailabilityMonitorTestInput) (req *request.Request, output *DescribeAvailabilityMonitorTestOutput) {
2359	op := &request.Operation{
2360		Name:       opDescribeAvailabilityMonitorTest,
2361		HTTPMethod: "POST",
2362		HTTPPath:   "/",
2363	}
2364
2365	if input == nil {
2366		input = &DescribeAvailabilityMonitorTestInput{}
2367	}
2368
2369	output = &DescribeAvailabilityMonitorTestOutput{}
2370	req = c.newRequest(op, input, output)
2371	return
2372}
2373
2374// DescribeAvailabilityMonitorTest API operation for AWS Storage Gateway.
2375//
2376// Returns information about the most recent High Availability monitoring test
2377// that was performed on the host in a cluster. If a test isn't performed, the
2378// status and start time in the response would be null.
2379//
2380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2381// with awserr.Error's Code and Message methods to get detailed information about
2382// the error.
2383//
2384// See the AWS API reference guide for AWS Storage Gateway's
2385// API operation DescribeAvailabilityMonitorTest for usage and error information.
2386//
2387// Returned Error Types:
2388//   * InvalidGatewayRequestException
2389//   An exception occurred because an invalid gateway request was issued to the
2390//   service. For more information, see the error and message fields.
2391//
2392//   * InternalServerError
2393//   An internal server error has occurred during the request. For more information,
2394//   see the error and message fields.
2395//
2396// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeAvailabilityMonitorTest
2397func (c *StorageGateway) DescribeAvailabilityMonitorTest(input *DescribeAvailabilityMonitorTestInput) (*DescribeAvailabilityMonitorTestOutput, error) {
2398	req, out := c.DescribeAvailabilityMonitorTestRequest(input)
2399	return out, req.Send()
2400}
2401
2402// DescribeAvailabilityMonitorTestWithContext is the same as DescribeAvailabilityMonitorTest with the addition of
2403// the ability to pass a context and additional request options.
2404//
2405// See DescribeAvailabilityMonitorTest for details on how to use this API operation.
2406//
2407// The context must be non-nil and will be used for request cancellation. If
2408// the context is nil a panic will occur. In the future the SDK may create
2409// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2410// for more information on using Contexts.
2411func (c *StorageGateway) DescribeAvailabilityMonitorTestWithContext(ctx aws.Context, input *DescribeAvailabilityMonitorTestInput, opts ...request.Option) (*DescribeAvailabilityMonitorTestOutput, error) {
2412	req, out := c.DescribeAvailabilityMonitorTestRequest(input)
2413	req.SetContext(ctx)
2414	req.ApplyOptions(opts...)
2415	return out, req.Send()
2416}
2417
2418const opDescribeBandwidthRateLimit = "DescribeBandwidthRateLimit"
2419
2420// DescribeBandwidthRateLimitRequest generates a "aws/request.Request" representing the
2421// client's request for the DescribeBandwidthRateLimit operation. The "output" return
2422// value will be populated with the request's response once the request completes
2423// successfully.
2424//
2425// Use "Send" method on the returned Request to send the API call to the service.
2426// the "output" return value is not valid until after Send returns without error.
2427//
2428// See DescribeBandwidthRateLimit for more information on using the DescribeBandwidthRateLimit
2429// API call, and error handling.
2430//
2431// This method is useful when you want to inject custom logic or configuration
2432// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2433//
2434//
2435//    // Example sending a request using the DescribeBandwidthRateLimitRequest method.
2436//    req, resp := client.DescribeBandwidthRateLimitRequest(params)
2437//
2438//    err := req.Send()
2439//    if err == nil { // resp is now filled
2440//        fmt.Println(resp)
2441//    }
2442//
2443// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeBandwidthRateLimit
2444func (c *StorageGateway) DescribeBandwidthRateLimitRequest(input *DescribeBandwidthRateLimitInput) (req *request.Request, output *DescribeBandwidthRateLimitOutput) {
2445	op := &request.Operation{
2446		Name:       opDescribeBandwidthRateLimit,
2447		HTTPMethod: "POST",
2448		HTTPPath:   "/",
2449	}
2450
2451	if input == nil {
2452		input = &DescribeBandwidthRateLimitInput{}
2453	}
2454
2455	output = &DescribeBandwidthRateLimitOutput{}
2456	req = c.newRequest(op, input, output)
2457	return
2458}
2459
2460// DescribeBandwidthRateLimit API operation for AWS Storage Gateway.
2461//
2462// Returns the bandwidth rate limits of a gateway. By default, these limits
2463// are not set, which means no bandwidth rate limiting is in effect. This operation
2464// is supported for the stored volume, cached volume and tape gateway types.'
2465//
2466// This operation only returns a value for a bandwidth rate limit only if the
2467// limit is set. If no limits are set for the gateway, then this operation returns
2468// only the gateway ARN in the response body. To specify which gateway to describe,
2469// use the Amazon Resource Name (ARN) of the gateway in your request.
2470//
2471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2472// with awserr.Error's Code and Message methods to get detailed information about
2473// the error.
2474//
2475// See the AWS API reference guide for AWS Storage Gateway's
2476// API operation DescribeBandwidthRateLimit for usage and error information.
2477//
2478// Returned Error Types:
2479//   * InvalidGatewayRequestException
2480//   An exception occurred because an invalid gateway request was issued to the
2481//   service. For more information, see the error and message fields.
2482//
2483//   * InternalServerError
2484//   An internal server error has occurred during the request. For more information,
2485//   see the error and message fields.
2486//
2487// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeBandwidthRateLimit
2488func (c *StorageGateway) DescribeBandwidthRateLimit(input *DescribeBandwidthRateLimitInput) (*DescribeBandwidthRateLimitOutput, error) {
2489	req, out := c.DescribeBandwidthRateLimitRequest(input)
2490	return out, req.Send()
2491}
2492
2493// DescribeBandwidthRateLimitWithContext is the same as DescribeBandwidthRateLimit with the addition of
2494// the ability to pass a context and additional request options.
2495//
2496// See DescribeBandwidthRateLimit for details on how to use this API operation.
2497//
2498// The context must be non-nil and will be used for request cancellation. If
2499// the context is nil a panic will occur. In the future the SDK may create
2500// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2501// for more information on using Contexts.
2502func (c *StorageGateway) DescribeBandwidthRateLimitWithContext(ctx aws.Context, input *DescribeBandwidthRateLimitInput, opts ...request.Option) (*DescribeBandwidthRateLimitOutput, error) {
2503	req, out := c.DescribeBandwidthRateLimitRequest(input)
2504	req.SetContext(ctx)
2505	req.ApplyOptions(opts...)
2506	return out, req.Send()
2507}
2508
2509const opDescribeCache = "DescribeCache"
2510
2511// DescribeCacheRequest generates a "aws/request.Request" representing the
2512// client's request for the DescribeCache operation. The "output" return
2513// value will be populated with the request's response once the request completes
2514// successfully.
2515//
2516// Use "Send" method on the returned Request to send the API call to the service.
2517// the "output" return value is not valid until after Send returns without error.
2518//
2519// See DescribeCache for more information on using the DescribeCache
2520// API call, and error handling.
2521//
2522// This method is useful when you want to inject custom logic or configuration
2523// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2524//
2525//
2526//    // Example sending a request using the DescribeCacheRequest method.
2527//    req, resp := client.DescribeCacheRequest(params)
2528//
2529//    err := req.Send()
2530//    if err == nil { // resp is now filled
2531//        fmt.Println(resp)
2532//    }
2533//
2534// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeCache
2535func (c *StorageGateway) DescribeCacheRequest(input *DescribeCacheInput) (req *request.Request, output *DescribeCacheOutput) {
2536	op := &request.Operation{
2537		Name:       opDescribeCache,
2538		HTTPMethod: "POST",
2539		HTTPPath:   "/",
2540	}
2541
2542	if input == nil {
2543		input = &DescribeCacheInput{}
2544	}
2545
2546	output = &DescribeCacheOutput{}
2547	req = c.newRequest(op, input, output)
2548	return
2549}
2550
2551// DescribeCache API operation for AWS Storage Gateway.
2552//
2553// Returns information about the cache of a gateway. This operation is only
2554// supported in the cached volume, tape and file gateway types.
2555//
2556// The response includes disk IDs that are configured as cache, and it includes
2557// the amount of cache allocated and used.
2558//
2559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2560// with awserr.Error's Code and Message methods to get detailed information about
2561// the error.
2562//
2563// See the AWS API reference guide for AWS Storage Gateway's
2564// API operation DescribeCache for usage and error information.
2565//
2566// Returned Error Types:
2567//   * InvalidGatewayRequestException
2568//   An exception occurred because an invalid gateway request was issued to the
2569//   service. For more information, see the error and message fields.
2570//
2571//   * InternalServerError
2572//   An internal server error has occurred during the request. For more information,
2573//   see the error and message fields.
2574//
2575// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeCache
2576func (c *StorageGateway) DescribeCache(input *DescribeCacheInput) (*DescribeCacheOutput, error) {
2577	req, out := c.DescribeCacheRequest(input)
2578	return out, req.Send()
2579}
2580
2581// DescribeCacheWithContext is the same as DescribeCache with the addition of
2582// the ability to pass a context and additional request options.
2583//
2584// See DescribeCache for details on how to use this API operation.
2585//
2586// The context must be non-nil and will be used for request cancellation. If
2587// the context is nil a panic will occur. In the future the SDK may create
2588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2589// for more information on using Contexts.
2590func (c *StorageGateway) DescribeCacheWithContext(ctx aws.Context, input *DescribeCacheInput, opts ...request.Option) (*DescribeCacheOutput, error) {
2591	req, out := c.DescribeCacheRequest(input)
2592	req.SetContext(ctx)
2593	req.ApplyOptions(opts...)
2594	return out, req.Send()
2595}
2596
2597const opDescribeCachediSCSIVolumes = "DescribeCachediSCSIVolumes"
2598
2599// DescribeCachediSCSIVolumesRequest generates a "aws/request.Request" representing the
2600// client's request for the DescribeCachediSCSIVolumes operation. The "output" return
2601// value will be populated with the request's response once the request completes
2602// successfully.
2603//
2604// Use "Send" method on the returned Request to send the API call to the service.
2605// the "output" return value is not valid until after Send returns without error.
2606//
2607// See DescribeCachediSCSIVolumes for more information on using the DescribeCachediSCSIVolumes
2608// API call, and error handling.
2609//
2610// This method is useful when you want to inject custom logic or configuration
2611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2612//
2613//
2614//    // Example sending a request using the DescribeCachediSCSIVolumesRequest method.
2615//    req, resp := client.DescribeCachediSCSIVolumesRequest(params)
2616//
2617//    err := req.Send()
2618//    if err == nil { // resp is now filled
2619//        fmt.Println(resp)
2620//    }
2621//
2622// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeCachediSCSIVolumes
2623func (c *StorageGateway) DescribeCachediSCSIVolumesRequest(input *DescribeCachediSCSIVolumesInput) (req *request.Request, output *DescribeCachediSCSIVolumesOutput) {
2624	op := &request.Operation{
2625		Name:       opDescribeCachediSCSIVolumes,
2626		HTTPMethod: "POST",
2627		HTTPPath:   "/",
2628	}
2629
2630	if input == nil {
2631		input = &DescribeCachediSCSIVolumesInput{}
2632	}
2633
2634	output = &DescribeCachediSCSIVolumesOutput{}
2635	req = c.newRequest(op, input, output)
2636	return
2637}
2638
2639// DescribeCachediSCSIVolumes API operation for AWS Storage Gateway.
2640//
2641// Returns a description of the gateway volumes specified in the request. This
2642// operation is only supported in the cached volume gateway types.
2643//
2644// The list of gateway volumes in the request must be from one gateway. In the
2645// response Amazon Storage Gateway returns volume information sorted by volume
2646// Amazon Resource Name (ARN).
2647//
2648// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2649// with awserr.Error's Code and Message methods to get detailed information about
2650// the error.
2651//
2652// See the AWS API reference guide for AWS Storage Gateway's
2653// API operation DescribeCachediSCSIVolumes for usage and error information.
2654//
2655// Returned Error Types:
2656//   * InvalidGatewayRequestException
2657//   An exception occurred because an invalid gateway request was issued to the
2658//   service. For more information, see the error and message fields.
2659//
2660//   * InternalServerError
2661//   An internal server error has occurred during the request. For more information,
2662//   see the error and message fields.
2663//
2664// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeCachediSCSIVolumes
2665func (c *StorageGateway) DescribeCachediSCSIVolumes(input *DescribeCachediSCSIVolumesInput) (*DescribeCachediSCSIVolumesOutput, error) {
2666	req, out := c.DescribeCachediSCSIVolumesRequest(input)
2667	return out, req.Send()
2668}
2669
2670// DescribeCachediSCSIVolumesWithContext is the same as DescribeCachediSCSIVolumes with the addition of
2671// the ability to pass a context and additional request options.
2672//
2673// See DescribeCachediSCSIVolumes for details on how to use this API operation.
2674//
2675// The context must be non-nil and will be used for request cancellation. If
2676// the context is nil a panic will occur. In the future the SDK may create
2677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2678// for more information on using Contexts.
2679func (c *StorageGateway) DescribeCachediSCSIVolumesWithContext(ctx aws.Context, input *DescribeCachediSCSIVolumesInput, opts ...request.Option) (*DescribeCachediSCSIVolumesOutput, error) {
2680	req, out := c.DescribeCachediSCSIVolumesRequest(input)
2681	req.SetContext(ctx)
2682	req.ApplyOptions(opts...)
2683	return out, req.Send()
2684}
2685
2686const opDescribeChapCredentials = "DescribeChapCredentials"
2687
2688// DescribeChapCredentialsRequest generates a "aws/request.Request" representing the
2689// client's request for the DescribeChapCredentials operation. The "output" return
2690// value will be populated with the request's response once the request completes
2691// successfully.
2692//
2693// Use "Send" method on the returned Request to send the API call to the service.
2694// the "output" return value is not valid until after Send returns without error.
2695//
2696// See DescribeChapCredentials for more information on using the DescribeChapCredentials
2697// API call, and error handling.
2698//
2699// This method is useful when you want to inject custom logic or configuration
2700// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2701//
2702//
2703//    // Example sending a request using the DescribeChapCredentialsRequest method.
2704//    req, resp := client.DescribeChapCredentialsRequest(params)
2705//
2706//    err := req.Send()
2707//    if err == nil { // resp is now filled
2708//        fmt.Println(resp)
2709//    }
2710//
2711// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeChapCredentials
2712func (c *StorageGateway) DescribeChapCredentialsRequest(input *DescribeChapCredentialsInput) (req *request.Request, output *DescribeChapCredentialsOutput) {
2713	op := &request.Operation{
2714		Name:       opDescribeChapCredentials,
2715		HTTPMethod: "POST",
2716		HTTPPath:   "/",
2717	}
2718
2719	if input == nil {
2720		input = &DescribeChapCredentialsInput{}
2721	}
2722
2723	output = &DescribeChapCredentialsOutput{}
2724	req = c.newRequest(op, input, output)
2725	return
2726}
2727
2728// DescribeChapCredentials API operation for AWS Storage Gateway.
2729//
2730// Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials
2731// information for a specified iSCSI target, one for each target-initiator pair.
2732// This operation is supported in the volume and tape gateway types.
2733//
2734// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2735// with awserr.Error's Code and Message methods to get detailed information about
2736// the error.
2737//
2738// See the AWS API reference guide for AWS Storage Gateway's
2739// API operation DescribeChapCredentials for usage and error information.
2740//
2741// Returned Error Types:
2742//   * InvalidGatewayRequestException
2743//   An exception occurred because an invalid gateway request was issued to the
2744//   service. For more information, see the error and message fields.
2745//
2746//   * InternalServerError
2747//   An internal server error has occurred during the request. For more information,
2748//   see the error and message fields.
2749//
2750// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeChapCredentials
2751func (c *StorageGateway) DescribeChapCredentials(input *DescribeChapCredentialsInput) (*DescribeChapCredentialsOutput, error) {
2752	req, out := c.DescribeChapCredentialsRequest(input)
2753	return out, req.Send()
2754}
2755
2756// DescribeChapCredentialsWithContext is the same as DescribeChapCredentials with the addition of
2757// the ability to pass a context and additional request options.
2758//
2759// See DescribeChapCredentials for details on how to use this API operation.
2760//
2761// The context must be non-nil and will be used for request cancellation. If
2762// the context is nil a panic will occur. In the future the SDK may create
2763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2764// for more information on using Contexts.
2765func (c *StorageGateway) DescribeChapCredentialsWithContext(ctx aws.Context, input *DescribeChapCredentialsInput, opts ...request.Option) (*DescribeChapCredentialsOutput, error) {
2766	req, out := c.DescribeChapCredentialsRequest(input)
2767	req.SetContext(ctx)
2768	req.ApplyOptions(opts...)
2769	return out, req.Send()
2770}
2771
2772const opDescribeGatewayInformation = "DescribeGatewayInformation"
2773
2774// DescribeGatewayInformationRequest generates a "aws/request.Request" representing the
2775// client's request for the DescribeGatewayInformation operation. The "output" return
2776// value will be populated with the request's response once the request completes
2777// successfully.
2778//
2779// Use "Send" method on the returned Request to send the API call to the service.
2780// the "output" return value is not valid until after Send returns without error.
2781//
2782// See DescribeGatewayInformation for more information on using the DescribeGatewayInformation
2783// API call, and error handling.
2784//
2785// This method is useful when you want to inject custom logic or configuration
2786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2787//
2788//
2789//    // Example sending a request using the DescribeGatewayInformationRequest method.
2790//    req, resp := client.DescribeGatewayInformationRequest(params)
2791//
2792//    err := req.Send()
2793//    if err == nil { // resp is now filled
2794//        fmt.Println(resp)
2795//    }
2796//
2797// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeGatewayInformation
2798func (c *StorageGateway) DescribeGatewayInformationRequest(input *DescribeGatewayInformationInput) (req *request.Request, output *DescribeGatewayInformationOutput) {
2799	op := &request.Operation{
2800		Name:       opDescribeGatewayInformation,
2801		HTTPMethod: "POST",
2802		HTTPPath:   "/",
2803	}
2804
2805	if input == nil {
2806		input = &DescribeGatewayInformationInput{}
2807	}
2808
2809	output = &DescribeGatewayInformationOutput{}
2810	req = c.newRequest(op, input, output)
2811	return
2812}
2813
2814// DescribeGatewayInformation API operation for AWS Storage Gateway.
2815//
2816// Returns metadata about a gateway such as its name, network interfaces, configured
2817// time zone, and the state (whether the gateway is running or not). To specify
2818// which gateway to describe, use the Amazon Resource Name (ARN) of the gateway
2819// in your request.
2820//
2821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2822// with awserr.Error's Code and Message methods to get detailed information about
2823// the error.
2824//
2825// See the AWS API reference guide for AWS Storage Gateway's
2826// API operation DescribeGatewayInformation for usage and error information.
2827//
2828// Returned Error Types:
2829//   * InvalidGatewayRequestException
2830//   An exception occurred because an invalid gateway request was issued to the
2831//   service. For more information, see the error and message fields.
2832//
2833//   * InternalServerError
2834//   An internal server error has occurred during the request. For more information,
2835//   see the error and message fields.
2836//
2837// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeGatewayInformation
2838func (c *StorageGateway) DescribeGatewayInformation(input *DescribeGatewayInformationInput) (*DescribeGatewayInformationOutput, error) {
2839	req, out := c.DescribeGatewayInformationRequest(input)
2840	return out, req.Send()
2841}
2842
2843// DescribeGatewayInformationWithContext is the same as DescribeGatewayInformation with the addition of
2844// the ability to pass a context and additional request options.
2845//
2846// See DescribeGatewayInformation for details on how to use this API operation.
2847//
2848// The context must be non-nil and will be used for request cancellation. If
2849// the context is nil a panic will occur. In the future the SDK may create
2850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2851// for more information on using Contexts.
2852func (c *StorageGateway) DescribeGatewayInformationWithContext(ctx aws.Context, input *DescribeGatewayInformationInput, opts ...request.Option) (*DescribeGatewayInformationOutput, error) {
2853	req, out := c.DescribeGatewayInformationRequest(input)
2854	req.SetContext(ctx)
2855	req.ApplyOptions(opts...)
2856	return out, req.Send()
2857}
2858
2859const opDescribeMaintenanceStartTime = "DescribeMaintenanceStartTime"
2860
2861// DescribeMaintenanceStartTimeRequest generates a "aws/request.Request" representing the
2862// client's request for the DescribeMaintenanceStartTime operation. The "output" return
2863// value will be populated with the request's response once the request completes
2864// successfully.
2865//
2866// Use "Send" method on the returned Request to send the API call to the service.
2867// the "output" return value is not valid until after Send returns without error.
2868//
2869// See DescribeMaintenanceStartTime for more information on using the DescribeMaintenanceStartTime
2870// API call, and error handling.
2871//
2872// This method is useful when you want to inject custom logic or configuration
2873// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2874//
2875//
2876//    // Example sending a request using the DescribeMaintenanceStartTimeRequest method.
2877//    req, resp := client.DescribeMaintenanceStartTimeRequest(params)
2878//
2879//    err := req.Send()
2880//    if err == nil { // resp is now filled
2881//        fmt.Println(resp)
2882//    }
2883//
2884// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeMaintenanceStartTime
2885func (c *StorageGateway) DescribeMaintenanceStartTimeRequest(input *DescribeMaintenanceStartTimeInput) (req *request.Request, output *DescribeMaintenanceStartTimeOutput) {
2886	op := &request.Operation{
2887		Name:       opDescribeMaintenanceStartTime,
2888		HTTPMethod: "POST",
2889		HTTPPath:   "/",
2890	}
2891
2892	if input == nil {
2893		input = &DescribeMaintenanceStartTimeInput{}
2894	}
2895
2896	output = &DescribeMaintenanceStartTimeOutput{}
2897	req = c.newRequest(op, input, output)
2898	return
2899}
2900
2901// DescribeMaintenanceStartTime API operation for AWS Storage Gateway.
2902//
2903// Returns your gateway's weekly maintenance start time including the day and
2904// time of the week. Note that values are in terms of the gateway's time zone.
2905//
2906// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2907// with awserr.Error's Code and Message methods to get detailed information about
2908// the error.
2909//
2910// See the AWS API reference guide for AWS Storage Gateway's
2911// API operation DescribeMaintenanceStartTime for usage and error information.
2912//
2913// Returned Error Types:
2914//   * InvalidGatewayRequestException
2915//   An exception occurred because an invalid gateway request was issued to the
2916//   service. For more information, see the error and message fields.
2917//
2918//   * InternalServerError
2919//   An internal server error has occurred during the request. For more information,
2920//   see the error and message fields.
2921//
2922// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeMaintenanceStartTime
2923func (c *StorageGateway) DescribeMaintenanceStartTime(input *DescribeMaintenanceStartTimeInput) (*DescribeMaintenanceStartTimeOutput, error) {
2924	req, out := c.DescribeMaintenanceStartTimeRequest(input)
2925	return out, req.Send()
2926}
2927
2928// DescribeMaintenanceStartTimeWithContext is the same as DescribeMaintenanceStartTime with the addition of
2929// the ability to pass a context and additional request options.
2930//
2931// See DescribeMaintenanceStartTime for details on how to use this API operation.
2932//
2933// The context must be non-nil and will be used for request cancellation. If
2934// the context is nil a panic will occur. In the future the SDK may create
2935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2936// for more information on using Contexts.
2937func (c *StorageGateway) DescribeMaintenanceStartTimeWithContext(ctx aws.Context, input *DescribeMaintenanceStartTimeInput, opts ...request.Option) (*DescribeMaintenanceStartTimeOutput, error) {
2938	req, out := c.DescribeMaintenanceStartTimeRequest(input)
2939	req.SetContext(ctx)
2940	req.ApplyOptions(opts...)
2941	return out, req.Send()
2942}
2943
2944const opDescribeNFSFileShares = "DescribeNFSFileShares"
2945
2946// DescribeNFSFileSharesRequest generates a "aws/request.Request" representing the
2947// client's request for the DescribeNFSFileShares operation. The "output" return
2948// value will be populated with the request's response once the request completes
2949// successfully.
2950//
2951// Use "Send" method on the returned Request to send the API call to the service.
2952// the "output" return value is not valid until after Send returns without error.
2953//
2954// See DescribeNFSFileShares for more information on using the DescribeNFSFileShares
2955// API call, and error handling.
2956//
2957// This method is useful when you want to inject custom logic or configuration
2958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2959//
2960//
2961//    // Example sending a request using the DescribeNFSFileSharesRequest method.
2962//    req, resp := client.DescribeNFSFileSharesRequest(params)
2963//
2964//    err := req.Send()
2965//    if err == nil { // resp is now filled
2966//        fmt.Println(resp)
2967//    }
2968//
2969// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeNFSFileShares
2970func (c *StorageGateway) DescribeNFSFileSharesRequest(input *DescribeNFSFileSharesInput) (req *request.Request, output *DescribeNFSFileSharesOutput) {
2971	op := &request.Operation{
2972		Name:       opDescribeNFSFileShares,
2973		HTTPMethod: "POST",
2974		HTTPPath:   "/",
2975	}
2976
2977	if input == nil {
2978		input = &DescribeNFSFileSharesInput{}
2979	}
2980
2981	output = &DescribeNFSFileSharesOutput{}
2982	req = c.newRequest(op, input, output)
2983	return
2984}
2985
2986// DescribeNFSFileShares API operation for AWS Storage Gateway.
2987//
2988// Gets a description for one or more Network File System (NFS) file shares
2989// from a file gateway. This operation is only supported for file gateways.
2990//
2991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2992// with awserr.Error's Code and Message methods to get detailed information about
2993// the error.
2994//
2995// See the AWS API reference guide for AWS Storage Gateway's
2996// API operation DescribeNFSFileShares for usage and error information.
2997//
2998// Returned Error Types:
2999//   * InvalidGatewayRequestException
3000//   An exception occurred because an invalid gateway request was issued to the
3001//   service. For more information, see the error and message fields.
3002//
3003//   * InternalServerError
3004//   An internal server error has occurred during the request. For more information,
3005//   see the error and message fields.
3006//
3007// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeNFSFileShares
3008func (c *StorageGateway) DescribeNFSFileShares(input *DescribeNFSFileSharesInput) (*DescribeNFSFileSharesOutput, error) {
3009	req, out := c.DescribeNFSFileSharesRequest(input)
3010	return out, req.Send()
3011}
3012
3013// DescribeNFSFileSharesWithContext is the same as DescribeNFSFileShares with the addition of
3014// the ability to pass a context and additional request options.
3015//
3016// See DescribeNFSFileShares for details on how to use this API operation.
3017//
3018// The context must be non-nil and will be used for request cancellation. If
3019// the context is nil a panic will occur. In the future the SDK may create
3020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3021// for more information on using Contexts.
3022func (c *StorageGateway) DescribeNFSFileSharesWithContext(ctx aws.Context, input *DescribeNFSFileSharesInput, opts ...request.Option) (*DescribeNFSFileSharesOutput, error) {
3023	req, out := c.DescribeNFSFileSharesRequest(input)
3024	req.SetContext(ctx)
3025	req.ApplyOptions(opts...)
3026	return out, req.Send()
3027}
3028
3029const opDescribeSMBFileShares = "DescribeSMBFileShares"
3030
3031// DescribeSMBFileSharesRequest generates a "aws/request.Request" representing the
3032// client's request for the DescribeSMBFileShares operation. The "output" return
3033// value will be populated with the request's response once the request completes
3034// successfully.
3035//
3036// Use "Send" method on the returned Request to send the API call to the service.
3037// the "output" return value is not valid until after Send returns without error.
3038//
3039// See DescribeSMBFileShares for more information on using the DescribeSMBFileShares
3040// API call, and error handling.
3041//
3042// This method is useful when you want to inject custom logic or configuration
3043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3044//
3045//
3046//    // Example sending a request using the DescribeSMBFileSharesRequest method.
3047//    req, resp := client.DescribeSMBFileSharesRequest(params)
3048//
3049//    err := req.Send()
3050//    if err == nil { // resp is now filled
3051//        fmt.Println(resp)
3052//    }
3053//
3054// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeSMBFileShares
3055func (c *StorageGateway) DescribeSMBFileSharesRequest(input *DescribeSMBFileSharesInput) (req *request.Request, output *DescribeSMBFileSharesOutput) {
3056	op := &request.Operation{
3057		Name:       opDescribeSMBFileShares,
3058		HTTPMethod: "POST",
3059		HTTPPath:   "/",
3060	}
3061
3062	if input == nil {
3063		input = &DescribeSMBFileSharesInput{}
3064	}
3065
3066	output = &DescribeSMBFileSharesOutput{}
3067	req = c.newRequest(op, input, output)
3068	return
3069}
3070
3071// DescribeSMBFileShares API operation for AWS Storage Gateway.
3072//
3073// Gets a description for one or more Server Message Block (SMB) file shares
3074// from a file gateway. This operation is only supported for file gateways.
3075//
3076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3077// with awserr.Error's Code and Message methods to get detailed information about
3078// the error.
3079//
3080// See the AWS API reference guide for AWS Storage Gateway's
3081// API operation DescribeSMBFileShares for usage and error information.
3082//
3083// Returned Error Types:
3084//   * InvalidGatewayRequestException
3085//   An exception occurred because an invalid gateway request was issued to the
3086//   service. For more information, see the error and message fields.
3087//
3088//   * InternalServerError
3089//   An internal server error has occurred during the request. For more information,
3090//   see the error and message fields.
3091//
3092// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeSMBFileShares
3093func (c *StorageGateway) DescribeSMBFileShares(input *DescribeSMBFileSharesInput) (*DescribeSMBFileSharesOutput, error) {
3094	req, out := c.DescribeSMBFileSharesRequest(input)
3095	return out, req.Send()
3096}
3097
3098// DescribeSMBFileSharesWithContext is the same as DescribeSMBFileShares with the addition of
3099// the ability to pass a context and additional request options.
3100//
3101// See DescribeSMBFileShares for details on how to use this API operation.
3102//
3103// The context must be non-nil and will be used for request cancellation. If
3104// the context is nil a panic will occur. In the future the SDK may create
3105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3106// for more information on using Contexts.
3107func (c *StorageGateway) DescribeSMBFileSharesWithContext(ctx aws.Context, input *DescribeSMBFileSharesInput, opts ...request.Option) (*DescribeSMBFileSharesOutput, error) {
3108	req, out := c.DescribeSMBFileSharesRequest(input)
3109	req.SetContext(ctx)
3110	req.ApplyOptions(opts...)
3111	return out, req.Send()
3112}
3113
3114const opDescribeSMBSettings = "DescribeSMBSettings"
3115
3116// DescribeSMBSettingsRequest generates a "aws/request.Request" representing the
3117// client's request for the DescribeSMBSettings operation. The "output" return
3118// value will be populated with the request's response once the request completes
3119// successfully.
3120//
3121// Use "Send" method on the returned Request to send the API call to the service.
3122// the "output" return value is not valid until after Send returns without error.
3123//
3124// See DescribeSMBSettings for more information on using the DescribeSMBSettings
3125// API call, and error handling.
3126//
3127// This method is useful when you want to inject custom logic or configuration
3128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3129//
3130//
3131//    // Example sending a request using the DescribeSMBSettingsRequest method.
3132//    req, resp := client.DescribeSMBSettingsRequest(params)
3133//
3134//    err := req.Send()
3135//    if err == nil { // resp is now filled
3136//        fmt.Println(resp)
3137//    }
3138//
3139// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeSMBSettings
3140func (c *StorageGateway) DescribeSMBSettingsRequest(input *DescribeSMBSettingsInput) (req *request.Request, output *DescribeSMBSettingsOutput) {
3141	op := &request.Operation{
3142		Name:       opDescribeSMBSettings,
3143		HTTPMethod: "POST",
3144		HTTPPath:   "/",
3145	}
3146
3147	if input == nil {
3148		input = &DescribeSMBSettingsInput{}
3149	}
3150
3151	output = &DescribeSMBSettingsOutput{}
3152	req = c.newRequest(op, input, output)
3153	return
3154}
3155
3156// DescribeSMBSettings API operation for AWS Storage Gateway.
3157//
3158// Gets a description of a Server Message Block (SMB) file share settings from
3159// a file gateway. This operation is only supported for file gateways.
3160//
3161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3162// with awserr.Error's Code and Message methods to get detailed information about
3163// the error.
3164//
3165// See the AWS API reference guide for AWS Storage Gateway's
3166// API operation DescribeSMBSettings for usage and error information.
3167//
3168// Returned Error Types:
3169//   * InvalidGatewayRequestException
3170//   An exception occurred because an invalid gateway request was issued to the
3171//   service. For more information, see the error and message fields.
3172//
3173//   * InternalServerError
3174//   An internal server error has occurred during the request. For more information,
3175//   see the error and message fields.
3176//
3177// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeSMBSettings
3178func (c *StorageGateway) DescribeSMBSettings(input *DescribeSMBSettingsInput) (*DescribeSMBSettingsOutput, error) {
3179	req, out := c.DescribeSMBSettingsRequest(input)
3180	return out, req.Send()
3181}
3182
3183// DescribeSMBSettingsWithContext is the same as DescribeSMBSettings with the addition of
3184// the ability to pass a context and additional request options.
3185//
3186// See DescribeSMBSettings for details on how to use this API operation.
3187//
3188// The context must be non-nil and will be used for request cancellation. If
3189// the context is nil a panic will occur. In the future the SDK may create
3190// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3191// for more information on using Contexts.
3192func (c *StorageGateway) DescribeSMBSettingsWithContext(ctx aws.Context, input *DescribeSMBSettingsInput, opts ...request.Option) (*DescribeSMBSettingsOutput, error) {
3193	req, out := c.DescribeSMBSettingsRequest(input)
3194	req.SetContext(ctx)
3195	req.ApplyOptions(opts...)
3196	return out, req.Send()
3197}
3198
3199const opDescribeSnapshotSchedule = "DescribeSnapshotSchedule"
3200
3201// DescribeSnapshotScheduleRequest generates a "aws/request.Request" representing the
3202// client's request for the DescribeSnapshotSchedule operation. The "output" return
3203// value will be populated with the request's response once the request completes
3204// successfully.
3205//
3206// Use "Send" method on the returned Request to send the API call to the service.
3207// the "output" return value is not valid until after Send returns without error.
3208//
3209// See DescribeSnapshotSchedule for more information on using the DescribeSnapshotSchedule
3210// API call, and error handling.
3211//
3212// This method is useful when you want to inject custom logic or configuration
3213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3214//
3215//
3216//    // Example sending a request using the DescribeSnapshotScheduleRequest method.
3217//    req, resp := client.DescribeSnapshotScheduleRequest(params)
3218//
3219//    err := req.Send()
3220//    if err == nil { // resp is now filled
3221//        fmt.Println(resp)
3222//    }
3223//
3224// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeSnapshotSchedule
3225func (c *StorageGateway) DescribeSnapshotScheduleRequest(input *DescribeSnapshotScheduleInput) (req *request.Request, output *DescribeSnapshotScheduleOutput) {
3226	op := &request.Operation{
3227		Name:       opDescribeSnapshotSchedule,
3228		HTTPMethod: "POST",
3229		HTTPPath:   "/",
3230	}
3231
3232	if input == nil {
3233		input = &DescribeSnapshotScheduleInput{}
3234	}
3235
3236	output = &DescribeSnapshotScheduleOutput{}
3237	req = c.newRequest(op, input, output)
3238	return
3239}
3240
3241// DescribeSnapshotSchedule API operation for AWS Storage Gateway.
3242//
3243// Describes the snapshot schedule for the specified gateway volume. The snapshot
3244// schedule information includes intervals at which snapshots are automatically
3245// initiated on the volume. This operation is only supported in the cached volume
3246// and stored volume types.
3247//
3248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3249// with awserr.Error's Code and Message methods to get detailed information about
3250// the error.
3251//
3252// See the AWS API reference guide for AWS Storage Gateway's
3253// API operation DescribeSnapshotSchedule for usage and error information.
3254//
3255// Returned Error Types:
3256//   * InvalidGatewayRequestException
3257//   An exception occurred because an invalid gateway request was issued to the
3258//   service. For more information, see the error and message fields.
3259//
3260//   * InternalServerError
3261//   An internal server error has occurred during the request. For more information,
3262//   see the error and message fields.
3263//
3264// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeSnapshotSchedule
3265func (c *StorageGateway) DescribeSnapshotSchedule(input *DescribeSnapshotScheduleInput) (*DescribeSnapshotScheduleOutput, error) {
3266	req, out := c.DescribeSnapshotScheduleRequest(input)
3267	return out, req.Send()
3268}
3269
3270// DescribeSnapshotScheduleWithContext is the same as DescribeSnapshotSchedule with the addition of
3271// the ability to pass a context and additional request options.
3272//
3273// See DescribeSnapshotSchedule for details on how to use this API operation.
3274//
3275// The context must be non-nil and will be used for request cancellation. If
3276// the context is nil a panic will occur. In the future the SDK may create
3277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3278// for more information on using Contexts.
3279func (c *StorageGateway) DescribeSnapshotScheduleWithContext(ctx aws.Context, input *DescribeSnapshotScheduleInput, opts ...request.Option) (*DescribeSnapshotScheduleOutput, error) {
3280	req, out := c.DescribeSnapshotScheduleRequest(input)
3281	req.SetContext(ctx)
3282	req.ApplyOptions(opts...)
3283	return out, req.Send()
3284}
3285
3286const opDescribeStorediSCSIVolumes = "DescribeStorediSCSIVolumes"
3287
3288// DescribeStorediSCSIVolumesRequest generates a "aws/request.Request" representing the
3289// client's request for the DescribeStorediSCSIVolumes operation. The "output" return
3290// value will be populated with the request's response once the request completes
3291// successfully.
3292//
3293// Use "Send" method on the returned Request to send the API call to the service.
3294// the "output" return value is not valid until after Send returns without error.
3295//
3296// See DescribeStorediSCSIVolumes for more information on using the DescribeStorediSCSIVolumes
3297// API call, and error handling.
3298//
3299// This method is useful when you want to inject custom logic or configuration
3300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3301//
3302//
3303//    // Example sending a request using the DescribeStorediSCSIVolumesRequest method.
3304//    req, resp := client.DescribeStorediSCSIVolumesRequest(params)
3305//
3306//    err := req.Send()
3307//    if err == nil { // resp is now filled
3308//        fmt.Println(resp)
3309//    }
3310//
3311// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeStorediSCSIVolumes
3312func (c *StorageGateway) DescribeStorediSCSIVolumesRequest(input *DescribeStorediSCSIVolumesInput) (req *request.Request, output *DescribeStorediSCSIVolumesOutput) {
3313	op := &request.Operation{
3314		Name:       opDescribeStorediSCSIVolumes,
3315		HTTPMethod: "POST",
3316		HTTPPath:   "/",
3317	}
3318
3319	if input == nil {
3320		input = &DescribeStorediSCSIVolumesInput{}
3321	}
3322
3323	output = &DescribeStorediSCSIVolumesOutput{}
3324	req = c.newRequest(op, input, output)
3325	return
3326}
3327
3328// DescribeStorediSCSIVolumes API operation for AWS Storage Gateway.
3329//
3330// Returns the description of the gateway volumes specified in the request.
3331// The list of gateway volumes in the request must be from one gateway. In the
3332// response Amazon Storage Gateway returns volume information sorted by volume
3333// ARNs. This operation is only supported in stored volume gateway type.
3334//
3335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3336// with awserr.Error's Code and Message methods to get detailed information about
3337// the error.
3338//
3339// See the AWS API reference guide for AWS Storage Gateway's
3340// API operation DescribeStorediSCSIVolumes for usage and error information.
3341//
3342// Returned Error Types:
3343//   * InvalidGatewayRequestException
3344//   An exception occurred because an invalid gateway request was issued to the
3345//   service. For more information, see the error and message fields.
3346//
3347//   * InternalServerError
3348//   An internal server error has occurred during the request. For more information,
3349//   see the error and message fields.
3350//
3351// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeStorediSCSIVolumes
3352func (c *StorageGateway) DescribeStorediSCSIVolumes(input *DescribeStorediSCSIVolumesInput) (*DescribeStorediSCSIVolumesOutput, error) {
3353	req, out := c.DescribeStorediSCSIVolumesRequest(input)
3354	return out, req.Send()
3355}
3356
3357// DescribeStorediSCSIVolumesWithContext is the same as DescribeStorediSCSIVolumes with the addition of
3358// the ability to pass a context and additional request options.
3359//
3360// See DescribeStorediSCSIVolumes for details on how to use this API operation.
3361//
3362// The context must be non-nil and will be used for request cancellation. If
3363// the context is nil a panic will occur. In the future the SDK may create
3364// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3365// for more information on using Contexts.
3366func (c *StorageGateway) DescribeStorediSCSIVolumesWithContext(ctx aws.Context, input *DescribeStorediSCSIVolumesInput, opts ...request.Option) (*DescribeStorediSCSIVolumesOutput, error) {
3367	req, out := c.DescribeStorediSCSIVolumesRequest(input)
3368	req.SetContext(ctx)
3369	req.ApplyOptions(opts...)
3370	return out, req.Send()
3371}
3372
3373const opDescribeTapeArchives = "DescribeTapeArchives"
3374
3375// DescribeTapeArchivesRequest generates a "aws/request.Request" representing the
3376// client's request for the DescribeTapeArchives operation. The "output" return
3377// value will be populated with the request's response once the request completes
3378// successfully.
3379//
3380// Use "Send" method on the returned Request to send the API call to the service.
3381// the "output" return value is not valid until after Send returns without error.
3382//
3383// See DescribeTapeArchives for more information on using the DescribeTapeArchives
3384// API call, and error handling.
3385//
3386// This method is useful when you want to inject custom logic or configuration
3387// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3388//
3389//
3390//    // Example sending a request using the DescribeTapeArchivesRequest method.
3391//    req, resp := client.DescribeTapeArchivesRequest(params)
3392//
3393//    err := req.Send()
3394//    if err == nil { // resp is now filled
3395//        fmt.Println(resp)
3396//    }
3397//
3398// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeTapeArchives
3399func (c *StorageGateway) DescribeTapeArchivesRequest(input *DescribeTapeArchivesInput) (req *request.Request, output *DescribeTapeArchivesOutput) {
3400	op := &request.Operation{
3401		Name:       opDescribeTapeArchives,
3402		HTTPMethod: "POST",
3403		HTTPPath:   "/",
3404		Paginator: &request.Paginator{
3405			InputTokens:     []string{"Marker"},
3406			OutputTokens:    []string{"Marker"},
3407			LimitToken:      "Limit",
3408			TruncationToken: "",
3409		},
3410	}
3411
3412	if input == nil {
3413		input = &DescribeTapeArchivesInput{}
3414	}
3415
3416	output = &DescribeTapeArchivesOutput{}
3417	req = c.newRequest(op, input, output)
3418	return
3419}
3420
3421// DescribeTapeArchives API operation for AWS Storage Gateway.
3422//
3423// Returns a description of specified virtual tapes in the virtual tape shelf
3424// (VTS). This operation is only supported in the tape gateway type.
3425//
3426// If a specific TapeARN is not specified, AWS Storage Gateway returns a description
3427// of all virtual tapes found in the VTS associated with your account.
3428//
3429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3430// with awserr.Error's Code and Message methods to get detailed information about
3431// the error.
3432//
3433// See the AWS API reference guide for AWS Storage Gateway's
3434// API operation DescribeTapeArchives for usage and error information.
3435//
3436// Returned Error Types:
3437//   * InvalidGatewayRequestException
3438//   An exception occurred because an invalid gateway request was issued to the
3439//   service. For more information, see the error and message fields.
3440//
3441//   * InternalServerError
3442//   An internal server error has occurred during the request. For more information,
3443//   see the error and message fields.
3444//
3445// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeTapeArchives
3446func (c *StorageGateway) DescribeTapeArchives(input *DescribeTapeArchivesInput) (*DescribeTapeArchivesOutput, error) {
3447	req, out := c.DescribeTapeArchivesRequest(input)
3448	return out, req.Send()
3449}
3450
3451// DescribeTapeArchivesWithContext is the same as DescribeTapeArchives with the addition of
3452// the ability to pass a context and additional request options.
3453//
3454// See DescribeTapeArchives for details on how to use this API operation.
3455//
3456// The context must be non-nil and will be used for request cancellation. If
3457// the context is nil a panic will occur. In the future the SDK may create
3458// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3459// for more information on using Contexts.
3460func (c *StorageGateway) DescribeTapeArchivesWithContext(ctx aws.Context, input *DescribeTapeArchivesInput, opts ...request.Option) (*DescribeTapeArchivesOutput, error) {
3461	req, out := c.DescribeTapeArchivesRequest(input)
3462	req.SetContext(ctx)
3463	req.ApplyOptions(opts...)
3464	return out, req.Send()
3465}
3466
3467// DescribeTapeArchivesPages iterates over the pages of a DescribeTapeArchives operation,
3468// calling the "fn" function with the response data for each page. To stop
3469// iterating, return false from the fn function.
3470//
3471// See DescribeTapeArchives method for more information on how to use this operation.
3472//
3473// Note: This operation can generate multiple requests to a service.
3474//
3475//    // Example iterating over at most 3 pages of a DescribeTapeArchives operation.
3476//    pageNum := 0
3477//    err := client.DescribeTapeArchivesPages(params,
3478//        func(page *storagegateway.DescribeTapeArchivesOutput, lastPage bool) bool {
3479//            pageNum++
3480//            fmt.Println(page)
3481//            return pageNum <= 3
3482//        })
3483//
3484func (c *StorageGateway) DescribeTapeArchivesPages(input *DescribeTapeArchivesInput, fn func(*DescribeTapeArchivesOutput, bool) bool) error {
3485	return c.DescribeTapeArchivesPagesWithContext(aws.BackgroundContext(), input, fn)
3486}
3487
3488// DescribeTapeArchivesPagesWithContext same as DescribeTapeArchivesPages except
3489// it takes a Context and allows setting request options on the pages.
3490//
3491// The context must be non-nil and will be used for request cancellation. If
3492// the context is nil a panic will occur. In the future the SDK may create
3493// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3494// for more information on using Contexts.
3495func (c *StorageGateway) DescribeTapeArchivesPagesWithContext(ctx aws.Context, input *DescribeTapeArchivesInput, fn func(*DescribeTapeArchivesOutput, bool) bool, opts ...request.Option) error {
3496	p := request.Pagination{
3497		NewRequest: func() (*request.Request, error) {
3498			var inCpy *DescribeTapeArchivesInput
3499			if input != nil {
3500				tmp := *input
3501				inCpy = &tmp
3502			}
3503			req, _ := c.DescribeTapeArchivesRequest(inCpy)
3504			req.SetContext(ctx)
3505			req.ApplyOptions(opts...)
3506			return req, nil
3507		},
3508	}
3509
3510	for p.Next() {
3511		if !fn(p.Page().(*DescribeTapeArchivesOutput), !p.HasNextPage()) {
3512			break
3513		}
3514	}
3515
3516	return p.Err()
3517}
3518
3519const opDescribeTapeRecoveryPoints = "DescribeTapeRecoveryPoints"
3520
3521// DescribeTapeRecoveryPointsRequest generates a "aws/request.Request" representing the
3522// client's request for the DescribeTapeRecoveryPoints operation. The "output" return
3523// value will be populated with the request's response once the request completes
3524// successfully.
3525//
3526// Use "Send" method on the returned Request to send the API call to the service.
3527// the "output" return value is not valid until after Send returns without error.
3528//
3529// See DescribeTapeRecoveryPoints for more information on using the DescribeTapeRecoveryPoints
3530// API call, and error handling.
3531//
3532// This method is useful when you want to inject custom logic or configuration
3533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3534//
3535//
3536//    // Example sending a request using the DescribeTapeRecoveryPointsRequest method.
3537//    req, resp := client.DescribeTapeRecoveryPointsRequest(params)
3538//
3539//    err := req.Send()
3540//    if err == nil { // resp is now filled
3541//        fmt.Println(resp)
3542//    }
3543//
3544// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeTapeRecoveryPoints
3545func (c *StorageGateway) DescribeTapeRecoveryPointsRequest(input *DescribeTapeRecoveryPointsInput) (req *request.Request, output *DescribeTapeRecoveryPointsOutput) {
3546	op := &request.Operation{
3547		Name:       opDescribeTapeRecoveryPoints,
3548		HTTPMethod: "POST",
3549		HTTPPath:   "/",
3550		Paginator: &request.Paginator{
3551			InputTokens:     []string{"Marker"},
3552			OutputTokens:    []string{"Marker"},
3553			LimitToken:      "Limit",
3554			TruncationToken: "",
3555		},
3556	}
3557
3558	if input == nil {
3559		input = &DescribeTapeRecoveryPointsInput{}
3560	}
3561
3562	output = &DescribeTapeRecoveryPointsOutput{}
3563	req = c.newRequest(op, input, output)
3564	return
3565}
3566
3567// DescribeTapeRecoveryPoints API operation for AWS Storage Gateway.
3568//
3569// Returns a list of virtual tape recovery points that are available for the
3570// specified tape gateway.
3571//
3572// A recovery point is a point-in-time view of a virtual tape at which all the
3573// data on the virtual tape is consistent. If your gateway crashes, virtual
3574// tapes that have recovery points can be recovered to a new gateway. This operation
3575// is only supported in the tape gateway type.
3576//
3577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3578// with awserr.Error's Code and Message methods to get detailed information about
3579// the error.
3580//
3581// See the AWS API reference guide for AWS Storage Gateway's
3582// API operation DescribeTapeRecoveryPoints for usage and error information.
3583//
3584// Returned Error Types:
3585//   * InvalidGatewayRequestException
3586//   An exception occurred because an invalid gateway request was issued to the
3587//   service. For more information, see the error and message fields.
3588//
3589//   * InternalServerError
3590//   An internal server error has occurred during the request. For more information,
3591//   see the error and message fields.
3592//
3593// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeTapeRecoveryPoints
3594func (c *StorageGateway) DescribeTapeRecoveryPoints(input *DescribeTapeRecoveryPointsInput) (*DescribeTapeRecoveryPointsOutput, error) {
3595	req, out := c.DescribeTapeRecoveryPointsRequest(input)
3596	return out, req.Send()
3597}
3598
3599// DescribeTapeRecoveryPointsWithContext is the same as DescribeTapeRecoveryPoints with the addition of
3600// the ability to pass a context and additional request options.
3601//
3602// See DescribeTapeRecoveryPoints for details on how to use this API operation.
3603//
3604// The context must be non-nil and will be used for request cancellation. If
3605// the context is nil a panic will occur. In the future the SDK may create
3606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3607// for more information on using Contexts.
3608func (c *StorageGateway) DescribeTapeRecoveryPointsWithContext(ctx aws.Context, input *DescribeTapeRecoveryPointsInput, opts ...request.Option) (*DescribeTapeRecoveryPointsOutput, error) {
3609	req, out := c.DescribeTapeRecoveryPointsRequest(input)
3610	req.SetContext(ctx)
3611	req.ApplyOptions(opts...)
3612	return out, req.Send()
3613}
3614
3615// DescribeTapeRecoveryPointsPages iterates over the pages of a DescribeTapeRecoveryPoints operation,
3616// calling the "fn" function with the response data for each page. To stop
3617// iterating, return false from the fn function.
3618//
3619// See DescribeTapeRecoveryPoints method for more information on how to use this operation.
3620//
3621// Note: This operation can generate multiple requests to a service.
3622//
3623//    // Example iterating over at most 3 pages of a DescribeTapeRecoveryPoints operation.
3624//    pageNum := 0
3625//    err := client.DescribeTapeRecoveryPointsPages(params,
3626//        func(page *storagegateway.DescribeTapeRecoveryPointsOutput, lastPage bool) bool {
3627//            pageNum++
3628//            fmt.Println(page)
3629//            return pageNum <= 3
3630//        })
3631//
3632func (c *StorageGateway) DescribeTapeRecoveryPointsPages(input *DescribeTapeRecoveryPointsInput, fn func(*DescribeTapeRecoveryPointsOutput, bool) bool) error {
3633	return c.DescribeTapeRecoveryPointsPagesWithContext(aws.BackgroundContext(), input, fn)
3634}
3635
3636// DescribeTapeRecoveryPointsPagesWithContext same as DescribeTapeRecoveryPointsPages except
3637// it takes a Context and allows setting request options on the pages.
3638//
3639// The context must be non-nil and will be used for request cancellation. If
3640// the context is nil a panic will occur. In the future the SDK may create
3641// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3642// for more information on using Contexts.
3643func (c *StorageGateway) DescribeTapeRecoveryPointsPagesWithContext(ctx aws.Context, input *DescribeTapeRecoveryPointsInput, fn func(*DescribeTapeRecoveryPointsOutput, bool) bool, opts ...request.Option) error {
3644	p := request.Pagination{
3645		NewRequest: func() (*request.Request, error) {
3646			var inCpy *DescribeTapeRecoveryPointsInput
3647			if input != nil {
3648				tmp := *input
3649				inCpy = &tmp
3650			}
3651			req, _ := c.DescribeTapeRecoveryPointsRequest(inCpy)
3652			req.SetContext(ctx)
3653			req.ApplyOptions(opts...)
3654			return req, nil
3655		},
3656	}
3657
3658	for p.Next() {
3659		if !fn(p.Page().(*DescribeTapeRecoveryPointsOutput), !p.HasNextPage()) {
3660			break
3661		}
3662	}
3663
3664	return p.Err()
3665}
3666
3667const opDescribeTapes = "DescribeTapes"
3668
3669// DescribeTapesRequest generates a "aws/request.Request" representing the
3670// client's request for the DescribeTapes operation. The "output" return
3671// value will be populated with the request's response once the request completes
3672// successfully.
3673//
3674// Use "Send" method on the returned Request to send the API call to the service.
3675// the "output" return value is not valid until after Send returns without error.
3676//
3677// See DescribeTapes for more information on using the DescribeTapes
3678// API call, and error handling.
3679//
3680// This method is useful when you want to inject custom logic or configuration
3681// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3682//
3683//
3684//    // Example sending a request using the DescribeTapesRequest method.
3685//    req, resp := client.DescribeTapesRequest(params)
3686//
3687//    err := req.Send()
3688//    if err == nil { // resp is now filled
3689//        fmt.Println(resp)
3690//    }
3691//
3692// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeTapes
3693func (c *StorageGateway) DescribeTapesRequest(input *DescribeTapesInput) (req *request.Request, output *DescribeTapesOutput) {
3694	op := &request.Operation{
3695		Name:       opDescribeTapes,
3696		HTTPMethod: "POST",
3697		HTTPPath:   "/",
3698		Paginator: &request.Paginator{
3699			InputTokens:     []string{"Marker"},
3700			OutputTokens:    []string{"Marker"},
3701			LimitToken:      "Limit",
3702			TruncationToken: "",
3703		},
3704	}
3705
3706	if input == nil {
3707		input = &DescribeTapesInput{}
3708	}
3709
3710	output = &DescribeTapesOutput{}
3711	req = c.newRequest(op, input, output)
3712	return
3713}
3714
3715// DescribeTapes API operation for AWS Storage Gateway.
3716//
3717// Returns a description of the specified Amazon Resource Name (ARN) of virtual
3718// tapes. If a TapeARN is not specified, returns a description of all virtual
3719// tapes associated with the specified gateway. This operation is only supported
3720// in the tape gateway type.
3721//
3722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3723// with awserr.Error's Code and Message methods to get detailed information about
3724// the error.
3725//
3726// See the AWS API reference guide for AWS Storage Gateway's
3727// API operation DescribeTapes for usage and error information.
3728//
3729// Returned Error Types:
3730//   * InvalidGatewayRequestException
3731//   An exception occurred because an invalid gateway request was issued to the
3732//   service. For more information, see the error and message fields.
3733//
3734//   * InternalServerError
3735//   An internal server error has occurred during the request. For more information,
3736//   see the error and message fields.
3737//
3738// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeTapes
3739func (c *StorageGateway) DescribeTapes(input *DescribeTapesInput) (*DescribeTapesOutput, error) {
3740	req, out := c.DescribeTapesRequest(input)
3741	return out, req.Send()
3742}
3743
3744// DescribeTapesWithContext is the same as DescribeTapes with the addition of
3745// the ability to pass a context and additional request options.
3746//
3747// See DescribeTapes for details on how to use this API operation.
3748//
3749// The context must be non-nil and will be used for request cancellation. If
3750// the context is nil a panic will occur. In the future the SDK may create
3751// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3752// for more information on using Contexts.
3753func (c *StorageGateway) DescribeTapesWithContext(ctx aws.Context, input *DescribeTapesInput, opts ...request.Option) (*DescribeTapesOutput, error) {
3754	req, out := c.DescribeTapesRequest(input)
3755	req.SetContext(ctx)
3756	req.ApplyOptions(opts...)
3757	return out, req.Send()
3758}
3759
3760// DescribeTapesPages iterates over the pages of a DescribeTapes operation,
3761// calling the "fn" function with the response data for each page. To stop
3762// iterating, return false from the fn function.
3763//
3764// See DescribeTapes method for more information on how to use this operation.
3765//
3766// Note: This operation can generate multiple requests to a service.
3767//
3768//    // Example iterating over at most 3 pages of a DescribeTapes operation.
3769//    pageNum := 0
3770//    err := client.DescribeTapesPages(params,
3771//        func(page *storagegateway.DescribeTapesOutput, lastPage bool) bool {
3772//            pageNum++
3773//            fmt.Println(page)
3774//            return pageNum <= 3
3775//        })
3776//
3777func (c *StorageGateway) DescribeTapesPages(input *DescribeTapesInput, fn func(*DescribeTapesOutput, bool) bool) error {
3778	return c.DescribeTapesPagesWithContext(aws.BackgroundContext(), input, fn)
3779}
3780
3781// DescribeTapesPagesWithContext same as DescribeTapesPages except
3782// it takes a Context and allows setting request options on the pages.
3783//
3784// The context must be non-nil and will be used for request cancellation. If
3785// the context is nil a panic will occur. In the future the SDK may create
3786// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3787// for more information on using Contexts.
3788func (c *StorageGateway) DescribeTapesPagesWithContext(ctx aws.Context, input *DescribeTapesInput, fn func(*DescribeTapesOutput, bool) bool, opts ...request.Option) error {
3789	p := request.Pagination{
3790		NewRequest: func() (*request.Request, error) {
3791			var inCpy *DescribeTapesInput
3792			if input != nil {
3793				tmp := *input
3794				inCpy = &tmp
3795			}
3796			req, _ := c.DescribeTapesRequest(inCpy)
3797			req.SetContext(ctx)
3798			req.ApplyOptions(opts...)
3799			return req, nil
3800		},
3801	}
3802
3803	for p.Next() {
3804		if !fn(p.Page().(*DescribeTapesOutput), !p.HasNextPage()) {
3805			break
3806		}
3807	}
3808
3809	return p.Err()
3810}
3811
3812const opDescribeUploadBuffer = "DescribeUploadBuffer"
3813
3814// DescribeUploadBufferRequest generates a "aws/request.Request" representing the
3815// client's request for the DescribeUploadBuffer operation. The "output" return
3816// value will be populated with the request's response once the request completes
3817// successfully.
3818//
3819// Use "Send" method on the returned Request to send the API call to the service.
3820// the "output" return value is not valid until after Send returns without error.
3821//
3822// See DescribeUploadBuffer for more information on using the DescribeUploadBuffer
3823// API call, and error handling.
3824//
3825// This method is useful when you want to inject custom logic or configuration
3826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3827//
3828//
3829//    // Example sending a request using the DescribeUploadBufferRequest method.
3830//    req, resp := client.DescribeUploadBufferRequest(params)
3831//
3832//    err := req.Send()
3833//    if err == nil { // resp is now filled
3834//        fmt.Println(resp)
3835//    }
3836//
3837// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeUploadBuffer
3838func (c *StorageGateway) DescribeUploadBufferRequest(input *DescribeUploadBufferInput) (req *request.Request, output *DescribeUploadBufferOutput) {
3839	op := &request.Operation{
3840		Name:       opDescribeUploadBuffer,
3841		HTTPMethod: "POST",
3842		HTTPPath:   "/",
3843	}
3844
3845	if input == nil {
3846		input = &DescribeUploadBufferInput{}
3847	}
3848
3849	output = &DescribeUploadBufferOutput{}
3850	req = c.newRequest(op, input, output)
3851	return
3852}
3853
3854// DescribeUploadBuffer API operation for AWS Storage Gateway.
3855//
3856// Returns information about the upload buffer of a gateway. This operation
3857// is supported for the stored volume, cached volume and tape gateway types.
3858//
3859// The response includes disk IDs that are configured as upload buffer space,
3860// and it includes the amount of upload buffer space allocated and used.
3861//
3862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3863// with awserr.Error's Code and Message methods to get detailed information about
3864// the error.
3865//
3866// See the AWS API reference guide for AWS Storage Gateway's
3867// API operation DescribeUploadBuffer for usage and error information.
3868//
3869// Returned Error Types:
3870//   * InvalidGatewayRequestException
3871//   An exception occurred because an invalid gateway request was issued to the
3872//   service. For more information, see the error and message fields.
3873//
3874//   * InternalServerError
3875//   An internal server error has occurred during the request. For more information,
3876//   see the error and message fields.
3877//
3878// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeUploadBuffer
3879func (c *StorageGateway) DescribeUploadBuffer(input *DescribeUploadBufferInput) (*DescribeUploadBufferOutput, error) {
3880	req, out := c.DescribeUploadBufferRequest(input)
3881	return out, req.Send()
3882}
3883
3884// DescribeUploadBufferWithContext is the same as DescribeUploadBuffer with the addition of
3885// the ability to pass a context and additional request options.
3886//
3887// See DescribeUploadBuffer for details on how to use this API operation.
3888//
3889// The context must be non-nil and will be used for request cancellation. If
3890// the context is nil a panic will occur. In the future the SDK may create
3891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3892// for more information on using Contexts.
3893func (c *StorageGateway) DescribeUploadBufferWithContext(ctx aws.Context, input *DescribeUploadBufferInput, opts ...request.Option) (*DescribeUploadBufferOutput, error) {
3894	req, out := c.DescribeUploadBufferRequest(input)
3895	req.SetContext(ctx)
3896	req.ApplyOptions(opts...)
3897	return out, req.Send()
3898}
3899
3900const opDescribeVTLDevices = "DescribeVTLDevices"
3901
3902// DescribeVTLDevicesRequest generates a "aws/request.Request" representing the
3903// client's request for the DescribeVTLDevices operation. The "output" return
3904// value will be populated with the request's response once the request completes
3905// successfully.
3906//
3907// Use "Send" method on the returned Request to send the API call to the service.
3908// the "output" return value is not valid until after Send returns without error.
3909//
3910// See DescribeVTLDevices for more information on using the DescribeVTLDevices
3911// API call, and error handling.
3912//
3913// This method is useful when you want to inject custom logic or configuration
3914// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3915//
3916//
3917//    // Example sending a request using the DescribeVTLDevicesRequest method.
3918//    req, resp := client.DescribeVTLDevicesRequest(params)
3919//
3920//    err := req.Send()
3921//    if err == nil { // resp is now filled
3922//        fmt.Println(resp)
3923//    }
3924//
3925// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeVTLDevices
3926func (c *StorageGateway) DescribeVTLDevicesRequest(input *DescribeVTLDevicesInput) (req *request.Request, output *DescribeVTLDevicesOutput) {
3927	op := &request.Operation{
3928		Name:       opDescribeVTLDevices,
3929		HTTPMethod: "POST",
3930		HTTPPath:   "/",
3931		Paginator: &request.Paginator{
3932			InputTokens:     []string{"Marker"},
3933			OutputTokens:    []string{"Marker"},
3934			LimitToken:      "Limit",
3935			TruncationToken: "",
3936		},
3937	}
3938
3939	if input == nil {
3940		input = &DescribeVTLDevicesInput{}
3941	}
3942
3943	output = &DescribeVTLDevicesOutput{}
3944	req = c.newRequest(op, input, output)
3945	return
3946}
3947
3948// DescribeVTLDevices API operation for AWS Storage Gateway.
3949//
3950// Returns a description of virtual tape library (VTL) devices for the specified
3951// tape gateway. In the response, AWS Storage Gateway returns VTL device information.
3952//
3953// This operation is only supported in the tape gateway type.
3954//
3955// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3956// with awserr.Error's Code and Message methods to get detailed information about
3957// the error.
3958//
3959// See the AWS API reference guide for AWS Storage Gateway's
3960// API operation DescribeVTLDevices for usage and error information.
3961//
3962// Returned Error Types:
3963//   * InvalidGatewayRequestException
3964//   An exception occurred because an invalid gateway request was issued to the
3965//   service. For more information, see the error and message fields.
3966//
3967//   * InternalServerError
3968//   An internal server error has occurred during the request. For more information,
3969//   see the error and message fields.
3970//
3971// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeVTLDevices
3972func (c *StorageGateway) DescribeVTLDevices(input *DescribeVTLDevicesInput) (*DescribeVTLDevicesOutput, error) {
3973	req, out := c.DescribeVTLDevicesRequest(input)
3974	return out, req.Send()
3975}
3976
3977// DescribeVTLDevicesWithContext is the same as DescribeVTLDevices with the addition of
3978// the ability to pass a context and additional request options.
3979//
3980// See DescribeVTLDevices for details on how to use this API operation.
3981//
3982// The context must be non-nil and will be used for request cancellation. If
3983// the context is nil a panic will occur. In the future the SDK may create
3984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3985// for more information on using Contexts.
3986func (c *StorageGateway) DescribeVTLDevicesWithContext(ctx aws.Context, input *DescribeVTLDevicesInput, opts ...request.Option) (*DescribeVTLDevicesOutput, error) {
3987	req, out := c.DescribeVTLDevicesRequest(input)
3988	req.SetContext(ctx)
3989	req.ApplyOptions(opts...)
3990	return out, req.Send()
3991}
3992
3993// DescribeVTLDevicesPages iterates over the pages of a DescribeVTLDevices operation,
3994// calling the "fn" function with the response data for each page. To stop
3995// iterating, return false from the fn function.
3996//
3997// See DescribeVTLDevices method for more information on how to use this operation.
3998//
3999// Note: This operation can generate multiple requests to a service.
4000//
4001//    // Example iterating over at most 3 pages of a DescribeVTLDevices operation.
4002//    pageNum := 0
4003//    err := client.DescribeVTLDevicesPages(params,
4004//        func(page *storagegateway.DescribeVTLDevicesOutput, lastPage bool) bool {
4005//            pageNum++
4006//            fmt.Println(page)
4007//            return pageNum <= 3
4008//        })
4009//
4010func (c *StorageGateway) DescribeVTLDevicesPages(input *DescribeVTLDevicesInput, fn func(*DescribeVTLDevicesOutput, bool) bool) error {
4011	return c.DescribeVTLDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
4012}
4013
4014// DescribeVTLDevicesPagesWithContext same as DescribeVTLDevicesPages except
4015// it takes a Context and allows setting request options on the pages.
4016//
4017// The context must be non-nil and will be used for request cancellation. If
4018// the context is nil a panic will occur. In the future the SDK may create
4019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4020// for more information on using Contexts.
4021func (c *StorageGateway) DescribeVTLDevicesPagesWithContext(ctx aws.Context, input *DescribeVTLDevicesInput, fn func(*DescribeVTLDevicesOutput, bool) bool, opts ...request.Option) error {
4022	p := request.Pagination{
4023		NewRequest: func() (*request.Request, error) {
4024			var inCpy *DescribeVTLDevicesInput
4025			if input != nil {
4026				tmp := *input
4027				inCpy = &tmp
4028			}
4029			req, _ := c.DescribeVTLDevicesRequest(inCpy)
4030			req.SetContext(ctx)
4031			req.ApplyOptions(opts...)
4032			return req, nil
4033		},
4034	}
4035
4036	for p.Next() {
4037		if !fn(p.Page().(*DescribeVTLDevicesOutput), !p.HasNextPage()) {
4038			break
4039		}
4040	}
4041
4042	return p.Err()
4043}
4044
4045const opDescribeWorkingStorage = "DescribeWorkingStorage"
4046
4047// DescribeWorkingStorageRequest generates a "aws/request.Request" representing the
4048// client's request for the DescribeWorkingStorage operation. The "output" return
4049// value will be populated with the request's response once the request completes
4050// successfully.
4051//
4052// Use "Send" method on the returned Request to send the API call to the service.
4053// the "output" return value is not valid until after Send returns without error.
4054//
4055// See DescribeWorkingStorage for more information on using the DescribeWorkingStorage
4056// API call, and error handling.
4057//
4058// This method is useful when you want to inject custom logic or configuration
4059// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4060//
4061//
4062//    // Example sending a request using the DescribeWorkingStorageRequest method.
4063//    req, resp := client.DescribeWorkingStorageRequest(params)
4064//
4065//    err := req.Send()
4066//    if err == nil { // resp is now filled
4067//        fmt.Println(resp)
4068//    }
4069//
4070// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeWorkingStorage
4071func (c *StorageGateway) DescribeWorkingStorageRequest(input *DescribeWorkingStorageInput) (req *request.Request, output *DescribeWorkingStorageOutput) {
4072	op := &request.Operation{
4073		Name:       opDescribeWorkingStorage,
4074		HTTPMethod: "POST",
4075		HTTPPath:   "/",
4076	}
4077
4078	if input == nil {
4079		input = &DescribeWorkingStorageInput{}
4080	}
4081
4082	output = &DescribeWorkingStorageOutput{}
4083	req = c.newRequest(op, input, output)
4084	return
4085}
4086
4087// DescribeWorkingStorage API operation for AWS Storage Gateway.
4088//
4089// Returns information about the working storage of a gateway. This operation
4090// is only supported in the stored volumes gateway type. This operation is deprecated
4091// in cached volumes API version (20120630). Use DescribeUploadBuffer instead.
4092//
4093// Working storage is also referred to as upload buffer. You can also use the
4094// DescribeUploadBuffer operation to add upload buffer to a stored volume gateway.
4095//
4096// The response includes disk IDs that are configured as working storage, and
4097// it includes the amount of working storage allocated and used.
4098//
4099// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4100// with awserr.Error's Code and Message methods to get detailed information about
4101// the error.
4102//
4103// See the AWS API reference guide for AWS Storage Gateway's
4104// API operation DescribeWorkingStorage for usage and error information.
4105//
4106// Returned Error Types:
4107//   * InvalidGatewayRequestException
4108//   An exception occurred because an invalid gateway request was issued to the
4109//   service. For more information, see the error and message fields.
4110//
4111//   * InternalServerError
4112//   An internal server error has occurred during the request. For more information,
4113//   see the error and message fields.
4114//
4115// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeWorkingStorage
4116func (c *StorageGateway) DescribeWorkingStorage(input *DescribeWorkingStorageInput) (*DescribeWorkingStorageOutput, error) {
4117	req, out := c.DescribeWorkingStorageRequest(input)
4118	return out, req.Send()
4119}
4120
4121// DescribeWorkingStorageWithContext is the same as DescribeWorkingStorage with the addition of
4122// the ability to pass a context and additional request options.
4123//
4124// See DescribeWorkingStorage for details on how to use this API operation.
4125//
4126// The context must be non-nil and will be used for request cancellation. If
4127// the context is nil a panic will occur. In the future the SDK may create
4128// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4129// for more information on using Contexts.
4130func (c *StorageGateway) DescribeWorkingStorageWithContext(ctx aws.Context, input *DescribeWorkingStorageInput, opts ...request.Option) (*DescribeWorkingStorageOutput, error) {
4131	req, out := c.DescribeWorkingStorageRequest(input)
4132	req.SetContext(ctx)
4133	req.ApplyOptions(opts...)
4134	return out, req.Send()
4135}
4136
4137const opDetachVolume = "DetachVolume"
4138
4139// DetachVolumeRequest generates a "aws/request.Request" representing the
4140// client's request for the DetachVolume operation. The "output" return
4141// value will be populated with the request's response once the request completes
4142// successfully.
4143//
4144// Use "Send" method on the returned Request to send the API call to the service.
4145// the "output" return value is not valid until after Send returns without error.
4146//
4147// See DetachVolume for more information on using the DetachVolume
4148// API call, and error handling.
4149//
4150// This method is useful when you want to inject custom logic or configuration
4151// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4152//
4153//
4154//    // Example sending a request using the DetachVolumeRequest method.
4155//    req, resp := client.DetachVolumeRequest(params)
4156//
4157//    err := req.Send()
4158//    if err == nil { // resp is now filled
4159//        fmt.Println(resp)
4160//    }
4161//
4162// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DetachVolume
4163func (c *StorageGateway) DetachVolumeRequest(input *DetachVolumeInput) (req *request.Request, output *DetachVolumeOutput) {
4164	op := &request.Operation{
4165		Name:       opDetachVolume,
4166		HTTPMethod: "POST",
4167		HTTPPath:   "/",
4168	}
4169
4170	if input == nil {
4171		input = &DetachVolumeInput{}
4172	}
4173
4174	output = &DetachVolumeOutput{}
4175	req = c.newRequest(op, input, output)
4176	return
4177}
4178
4179// DetachVolume API operation for AWS Storage Gateway.
4180//
4181// Disconnects a volume from an iSCSI connection and then detaches the volume
4182// from the specified gateway. Detaching and attaching a volume enables you
4183// to recover your data from one gateway to a different gateway without creating
4184// a snapshot. It also makes it easier to move your volumes from an on-premises
4185// gateway to a gateway hosted on an Amazon EC2 instance. This operation is
4186// only supported in the volume gateway type.
4187//
4188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4189// with awserr.Error's Code and Message methods to get detailed information about
4190// the error.
4191//
4192// See the AWS API reference guide for AWS Storage Gateway's
4193// API operation DetachVolume for usage and error information.
4194//
4195// Returned Error Types:
4196//   * InvalidGatewayRequestException
4197//   An exception occurred because an invalid gateway request was issued to the
4198//   service. For more information, see the error and message fields.
4199//
4200//   * InternalServerError
4201//   An internal server error has occurred during the request. For more information,
4202//   see the error and message fields.
4203//
4204// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DetachVolume
4205func (c *StorageGateway) DetachVolume(input *DetachVolumeInput) (*DetachVolumeOutput, error) {
4206	req, out := c.DetachVolumeRequest(input)
4207	return out, req.Send()
4208}
4209
4210// DetachVolumeWithContext is the same as DetachVolume with the addition of
4211// the ability to pass a context and additional request options.
4212//
4213// See DetachVolume for details on how to use this API operation.
4214//
4215// The context must be non-nil and will be used for request cancellation. If
4216// the context is nil a panic will occur. In the future the SDK may create
4217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4218// for more information on using Contexts.
4219func (c *StorageGateway) DetachVolumeWithContext(ctx aws.Context, input *DetachVolumeInput, opts ...request.Option) (*DetachVolumeOutput, error) {
4220	req, out := c.DetachVolumeRequest(input)
4221	req.SetContext(ctx)
4222	req.ApplyOptions(opts...)
4223	return out, req.Send()
4224}
4225
4226const opDisableGateway = "DisableGateway"
4227
4228// DisableGatewayRequest generates a "aws/request.Request" representing the
4229// client's request for the DisableGateway operation. The "output" return
4230// value will be populated with the request's response once the request completes
4231// successfully.
4232//
4233// Use "Send" method on the returned Request to send the API call to the service.
4234// the "output" return value is not valid until after Send returns without error.
4235//
4236// See DisableGateway for more information on using the DisableGateway
4237// API call, and error handling.
4238//
4239// This method is useful when you want to inject custom logic or configuration
4240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4241//
4242//
4243//    // Example sending a request using the DisableGatewayRequest method.
4244//    req, resp := client.DisableGatewayRequest(params)
4245//
4246//    err := req.Send()
4247//    if err == nil { // resp is now filled
4248//        fmt.Println(resp)
4249//    }
4250//
4251// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DisableGateway
4252func (c *StorageGateway) DisableGatewayRequest(input *DisableGatewayInput) (req *request.Request, output *DisableGatewayOutput) {
4253	op := &request.Operation{
4254		Name:       opDisableGateway,
4255		HTTPMethod: "POST",
4256		HTTPPath:   "/",
4257	}
4258
4259	if input == nil {
4260		input = &DisableGatewayInput{}
4261	}
4262
4263	output = &DisableGatewayOutput{}
4264	req = c.newRequest(op, input, output)
4265	return
4266}
4267
4268// DisableGateway API operation for AWS Storage Gateway.
4269//
4270// Disables a tape gateway when the gateway is no longer functioning. For example,
4271// if your gateway VM is damaged, you can disable the gateway so you can recover
4272// virtual tapes.
4273//
4274// Use this operation for a tape gateway that is not reachable or not functioning.
4275// This operation is only supported in the tape gateway type.
4276//
4277// Once a gateway is disabled it cannot be enabled.
4278//
4279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4280// with awserr.Error's Code and Message methods to get detailed information about
4281// the error.
4282//
4283// See the AWS API reference guide for AWS Storage Gateway's
4284// API operation DisableGateway for usage and error information.
4285//
4286// Returned Error Types:
4287//   * InvalidGatewayRequestException
4288//   An exception occurred because an invalid gateway request was issued to the
4289//   service. For more information, see the error and message fields.
4290//
4291//   * InternalServerError
4292//   An internal server error has occurred during the request. For more information,
4293//   see the error and message fields.
4294//
4295// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DisableGateway
4296func (c *StorageGateway) DisableGateway(input *DisableGatewayInput) (*DisableGatewayOutput, error) {
4297	req, out := c.DisableGatewayRequest(input)
4298	return out, req.Send()
4299}
4300
4301// DisableGatewayWithContext is the same as DisableGateway with the addition of
4302// the ability to pass a context and additional request options.
4303//
4304// See DisableGateway for details on how to use this API operation.
4305//
4306// The context must be non-nil and will be used for request cancellation. If
4307// the context is nil a panic will occur. In the future the SDK may create
4308// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4309// for more information on using Contexts.
4310func (c *StorageGateway) DisableGatewayWithContext(ctx aws.Context, input *DisableGatewayInput, opts ...request.Option) (*DisableGatewayOutput, error) {
4311	req, out := c.DisableGatewayRequest(input)
4312	req.SetContext(ctx)
4313	req.ApplyOptions(opts...)
4314	return out, req.Send()
4315}
4316
4317const opJoinDomain = "JoinDomain"
4318
4319// JoinDomainRequest generates a "aws/request.Request" representing the
4320// client's request for the JoinDomain operation. The "output" return
4321// value will be populated with the request's response once the request completes
4322// successfully.
4323//
4324// Use "Send" method on the returned Request to send the API call to the service.
4325// the "output" return value is not valid until after Send returns without error.
4326//
4327// See JoinDomain for more information on using the JoinDomain
4328// API call, and error handling.
4329//
4330// This method is useful when you want to inject custom logic or configuration
4331// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4332//
4333//
4334//    // Example sending a request using the JoinDomainRequest method.
4335//    req, resp := client.JoinDomainRequest(params)
4336//
4337//    err := req.Send()
4338//    if err == nil { // resp is now filled
4339//        fmt.Println(resp)
4340//    }
4341//
4342// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/JoinDomain
4343func (c *StorageGateway) JoinDomainRequest(input *JoinDomainInput) (req *request.Request, output *JoinDomainOutput) {
4344	op := &request.Operation{
4345		Name:       opJoinDomain,
4346		HTTPMethod: "POST",
4347		HTTPPath:   "/",
4348	}
4349
4350	if input == nil {
4351		input = &JoinDomainInput{}
4352	}
4353
4354	output = &JoinDomainOutput{}
4355	req = c.newRequest(op, input, output)
4356	return
4357}
4358
4359// JoinDomain API operation for AWS Storage Gateway.
4360//
4361// Adds a file gateway to an Active Directory domain. This operation is only
4362// supported for file gateways that support the SMB file protocol.
4363//
4364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4365// with awserr.Error's Code and Message methods to get detailed information about
4366// the error.
4367//
4368// See the AWS API reference guide for AWS Storage Gateway's
4369// API operation JoinDomain for usage and error information.
4370//
4371// Returned Error Types:
4372//   * InvalidGatewayRequestException
4373//   An exception occurred because an invalid gateway request was issued to the
4374//   service. For more information, see the error and message fields.
4375//
4376//   * InternalServerError
4377//   An internal server error has occurred during the request. For more information,
4378//   see the error and message fields.
4379//
4380// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/JoinDomain
4381func (c *StorageGateway) JoinDomain(input *JoinDomainInput) (*JoinDomainOutput, error) {
4382	req, out := c.JoinDomainRequest(input)
4383	return out, req.Send()
4384}
4385
4386// JoinDomainWithContext is the same as JoinDomain with the addition of
4387// the ability to pass a context and additional request options.
4388//
4389// See JoinDomain for details on how to use this API operation.
4390//
4391// The context must be non-nil and will be used for request cancellation. If
4392// the context is nil a panic will occur. In the future the SDK may create
4393// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4394// for more information on using Contexts.
4395func (c *StorageGateway) JoinDomainWithContext(ctx aws.Context, input *JoinDomainInput, opts ...request.Option) (*JoinDomainOutput, error) {
4396	req, out := c.JoinDomainRequest(input)
4397	req.SetContext(ctx)
4398	req.ApplyOptions(opts...)
4399	return out, req.Send()
4400}
4401
4402const opListFileShares = "ListFileShares"
4403
4404// ListFileSharesRequest generates a "aws/request.Request" representing the
4405// client's request for the ListFileShares operation. The "output" return
4406// value will be populated with the request's response once the request completes
4407// successfully.
4408//
4409// Use "Send" method on the returned Request to send the API call to the service.
4410// the "output" return value is not valid until after Send returns without error.
4411//
4412// See ListFileShares for more information on using the ListFileShares
4413// API call, and error handling.
4414//
4415// This method is useful when you want to inject custom logic or configuration
4416// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4417//
4418//
4419//    // Example sending a request using the ListFileSharesRequest method.
4420//    req, resp := client.ListFileSharesRequest(params)
4421//
4422//    err := req.Send()
4423//    if err == nil { // resp is now filled
4424//        fmt.Println(resp)
4425//    }
4426//
4427// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListFileShares
4428func (c *StorageGateway) ListFileSharesRequest(input *ListFileSharesInput) (req *request.Request, output *ListFileSharesOutput) {
4429	op := &request.Operation{
4430		Name:       opListFileShares,
4431		HTTPMethod: "POST",
4432		HTTPPath:   "/",
4433		Paginator: &request.Paginator{
4434			InputTokens:     []string{"Marker"},
4435			OutputTokens:    []string{"NextMarker"},
4436			LimitToken:      "Limit",
4437			TruncationToken: "",
4438		},
4439	}
4440
4441	if input == nil {
4442		input = &ListFileSharesInput{}
4443	}
4444
4445	output = &ListFileSharesOutput{}
4446	req = c.newRequest(op, input, output)
4447	return
4448}
4449
4450// ListFileShares API operation for AWS Storage Gateway.
4451//
4452// Gets a list of the file shares for a specific file gateway, or the list of
4453// file shares that belong to the calling user account. This operation is only
4454// supported for file gateways.
4455//
4456// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4457// with awserr.Error's Code and Message methods to get detailed information about
4458// the error.
4459//
4460// See the AWS API reference guide for AWS Storage Gateway's
4461// API operation ListFileShares for usage and error information.
4462//
4463// Returned Error Types:
4464//   * InvalidGatewayRequestException
4465//   An exception occurred because an invalid gateway request was issued to the
4466//   service. For more information, see the error and message fields.
4467//
4468//   * InternalServerError
4469//   An internal server error has occurred during the request. For more information,
4470//   see the error and message fields.
4471//
4472// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListFileShares
4473func (c *StorageGateway) ListFileShares(input *ListFileSharesInput) (*ListFileSharesOutput, error) {
4474	req, out := c.ListFileSharesRequest(input)
4475	return out, req.Send()
4476}
4477
4478// ListFileSharesWithContext is the same as ListFileShares with the addition of
4479// the ability to pass a context and additional request options.
4480//
4481// See ListFileShares for details on how to use this API operation.
4482//
4483// The context must be non-nil and will be used for request cancellation. If
4484// the context is nil a panic will occur. In the future the SDK may create
4485// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4486// for more information on using Contexts.
4487func (c *StorageGateway) ListFileSharesWithContext(ctx aws.Context, input *ListFileSharesInput, opts ...request.Option) (*ListFileSharesOutput, error) {
4488	req, out := c.ListFileSharesRequest(input)
4489	req.SetContext(ctx)
4490	req.ApplyOptions(opts...)
4491	return out, req.Send()
4492}
4493
4494// ListFileSharesPages iterates over the pages of a ListFileShares operation,
4495// calling the "fn" function with the response data for each page. To stop
4496// iterating, return false from the fn function.
4497//
4498// See ListFileShares method for more information on how to use this operation.
4499//
4500// Note: This operation can generate multiple requests to a service.
4501//
4502//    // Example iterating over at most 3 pages of a ListFileShares operation.
4503//    pageNum := 0
4504//    err := client.ListFileSharesPages(params,
4505//        func(page *storagegateway.ListFileSharesOutput, lastPage bool) bool {
4506//            pageNum++
4507//            fmt.Println(page)
4508//            return pageNum <= 3
4509//        })
4510//
4511func (c *StorageGateway) ListFileSharesPages(input *ListFileSharesInput, fn func(*ListFileSharesOutput, bool) bool) error {
4512	return c.ListFileSharesPagesWithContext(aws.BackgroundContext(), input, fn)
4513}
4514
4515// ListFileSharesPagesWithContext same as ListFileSharesPages except
4516// it takes a Context and allows setting request options on the pages.
4517//
4518// The context must be non-nil and will be used for request cancellation. If
4519// the context is nil a panic will occur. In the future the SDK may create
4520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4521// for more information on using Contexts.
4522func (c *StorageGateway) ListFileSharesPagesWithContext(ctx aws.Context, input *ListFileSharesInput, fn func(*ListFileSharesOutput, bool) bool, opts ...request.Option) error {
4523	p := request.Pagination{
4524		NewRequest: func() (*request.Request, error) {
4525			var inCpy *ListFileSharesInput
4526			if input != nil {
4527				tmp := *input
4528				inCpy = &tmp
4529			}
4530			req, _ := c.ListFileSharesRequest(inCpy)
4531			req.SetContext(ctx)
4532			req.ApplyOptions(opts...)
4533			return req, nil
4534		},
4535	}
4536
4537	for p.Next() {
4538		if !fn(p.Page().(*ListFileSharesOutput), !p.HasNextPage()) {
4539			break
4540		}
4541	}
4542
4543	return p.Err()
4544}
4545
4546const opListGateways = "ListGateways"
4547
4548// ListGatewaysRequest generates a "aws/request.Request" representing the
4549// client's request for the ListGateways operation. The "output" return
4550// value will be populated with the request's response once the request completes
4551// successfully.
4552//
4553// Use "Send" method on the returned Request to send the API call to the service.
4554// the "output" return value is not valid until after Send returns without error.
4555//
4556// See ListGateways for more information on using the ListGateways
4557// API call, and error handling.
4558//
4559// This method is useful when you want to inject custom logic or configuration
4560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4561//
4562//
4563//    // Example sending a request using the ListGatewaysRequest method.
4564//    req, resp := client.ListGatewaysRequest(params)
4565//
4566//    err := req.Send()
4567//    if err == nil { // resp is now filled
4568//        fmt.Println(resp)
4569//    }
4570//
4571// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListGateways
4572func (c *StorageGateway) ListGatewaysRequest(input *ListGatewaysInput) (req *request.Request, output *ListGatewaysOutput) {
4573	op := &request.Operation{
4574		Name:       opListGateways,
4575		HTTPMethod: "POST",
4576		HTTPPath:   "/",
4577		Paginator: &request.Paginator{
4578			InputTokens:     []string{"Marker"},
4579			OutputTokens:    []string{"Marker"},
4580			LimitToken:      "Limit",
4581			TruncationToken: "",
4582		},
4583	}
4584
4585	if input == nil {
4586		input = &ListGatewaysInput{}
4587	}
4588
4589	output = &ListGatewaysOutput{}
4590	req = c.newRequest(op, input, output)
4591	return
4592}
4593
4594// ListGateways API operation for AWS Storage Gateway.
4595//
4596// Lists gateways owned by an AWS account in an AWS Region specified in the
4597// request. The returned list is ordered by gateway Amazon Resource Name (ARN).
4598//
4599// By default, the operation returns a maximum of 100 gateways. This operation
4600// supports pagination that allows you to optionally reduce the number of gateways
4601// returned in a response.
4602//
4603// If you have more gateways than are returned in a response (that is, the response
4604// returns only a truncated list of your gateways), the response contains a
4605// marker that you can specify in your next request to fetch the next page of
4606// gateways.
4607//
4608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4609// with awserr.Error's Code and Message methods to get detailed information about
4610// the error.
4611//
4612// See the AWS API reference guide for AWS Storage Gateway's
4613// API operation ListGateways for usage and error information.
4614//
4615// Returned Error Types:
4616//   * InvalidGatewayRequestException
4617//   An exception occurred because an invalid gateway request was issued to the
4618//   service. For more information, see the error and message fields.
4619//
4620//   * InternalServerError
4621//   An internal server error has occurred during the request. For more information,
4622//   see the error and message fields.
4623//
4624// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListGateways
4625func (c *StorageGateway) ListGateways(input *ListGatewaysInput) (*ListGatewaysOutput, error) {
4626	req, out := c.ListGatewaysRequest(input)
4627	return out, req.Send()
4628}
4629
4630// ListGatewaysWithContext is the same as ListGateways with the addition of
4631// the ability to pass a context and additional request options.
4632//
4633// See ListGateways for details on how to use this API operation.
4634//
4635// The context must be non-nil and will be used for request cancellation. If
4636// the context is nil a panic will occur. In the future the SDK may create
4637// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4638// for more information on using Contexts.
4639func (c *StorageGateway) ListGatewaysWithContext(ctx aws.Context, input *ListGatewaysInput, opts ...request.Option) (*ListGatewaysOutput, error) {
4640	req, out := c.ListGatewaysRequest(input)
4641	req.SetContext(ctx)
4642	req.ApplyOptions(opts...)
4643	return out, req.Send()
4644}
4645
4646// ListGatewaysPages iterates over the pages of a ListGateways operation,
4647// calling the "fn" function with the response data for each page. To stop
4648// iterating, return false from the fn function.
4649//
4650// See ListGateways method for more information on how to use this operation.
4651//
4652// Note: This operation can generate multiple requests to a service.
4653//
4654//    // Example iterating over at most 3 pages of a ListGateways operation.
4655//    pageNum := 0
4656//    err := client.ListGatewaysPages(params,
4657//        func(page *storagegateway.ListGatewaysOutput, lastPage bool) bool {
4658//            pageNum++
4659//            fmt.Println(page)
4660//            return pageNum <= 3
4661//        })
4662//
4663func (c *StorageGateway) ListGatewaysPages(input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool) error {
4664	return c.ListGatewaysPagesWithContext(aws.BackgroundContext(), input, fn)
4665}
4666
4667// ListGatewaysPagesWithContext same as ListGatewaysPages except
4668// it takes a Context and allows setting request options on the pages.
4669//
4670// The context must be non-nil and will be used for request cancellation. If
4671// the context is nil a panic will occur. In the future the SDK may create
4672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4673// for more information on using Contexts.
4674func (c *StorageGateway) ListGatewaysPagesWithContext(ctx aws.Context, input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool, opts ...request.Option) error {
4675	p := request.Pagination{
4676		NewRequest: func() (*request.Request, error) {
4677			var inCpy *ListGatewaysInput
4678			if input != nil {
4679				tmp := *input
4680				inCpy = &tmp
4681			}
4682			req, _ := c.ListGatewaysRequest(inCpy)
4683			req.SetContext(ctx)
4684			req.ApplyOptions(opts...)
4685			return req, nil
4686		},
4687	}
4688
4689	for p.Next() {
4690		if !fn(p.Page().(*ListGatewaysOutput), !p.HasNextPage()) {
4691			break
4692		}
4693	}
4694
4695	return p.Err()
4696}
4697
4698const opListLocalDisks = "ListLocalDisks"
4699
4700// ListLocalDisksRequest generates a "aws/request.Request" representing the
4701// client's request for the ListLocalDisks operation. The "output" return
4702// value will be populated with the request's response once the request completes
4703// successfully.
4704//
4705// Use "Send" method on the returned Request to send the API call to the service.
4706// the "output" return value is not valid until after Send returns without error.
4707//
4708// See ListLocalDisks for more information on using the ListLocalDisks
4709// API call, and error handling.
4710//
4711// This method is useful when you want to inject custom logic or configuration
4712// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4713//
4714//
4715//    // Example sending a request using the ListLocalDisksRequest method.
4716//    req, resp := client.ListLocalDisksRequest(params)
4717//
4718//    err := req.Send()
4719//    if err == nil { // resp is now filled
4720//        fmt.Println(resp)
4721//    }
4722//
4723// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListLocalDisks
4724func (c *StorageGateway) ListLocalDisksRequest(input *ListLocalDisksInput) (req *request.Request, output *ListLocalDisksOutput) {
4725	op := &request.Operation{
4726		Name:       opListLocalDisks,
4727		HTTPMethod: "POST",
4728		HTTPPath:   "/",
4729	}
4730
4731	if input == nil {
4732		input = &ListLocalDisksInput{}
4733	}
4734
4735	output = &ListLocalDisksOutput{}
4736	req = c.newRequest(op, input, output)
4737	return
4738}
4739
4740// ListLocalDisks API operation for AWS Storage Gateway.
4741//
4742// Returns a list of the gateway's local disks. To specify which gateway to
4743// describe, you use the Amazon Resource Name (ARN) of the gateway in the body
4744// of the request.
4745//
4746// The request returns a list of all disks, specifying which are configured
4747// as working storage, cache storage, or stored volume or not configured at
4748// all. The response includes a DiskStatus field. This field can have a value
4749// of present (the disk is available to use), missing (the disk is no longer
4750// connected to the gateway), or mismatch (the disk node is occupied by a disk
4751// that has incorrect metadata or the disk content is corrupted).
4752//
4753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4754// with awserr.Error's Code and Message methods to get detailed information about
4755// the error.
4756//
4757// See the AWS API reference guide for AWS Storage Gateway's
4758// API operation ListLocalDisks for usage and error information.
4759//
4760// Returned Error Types:
4761//   * InvalidGatewayRequestException
4762//   An exception occurred because an invalid gateway request was issued to the
4763//   service. For more information, see the error and message fields.
4764//
4765//   * InternalServerError
4766//   An internal server error has occurred during the request. For more information,
4767//   see the error and message fields.
4768//
4769// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListLocalDisks
4770func (c *StorageGateway) ListLocalDisks(input *ListLocalDisksInput) (*ListLocalDisksOutput, error) {
4771	req, out := c.ListLocalDisksRequest(input)
4772	return out, req.Send()
4773}
4774
4775// ListLocalDisksWithContext is the same as ListLocalDisks with the addition of
4776// the ability to pass a context and additional request options.
4777//
4778// See ListLocalDisks for details on how to use this API operation.
4779//
4780// The context must be non-nil and will be used for request cancellation. If
4781// the context is nil a panic will occur. In the future the SDK may create
4782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4783// for more information on using Contexts.
4784func (c *StorageGateway) ListLocalDisksWithContext(ctx aws.Context, input *ListLocalDisksInput, opts ...request.Option) (*ListLocalDisksOutput, error) {
4785	req, out := c.ListLocalDisksRequest(input)
4786	req.SetContext(ctx)
4787	req.ApplyOptions(opts...)
4788	return out, req.Send()
4789}
4790
4791const opListTagsForResource = "ListTagsForResource"
4792
4793// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4794// client's request for the ListTagsForResource operation. The "output" return
4795// value will be populated with the request's response once the request completes
4796// successfully.
4797//
4798// Use "Send" method on the returned Request to send the API call to the service.
4799// the "output" return value is not valid until after Send returns without error.
4800//
4801// See ListTagsForResource for more information on using the ListTagsForResource
4802// API call, and error handling.
4803//
4804// This method is useful when you want to inject custom logic or configuration
4805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4806//
4807//
4808//    // Example sending a request using the ListTagsForResourceRequest method.
4809//    req, resp := client.ListTagsForResourceRequest(params)
4810//
4811//    err := req.Send()
4812//    if err == nil { // resp is now filled
4813//        fmt.Println(resp)
4814//    }
4815//
4816// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTagsForResource
4817func (c *StorageGateway) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4818	op := &request.Operation{
4819		Name:       opListTagsForResource,
4820		HTTPMethod: "POST",
4821		HTTPPath:   "/",
4822		Paginator: &request.Paginator{
4823			InputTokens:     []string{"Marker"},
4824			OutputTokens:    []string{"Marker"},
4825			LimitToken:      "Limit",
4826			TruncationToken: "",
4827		},
4828	}
4829
4830	if input == nil {
4831		input = &ListTagsForResourceInput{}
4832	}
4833
4834	output = &ListTagsForResourceOutput{}
4835	req = c.newRequest(op, input, output)
4836	return
4837}
4838
4839// ListTagsForResource API operation for AWS Storage Gateway.
4840//
4841// Lists the tags that have been added to the specified resource. This operation
4842// is supported in storage gateways of all types.
4843//
4844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4845// with awserr.Error's Code and Message methods to get detailed information about
4846// the error.
4847//
4848// See the AWS API reference guide for AWS Storage Gateway's
4849// API operation ListTagsForResource for usage and error information.
4850//
4851// Returned Error Types:
4852//   * InvalidGatewayRequestException
4853//   An exception occurred because an invalid gateway request was issued to the
4854//   service. For more information, see the error and message fields.
4855//
4856//   * InternalServerError
4857//   An internal server error has occurred during the request. For more information,
4858//   see the error and message fields.
4859//
4860// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTagsForResource
4861func (c *StorageGateway) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4862	req, out := c.ListTagsForResourceRequest(input)
4863	return out, req.Send()
4864}
4865
4866// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4867// the ability to pass a context and additional request options.
4868//
4869// See ListTagsForResource for details on how to use this API operation.
4870//
4871// The context must be non-nil and will be used for request cancellation. If
4872// the context is nil a panic will occur. In the future the SDK may create
4873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4874// for more information on using Contexts.
4875func (c *StorageGateway) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4876	req, out := c.ListTagsForResourceRequest(input)
4877	req.SetContext(ctx)
4878	req.ApplyOptions(opts...)
4879	return out, req.Send()
4880}
4881
4882// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation,
4883// calling the "fn" function with the response data for each page. To stop
4884// iterating, return false from the fn function.
4885//
4886// See ListTagsForResource method for more information on how to use this operation.
4887//
4888// Note: This operation can generate multiple requests to a service.
4889//
4890//    // Example iterating over at most 3 pages of a ListTagsForResource operation.
4891//    pageNum := 0
4892//    err := client.ListTagsForResourcePages(params,
4893//        func(page *storagegateway.ListTagsForResourceOutput, lastPage bool) bool {
4894//            pageNum++
4895//            fmt.Println(page)
4896//            return pageNum <= 3
4897//        })
4898//
4899func (c *StorageGateway) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error {
4900	return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn)
4901}
4902
4903// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except
4904// it takes a Context and allows setting request options on the pages.
4905//
4906// The context must be non-nil and will be used for request cancellation. If
4907// the context is nil a panic will occur. In the future the SDK may create
4908// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4909// for more information on using Contexts.
4910func (c *StorageGateway) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error {
4911	p := request.Pagination{
4912		NewRequest: func() (*request.Request, error) {
4913			var inCpy *ListTagsForResourceInput
4914			if input != nil {
4915				tmp := *input
4916				inCpy = &tmp
4917			}
4918			req, _ := c.ListTagsForResourceRequest(inCpy)
4919			req.SetContext(ctx)
4920			req.ApplyOptions(opts...)
4921			return req, nil
4922		},
4923	}
4924
4925	for p.Next() {
4926		if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) {
4927			break
4928		}
4929	}
4930
4931	return p.Err()
4932}
4933
4934const opListTapes = "ListTapes"
4935
4936// ListTapesRequest generates a "aws/request.Request" representing the
4937// client's request for the ListTapes operation. The "output" return
4938// value will be populated with the request's response once the request completes
4939// successfully.
4940//
4941// Use "Send" method on the returned Request to send the API call to the service.
4942// the "output" return value is not valid until after Send returns without error.
4943//
4944// See ListTapes for more information on using the ListTapes
4945// API call, and error handling.
4946//
4947// This method is useful when you want to inject custom logic or configuration
4948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4949//
4950//
4951//    // Example sending a request using the ListTapesRequest method.
4952//    req, resp := client.ListTapesRequest(params)
4953//
4954//    err := req.Send()
4955//    if err == nil { // resp is now filled
4956//        fmt.Println(resp)
4957//    }
4958//
4959// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTapes
4960func (c *StorageGateway) ListTapesRequest(input *ListTapesInput) (req *request.Request, output *ListTapesOutput) {
4961	op := &request.Operation{
4962		Name:       opListTapes,
4963		HTTPMethod: "POST",
4964		HTTPPath:   "/",
4965		Paginator: &request.Paginator{
4966			InputTokens:     []string{"Marker"},
4967			OutputTokens:    []string{"Marker"},
4968			LimitToken:      "Limit",
4969			TruncationToken: "",
4970		},
4971	}
4972
4973	if input == nil {
4974		input = &ListTapesInput{}
4975	}
4976
4977	output = &ListTapesOutput{}
4978	req = c.newRequest(op, input, output)
4979	return
4980}
4981
4982// ListTapes API operation for AWS Storage Gateway.
4983//
4984// Lists virtual tapes in your virtual tape library (VTL) and your virtual tape
4985// shelf (VTS). You specify the tapes to list by specifying one or more tape
4986// Amazon Resource Names (ARNs). If you don't specify a tape ARN, the operation
4987// lists all virtual tapes in both your VTL and VTS.
4988//
4989// This operation supports pagination. By default, the operation returns a maximum
4990// of up to 100 tapes. You can optionally specify the Limit parameter in the
4991// body to limit the number of tapes in the response. If the number of tapes
4992// returned in the response is truncated, the response includes a Marker element
4993// that you can use in your subsequent request to retrieve the next set of tapes.
4994// This operation is only supported in the tape gateway type.
4995//
4996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4997// with awserr.Error's Code and Message methods to get detailed information about
4998// the error.
4999//
5000// See the AWS API reference guide for AWS Storage Gateway's
5001// API operation ListTapes for usage and error information.
5002//
5003// Returned Error Types:
5004//   * InvalidGatewayRequestException
5005//   An exception occurred because an invalid gateway request was issued to the
5006//   service. For more information, see the error and message fields.
5007//
5008//   * InternalServerError
5009//   An internal server error has occurred during the request. For more information,
5010//   see the error and message fields.
5011//
5012// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTapes
5013func (c *StorageGateway) ListTapes(input *ListTapesInput) (*ListTapesOutput, error) {
5014	req, out := c.ListTapesRequest(input)
5015	return out, req.Send()
5016}
5017
5018// ListTapesWithContext is the same as ListTapes with the addition of
5019// the ability to pass a context and additional request options.
5020//
5021// See ListTapes for details on how to use this API operation.
5022//
5023// The context must be non-nil and will be used for request cancellation. If
5024// the context is nil a panic will occur. In the future the SDK may create
5025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5026// for more information on using Contexts.
5027func (c *StorageGateway) ListTapesWithContext(ctx aws.Context, input *ListTapesInput, opts ...request.Option) (*ListTapesOutput, error) {
5028	req, out := c.ListTapesRequest(input)
5029	req.SetContext(ctx)
5030	req.ApplyOptions(opts...)
5031	return out, req.Send()
5032}
5033
5034// ListTapesPages iterates over the pages of a ListTapes operation,
5035// calling the "fn" function with the response data for each page. To stop
5036// iterating, return false from the fn function.
5037//
5038// See ListTapes method for more information on how to use this operation.
5039//
5040// Note: This operation can generate multiple requests to a service.
5041//
5042//    // Example iterating over at most 3 pages of a ListTapes operation.
5043//    pageNum := 0
5044//    err := client.ListTapesPages(params,
5045//        func(page *storagegateway.ListTapesOutput, lastPage bool) bool {
5046//            pageNum++
5047//            fmt.Println(page)
5048//            return pageNum <= 3
5049//        })
5050//
5051func (c *StorageGateway) ListTapesPages(input *ListTapesInput, fn func(*ListTapesOutput, bool) bool) error {
5052	return c.ListTapesPagesWithContext(aws.BackgroundContext(), input, fn)
5053}
5054
5055// ListTapesPagesWithContext same as ListTapesPages except
5056// it takes a Context and allows setting request options on the pages.
5057//
5058// The context must be non-nil and will be used for request cancellation. If
5059// the context is nil a panic will occur. In the future the SDK may create
5060// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5061// for more information on using Contexts.
5062func (c *StorageGateway) ListTapesPagesWithContext(ctx aws.Context, input *ListTapesInput, fn func(*ListTapesOutput, bool) bool, opts ...request.Option) error {
5063	p := request.Pagination{
5064		NewRequest: func() (*request.Request, error) {
5065			var inCpy *ListTapesInput
5066			if input != nil {
5067				tmp := *input
5068				inCpy = &tmp
5069			}
5070			req, _ := c.ListTapesRequest(inCpy)
5071			req.SetContext(ctx)
5072			req.ApplyOptions(opts...)
5073			return req, nil
5074		},
5075	}
5076
5077	for p.Next() {
5078		if !fn(p.Page().(*ListTapesOutput), !p.HasNextPage()) {
5079			break
5080		}
5081	}
5082
5083	return p.Err()
5084}
5085
5086const opListVolumeInitiators = "ListVolumeInitiators"
5087
5088// ListVolumeInitiatorsRequest generates a "aws/request.Request" representing the
5089// client's request for the ListVolumeInitiators operation. The "output" return
5090// value will be populated with the request's response once the request completes
5091// successfully.
5092//
5093// Use "Send" method on the returned Request to send the API call to the service.
5094// the "output" return value is not valid until after Send returns without error.
5095//
5096// See ListVolumeInitiators for more information on using the ListVolumeInitiators
5097// API call, and error handling.
5098//
5099// This method is useful when you want to inject custom logic or configuration
5100// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5101//
5102//
5103//    // Example sending a request using the ListVolumeInitiatorsRequest method.
5104//    req, resp := client.ListVolumeInitiatorsRequest(params)
5105//
5106//    err := req.Send()
5107//    if err == nil { // resp is now filled
5108//        fmt.Println(resp)
5109//    }
5110//
5111// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumeInitiators
5112func (c *StorageGateway) ListVolumeInitiatorsRequest(input *ListVolumeInitiatorsInput) (req *request.Request, output *ListVolumeInitiatorsOutput) {
5113	op := &request.Operation{
5114		Name:       opListVolumeInitiators,
5115		HTTPMethod: "POST",
5116		HTTPPath:   "/",
5117	}
5118
5119	if input == nil {
5120		input = &ListVolumeInitiatorsInput{}
5121	}
5122
5123	output = &ListVolumeInitiatorsOutput{}
5124	req = c.newRequest(op, input, output)
5125	return
5126}
5127
5128// ListVolumeInitiators API operation for AWS Storage Gateway.
5129//
5130// Lists iSCSI initiators that are connected to a volume. You can use this operation
5131// to determine whether a volume is being used or not. This operation is only
5132// supported in the cached volume and stored volume gateway types.
5133//
5134// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5135// with awserr.Error's Code and Message methods to get detailed information about
5136// the error.
5137//
5138// See the AWS API reference guide for AWS Storage Gateway's
5139// API operation ListVolumeInitiators for usage and error information.
5140//
5141// Returned Error Types:
5142//   * InvalidGatewayRequestException
5143//   An exception occurred because an invalid gateway request was issued to the
5144//   service. For more information, see the error and message fields.
5145//
5146//   * InternalServerError
5147//   An internal server error has occurred during the request. For more information,
5148//   see the error and message fields.
5149//
5150// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumeInitiators
5151func (c *StorageGateway) ListVolumeInitiators(input *ListVolumeInitiatorsInput) (*ListVolumeInitiatorsOutput, error) {
5152	req, out := c.ListVolumeInitiatorsRequest(input)
5153	return out, req.Send()
5154}
5155
5156// ListVolumeInitiatorsWithContext is the same as ListVolumeInitiators with the addition of
5157// the ability to pass a context and additional request options.
5158//
5159// See ListVolumeInitiators for details on how to use this API operation.
5160//
5161// The context must be non-nil and will be used for request cancellation. If
5162// the context is nil a panic will occur. In the future the SDK may create
5163// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5164// for more information on using Contexts.
5165func (c *StorageGateway) ListVolumeInitiatorsWithContext(ctx aws.Context, input *ListVolumeInitiatorsInput, opts ...request.Option) (*ListVolumeInitiatorsOutput, error) {
5166	req, out := c.ListVolumeInitiatorsRequest(input)
5167	req.SetContext(ctx)
5168	req.ApplyOptions(opts...)
5169	return out, req.Send()
5170}
5171
5172const opListVolumeRecoveryPoints = "ListVolumeRecoveryPoints"
5173
5174// ListVolumeRecoveryPointsRequest generates a "aws/request.Request" representing the
5175// client's request for the ListVolumeRecoveryPoints operation. The "output" return
5176// value will be populated with the request's response once the request completes
5177// successfully.
5178//
5179// Use "Send" method on the returned Request to send the API call to the service.
5180// the "output" return value is not valid until after Send returns without error.
5181//
5182// See ListVolumeRecoveryPoints for more information on using the ListVolumeRecoveryPoints
5183// API call, and error handling.
5184//
5185// This method is useful when you want to inject custom logic or configuration
5186// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5187//
5188//
5189//    // Example sending a request using the ListVolumeRecoveryPointsRequest method.
5190//    req, resp := client.ListVolumeRecoveryPointsRequest(params)
5191//
5192//    err := req.Send()
5193//    if err == nil { // resp is now filled
5194//        fmt.Println(resp)
5195//    }
5196//
5197// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumeRecoveryPoints
5198func (c *StorageGateway) ListVolumeRecoveryPointsRequest(input *ListVolumeRecoveryPointsInput) (req *request.Request, output *ListVolumeRecoveryPointsOutput) {
5199	op := &request.Operation{
5200		Name:       opListVolumeRecoveryPoints,
5201		HTTPMethod: "POST",
5202		HTTPPath:   "/",
5203	}
5204
5205	if input == nil {
5206		input = &ListVolumeRecoveryPointsInput{}
5207	}
5208
5209	output = &ListVolumeRecoveryPointsOutput{}
5210	req = c.newRequest(op, input, output)
5211	return
5212}
5213
5214// ListVolumeRecoveryPoints API operation for AWS Storage Gateway.
5215//
5216// Lists the recovery points for a specified gateway. This operation is only
5217// supported in the cached volume gateway type.
5218//
5219// Each cache volume has one recovery point. A volume recovery point is a point
5220// in time at which all data of the volume is consistent and from which you
5221// can create a snapshot or clone a new cached volume from a source volume.
5222// To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint
5223// operation.
5224//
5225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5226// with awserr.Error's Code and Message methods to get detailed information about
5227// the error.
5228//
5229// See the AWS API reference guide for AWS Storage Gateway's
5230// API operation ListVolumeRecoveryPoints for usage and error information.
5231//
5232// Returned Error Types:
5233//   * InvalidGatewayRequestException
5234//   An exception occurred because an invalid gateway request was issued to the
5235//   service. For more information, see the error and message fields.
5236//
5237//   * InternalServerError
5238//   An internal server error has occurred during the request. For more information,
5239//   see the error and message fields.
5240//
5241// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumeRecoveryPoints
5242func (c *StorageGateway) ListVolumeRecoveryPoints(input *ListVolumeRecoveryPointsInput) (*ListVolumeRecoveryPointsOutput, error) {
5243	req, out := c.ListVolumeRecoveryPointsRequest(input)
5244	return out, req.Send()
5245}
5246
5247// ListVolumeRecoveryPointsWithContext is the same as ListVolumeRecoveryPoints with the addition of
5248// the ability to pass a context and additional request options.
5249//
5250// See ListVolumeRecoveryPoints for details on how to use this API operation.
5251//
5252// The context must be non-nil and will be used for request cancellation. If
5253// the context is nil a panic will occur. In the future the SDK may create
5254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5255// for more information on using Contexts.
5256func (c *StorageGateway) ListVolumeRecoveryPointsWithContext(ctx aws.Context, input *ListVolumeRecoveryPointsInput, opts ...request.Option) (*ListVolumeRecoveryPointsOutput, error) {
5257	req, out := c.ListVolumeRecoveryPointsRequest(input)
5258	req.SetContext(ctx)
5259	req.ApplyOptions(opts...)
5260	return out, req.Send()
5261}
5262
5263const opListVolumes = "ListVolumes"
5264
5265// ListVolumesRequest generates a "aws/request.Request" representing the
5266// client's request for the ListVolumes operation. The "output" return
5267// value will be populated with the request's response once the request completes
5268// successfully.
5269//
5270// Use "Send" method on the returned Request to send the API call to the service.
5271// the "output" return value is not valid until after Send returns without error.
5272//
5273// See ListVolumes for more information on using the ListVolumes
5274// API call, and error handling.
5275//
5276// This method is useful when you want to inject custom logic or configuration
5277// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5278//
5279//
5280//    // Example sending a request using the ListVolumesRequest method.
5281//    req, resp := client.ListVolumesRequest(params)
5282//
5283//    err := req.Send()
5284//    if err == nil { // resp is now filled
5285//        fmt.Println(resp)
5286//    }
5287//
5288// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumes
5289func (c *StorageGateway) ListVolumesRequest(input *ListVolumesInput) (req *request.Request, output *ListVolumesOutput) {
5290	op := &request.Operation{
5291		Name:       opListVolumes,
5292		HTTPMethod: "POST",
5293		HTTPPath:   "/",
5294		Paginator: &request.Paginator{
5295			InputTokens:     []string{"Marker"},
5296			OutputTokens:    []string{"Marker"},
5297			LimitToken:      "Limit",
5298			TruncationToken: "",
5299		},
5300	}
5301
5302	if input == nil {
5303		input = &ListVolumesInput{}
5304	}
5305
5306	output = &ListVolumesOutput{}
5307	req = c.newRequest(op, input, output)
5308	return
5309}
5310
5311// ListVolumes API operation for AWS Storage Gateway.
5312//
5313// Lists the iSCSI stored volumes of a gateway. Results are sorted by volume
5314// ARN. The response includes only the volume ARNs. If you want additional volume
5315// information, use the DescribeStorediSCSIVolumes or the DescribeCachediSCSIVolumes
5316// API.
5317//
5318// The operation supports pagination. By default, the operation returns a maximum
5319// of up to 100 volumes. You can optionally specify the Limit field in the body
5320// to limit the number of volumes in the response. If the number of volumes
5321// returned in the response is truncated, the response includes a Marker field.
5322// You can use this Marker value in your subsequent request to retrieve the
5323// next set of volumes. This operation is only supported in the cached volume
5324// and stored volume gateway types.
5325//
5326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5327// with awserr.Error's Code and Message methods to get detailed information about
5328// the error.
5329//
5330// See the AWS API reference guide for AWS Storage Gateway's
5331// API operation ListVolumes for usage and error information.
5332//
5333// Returned Error Types:
5334//   * InvalidGatewayRequestException
5335//   An exception occurred because an invalid gateway request was issued to the
5336//   service. For more information, see the error and message fields.
5337//
5338//   * InternalServerError
5339//   An internal server error has occurred during the request. For more information,
5340//   see the error and message fields.
5341//
5342// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumes
5343func (c *StorageGateway) ListVolumes(input *ListVolumesInput) (*ListVolumesOutput, error) {
5344	req, out := c.ListVolumesRequest(input)
5345	return out, req.Send()
5346}
5347
5348// ListVolumesWithContext is the same as ListVolumes with the addition of
5349// the ability to pass a context and additional request options.
5350//
5351// See ListVolumes for details on how to use this API operation.
5352//
5353// The context must be non-nil and will be used for request cancellation. If
5354// the context is nil a panic will occur. In the future the SDK may create
5355// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5356// for more information on using Contexts.
5357func (c *StorageGateway) ListVolumesWithContext(ctx aws.Context, input *ListVolumesInput, opts ...request.Option) (*ListVolumesOutput, error) {
5358	req, out := c.ListVolumesRequest(input)
5359	req.SetContext(ctx)
5360	req.ApplyOptions(opts...)
5361	return out, req.Send()
5362}
5363
5364// ListVolumesPages iterates over the pages of a ListVolumes operation,
5365// calling the "fn" function with the response data for each page. To stop
5366// iterating, return false from the fn function.
5367//
5368// See ListVolumes method for more information on how to use this operation.
5369//
5370// Note: This operation can generate multiple requests to a service.
5371//
5372//    // Example iterating over at most 3 pages of a ListVolumes operation.
5373//    pageNum := 0
5374//    err := client.ListVolumesPages(params,
5375//        func(page *storagegateway.ListVolumesOutput, lastPage bool) bool {
5376//            pageNum++
5377//            fmt.Println(page)
5378//            return pageNum <= 3
5379//        })
5380//
5381func (c *StorageGateway) ListVolumesPages(input *ListVolumesInput, fn func(*ListVolumesOutput, bool) bool) error {
5382	return c.ListVolumesPagesWithContext(aws.BackgroundContext(), input, fn)
5383}
5384
5385// ListVolumesPagesWithContext same as ListVolumesPages except
5386// it takes a Context and allows setting request options on the pages.
5387//
5388// The context must be non-nil and will be used for request cancellation. If
5389// the context is nil a panic will occur. In the future the SDK may create
5390// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5391// for more information on using Contexts.
5392func (c *StorageGateway) ListVolumesPagesWithContext(ctx aws.Context, input *ListVolumesInput, fn func(*ListVolumesOutput, bool) bool, opts ...request.Option) error {
5393	p := request.Pagination{
5394		NewRequest: func() (*request.Request, error) {
5395			var inCpy *ListVolumesInput
5396			if input != nil {
5397				tmp := *input
5398				inCpy = &tmp
5399			}
5400			req, _ := c.ListVolumesRequest(inCpy)
5401			req.SetContext(ctx)
5402			req.ApplyOptions(opts...)
5403			return req, nil
5404		},
5405	}
5406
5407	for p.Next() {
5408		if !fn(p.Page().(*ListVolumesOutput), !p.HasNextPage()) {
5409			break
5410		}
5411	}
5412
5413	return p.Err()
5414}
5415
5416const opNotifyWhenUploaded = "NotifyWhenUploaded"
5417
5418// NotifyWhenUploadedRequest generates a "aws/request.Request" representing the
5419// client's request for the NotifyWhenUploaded operation. The "output" return
5420// value will be populated with the request's response once the request completes
5421// successfully.
5422//
5423// Use "Send" method on the returned Request to send the API call to the service.
5424// the "output" return value is not valid until after Send returns without error.
5425//
5426// See NotifyWhenUploaded for more information on using the NotifyWhenUploaded
5427// API call, and error handling.
5428//
5429// This method is useful when you want to inject custom logic or configuration
5430// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5431//
5432//
5433//    // Example sending a request using the NotifyWhenUploadedRequest method.
5434//    req, resp := client.NotifyWhenUploadedRequest(params)
5435//
5436//    err := req.Send()
5437//    if err == nil { // resp is now filled
5438//        fmt.Println(resp)
5439//    }
5440//
5441// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/NotifyWhenUploaded
5442func (c *StorageGateway) NotifyWhenUploadedRequest(input *NotifyWhenUploadedInput) (req *request.Request, output *NotifyWhenUploadedOutput) {
5443	op := &request.Operation{
5444		Name:       opNotifyWhenUploaded,
5445		HTTPMethod: "POST",
5446		HTTPPath:   "/",
5447	}
5448
5449	if input == nil {
5450		input = &NotifyWhenUploadedInput{}
5451	}
5452
5453	output = &NotifyWhenUploadedOutput{}
5454	req = c.newRequest(op, input, output)
5455	return
5456}
5457
5458// NotifyWhenUploaded API operation for AWS Storage Gateway.
5459//
5460// Sends you notification through CloudWatch Events when all files written to
5461// your file share have been uploaded to Amazon S3.
5462//
5463// AWS Storage Gateway can send a notification through Amazon CloudWatch Events
5464// when all files written to your file share up to that point in time have been
5465// uploaded to Amazon S3. These files include files written to the file share
5466// up to the time that you make a request for notification. When the upload
5467// is done, Storage Gateway sends you notification through an Amazon CloudWatch
5468// Event. You can configure CloudWatch Events to send the notification through
5469// event targets such as Amazon SNS or AWS Lambda function. This operation is
5470// only supported for file gateways.
5471//
5472// For more information, see Getting File Upload Notification in the Storage
5473// Gateway User Guide (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-upload-notification).
5474//
5475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5476// with awserr.Error's Code and Message methods to get detailed information about
5477// the error.
5478//
5479// See the AWS API reference guide for AWS Storage Gateway's
5480// API operation NotifyWhenUploaded for usage and error information.
5481//
5482// Returned Error Types:
5483//   * InvalidGatewayRequestException
5484//   An exception occurred because an invalid gateway request was issued to the
5485//   service. For more information, see the error and message fields.
5486//
5487//   * InternalServerError
5488//   An internal server error has occurred during the request. For more information,
5489//   see the error and message fields.
5490//
5491// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/NotifyWhenUploaded
5492func (c *StorageGateway) NotifyWhenUploaded(input *NotifyWhenUploadedInput) (*NotifyWhenUploadedOutput, error) {
5493	req, out := c.NotifyWhenUploadedRequest(input)
5494	return out, req.Send()
5495}
5496
5497// NotifyWhenUploadedWithContext is the same as NotifyWhenUploaded with the addition of
5498// the ability to pass a context and additional request options.
5499//
5500// See NotifyWhenUploaded for details on how to use this API operation.
5501//
5502// The context must be non-nil and will be used for request cancellation. If
5503// the context is nil a panic will occur. In the future the SDK may create
5504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5505// for more information on using Contexts.
5506func (c *StorageGateway) NotifyWhenUploadedWithContext(ctx aws.Context, input *NotifyWhenUploadedInput, opts ...request.Option) (*NotifyWhenUploadedOutput, error) {
5507	req, out := c.NotifyWhenUploadedRequest(input)
5508	req.SetContext(ctx)
5509	req.ApplyOptions(opts...)
5510	return out, req.Send()
5511}
5512
5513const opRefreshCache = "RefreshCache"
5514
5515// RefreshCacheRequest generates a "aws/request.Request" representing the
5516// client's request for the RefreshCache operation. The "output" return
5517// value will be populated with the request's response once the request completes
5518// successfully.
5519//
5520// Use "Send" method on the returned Request to send the API call to the service.
5521// the "output" return value is not valid until after Send returns without error.
5522//
5523// See RefreshCache for more information on using the RefreshCache
5524// API call, and error handling.
5525//
5526// This method is useful when you want to inject custom logic or configuration
5527// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5528//
5529//
5530//    // Example sending a request using the RefreshCacheRequest method.
5531//    req, resp := client.RefreshCacheRequest(params)
5532//
5533//    err := req.Send()
5534//    if err == nil { // resp is now filled
5535//        fmt.Println(resp)
5536//    }
5537//
5538// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RefreshCache
5539func (c *StorageGateway) RefreshCacheRequest(input *RefreshCacheInput) (req *request.Request, output *RefreshCacheOutput) {
5540	op := &request.Operation{
5541		Name:       opRefreshCache,
5542		HTTPMethod: "POST",
5543		HTTPPath:   "/",
5544	}
5545
5546	if input == nil {
5547		input = &RefreshCacheInput{}
5548	}
5549
5550	output = &RefreshCacheOutput{}
5551	req = c.newRequest(op, input, output)
5552	return
5553}
5554
5555// RefreshCache API operation for AWS Storage Gateway.
5556//
5557// Refreshes the cache for the specified file share. This operation finds objects
5558// in the Amazon S3 bucket that were added, removed or replaced since the gateway
5559// last listed the bucket's contents and cached the results. This operation
5560// is only supported in the file gateway type. You can subscribe to be notified
5561// through an Amazon CloudWatch event when your RefreshCache operation completes.
5562// For more information, see Getting Notified About File Operations (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification).
5563//
5564// When this API is called, it only initiates the refresh operation. When the
5565// API call completes and returns a success code, it doesn't necessarily mean
5566// that the file refresh has completed. You should use the refresh-complete
5567// notification to determine that the operation has completed before you check
5568// for new files on the gateway file share. You can subscribe to be notified
5569// through an CloudWatch event when your RefreshCache operation completes.
5570//
5571// Throttle limit: This API is asynchronous so the gateway will accept no more
5572// than two refreshes at any time. We recommend using the refresh-complete CloudWatch
5573// event notification before issuing additional requests. For more information,
5574// see Getting Notified About File Operations (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification).
5575//
5576// If you invoke the RefreshCache API when two requests are already being processed,
5577// any new request will cause an InvalidGatewayRequestException error because
5578// too many requests were sent to the server.
5579//
5580// For more information, see "https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification".
5581//
5582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5583// with awserr.Error's Code and Message methods to get detailed information about
5584// the error.
5585//
5586// See the AWS API reference guide for AWS Storage Gateway's
5587// API operation RefreshCache for usage and error information.
5588//
5589// Returned Error Types:
5590//   * InvalidGatewayRequestException
5591//   An exception occurred because an invalid gateway request was issued to the
5592//   service. For more information, see the error and message fields.
5593//
5594//   * InternalServerError
5595//   An internal server error has occurred during the request. For more information,
5596//   see the error and message fields.
5597//
5598// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RefreshCache
5599func (c *StorageGateway) RefreshCache(input *RefreshCacheInput) (*RefreshCacheOutput, error) {
5600	req, out := c.RefreshCacheRequest(input)
5601	return out, req.Send()
5602}
5603
5604// RefreshCacheWithContext is the same as RefreshCache with the addition of
5605// the ability to pass a context and additional request options.
5606//
5607// See RefreshCache for details on how to use this API operation.
5608//
5609// The context must be non-nil and will be used for request cancellation. If
5610// the context is nil a panic will occur. In the future the SDK may create
5611// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5612// for more information on using Contexts.
5613func (c *StorageGateway) RefreshCacheWithContext(ctx aws.Context, input *RefreshCacheInput, opts ...request.Option) (*RefreshCacheOutput, error) {
5614	req, out := c.RefreshCacheRequest(input)
5615	req.SetContext(ctx)
5616	req.ApplyOptions(opts...)
5617	return out, req.Send()
5618}
5619
5620const opRemoveTagsFromResource = "RemoveTagsFromResource"
5621
5622// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
5623// client's request for the RemoveTagsFromResource operation. The "output" return
5624// value will be populated with the request's response once the request completes
5625// successfully.
5626//
5627// Use "Send" method on the returned Request to send the API call to the service.
5628// the "output" return value is not valid until after Send returns without error.
5629//
5630// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
5631// API call, and error handling.
5632//
5633// This method is useful when you want to inject custom logic or configuration
5634// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5635//
5636//
5637//    // Example sending a request using the RemoveTagsFromResourceRequest method.
5638//    req, resp := client.RemoveTagsFromResourceRequest(params)
5639//
5640//    err := req.Send()
5641//    if err == nil { // resp is now filled
5642//        fmt.Println(resp)
5643//    }
5644//
5645// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RemoveTagsFromResource
5646func (c *StorageGateway) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
5647	op := &request.Operation{
5648		Name:       opRemoveTagsFromResource,
5649		HTTPMethod: "POST",
5650		HTTPPath:   "/",
5651	}
5652
5653	if input == nil {
5654		input = &RemoveTagsFromResourceInput{}
5655	}
5656
5657	output = &RemoveTagsFromResourceOutput{}
5658	req = c.newRequest(op, input, output)
5659	return
5660}
5661
5662// RemoveTagsFromResource API operation for AWS Storage Gateway.
5663//
5664// Removes one or more tags from the specified resource. This operation is supported
5665// in storage gateways of all types.
5666//
5667// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5668// with awserr.Error's Code and Message methods to get detailed information about
5669// the error.
5670//
5671// See the AWS API reference guide for AWS Storage Gateway's
5672// API operation RemoveTagsFromResource for usage and error information.
5673//
5674// Returned Error Types:
5675//   * InvalidGatewayRequestException
5676//   An exception occurred because an invalid gateway request was issued to the
5677//   service. For more information, see the error and message fields.
5678//
5679//   * InternalServerError
5680//   An internal server error has occurred during the request. For more information,
5681//   see the error and message fields.
5682//
5683// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RemoveTagsFromResource
5684func (c *StorageGateway) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
5685	req, out := c.RemoveTagsFromResourceRequest(input)
5686	return out, req.Send()
5687}
5688
5689// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
5690// the ability to pass a context and additional request options.
5691//
5692// See RemoveTagsFromResource for details on how to use this API operation.
5693//
5694// The context must be non-nil and will be used for request cancellation. If
5695// the context is nil a panic will occur. In the future the SDK may create
5696// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5697// for more information on using Contexts.
5698func (c *StorageGateway) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
5699	req, out := c.RemoveTagsFromResourceRequest(input)
5700	req.SetContext(ctx)
5701	req.ApplyOptions(opts...)
5702	return out, req.Send()
5703}
5704
5705const opResetCache = "ResetCache"
5706
5707// ResetCacheRequest generates a "aws/request.Request" representing the
5708// client's request for the ResetCache operation. The "output" return
5709// value will be populated with the request's response once the request completes
5710// successfully.
5711//
5712// Use "Send" method on the returned Request to send the API call to the service.
5713// the "output" return value is not valid until after Send returns without error.
5714//
5715// See ResetCache for more information on using the ResetCache
5716// API call, and error handling.
5717//
5718// This method is useful when you want to inject custom logic or configuration
5719// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5720//
5721//
5722//    // Example sending a request using the ResetCacheRequest method.
5723//    req, resp := client.ResetCacheRequest(params)
5724//
5725//    err := req.Send()
5726//    if err == nil { // resp is now filled
5727//        fmt.Println(resp)
5728//    }
5729//
5730// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ResetCache
5731func (c *StorageGateway) ResetCacheRequest(input *ResetCacheInput) (req *request.Request, output *ResetCacheOutput) {
5732	op := &request.Operation{
5733		Name:       opResetCache,
5734		HTTPMethod: "POST",
5735		HTTPPath:   "/",
5736	}
5737
5738	if input == nil {
5739		input = &ResetCacheInput{}
5740	}
5741
5742	output = &ResetCacheOutput{}
5743	req = c.newRequest(op, input, output)
5744	return
5745}
5746
5747// ResetCache API operation for AWS Storage Gateway.
5748//
5749// Resets all cache disks that have encountered a error and makes the disks
5750// available for reconfiguration as cache storage. If your cache disk encounters
5751// a error, the gateway prevents read and write operations on virtual tapes
5752// in the gateway. For example, an error can occur when a disk is corrupted
5753// or removed from the gateway. When a cache is reset, the gateway loses its
5754// cache storage. At this point you can reconfigure the disks as cache disks.
5755// This operation is only supported in the cached volume and tape types.
5756//
5757// If the cache disk you are resetting contains data that has not been uploaded
5758// to Amazon S3 yet, that data can be lost. After you reset cache disks, there
5759// will be no configured cache disks left in the gateway, so you must configure
5760// at least one new cache disk for your gateway to function properly.
5761//
5762// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5763// with awserr.Error's Code and Message methods to get detailed information about
5764// the error.
5765//
5766// See the AWS API reference guide for AWS Storage Gateway's
5767// API operation ResetCache for usage and error information.
5768//
5769// Returned Error Types:
5770//   * InvalidGatewayRequestException
5771//   An exception occurred because an invalid gateway request was issued to the
5772//   service. For more information, see the error and message fields.
5773//
5774//   * InternalServerError
5775//   An internal server error has occurred during the request. For more information,
5776//   see the error and message fields.
5777//
5778// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ResetCache
5779func (c *StorageGateway) ResetCache(input *ResetCacheInput) (*ResetCacheOutput, error) {
5780	req, out := c.ResetCacheRequest(input)
5781	return out, req.Send()
5782}
5783
5784// ResetCacheWithContext is the same as ResetCache with the addition of
5785// the ability to pass a context and additional request options.
5786//
5787// See ResetCache for details on how to use this API operation.
5788//
5789// The context must be non-nil and will be used for request cancellation. If
5790// the context is nil a panic will occur. In the future the SDK may create
5791// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5792// for more information on using Contexts.
5793func (c *StorageGateway) ResetCacheWithContext(ctx aws.Context, input *ResetCacheInput, opts ...request.Option) (*ResetCacheOutput, error) {
5794	req, out := c.ResetCacheRequest(input)
5795	req.SetContext(ctx)
5796	req.ApplyOptions(opts...)
5797	return out, req.Send()
5798}
5799
5800const opRetrieveTapeArchive = "RetrieveTapeArchive"
5801
5802// RetrieveTapeArchiveRequest generates a "aws/request.Request" representing the
5803// client's request for the RetrieveTapeArchive operation. The "output" return
5804// value will be populated with the request's response once the request completes
5805// successfully.
5806//
5807// Use "Send" method on the returned Request to send the API call to the service.
5808// the "output" return value is not valid until after Send returns without error.
5809//
5810// See RetrieveTapeArchive for more information on using the RetrieveTapeArchive
5811// API call, and error handling.
5812//
5813// This method is useful when you want to inject custom logic or configuration
5814// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5815//
5816//
5817//    // Example sending a request using the RetrieveTapeArchiveRequest method.
5818//    req, resp := client.RetrieveTapeArchiveRequest(params)
5819//
5820//    err := req.Send()
5821//    if err == nil { // resp is now filled
5822//        fmt.Println(resp)
5823//    }
5824//
5825// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RetrieveTapeArchive
5826func (c *StorageGateway) RetrieveTapeArchiveRequest(input *RetrieveTapeArchiveInput) (req *request.Request, output *RetrieveTapeArchiveOutput) {
5827	op := &request.Operation{
5828		Name:       opRetrieveTapeArchive,
5829		HTTPMethod: "POST",
5830		HTTPPath:   "/",
5831	}
5832
5833	if input == nil {
5834		input = &RetrieveTapeArchiveInput{}
5835	}
5836
5837	output = &RetrieveTapeArchiveOutput{}
5838	req = c.newRequest(op, input, output)
5839	return
5840}
5841
5842// RetrieveTapeArchive API operation for AWS Storage Gateway.
5843//
5844// Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a
5845// tape gateway. Virtual tapes archived in the VTS are not associated with any
5846// gateway. However after a tape is retrieved, it is associated with a gateway,
5847// even though it is also listed in the VTS, that is, archive. This operation
5848// is only supported in the tape gateway type.
5849//
5850// Once a tape is successfully retrieved to a gateway, it cannot be retrieved
5851// again to another gateway. You must archive the tape again before you can
5852// retrieve it to another gateway. This operation is only supported in the tape
5853// gateway type.
5854//
5855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5856// with awserr.Error's Code and Message methods to get detailed information about
5857// the error.
5858//
5859// See the AWS API reference guide for AWS Storage Gateway's
5860// API operation RetrieveTapeArchive for usage and error information.
5861//
5862// Returned Error Types:
5863//   * InvalidGatewayRequestException
5864//   An exception occurred because an invalid gateway request was issued to the
5865//   service. For more information, see the error and message fields.
5866//
5867//   * InternalServerError
5868//   An internal server error has occurred during the request. For more information,
5869//   see the error and message fields.
5870//
5871// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RetrieveTapeArchive
5872func (c *StorageGateway) RetrieveTapeArchive(input *RetrieveTapeArchiveInput) (*RetrieveTapeArchiveOutput, error) {
5873	req, out := c.RetrieveTapeArchiveRequest(input)
5874	return out, req.Send()
5875}
5876
5877// RetrieveTapeArchiveWithContext is the same as RetrieveTapeArchive with the addition of
5878// the ability to pass a context and additional request options.
5879//
5880// See RetrieveTapeArchive for details on how to use this API operation.
5881//
5882// The context must be non-nil and will be used for request cancellation. If
5883// the context is nil a panic will occur. In the future the SDK may create
5884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5885// for more information on using Contexts.
5886func (c *StorageGateway) RetrieveTapeArchiveWithContext(ctx aws.Context, input *RetrieveTapeArchiveInput, opts ...request.Option) (*RetrieveTapeArchiveOutput, error) {
5887	req, out := c.RetrieveTapeArchiveRequest(input)
5888	req.SetContext(ctx)
5889	req.ApplyOptions(opts...)
5890	return out, req.Send()
5891}
5892
5893const opRetrieveTapeRecoveryPoint = "RetrieveTapeRecoveryPoint"
5894
5895// RetrieveTapeRecoveryPointRequest generates a "aws/request.Request" representing the
5896// client's request for the RetrieveTapeRecoveryPoint operation. The "output" return
5897// value will be populated with the request's response once the request completes
5898// successfully.
5899//
5900// Use "Send" method on the returned Request to send the API call to the service.
5901// the "output" return value is not valid until after Send returns without error.
5902//
5903// See RetrieveTapeRecoveryPoint for more information on using the RetrieveTapeRecoveryPoint
5904// API call, and error handling.
5905//
5906// This method is useful when you want to inject custom logic or configuration
5907// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5908//
5909//
5910//    // Example sending a request using the RetrieveTapeRecoveryPointRequest method.
5911//    req, resp := client.RetrieveTapeRecoveryPointRequest(params)
5912//
5913//    err := req.Send()
5914//    if err == nil { // resp is now filled
5915//        fmt.Println(resp)
5916//    }
5917//
5918// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RetrieveTapeRecoveryPoint
5919func (c *StorageGateway) RetrieveTapeRecoveryPointRequest(input *RetrieveTapeRecoveryPointInput) (req *request.Request, output *RetrieveTapeRecoveryPointOutput) {
5920	op := &request.Operation{
5921		Name:       opRetrieveTapeRecoveryPoint,
5922		HTTPMethod: "POST",
5923		HTTPPath:   "/",
5924	}
5925
5926	if input == nil {
5927		input = &RetrieveTapeRecoveryPointInput{}
5928	}
5929
5930	output = &RetrieveTapeRecoveryPointOutput{}
5931	req = c.newRequest(op, input, output)
5932	return
5933}
5934
5935// RetrieveTapeRecoveryPoint API operation for AWS Storage Gateway.
5936//
5937// Retrieves the recovery point for the specified virtual tape. This operation
5938// is only supported in the tape gateway type.
5939//
5940// A recovery point is a point in time view of a virtual tape at which all the
5941// data on the tape is consistent. If your gateway crashes, virtual tapes that
5942// have recovery points can be recovered to a new gateway.
5943//
5944// The virtual tape can be retrieved to only one gateway. The retrieved tape
5945// is read-only. The virtual tape can be retrieved to only a tape gateway. There
5946// is no charge for retrieving recovery points.
5947//
5948// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5949// with awserr.Error's Code and Message methods to get detailed information about
5950// the error.
5951//
5952// See the AWS API reference guide for AWS Storage Gateway's
5953// API operation RetrieveTapeRecoveryPoint for usage and error information.
5954//
5955// Returned Error Types:
5956//   * InvalidGatewayRequestException
5957//   An exception occurred because an invalid gateway request was issued to the
5958//   service. For more information, see the error and message fields.
5959//
5960//   * InternalServerError
5961//   An internal server error has occurred during the request. For more information,
5962//   see the error and message fields.
5963//
5964// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RetrieveTapeRecoveryPoint
5965func (c *StorageGateway) RetrieveTapeRecoveryPoint(input *RetrieveTapeRecoveryPointInput) (*RetrieveTapeRecoveryPointOutput, error) {
5966	req, out := c.RetrieveTapeRecoveryPointRequest(input)
5967	return out, req.Send()
5968}
5969
5970// RetrieveTapeRecoveryPointWithContext is the same as RetrieveTapeRecoveryPoint with the addition of
5971// the ability to pass a context and additional request options.
5972//
5973// See RetrieveTapeRecoveryPoint for details on how to use this API operation.
5974//
5975// The context must be non-nil and will be used for request cancellation. If
5976// the context is nil a panic will occur. In the future the SDK may create
5977// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5978// for more information on using Contexts.
5979func (c *StorageGateway) RetrieveTapeRecoveryPointWithContext(ctx aws.Context, input *RetrieveTapeRecoveryPointInput, opts ...request.Option) (*RetrieveTapeRecoveryPointOutput, error) {
5980	req, out := c.RetrieveTapeRecoveryPointRequest(input)
5981	req.SetContext(ctx)
5982	req.ApplyOptions(opts...)
5983	return out, req.Send()
5984}
5985
5986const opSetLocalConsolePassword = "SetLocalConsolePassword"
5987
5988// SetLocalConsolePasswordRequest generates a "aws/request.Request" representing the
5989// client's request for the SetLocalConsolePassword operation. The "output" return
5990// value will be populated with the request's response once the request completes
5991// successfully.
5992//
5993// Use "Send" method on the returned Request to send the API call to the service.
5994// the "output" return value is not valid until after Send returns without error.
5995//
5996// See SetLocalConsolePassword for more information on using the SetLocalConsolePassword
5997// API call, and error handling.
5998//
5999// This method is useful when you want to inject custom logic or configuration
6000// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6001//
6002//
6003//    // Example sending a request using the SetLocalConsolePasswordRequest method.
6004//    req, resp := client.SetLocalConsolePasswordRequest(params)
6005//
6006//    err := req.Send()
6007//    if err == nil { // resp is now filled
6008//        fmt.Println(resp)
6009//    }
6010//
6011// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/SetLocalConsolePassword
6012func (c *StorageGateway) SetLocalConsolePasswordRequest(input *SetLocalConsolePasswordInput) (req *request.Request, output *SetLocalConsolePasswordOutput) {
6013	op := &request.Operation{
6014		Name:       opSetLocalConsolePassword,
6015		HTTPMethod: "POST",
6016		HTTPPath:   "/",
6017	}
6018
6019	if input == nil {
6020		input = &SetLocalConsolePasswordInput{}
6021	}
6022
6023	output = &SetLocalConsolePasswordOutput{}
6024	req = c.newRequest(op, input, output)
6025	return
6026}
6027
6028// SetLocalConsolePassword API operation for AWS Storage Gateway.
6029//
6030// Sets the password for your VM local console. When you log in to the local
6031// console for the first time, you log in to the VM with the default credentials.
6032// We recommend that you set a new password. You don't need to know the default
6033// password to set a new password.
6034//
6035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6036// with awserr.Error's Code and Message methods to get detailed information about
6037// the error.
6038//
6039// See the AWS API reference guide for AWS Storage Gateway's
6040// API operation SetLocalConsolePassword for usage and error information.
6041//
6042// Returned Error Types:
6043//   * InvalidGatewayRequestException
6044//   An exception occurred because an invalid gateway request was issued to the
6045//   service. For more information, see the error and message fields.
6046//
6047//   * InternalServerError
6048//   An internal server error has occurred during the request. For more information,
6049//   see the error and message fields.
6050//
6051// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/SetLocalConsolePassword
6052func (c *StorageGateway) SetLocalConsolePassword(input *SetLocalConsolePasswordInput) (*SetLocalConsolePasswordOutput, error) {
6053	req, out := c.SetLocalConsolePasswordRequest(input)
6054	return out, req.Send()
6055}
6056
6057// SetLocalConsolePasswordWithContext is the same as SetLocalConsolePassword with the addition of
6058// the ability to pass a context and additional request options.
6059//
6060// See SetLocalConsolePassword for details on how to use this API operation.
6061//
6062// The context must be non-nil and will be used for request cancellation. If
6063// the context is nil a panic will occur. In the future the SDK may create
6064// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6065// for more information on using Contexts.
6066func (c *StorageGateway) SetLocalConsolePasswordWithContext(ctx aws.Context, input *SetLocalConsolePasswordInput, opts ...request.Option) (*SetLocalConsolePasswordOutput, error) {
6067	req, out := c.SetLocalConsolePasswordRequest(input)
6068	req.SetContext(ctx)
6069	req.ApplyOptions(opts...)
6070	return out, req.Send()
6071}
6072
6073const opSetSMBGuestPassword = "SetSMBGuestPassword"
6074
6075// SetSMBGuestPasswordRequest generates a "aws/request.Request" representing the
6076// client's request for the SetSMBGuestPassword operation. The "output" return
6077// value will be populated with the request's response once the request completes
6078// successfully.
6079//
6080// Use "Send" method on the returned Request to send the API call to the service.
6081// the "output" return value is not valid until after Send returns without error.
6082//
6083// See SetSMBGuestPassword for more information on using the SetSMBGuestPassword
6084// API call, and error handling.
6085//
6086// This method is useful when you want to inject custom logic or configuration
6087// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6088//
6089//
6090//    // Example sending a request using the SetSMBGuestPasswordRequest method.
6091//    req, resp := client.SetSMBGuestPasswordRequest(params)
6092//
6093//    err := req.Send()
6094//    if err == nil { // resp is now filled
6095//        fmt.Println(resp)
6096//    }
6097//
6098// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/SetSMBGuestPassword
6099func (c *StorageGateway) SetSMBGuestPasswordRequest(input *SetSMBGuestPasswordInput) (req *request.Request, output *SetSMBGuestPasswordOutput) {
6100	op := &request.Operation{
6101		Name:       opSetSMBGuestPassword,
6102		HTTPMethod: "POST",
6103		HTTPPath:   "/",
6104	}
6105
6106	if input == nil {
6107		input = &SetSMBGuestPasswordInput{}
6108	}
6109
6110	output = &SetSMBGuestPasswordOutput{}
6111	req = c.newRequest(op, input, output)
6112	return
6113}
6114
6115// SetSMBGuestPassword API operation for AWS Storage Gateway.
6116//
6117// Sets the password for the guest user smbguest. The smbguest user is the user
6118// when the authentication method for the file share is set to GuestAccess.
6119//
6120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6121// with awserr.Error's Code and Message methods to get detailed information about
6122// the error.
6123//
6124// See the AWS API reference guide for AWS Storage Gateway's
6125// API operation SetSMBGuestPassword for usage and error information.
6126//
6127// Returned Error Types:
6128//   * InvalidGatewayRequestException
6129//   An exception occurred because an invalid gateway request was issued to the
6130//   service. For more information, see the error and message fields.
6131//
6132//   * InternalServerError
6133//   An internal server error has occurred during the request. For more information,
6134//   see the error and message fields.
6135//
6136// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/SetSMBGuestPassword
6137func (c *StorageGateway) SetSMBGuestPassword(input *SetSMBGuestPasswordInput) (*SetSMBGuestPasswordOutput, error) {
6138	req, out := c.SetSMBGuestPasswordRequest(input)
6139	return out, req.Send()
6140}
6141
6142// SetSMBGuestPasswordWithContext is the same as SetSMBGuestPassword with the addition of
6143// the ability to pass a context and additional request options.
6144//
6145// See SetSMBGuestPassword for details on how to use this API operation.
6146//
6147// The context must be non-nil and will be used for request cancellation. If
6148// the context is nil a panic will occur. In the future the SDK may create
6149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6150// for more information on using Contexts.
6151func (c *StorageGateway) SetSMBGuestPasswordWithContext(ctx aws.Context, input *SetSMBGuestPasswordInput, opts ...request.Option) (*SetSMBGuestPasswordOutput, error) {
6152	req, out := c.SetSMBGuestPasswordRequest(input)
6153	req.SetContext(ctx)
6154	req.ApplyOptions(opts...)
6155	return out, req.Send()
6156}
6157
6158const opShutdownGateway = "ShutdownGateway"
6159
6160// ShutdownGatewayRequest generates a "aws/request.Request" representing the
6161// client's request for the ShutdownGateway operation. The "output" return
6162// value will be populated with the request's response once the request completes
6163// successfully.
6164//
6165// Use "Send" method on the returned Request to send the API call to the service.
6166// the "output" return value is not valid until after Send returns without error.
6167//
6168// See ShutdownGateway for more information on using the ShutdownGateway
6169// API call, and error handling.
6170//
6171// This method is useful when you want to inject custom logic or configuration
6172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6173//
6174//
6175//    // Example sending a request using the ShutdownGatewayRequest method.
6176//    req, resp := client.ShutdownGatewayRequest(params)
6177//
6178//    err := req.Send()
6179//    if err == nil { // resp is now filled
6180//        fmt.Println(resp)
6181//    }
6182//
6183// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ShutdownGateway
6184func (c *StorageGateway) ShutdownGatewayRequest(input *ShutdownGatewayInput) (req *request.Request, output *ShutdownGatewayOutput) {
6185	op := &request.Operation{
6186		Name:       opShutdownGateway,
6187		HTTPMethod: "POST",
6188		HTTPPath:   "/",
6189	}
6190
6191	if input == nil {
6192		input = &ShutdownGatewayInput{}
6193	}
6194
6195	output = &ShutdownGatewayOutput{}
6196	req = c.newRequest(op, input, output)
6197	return
6198}
6199
6200// ShutdownGateway API operation for AWS Storage Gateway.
6201//
6202// Shuts down a gateway. To specify which gateway to shut down, use the Amazon
6203// Resource Name (ARN) of the gateway in the body of your request.
6204//
6205// The operation shuts down the gateway service component running in the gateway's
6206// virtual machine (VM) and not the host VM.
6207//
6208// If you want to shut down the VM, it is recommended that you first shut down
6209// the gateway component in the VM to avoid unpredictable conditions.
6210//
6211// After the gateway is shutdown, you cannot call any other API except StartGateway,
6212// DescribeGatewayInformation, and ListGateways. For more information, see ActivateGateway.
6213// Your applications cannot read from or write to the gateway's storage volumes,
6214// and there are no snapshots taken.
6215//
6216// When you make a shutdown request, you will get a 200 OK success response
6217// immediately. However, it might take some time for the gateway to shut down.
6218// You can call the DescribeGatewayInformation API to check the status. For
6219// more information, see ActivateGateway.
6220//
6221// If do not intend to use the gateway again, you must delete the gateway (using
6222// DeleteGateway) to no longer pay software charges associated with the gateway.
6223//
6224// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6225// with awserr.Error's Code and Message methods to get detailed information about
6226// the error.
6227//
6228// See the AWS API reference guide for AWS Storage Gateway's
6229// API operation ShutdownGateway for usage and error information.
6230//
6231// Returned Error Types:
6232//   * InvalidGatewayRequestException
6233//   An exception occurred because an invalid gateway request was issued to the
6234//   service. For more information, see the error and message fields.
6235//
6236//   * InternalServerError
6237//   An internal server error has occurred during the request. For more information,
6238//   see the error and message fields.
6239//
6240// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ShutdownGateway
6241func (c *StorageGateway) ShutdownGateway(input *ShutdownGatewayInput) (*ShutdownGatewayOutput, error) {
6242	req, out := c.ShutdownGatewayRequest(input)
6243	return out, req.Send()
6244}
6245
6246// ShutdownGatewayWithContext is the same as ShutdownGateway with the addition of
6247// the ability to pass a context and additional request options.
6248//
6249// See ShutdownGateway for details on how to use this API operation.
6250//
6251// The context must be non-nil and will be used for request cancellation. If
6252// the context is nil a panic will occur. In the future the SDK may create
6253// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6254// for more information on using Contexts.
6255func (c *StorageGateway) ShutdownGatewayWithContext(ctx aws.Context, input *ShutdownGatewayInput, opts ...request.Option) (*ShutdownGatewayOutput, error) {
6256	req, out := c.ShutdownGatewayRequest(input)
6257	req.SetContext(ctx)
6258	req.ApplyOptions(opts...)
6259	return out, req.Send()
6260}
6261
6262const opStartAvailabilityMonitorTest = "StartAvailabilityMonitorTest"
6263
6264// StartAvailabilityMonitorTestRequest generates a "aws/request.Request" representing the
6265// client's request for the StartAvailabilityMonitorTest operation. The "output" return
6266// value will be populated with the request's response once the request completes
6267// successfully.
6268//
6269// Use "Send" method on the returned Request to send the API call to the service.
6270// the "output" return value is not valid until after Send returns without error.
6271//
6272// See StartAvailabilityMonitorTest for more information on using the StartAvailabilityMonitorTest
6273// API call, and error handling.
6274//
6275// This method is useful when you want to inject custom logic or configuration
6276// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6277//
6278//
6279//    // Example sending a request using the StartAvailabilityMonitorTestRequest method.
6280//    req, resp := client.StartAvailabilityMonitorTestRequest(params)
6281//
6282//    err := req.Send()
6283//    if err == nil { // resp is now filled
6284//        fmt.Println(resp)
6285//    }
6286//
6287// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/StartAvailabilityMonitorTest
6288func (c *StorageGateway) StartAvailabilityMonitorTestRequest(input *StartAvailabilityMonitorTestInput) (req *request.Request, output *StartAvailabilityMonitorTestOutput) {
6289	op := &request.Operation{
6290		Name:       opStartAvailabilityMonitorTest,
6291		HTTPMethod: "POST",
6292		HTTPPath:   "/",
6293	}
6294
6295	if input == nil {
6296		input = &StartAvailabilityMonitorTestInput{}
6297	}
6298
6299	output = &StartAvailabilityMonitorTestOutput{}
6300	req = c.newRequest(op, input, output)
6301	return
6302}
6303
6304// StartAvailabilityMonitorTest API operation for AWS Storage Gateway.
6305//
6306// Start a test that verifies that the specified gateway is configured for High
6307// Availability monitoring in your host environment. This request only initiates
6308// the test and that a successful response only indicates that the test was
6309// started. It doesn't indicate that the test passed. For the status of the
6310// test, invoke the DescribeAvailabilityMonitorTest API.
6311//
6312// Starting this test will cause your gateway to go offline for a brief period.
6313//
6314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6315// with awserr.Error's Code and Message methods to get detailed information about
6316// the error.
6317//
6318// See the AWS API reference guide for AWS Storage Gateway's
6319// API operation StartAvailabilityMonitorTest for usage and error information.
6320//
6321// Returned Error Types:
6322//   * InvalidGatewayRequestException
6323//   An exception occurred because an invalid gateway request was issued to the
6324//   service. For more information, see the error and message fields.
6325//
6326//   * InternalServerError
6327//   An internal server error has occurred during the request. For more information,
6328//   see the error and message fields.
6329//
6330// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/StartAvailabilityMonitorTest
6331func (c *StorageGateway) StartAvailabilityMonitorTest(input *StartAvailabilityMonitorTestInput) (*StartAvailabilityMonitorTestOutput, error) {
6332	req, out := c.StartAvailabilityMonitorTestRequest(input)
6333	return out, req.Send()
6334}
6335
6336// StartAvailabilityMonitorTestWithContext is the same as StartAvailabilityMonitorTest with the addition of
6337// the ability to pass a context and additional request options.
6338//
6339// See StartAvailabilityMonitorTest for details on how to use this API operation.
6340//
6341// The context must be non-nil and will be used for request cancellation. If
6342// the context is nil a panic will occur. In the future the SDK may create
6343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6344// for more information on using Contexts.
6345func (c *StorageGateway) StartAvailabilityMonitorTestWithContext(ctx aws.Context, input *StartAvailabilityMonitorTestInput, opts ...request.Option) (*StartAvailabilityMonitorTestOutput, error) {
6346	req, out := c.StartAvailabilityMonitorTestRequest(input)
6347	req.SetContext(ctx)
6348	req.ApplyOptions(opts...)
6349	return out, req.Send()
6350}
6351
6352const opStartGateway = "StartGateway"
6353
6354// StartGatewayRequest generates a "aws/request.Request" representing the
6355// client's request for the StartGateway operation. The "output" return
6356// value will be populated with the request's response once the request completes
6357// successfully.
6358//
6359// Use "Send" method on the returned Request to send the API call to the service.
6360// the "output" return value is not valid until after Send returns without error.
6361//
6362// See StartGateway for more information on using the StartGateway
6363// API call, and error handling.
6364//
6365// This method is useful when you want to inject custom logic or configuration
6366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6367//
6368//
6369//    // Example sending a request using the StartGatewayRequest method.
6370//    req, resp := client.StartGatewayRequest(params)
6371//
6372//    err := req.Send()
6373//    if err == nil { // resp is now filled
6374//        fmt.Println(resp)
6375//    }
6376//
6377// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/StartGateway
6378func (c *StorageGateway) StartGatewayRequest(input *StartGatewayInput) (req *request.Request, output *StartGatewayOutput) {
6379	op := &request.Operation{
6380		Name:       opStartGateway,
6381		HTTPMethod: "POST",
6382		HTTPPath:   "/",
6383	}
6384
6385	if input == nil {
6386		input = &StartGatewayInput{}
6387	}
6388
6389	output = &StartGatewayOutput{}
6390	req = c.newRequest(op, input, output)
6391	return
6392}
6393
6394// StartGateway API operation for AWS Storage Gateway.
6395//
6396// Starts a gateway that you previously shut down (see ShutdownGateway). After
6397// the gateway starts, you can then make other API calls, your applications
6398// can read from or write to the gateway's storage volumes and you will be able
6399// to take snapshot backups.
6400//
6401// When you make a request, you will get a 200 OK success response immediately.
6402// However, it might take some time for the gateway to be ready. You should
6403// call DescribeGatewayInformation and check the status before making any additional
6404// API calls. For more information, see ActivateGateway.
6405//
6406// To specify which gateway to start, use the Amazon Resource Name (ARN) of
6407// the gateway in your request.
6408//
6409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6410// with awserr.Error's Code and Message methods to get detailed information about
6411// the error.
6412//
6413// See the AWS API reference guide for AWS Storage Gateway's
6414// API operation StartGateway for usage and error information.
6415//
6416// Returned Error Types:
6417//   * InvalidGatewayRequestException
6418//   An exception occurred because an invalid gateway request was issued to the
6419//   service. For more information, see the error and message fields.
6420//
6421//   * InternalServerError
6422//   An internal server error has occurred during the request. For more information,
6423//   see the error and message fields.
6424//
6425// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/StartGateway
6426func (c *StorageGateway) StartGateway(input *StartGatewayInput) (*StartGatewayOutput, error) {
6427	req, out := c.StartGatewayRequest(input)
6428	return out, req.Send()
6429}
6430
6431// StartGatewayWithContext is the same as StartGateway with the addition of
6432// the ability to pass a context and additional request options.
6433//
6434// See StartGateway for details on how to use this API operation.
6435//
6436// The context must be non-nil and will be used for request cancellation. If
6437// the context is nil a panic will occur. In the future the SDK may create
6438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6439// for more information on using Contexts.
6440func (c *StorageGateway) StartGatewayWithContext(ctx aws.Context, input *StartGatewayInput, opts ...request.Option) (*StartGatewayOutput, error) {
6441	req, out := c.StartGatewayRequest(input)
6442	req.SetContext(ctx)
6443	req.ApplyOptions(opts...)
6444	return out, req.Send()
6445}
6446
6447const opUpdateBandwidthRateLimit = "UpdateBandwidthRateLimit"
6448
6449// UpdateBandwidthRateLimitRequest generates a "aws/request.Request" representing the
6450// client's request for the UpdateBandwidthRateLimit operation. The "output" return
6451// value will be populated with the request's response once the request completes
6452// successfully.
6453//
6454// Use "Send" method on the returned Request to send the API call to the service.
6455// the "output" return value is not valid until after Send returns without error.
6456//
6457// See UpdateBandwidthRateLimit for more information on using the UpdateBandwidthRateLimit
6458// API call, and error handling.
6459//
6460// This method is useful when you want to inject custom logic or configuration
6461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6462//
6463//
6464//    // Example sending a request using the UpdateBandwidthRateLimitRequest method.
6465//    req, resp := client.UpdateBandwidthRateLimitRequest(params)
6466//
6467//    err := req.Send()
6468//    if err == nil { // resp is now filled
6469//        fmt.Println(resp)
6470//    }
6471//
6472// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateBandwidthRateLimit
6473func (c *StorageGateway) UpdateBandwidthRateLimitRequest(input *UpdateBandwidthRateLimitInput) (req *request.Request, output *UpdateBandwidthRateLimitOutput) {
6474	op := &request.Operation{
6475		Name:       opUpdateBandwidthRateLimit,
6476		HTTPMethod: "POST",
6477		HTTPPath:   "/",
6478	}
6479
6480	if input == nil {
6481		input = &UpdateBandwidthRateLimitInput{}
6482	}
6483
6484	output = &UpdateBandwidthRateLimitOutput{}
6485	req = c.newRequest(op, input, output)
6486	return
6487}
6488
6489// UpdateBandwidthRateLimit API operation for AWS Storage Gateway.
6490//
6491// Updates the bandwidth rate limits of a gateway. You can update both the upload
6492// and download bandwidth rate limit or specify only one of the two. If you
6493// don't set a bandwidth rate limit, the existing rate limit remains. This operation
6494// is supported for the stored volume, cached volume and tape gateway types.'
6495//
6496// By default, a gateway's bandwidth rate limits are not set. If you don't set
6497// any limit, the gateway does not have any limitations on its bandwidth usage
6498// and could potentially use the maximum available bandwidth.
6499//
6500// To specify which gateway to update, use the Amazon Resource Name (ARN) of
6501// the gateway in your request.
6502//
6503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6504// with awserr.Error's Code and Message methods to get detailed information about
6505// the error.
6506//
6507// See the AWS API reference guide for AWS Storage Gateway's
6508// API operation UpdateBandwidthRateLimit for usage and error information.
6509//
6510// Returned Error Types:
6511//   * InvalidGatewayRequestException
6512//   An exception occurred because an invalid gateway request was issued to the
6513//   service. For more information, see the error and message fields.
6514//
6515//   * InternalServerError
6516//   An internal server error has occurred during the request. For more information,
6517//   see the error and message fields.
6518//
6519// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateBandwidthRateLimit
6520func (c *StorageGateway) UpdateBandwidthRateLimit(input *UpdateBandwidthRateLimitInput) (*UpdateBandwidthRateLimitOutput, error) {
6521	req, out := c.UpdateBandwidthRateLimitRequest(input)
6522	return out, req.Send()
6523}
6524
6525// UpdateBandwidthRateLimitWithContext is the same as UpdateBandwidthRateLimit with the addition of
6526// the ability to pass a context and additional request options.
6527//
6528// See UpdateBandwidthRateLimit for details on how to use this API operation.
6529//
6530// The context must be non-nil and will be used for request cancellation. If
6531// the context is nil a panic will occur. In the future the SDK may create
6532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6533// for more information on using Contexts.
6534func (c *StorageGateway) UpdateBandwidthRateLimitWithContext(ctx aws.Context, input *UpdateBandwidthRateLimitInput, opts ...request.Option) (*UpdateBandwidthRateLimitOutput, error) {
6535	req, out := c.UpdateBandwidthRateLimitRequest(input)
6536	req.SetContext(ctx)
6537	req.ApplyOptions(opts...)
6538	return out, req.Send()
6539}
6540
6541const opUpdateChapCredentials = "UpdateChapCredentials"
6542
6543// UpdateChapCredentialsRequest generates a "aws/request.Request" representing the
6544// client's request for the UpdateChapCredentials operation. The "output" return
6545// value will be populated with the request's response once the request completes
6546// successfully.
6547//
6548// Use "Send" method on the returned Request to send the API call to the service.
6549// the "output" return value is not valid until after Send returns without error.
6550//
6551// See UpdateChapCredentials for more information on using the UpdateChapCredentials
6552// API call, and error handling.
6553//
6554// This method is useful when you want to inject custom logic or configuration
6555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6556//
6557//
6558//    // Example sending a request using the UpdateChapCredentialsRequest method.
6559//    req, resp := client.UpdateChapCredentialsRequest(params)
6560//
6561//    err := req.Send()
6562//    if err == nil { // resp is now filled
6563//        fmt.Println(resp)
6564//    }
6565//
6566// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateChapCredentials
6567func (c *StorageGateway) UpdateChapCredentialsRequest(input *UpdateChapCredentialsInput) (req *request.Request, output *UpdateChapCredentialsOutput) {
6568	op := &request.Operation{
6569		Name:       opUpdateChapCredentials,
6570		HTTPMethod: "POST",
6571		HTTPPath:   "/",
6572	}
6573
6574	if input == nil {
6575		input = &UpdateChapCredentialsInput{}
6576	}
6577
6578	output = &UpdateChapCredentialsOutput{}
6579	req = c.newRequest(op, input, output)
6580	return
6581}
6582
6583// UpdateChapCredentials API operation for AWS Storage Gateway.
6584//
6585// Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials
6586// for a specified iSCSI target. By default, a gateway does not have CHAP enabled;
6587// however, for added security, you might use it. This operation is supported
6588// in the volume and tape gateway types.
6589//
6590// When you update CHAP credentials, all existing connections on the target
6591// are closed and initiators must reconnect with the new credentials.
6592//
6593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6594// with awserr.Error's Code and Message methods to get detailed information about
6595// the error.
6596//
6597// See the AWS API reference guide for AWS Storage Gateway's
6598// API operation UpdateChapCredentials for usage and error information.
6599//
6600// Returned Error Types:
6601//   * InvalidGatewayRequestException
6602//   An exception occurred because an invalid gateway request was issued to the
6603//   service. For more information, see the error and message fields.
6604//
6605//   * InternalServerError
6606//   An internal server error has occurred during the request. For more information,
6607//   see the error and message fields.
6608//
6609// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateChapCredentials
6610func (c *StorageGateway) UpdateChapCredentials(input *UpdateChapCredentialsInput) (*UpdateChapCredentialsOutput, error) {
6611	req, out := c.UpdateChapCredentialsRequest(input)
6612	return out, req.Send()
6613}
6614
6615// UpdateChapCredentialsWithContext is the same as UpdateChapCredentials with the addition of
6616// the ability to pass a context and additional request options.
6617//
6618// See UpdateChapCredentials for details on how to use this API operation.
6619//
6620// The context must be non-nil and will be used for request cancellation. If
6621// the context is nil a panic will occur. In the future the SDK may create
6622// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6623// for more information on using Contexts.
6624func (c *StorageGateway) UpdateChapCredentialsWithContext(ctx aws.Context, input *UpdateChapCredentialsInput, opts ...request.Option) (*UpdateChapCredentialsOutput, error) {
6625	req, out := c.UpdateChapCredentialsRequest(input)
6626	req.SetContext(ctx)
6627	req.ApplyOptions(opts...)
6628	return out, req.Send()
6629}
6630
6631const opUpdateGatewayInformation = "UpdateGatewayInformation"
6632
6633// UpdateGatewayInformationRequest generates a "aws/request.Request" representing the
6634// client's request for the UpdateGatewayInformation operation. The "output" return
6635// value will be populated with the request's response once the request completes
6636// successfully.
6637//
6638// Use "Send" method on the returned Request to send the API call to the service.
6639// the "output" return value is not valid until after Send returns without error.
6640//
6641// See UpdateGatewayInformation for more information on using the UpdateGatewayInformation
6642// API call, and error handling.
6643//
6644// This method is useful when you want to inject custom logic or configuration
6645// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6646//
6647//
6648//    // Example sending a request using the UpdateGatewayInformationRequest method.
6649//    req, resp := client.UpdateGatewayInformationRequest(params)
6650//
6651//    err := req.Send()
6652//    if err == nil { // resp is now filled
6653//        fmt.Println(resp)
6654//    }
6655//
6656// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateGatewayInformation
6657func (c *StorageGateway) UpdateGatewayInformationRequest(input *UpdateGatewayInformationInput) (req *request.Request, output *UpdateGatewayInformationOutput) {
6658	op := &request.Operation{
6659		Name:       opUpdateGatewayInformation,
6660		HTTPMethod: "POST",
6661		HTTPPath:   "/",
6662	}
6663
6664	if input == nil {
6665		input = &UpdateGatewayInformationInput{}
6666	}
6667
6668	output = &UpdateGatewayInformationOutput{}
6669	req = c.newRequest(op, input, output)
6670	return
6671}
6672
6673// UpdateGatewayInformation API operation for AWS Storage Gateway.
6674//
6675// Updates a gateway's metadata, which includes the gateway's name and time
6676// zone. To specify which gateway to update, use the Amazon Resource Name (ARN)
6677// of the gateway in your request.
6678//
6679// For Gateways activated after September 2, 2015, the gateway's ARN contains
6680// the gateway ID rather than the gateway name. However, changing the name of
6681// the gateway has no effect on the gateway's ARN.
6682//
6683// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6684// with awserr.Error's Code and Message methods to get detailed information about
6685// the error.
6686//
6687// See the AWS API reference guide for AWS Storage Gateway's
6688// API operation UpdateGatewayInformation for usage and error information.
6689//
6690// Returned Error Types:
6691//   * InvalidGatewayRequestException
6692//   An exception occurred because an invalid gateway request was issued to the
6693//   service. For more information, see the error and message fields.
6694//
6695//   * InternalServerError
6696//   An internal server error has occurred during the request. For more information,
6697//   see the error and message fields.
6698//
6699// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateGatewayInformation
6700func (c *StorageGateway) UpdateGatewayInformation(input *UpdateGatewayInformationInput) (*UpdateGatewayInformationOutput, error) {
6701	req, out := c.UpdateGatewayInformationRequest(input)
6702	return out, req.Send()
6703}
6704
6705// UpdateGatewayInformationWithContext is the same as UpdateGatewayInformation with the addition of
6706// the ability to pass a context and additional request options.
6707//
6708// See UpdateGatewayInformation for details on how to use this API operation.
6709//
6710// The context must be non-nil and will be used for request cancellation. If
6711// the context is nil a panic will occur. In the future the SDK may create
6712// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6713// for more information on using Contexts.
6714func (c *StorageGateway) UpdateGatewayInformationWithContext(ctx aws.Context, input *UpdateGatewayInformationInput, opts ...request.Option) (*UpdateGatewayInformationOutput, error) {
6715	req, out := c.UpdateGatewayInformationRequest(input)
6716	req.SetContext(ctx)
6717	req.ApplyOptions(opts...)
6718	return out, req.Send()
6719}
6720
6721const opUpdateGatewaySoftwareNow = "UpdateGatewaySoftwareNow"
6722
6723// UpdateGatewaySoftwareNowRequest generates a "aws/request.Request" representing the
6724// client's request for the UpdateGatewaySoftwareNow operation. The "output" return
6725// value will be populated with the request's response once the request completes
6726// successfully.
6727//
6728// Use "Send" method on the returned Request to send the API call to the service.
6729// the "output" return value is not valid until after Send returns without error.
6730//
6731// See UpdateGatewaySoftwareNow for more information on using the UpdateGatewaySoftwareNow
6732// API call, and error handling.
6733//
6734// This method is useful when you want to inject custom logic or configuration
6735// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6736//
6737//
6738//    // Example sending a request using the UpdateGatewaySoftwareNowRequest method.
6739//    req, resp := client.UpdateGatewaySoftwareNowRequest(params)
6740//
6741//    err := req.Send()
6742//    if err == nil { // resp is now filled
6743//        fmt.Println(resp)
6744//    }
6745//
6746// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateGatewaySoftwareNow
6747func (c *StorageGateway) UpdateGatewaySoftwareNowRequest(input *UpdateGatewaySoftwareNowInput) (req *request.Request, output *UpdateGatewaySoftwareNowOutput) {
6748	op := &request.Operation{
6749		Name:       opUpdateGatewaySoftwareNow,
6750		HTTPMethod: "POST",
6751		HTTPPath:   "/",
6752	}
6753
6754	if input == nil {
6755		input = &UpdateGatewaySoftwareNowInput{}
6756	}
6757
6758	output = &UpdateGatewaySoftwareNowOutput{}
6759	req = c.newRequest(op, input, output)
6760	return
6761}
6762
6763// UpdateGatewaySoftwareNow API operation for AWS Storage Gateway.
6764//
6765// Updates the gateway virtual machine (VM) software. The request immediately
6766// triggers the software update.
6767//
6768// When you make this request, you get a 200 OK success response immediately.
6769// However, it might take some time for the update to complete. You can call
6770// DescribeGatewayInformation to verify the gateway is in the STATE_RUNNING
6771// state.
6772//
6773// A software update forces a system restart of your gateway. You can minimize
6774// the chance of any disruption to your applications by increasing your iSCSI
6775// Initiators' timeouts. For more information about increasing iSCSI Initiator
6776// timeouts for Windows and Linux, see Customizing Your Windows iSCSI Settings
6777// (https://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorWindowsClient.html#CustomizeWindowsiSCSISettings)
6778// and Customizing Your Linux iSCSI Settings (https://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorRedHatClient.html#CustomizeLinuxiSCSISettings),
6779// respectively.
6780//
6781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6782// with awserr.Error's Code and Message methods to get detailed information about
6783// the error.
6784//
6785// See the AWS API reference guide for AWS Storage Gateway's
6786// API operation UpdateGatewaySoftwareNow for usage and error information.
6787//
6788// Returned Error Types:
6789//   * InvalidGatewayRequestException
6790//   An exception occurred because an invalid gateway request was issued to the
6791//   service. For more information, see the error and message fields.
6792//
6793//   * InternalServerError
6794//   An internal server error has occurred during the request. For more information,
6795//   see the error and message fields.
6796//
6797// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateGatewaySoftwareNow
6798func (c *StorageGateway) UpdateGatewaySoftwareNow(input *UpdateGatewaySoftwareNowInput) (*UpdateGatewaySoftwareNowOutput, error) {
6799	req, out := c.UpdateGatewaySoftwareNowRequest(input)
6800	return out, req.Send()
6801}
6802
6803// UpdateGatewaySoftwareNowWithContext is the same as UpdateGatewaySoftwareNow with the addition of
6804// the ability to pass a context and additional request options.
6805//
6806// See UpdateGatewaySoftwareNow for details on how to use this API operation.
6807//
6808// The context must be non-nil and will be used for request cancellation. If
6809// the context is nil a panic will occur. In the future the SDK may create
6810// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6811// for more information on using Contexts.
6812func (c *StorageGateway) UpdateGatewaySoftwareNowWithContext(ctx aws.Context, input *UpdateGatewaySoftwareNowInput, opts ...request.Option) (*UpdateGatewaySoftwareNowOutput, error) {
6813	req, out := c.UpdateGatewaySoftwareNowRequest(input)
6814	req.SetContext(ctx)
6815	req.ApplyOptions(opts...)
6816	return out, req.Send()
6817}
6818
6819const opUpdateMaintenanceStartTime = "UpdateMaintenanceStartTime"
6820
6821// UpdateMaintenanceStartTimeRequest generates a "aws/request.Request" representing the
6822// client's request for the UpdateMaintenanceStartTime operation. The "output" return
6823// value will be populated with the request's response once the request completes
6824// successfully.
6825//
6826// Use "Send" method on the returned Request to send the API call to the service.
6827// the "output" return value is not valid until after Send returns without error.
6828//
6829// See UpdateMaintenanceStartTime for more information on using the UpdateMaintenanceStartTime
6830// API call, and error handling.
6831//
6832// This method is useful when you want to inject custom logic or configuration
6833// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6834//
6835//
6836//    // Example sending a request using the UpdateMaintenanceStartTimeRequest method.
6837//    req, resp := client.UpdateMaintenanceStartTimeRequest(params)
6838//
6839//    err := req.Send()
6840//    if err == nil { // resp is now filled
6841//        fmt.Println(resp)
6842//    }
6843//
6844// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateMaintenanceStartTime
6845func (c *StorageGateway) UpdateMaintenanceStartTimeRequest(input *UpdateMaintenanceStartTimeInput) (req *request.Request, output *UpdateMaintenanceStartTimeOutput) {
6846	op := &request.Operation{
6847		Name:       opUpdateMaintenanceStartTime,
6848		HTTPMethod: "POST",
6849		HTTPPath:   "/",
6850	}
6851
6852	if input == nil {
6853		input = &UpdateMaintenanceStartTimeInput{}
6854	}
6855
6856	output = &UpdateMaintenanceStartTimeOutput{}
6857	req = c.newRequest(op, input, output)
6858	return
6859}
6860
6861// UpdateMaintenanceStartTime API operation for AWS Storage Gateway.
6862//
6863// Updates a gateway's weekly maintenance start time information, including
6864// day and time of the week. The maintenance time is the time in your gateway's
6865// time zone.
6866//
6867// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6868// with awserr.Error's Code and Message methods to get detailed information about
6869// the error.
6870//
6871// See the AWS API reference guide for AWS Storage Gateway's
6872// API operation UpdateMaintenanceStartTime for usage and error information.
6873//
6874// Returned Error Types:
6875//   * InvalidGatewayRequestException
6876//   An exception occurred because an invalid gateway request was issued to the
6877//   service. For more information, see the error and message fields.
6878//
6879//   * InternalServerError
6880//   An internal server error has occurred during the request. For more information,
6881//   see the error and message fields.
6882//
6883// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateMaintenanceStartTime
6884func (c *StorageGateway) UpdateMaintenanceStartTime(input *UpdateMaintenanceStartTimeInput) (*UpdateMaintenanceStartTimeOutput, error) {
6885	req, out := c.UpdateMaintenanceStartTimeRequest(input)
6886	return out, req.Send()
6887}
6888
6889// UpdateMaintenanceStartTimeWithContext is the same as UpdateMaintenanceStartTime with the addition of
6890// the ability to pass a context and additional request options.
6891//
6892// See UpdateMaintenanceStartTime for details on how to use this API operation.
6893//
6894// The context must be non-nil and will be used for request cancellation. If
6895// the context is nil a panic will occur. In the future the SDK may create
6896// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6897// for more information on using Contexts.
6898func (c *StorageGateway) UpdateMaintenanceStartTimeWithContext(ctx aws.Context, input *UpdateMaintenanceStartTimeInput, opts ...request.Option) (*UpdateMaintenanceStartTimeOutput, error) {
6899	req, out := c.UpdateMaintenanceStartTimeRequest(input)
6900	req.SetContext(ctx)
6901	req.ApplyOptions(opts...)
6902	return out, req.Send()
6903}
6904
6905const opUpdateNFSFileShare = "UpdateNFSFileShare"
6906
6907// UpdateNFSFileShareRequest generates a "aws/request.Request" representing the
6908// client's request for the UpdateNFSFileShare operation. The "output" return
6909// value will be populated with the request's response once the request completes
6910// successfully.
6911//
6912// Use "Send" method on the returned Request to send the API call to the service.
6913// the "output" return value is not valid until after Send returns without error.
6914//
6915// See UpdateNFSFileShare for more information on using the UpdateNFSFileShare
6916// API call, and error handling.
6917//
6918// This method is useful when you want to inject custom logic or configuration
6919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6920//
6921//
6922//    // Example sending a request using the UpdateNFSFileShareRequest method.
6923//    req, resp := client.UpdateNFSFileShareRequest(params)
6924//
6925//    err := req.Send()
6926//    if err == nil { // resp is now filled
6927//        fmt.Println(resp)
6928//    }
6929//
6930// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateNFSFileShare
6931func (c *StorageGateway) UpdateNFSFileShareRequest(input *UpdateNFSFileShareInput) (req *request.Request, output *UpdateNFSFileShareOutput) {
6932	op := &request.Operation{
6933		Name:       opUpdateNFSFileShare,
6934		HTTPMethod: "POST",
6935		HTTPPath:   "/",
6936	}
6937
6938	if input == nil {
6939		input = &UpdateNFSFileShareInput{}
6940	}
6941
6942	output = &UpdateNFSFileShareOutput{}
6943	req = c.newRequest(op, input, output)
6944	return
6945}
6946
6947// UpdateNFSFileShare API operation for AWS Storage Gateway.
6948//
6949// Updates a Network File System (NFS) file share. This operation is only supported
6950// in the file gateway type.
6951//
6952// To leave a file share field unchanged, set the corresponding input field
6953// to null.
6954//
6955// Updates the following file share setting:
6956//
6957//    * Default storage class for your S3 bucket
6958//
6959//    * Metadata defaults for your S3 bucket
6960//
6961//    * Allowed NFS clients for your file share
6962//
6963//    * Squash settings
6964//
6965//    * Write status of your file share
6966//
6967// To leave a file share field unchanged, set the corresponding input field
6968// to null. This operation is only supported in file gateways.
6969//
6970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6971// with awserr.Error's Code and Message methods to get detailed information about
6972// the error.
6973//
6974// See the AWS API reference guide for AWS Storage Gateway's
6975// API operation UpdateNFSFileShare for usage and error information.
6976//
6977// Returned Error Types:
6978//   * InvalidGatewayRequestException
6979//   An exception occurred because an invalid gateway request was issued to the
6980//   service. For more information, see the error and message fields.
6981//
6982//   * InternalServerError
6983//   An internal server error has occurred during the request. For more information,
6984//   see the error and message fields.
6985//
6986// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateNFSFileShare
6987func (c *StorageGateway) UpdateNFSFileShare(input *UpdateNFSFileShareInput) (*UpdateNFSFileShareOutput, error) {
6988	req, out := c.UpdateNFSFileShareRequest(input)
6989	return out, req.Send()
6990}
6991
6992// UpdateNFSFileShareWithContext is the same as UpdateNFSFileShare with the addition of
6993// the ability to pass a context and additional request options.
6994//
6995// See UpdateNFSFileShare for details on how to use this API operation.
6996//
6997// The context must be non-nil and will be used for request cancellation. If
6998// the context is nil a panic will occur. In the future the SDK may create
6999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7000// for more information on using Contexts.
7001func (c *StorageGateway) UpdateNFSFileShareWithContext(ctx aws.Context, input *UpdateNFSFileShareInput, opts ...request.Option) (*UpdateNFSFileShareOutput, error) {
7002	req, out := c.UpdateNFSFileShareRequest(input)
7003	req.SetContext(ctx)
7004	req.ApplyOptions(opts...)
7005	return out, req.Send()
7006}
7007
7008const opUpdateSMBFileShare = "UpdateSMBFileShare"
7009
7010// UpdateSMBFileShareRequest generates a "aws/request.Request" representing the
7011// client's request for the UpdateSMBFileShare operation. The "output" return
7012// value will be populated with the request's response once the request completes
7013// successfully.
7014//
7015// Use "Send" method on the returned Request to send the API call to the service.
7016// the "output" return value is not valid until after Send returns without error.
7017//
7018// See UpdateSMBFileShare for more information on using the UpdateSMBFileShare
7019// API call, and error handling.
7020//
7021// This method is useful when you want to inject custom logic or configuration
7022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7023//
7024//
7025//    // Example sending a request using the UpdateSMBFileShareRequest method.
7026//    req, resp := client.UpdateSMBFileShareRequest(params)
7027//
7028//    err := req.Send()
7029//    if err == nil { // resp is now filled
7030//        fmt.Println(resp)
7031//    }
7032//
7033// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateSMBFileShare
7034func (c *StorageGateway) UpdateSMBFileShareRequest(input *UpdateSMBFileShareInput) (req *request.Request, output *UpdateSMBFileShareOutput) {
7035	op := &request.Operation{
7036		Name:       opUpdateSMBFileShare,
7037		HTTPMethod: "POST",
7038		HTTPPath:   "/",
7039	}
7040
7041	if input == nil {
7042		input = &UpdateSMBFileShareInput{}
7043	}
7044
7045	output = &UpdateSMBFileShareOutput{}
7046	req = c.newRequest(op, input, output)
7047	return
7048}
7049
7050// UpdateSMBFileShare API operation for AWS Storage Gateway.
7051//
7052// Updates a Server Message Block (SMB) file share.
7053//
7054// To leave a file share field unchanged, set the corresponding input field
7055// to null. This operation is only supported for file gateways.
7056//
7057// File gateways require AWS Security Token Service (AWS STS) to be activated
7058// to enable you to create a file share. Make sure that AWS STS is activated
7059// in the AWS Region you are creating your file gateway in. If AWS STS is not
7060// activated in this AWS Region, activate it. For information about how to activate
7061// AWS STS, see Activating and Deactivating AWS STS in an AWS Region (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
7062// in the AWS Identity and Access Management User Guide.
7063//
7064// File gateways don't support creating hard or symbolic links on a file share.
7065//
7066// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7067// with awserr.Error's Code and Message methods to get detailed information about
7068// the error.
7069//
7070// See the AWS API reference guide for AWS Storage Gateway's
7071// API operation UpdateSMBFileShare for usage and error information.
7072//
7073// Returned Error Types:
7074//   * InvalidGatewayRequestException
7075//   An exception occurred because an invalid gateway request was issued to the
7076//   service. For more information, see the error and message fields.
7077//
7078//   * InternalServerError
7079//   An internal server error has occurred during the request. For more information,
7080//   see the error and message fields.
7081//
7082// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateSMBFileShare
7083func (c *StorageGateway) UpdateSMBFileShare(input *UpdateSMBFileShareInput) (*UpdateSMBFileShareOutput, error) {
7084	req, out := c.UpdateSMBFileShareRequest(input)
7085	return out, req.Send()
7086}
7087
7088// UpdateSMBFileShareWithContext is the same as UpdateSMBFileShare with the addition of
7089// the ability to pass a context and additional request options.
7090//
7091// See UpdateSMBFileShare for details on how to use this API operation.
7092//
7093// The context must be non-nil and will be used for request cancellation. If
7094// the context is nil a panic will occur. In the future the SDK may create
7095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7096// for more information on using Contexts.
7097func (c *StorageGateway) UpdateSMBFileShareWithContext(ctx aws.Context, input *UpdateSMBFileShareInput, opts ...request.Option) (*UpdateSMBFileShareOutput, error) {
7098	req, out := c.UpdateSMBFileShareRequest(input)
7099	req.SetContext(ctx)
7100	req.ApplyOptions(opts...)
7101	return out, req.Send()
7102}
7103
7104const opUpdateSMBSecurityStrategy = "UpdateSMBSecurityStrategy"
7105
7106// UpdateSMBSecurityStrategyRequest generates a "aws/request.Request" representing the
7107// client's request for the UpdateSMBSecurityStrategy operation. The "output" return
7108// value will be populated with the request's response once the request completes
7109// successfully.
7110//
7111// Use "Send" method on the returned Request to send the API call to the service.
7112// the "output" return value is not valid until after Send returns without error.
7113//
7114// See UpdateSMBSecurityStrategy for more information on using the UpdateSMBSecurityStrategy
7115// API call, and error handling.
7116//
7117// This method is useful when you want to inject custom logic or configuration
7118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7119//
7120//
7121//    // Example sending a request using the UpdateSMBSecurityStrategyRequest method.
7122//    req, resp := client.UpdateSMBSecurityStrategyRequest(params)
7123//
7124//    err := req.Send()
7125//    if err == nil { // resp is now filled
7126//        fmt.Println(resp)
7127//    }
7128//
7129// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateSMBSecurityStrategy
7130func (c *StorageGateway) UpdateSMBSecurityStrategyRequest(input *UpdateSMBSecurityStrategyInput) (req *request.Request, output *UpdateSMBSecurityStrategyOutput) {
7131	op := &request.Operation{
7132		Name:       opUpdateSMBSecurityStrategy,
7133		HTTPMethod: "POST",
7134		HTTPPath:   "/",
7135	}
7136
7137	if input == nil {
7138		input = &UpdateSMBSecurityStrategyInput{}
7139	}
7140
7141	output = &UpdateSMBSecurityStrategyOutput{}
7142	req = c.newRequest(op, input, output)
7143	return
7144}
7145
7146// UpdateSMBSecurityStrategy API operation for AWS Storage Gateway.
7147//
7148// Updates the SMB security strategy on a file gateway. This action is only
7149// supported in file gateways.
7150//
7151// This API is called Security level in the User Guide.
7152//
7153// A higher security level can affect performance of the gateway.
7154//
7155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7156// with awserr.Error's Code and Message methods to get detailed information about
7157// the error.
7158//
7159// See the AWS API reference guide for AWS Storage Gateway's
7160// API operation UpdateSMBSecurityStrategy for usage and error information.
7161//
7162// Returned Error Types:
7163//   * InvalidGatewayRequestException
7164//   An exception occurred because an invalid gateway request was issued to the
7165//   service. For more information, see the error and message fields.
7166//
7167//   * InternalServerError
7168//   An internal server error has occurred during the request. For more information,
7169//   see the error and message fields.
7170//
7171// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateSMBSecurityStrategy
7172func (c *StorageGateway) UpdateSMBSecurityStrategy(input *UpdateSMBSecurityStrategyInput) (*UpdateSMBSecurityStrategyOutput, error) {
7173	req, out := c.UpdateSMBSecurityStrategyRequest(input)
7174	return out, req.Send()
7175}
7176
7177// UpdateSMBSecurityStrategyWithContext is the same as UpdateSMBSecurityStrategy with the addition of
7178// the ability to pass a context and additional request options.
7179//
7180// See UpdateSMBSecurityStrategy for details on how to use this API operation.
7181//
7182// The context must be non-nil and will be used for request cancellation. If
7183// the context is nil a panic will occur. In the future the SDK may create
7184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7185// for more information on using Contexts.
7186func (c *StorageGateway) UpdateSMBSecurityStrategyWithContext(ctx aws.Context, input *UpdateSMBSecurityStrategyInput, opts ...request.Option) (*UpdateSMBSecurityStrategyOutput, error) {
7187	req, out := c.UpdateSMBSecurityStrategyRequest(input)
7188	req.SetContext(ctx)
7189	req.ApplyOptions(opts...)
7190	return out, req.Send()
7191}
7192
7193const opUpdateSnapshotSchedule = "UpdateSnapshotSchedule"
7194
7195// UpdateSnapshotScheduleRequest generates a "aws/request.Request" representing the
7196// client's request for the UpdateSnapshotSchedule operation. The "output" return
7197// value will be populated with the request's response once the request completes
7198// successfully.
7199//
7200// Use "Send" method on the returned Request to send the API call to the service.
7201// the "output" return value is not valid until after Send returns without error.
7202//
7203// See UpdateSnapshotSchedule for more information on using the UpdateSnapshotSchedule
7204// API call, and error handling.
7205//
7206// This method is useful when you want to inject custom logic or configuration
7207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7208//
7209//
7210//    // Example sending a request using the UpdateSnapshotScheduleRequest method.
7211//    req, resp := client.UpdateSnapshotScheduleRequest(params)
7212//
7213//    err := req.Send()
7214//    if err == nil { // resp is now filled
7215//        fmt.Println(resp)
7216//    }
7217//
7218// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateSnapshotSchedule
7219func (c *StorageGateway) UpdateSnapshotScheduleRequest(input *UpdateSnapshotScheduleInput) (req *request.Request, output *UpdateSnapshotScheduleOutput) {
7220	op := &request.Operation{
7221		Name:       opUpdateSnapshotSchedule,
7222		HTTPMethod: "POST",
7223		HTTPPath:   "/",
7224	}
7225
7226	if input == nil {
7227		input = &UpdateSnapshotScheduleInput{}
7228	}
7229
7230	output = &UpdateSnapshotScheduleOutput{}
7231	req = c.newRequest(op, input, output)
7232	return
7233}
7234
7235// UpdateSnapshotSchedule API operation for AWS Storage Gateway.
7236//
7237// Updates a snapshot schedule configured for a gateway volume. This operation
7238// is only supported in the cached volume and stored volume gateway types.
7239//
7240// The default snapshot schedule for volume is once every 24 hours, starting
7241// at the creation time of the volume. You can use this API to change the snapshot
7242// schedule configured for the volume.
7243//
7244// In the request you must identify the gateway volume whose snapshot schedule
7245// you want to update, and the schedule information, including when you want
7246// the snapshot to begin on a day and the frequency (in hours) of snapshots.
7247//
7248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7249// with awserr.Error's Code and Message methods to get detailed information about
7250// the error.
7251//
7252// See the AWS API reference guide for AWS Storage Gateway's
7253// API operation UpdateSnapshotSchedule for usage and error information.
7254//
7255// Returned Error Types:
7256//   * InvalidGatewayRequestException
7257//   An exception occurred because an invalid gateway request was issued to the
7258//   service. For more information, see the error and message fields.
7259//
7260//   * InternalServerError
7261//   An internal server error has occurred during the request. For more information,
7262//   see the error and message fields.
7263//
7264// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateSnapshotSchedule
7265func (c *StorageGateway) UpdateSnapshotSchedule(input *UpdateSnapshotScheduleInput) (*UpdateSnapshotScheduleOutput, error) {
7266	req, out := c.UpdateSnapshotScheduleRequest(input)
7267	return out, req.Send()
7268}
7269
7270// UpdateSnapshotScheduleWithContext is the same as UpdateSnapshotSchedule with the addition of
7271// the ability to pass a context and additional request options.
7272//
7273// See UpdateSnapshotSchedule for details on how to use this API operation.
7274//
7275// The context must be non-nil and will be used for request cancellation. If
7276// the context is nil a panic will occur. In the future the SDK may create
7277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7278// for more information on using Contexts.
7279func (c *StorageGateway) UpdateSnapshotScheduleWithContext(ctx aws.Context, input *UpdateSnapshotScheduleInput, opts ...request.Option) (*UpdateSnapshotScheduleOutput, error) {
7280	req, out := c.UpdateSnapshotScheduleRequest(input)
7281	req.SetContext(ctx)
7282	req.ApplyOptions(opts...)
7283	return out, req.Send()
7284}
7285
7286const opUpdateVTLDeviceType = "UpdateVTLDeviceType"
7287
7288// UpdateVTLDeviceTypeRequest generates a "aws/request.Request" representing the
7289// client's request for the UpdateVTLDeviceType operation. The "output" return
7290// value will be populated with the request's response once the request completes
7291// successfully.
7292//
7293// Use "Send" method on the returned Request to send the API call to the service.
7294// the "output" return value is not valid until after Send returns without error.
7295//
7296// See UpdateVTLDeviceType for more information on using the UpdateVTLDeviceType
7297// API call, and error handling.
7298//
7299// This method is useful when you want to inject custom logic or configuration
7300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7301//
7302//
7303//    // Example sending a request using the UpdateVTLDeviceTypeRequest method.
7304//    req, resp := client.UpdateVTLDeviceTypeRequest(params)
7305//
7306//    err := req.Send()
7307//    if err == nil { // resp is now filled
7308//        fmt.Println(resp)
7309//    }
7310//
7311// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateVTLDeviceType
7312func (c *StorageGateway) UpdateVTLDeviceTypeRequest(input *UpdateVTLDeviceTypeInput) (req *request.Request, output *UpdateVTLDeviceTypeOutput) {
7313	op := &request.Operation{
7314		Name:       opUpdateVTLDeviceType,
7315		HTTPMethod: "POST",
7316		HTTPPath:   "/",
7317	}
7318
7319	if input == nil {
7320		input = &UpdateVTLDeviceTypeInput{}
7321	}
7322
7323	output = &UpdateVTLDeviceTypeOutput{}
7324	req = c.newRequest(op, input, output)
7325	return
7326}
7327
7328// UpdateVTLDeviceType API operation for AWS Storage Gateway.
7329//
7330// Updates the type of medium changer in a tape gateway. When you activate a
7331// tape gateway, you select a medium changer type for the tape gateway. This
7332// operation enables you to select a different type of medium changer after
7333// a tape gateway is activated. This operation is only supported in the tape
7334// gateway type.
7335//
7336// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7337// with awserr.Error's Code and Message methods to get detailed information about
7338// the error.
7339//
7340// See the AWS API reference guide for AWS Storage Gateway's
7341// API operation UpdateVTLDeviceType for usage and error information.
7342//
7343// Returned Error Types:
7344//   * InvalidGatewayRequestException
7345//   An exception occurred because an invalid gateway request was issued to the
7346//   service. For more information, see the error and message fields.
7347//
7348//   * InternalServerError
7349//   An internal server error has occurred during the request. For more information,
7350//   see the error and message fields.
7351//
7352// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateVTLDeviceType
7353func (c *StorageGateway) UpdateVTLDeviceType(input *UpdateVTLDeviceTypeInput) (*UpdateVTLDeviceTypeOutput, error) {
7354	req, out := c.UpdateVTLDeviceTypeRequest(input)
7355	return out, req.Send()
7356}
7357
7358// UpdateVTLDeviceTypeWithContext is the same as UpdateVTLDeviceType with the addition of
7359// the ability to pass a context and additional request options.
7360//
7361// See UpdateVTLDeviceType for details on how to use this API operation.
7362//
7363// The context must be non-nil and will be used for request cancellation. If
7364// the context is nil a panic will occur. In the future the SDK may create
7365// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7366// for more information on using Contexts.
7367func (c *StorageGateway) UpdateVTLDeviceTypeWithContext(ctx aws.Context, input *UpdateVTLDeviceTypeInput, opts ...request.Option) (*UpdateVTLDeviceTypeOutput, error) {
7368	req, out := c.UpdateVTLDeviceTypeRequest(input)
7369	req.SetContext(ctx)
7370	req.ApplyOptions(opts...)
7371	return out, req.Send()
7372}
7373
7374// A JSON object containing one or more of the following fields:
7375//
7376//    * ActivateGatewayInput$ActivationKey
7377//
7378//    * ActivateGatewayInput$GatewayName
7379//
7380//    * ActivateGatewayInput$GatewayRegion
7381//
7382//    * ActivateGatewayInput$GatewayTimezone
7383//
7384//    * ActivateGatewayInput$GatewayType
7385//
7386//    * ActivateGatewayInput$TapeDriveType
7387//
7388//    * ActivateGatewayInput$MediumChangerType
7389type ActivateGatewayInput struct {
7390	_ struct{} `type:"structure"`
7391
7392	// Your gateway activation key. You can obtain the activation key by sending
7393	// an HTTP GET request with redirects enabled to the gateway IP address (port
7394	// 80). The redirect URL returned in the response provides you the activation
7395	// key for your gateway in the query string parameter activationKey. It may
7396	// also include other activation-related parameters, however, these are merely
7397	// defaults -- the arguments you pass to the ActivateGateway API call determine
7398	// the actual configuration of your gateway.
7399	//
7400	// For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html
7401	// in the Storage Gateway User Guide.
7402	//
7403	// ActivationKey is a required field
7404	ActivationKey *string `min:"1" type:"string" required:"true"`
7405
7406	// The name you configured for your gateway.
7407	//
7408	// GatewayName is a required field
7409	GatewayName *string `min:"2" type:"string" required:"true"`
7410
7411	// A value that indicates the AWS Region where you want to store your data.
7412	// The gateway AWS Region specified must be the same AWS Region as the AWS Region
7413	// in your Host header in the request. For more information about available
7414	// AWS Regions and endpoints for AWS Storage Gateway, see Regions and Endpoints
7415	// (https://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region) in the
7416	// Amazon Web Services Glossary.
7417	//
7418	// Valid Values: See AWS Storage Gateway Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region)
7419	// in the AWS General Reference.
7420	//
7421	// GatewayRegion is a required field
7422	GatewayRegion *string `min:"1" type:"string" required:"true"`
7423
7424	// A value that indicates the time zone you want to set for the gateway. The
7425	// time zone is of the format "GMT-hr:mm" or "GMT+hr:mm". For example, GMT-4:00
7426	// indicates the time is 4 hours behind GMT. GMT+2:00 indicates the time is
7427	// 2 hours ahead of GMT. The time zone is used, for example, for scheduling
7428	// snapshots and your gateway's maintenance schedule.
7429	//
7430	// GatewayTimezone is a required field
7431	GatewayTimezone *string `min:"3" type:"string" required:"true"`
7432
7433	// A value that defines the type of gateway to activate. The type specified
7434	// is critical to all later functions of the gateway and cannot be changed after
7435	// activation. The default value is CACHED.
7436	//
7437	// Valid Values: "STORED", "CACHED", "VTL", "FILE_S3"
7438	GatewayType *string `min:"2" type:"string"`
7439
7440	// The value that indicates the type of medium changer to use for tape gateway.
7441	// This field is optional.
7442	//
7443	// Valid Values: "STK-L700", "AWS-Gateway-VTL"
7444	MediumChangerType *string `min:"2" type:"string"`
7445
7446	// A list of up to 50 tags that you can assign to the gateway. Each tag is a
7447	// key-value pair.
7448	//
7449	// Valid characters for key and value are letters, spaces, and numbers that
7450	// can be represented in UTF-8 format, and the following special characters:
7451	// + - = . _ : / @. The maximum length of a tag's key is 128 characters, and
7452	// the maximum length for a tag's value is 256 characters.
7453	Tags []*Tag `type:"list"`
7454
7455	// The value that indicates the type of tape drive to use for tape gateway.
7456	// This field is optional.
7457	//
7458	// Valid Values: "IBM-ULT3580-TD5"
7459	TapeDriveType *string `min:"2" type:"string"`
7460}
7461
7462// String returns the string representation
7463func (s ActivateGatewayInput) String() string {
7464	return awsutil.Prettify(s)
7465}
7466
7467// GoString returns the string representation
7468func (s ActivateGatewayInput) GoString() string {
7469	return s.String()
7470}
7471
7472// Validate inspects the fields of the type to determine if they are valid.
7473func (s *ActivateGatewayInput) Validate() error {
7474	invalidParams := request.ErrInvalidParams{Context: "ActivateGatewayInput"}
7475	if s.ActivationKey == nil {
7476		invalidParams.Add(request.NewErrParamRequired("ActivationKey"))
7477	}
7478	if s.ActivationKey != nil && len(*s.ActivationKey) < 1 {
7479		invalidParams.Add(request.NewErrParamMinLen("ActivationKey", 1))
7480	}
7481	if s.GatewayName == nil {
7482		invalidParams.Add(request.NewErrParamRequired("GatewayName"))
7483	}
7484	if s.GatewayName != nil && len(*s.GatewayName) < 2 {
7485		invalidParams.Add(request.NewErrParamMinLen("GatewayName", 2))
7486	}
7487	if s.GatewayRegion == nil {
7488		invalidParams.Add(request.NewErrParamRequired("GatewayRegion"))
7489	}
7490	if s.GatewayRegion != nil && len(*s.GatewayRegion) < 1 {
7491		invalidParams.Add(request.NewErrParamMinLen("GatewayRegion", 1))
7492	}
7493	if s.GatewayTimezone == nil {
7494		invalidParams.Add(request.NewErrParamRequired("GatewayTimezone"))
7495	}
7496	if s.GatewayTimezone != nil && len(*s.GatewayTimezone) < 3 {
7497		invalidParams.Add(request.NewErrParamMinLen("GatewayTimezone", 3))
7498	}
7499	if s.GatewayType != nil && len(*s.GatewayType) < 2 {
7500		invalidParams.Add(request.NewErrParamMinLen("GatewayType", 2))
7501	}
7502	if s.MediumChangerType != nil && len(*s.MediumChangerType) < 2 {
7503		invalidParams.Add(request.NewErrParamMinLen("MediumChangerType", 2))
7504	}
7505	if s.TapeDriveType != nil && len(*s.TapeDriveType) < 2 {
7506		invalidParams.Add(request.NewErrParamMinLen("TapeDriveType", 2))
7507	}
7508	if s.Tags != nil {
7509		for i, v := range s.Tags {
7510			if v == nil {
7511				continue
7512			}
7513			if err := v.Validate(); err != nil {
7514				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7515			}
7516		}
7517	}
7518
7519	if invalidParams.Len() > 0 {
7520		return invalidParams
7521	}
7522	return nil
7523}
7524
7525// SetActivationKey sets the ActivationKey field's value.
7526func (s *ActivateGatewayInput) SetActivationKey(v string) *ActivateGatewayInput {
7527	s.ActivationKey = &v
7528	return s
7529}
7530
7531// SetGatewayName sets the GatewayName field's value.
7532func (s *ActivateGatewayInput) SetGatewayName(v string) *ActivateGatewayInput {
7533	s.GatewayName = &v
7534	return s
7535}
7536
7537// SetGatewayRegion sets the GatewayRegion field's value.
7538func (s *ActivateGatewayInput) SetGatewayRegion(v string) *ActivateGatewayInput {
7539	s.GatewayRegion = &v
7540	return s
7541}
7542
7543// SetGatewayTimezone sets the GatewayTimezone field's value.
7544func (s *ActivateGatewayInput) SetGatewayTimezone(v string) *ActivateGatewayInput {
7545	s.GatewayTimezone = &v
7546	return s
7547}
7548
7549// SetGatewayType sets the GatewayType field's value.
7550func (s *ActivateGatewayInput) SetGatewayType(v string) *ActivateGatewayInput {
7551	s.GatewayType = &v
7552	return s
7553}
7554
7555// SetMediumChangerType sets the MediumChangerType field's value.
7556func (s *ActivateGatewayInput) SetMediumChangerType(v string) *ActivateGatewayInput {
7557	s.MediumChangerType = &v
7558	return s
7559}
7560
7561// SetTags sets the Tags field's value.
7562func (s *ActivateGatewayInput) SetTags(v []*Tag) *ActivateGatewayInput {
7563	s.Tags = v
7564	return s
7565}
7566
7567// SetTapeDriveType sets the TapeDriveType field's value.
7568func (s *ActivateGatewayInput) SetTapeDriveType(v string) *ActivateGatewayInput {
7569	s.TapeDriveType = &v
7570	return s
7571}
7572
7573// AWS Storage Gateway returns the Amazon Resource Name (ARN) of the activated
7574// gateway. It is a string made of information such as your account, gateway
7575// name, and AWS Region. This ARN is used to reference the gateway in other
7576// API operations as well as resource-based authorization.
7577//
7578// For gateways activated prior to September 02, 2015, the gateway ARN contains
7579// the gateway name rather than the gateway ID. Changing the name of the gateway
7580// has no effect on the gateway ARN.
7581type ActivateGatewayOutput struct {
7582	_ struct{} `type:"structure"`
7583
7584	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
7585	// to return a list of gateways for your account and AWS Region.
7586	GatewayARN *string `min:"50" type:"string"`
7587}
7588
7589// String returns the string representation
7590func (s ActivateGatewayOutput) String() string {
7591	return awsutil.Prettify(s)
7592}
7593
7594// GoString returns the string representation
7595func (s ActivateGatewayOutput) GoString() string {
7596	return s.String()
7597}
7598
7599// SetGatewayARN sets the GatewayARN field's value.
7600func (s *ActivateGatewayOutput) SetGatewayARN(v string) *ActivateGatewayOutput {
7601	s.GatewayARN = &v
7602	return s
7603}
7604
7605type AddCacheInput struct {
7606	_ struct{} `type:"structure"`
7607
7608	// An array of strings that identify disks that are to be configured as working
7609	// storage. Each string have a minimum length of 1 and maximum length of 300.
7610	// You can get the disk IDs from the ListLocalDisks API.
7611	//
7612	// DiskIds is a required field
7613	DiskIds []*string `type:"list" required:"true"`
7614
7615	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
7616	// to return a list of gateways for your account and AWS Region.
7617	//
7618	// GatewayARN is a required field
7619	GatewayARN *string `min:"50" type:"string" required:"true"`
7620}
7621
7622// String returns the string representation
7623func (s AddCacheInput) String() string {
7624	return awsutil.Prettify(s)
7625}
7626
7627// GoString returns the string representation
7628func (s AddCacheInput) GoString() string {
7629	return s.String()
7630}
7631
7632// Validate inspects the fields of the type to determine if they are valid.
7633func (s *AddCacheInput) Validate() error {
7634	invalidParams := request.ErrInvalidParams{Context: "AddCacheInput"}
7635	if s.DiskIds == nil {
7636		invalidParams.Add(request.NewErrParamRequired("DiskIds"))
7637	}
7638	if s.GatewayARN == nil {
7639		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
7640	}
7641	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
7642		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
7643	}
7644
7645	if invalidParams.Len() > 0 {
7646		return invalidParams
7647	}
7648	return nil
7649}
7650
7651// SetDiskIds sets the DiskIds field's value.
7652func (s *AddCacheInput) SetDiskIds(v []*string) *AddCacheInput {
7653	s.DiskIds = v
7654	return s
7655}
7656
7657// SetGatewayARN sets the GatewayARN field's value.
7658func (s *AddCacheInput) SetGatewayARN(v string) *AddCacheInput {
7659	s.GatewayARN = &v
7660	return s
7661}
7662
7663type AddCacheOutput struct {
7664	_ struct{} `type:"structure"`
7665
7666	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
7667	// to return a list of gateways for your account and AWS Region.
7668	GatewayARN *string `min:"50" type:"string"`
7669}
7670
7671// String returns the string representation
7672func (s AddCacheOutput) String() string {
7673	return awsutil.Prettify(s)
7674}
7675
7676// GoString returns the string representation
7677func (s AddCacheOutput) GoString() string {
7678	return s.String()
7679}
7680
7681// SetGatewayARN sets the GatewayARN field's value.
7682func (s *AddCacheOutput) SetGatewayARN(v string) *AddCacheOutput {
7683	s.GatewayARN = &v
7684	return s
7685}
7686
7687// AddTagsToResourceInput
7688type AddTagsToResourceInput struct {
7689	_ struct{} `type:"structure"`
7690
7691	// The Amazon Resource Name (ARN) of the resource you want to add tags to.
7692	//
7693	// ResourceARN is a required field
7694	ResourceARN *string `min:"50" type:"string" required:"true"`
7695
7696	// The key-value pair that represents the tag you want to add to the resource.
7697	// The value can be an empty string.
7698	//
7699	// Valid characters for key and value are letters, spaces, and numbers representable
7700	// in UTF-8 format, and the following special characters: + - = . _ : / @. The
7701	// maximum length of a tag's key is 128 characters, and the maximum length for
7702	// a tag's value is 256.
7703	//
7704	// Tags is a required field
7705	Tags []*Tag `type:"list" required:"true"`
7706}
7707
7708// String returns the string representation
7709func (s AddTagsToResourceInput) String() string {
7710	return awsutil.Prettify(s)
7711}
7712
7713// GoString returns the string representation
7714func (s AddTagsToResourceInput) GoString() string {
7715	return s.String()
7716}
7717
7718// Validate inspects the fields of the type to determine if they are valid.
7719func (s *AddTagsToResourceInput) Validate() error {
7720	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
7721	if s.ResourceARN == nil {
7722		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
7723	}
7724	if s.ResourceARN != nil && len(*s.ResourceARN) < 50 {
7725		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 50))
7726	}
7727	if s.Tags == nil {
7728		invalidParams.Add(request.NewErrParamRequired("Tags"))
7729	}
7730	if s.Tags != nil {
7731		for i, v := range s.Tags {
7732			if v == nil {
7733				continue
7734			}
7735			if err := v.Validate(); err != nil {
7736				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
7737			}
7738		}
7739	}
7740
7741	if invalidParams.Len() > 0 {
7742		return invalidParams
7743	}
7744	return nil
7745}
7746
7747// SetResourceARN sets the ResourceARN field's value.
7748func (s *AddTagsToResourceInput) SetResourceARN(v string) *AddTagsToResourceInput {
7749	s.ResourceARN = &v
7750	return s
7751}
7752
7753// SetTags sets the Tags field's value.
7754func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
7755	s.Tags = v
7756	return s
7757}
7758
7759// AddTagsToResourceOutput
7760type AddTagsToResourceOutput struct {
7761	_ struct{} `type:"structure"`
7762
7763	// The Amazon Resource Name (ARN) of the resource you want to add tags to.
7764	ResourceARN *string `min:"50" type:"string"`
7765}
7766
7767// String returns the string representation
7768func (s AddTagsToResourceOutput) String() string {
7769	return awsutil.Prettify(s)
7770}
7771
7772// GoString returns the string representation
7773func (s AddTagsToResourceOutput) GoString() string {
7774	return s.String()
7775}
7776
7777// SetResourceARN sets the ResourceARN field's value.
7778func (s *AddTagsToResourceOutput) SetResourceARN(v string) *AddTagsToResourceOutput {
7779	s.ResourceARN = &v
7780	return s
7781}
7782
7783type AddUploadBufferInput struct {
7784	_ struct{} `type:"structure"`
7785
7786	// An array of strings that identify disks that are to be configured as working
7787	// storage. Each string have a minimum length of 1 and maximum length of 300.
7788	// You can get the disk IDs from the ListLocalDisks API.
7789	//
7790	// DiskIds is a required field
7791	DiskIds []*string `type:"list" required:"true"`
7792
7793	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
7794	// to return a list of gateways for your account and AWS Region.
7795	//
7796	// GatewayARN is a required field
7797	GatewayARN *string `min:"50" type:"string" required:"true"`
7798}
7799
7800// String returns the string representation
7801func (s AddUploadBufferInput) String() string {
7802	return awsutil.Prettify(s)
7803}
7804
7805// GoString returns the string representation
7806func (s AddUploadBufferInput) GoString() string {
7807	return s.String()
7808}
7809
7810// Validate inspects the fields of the type to determine if they are valid.
7811func (s *AddUploadBufferInput) Validate() error {
7812	invalidParams := request.ErrInvalidParams{Context: "AddUploadBufferInput"}
7813	if s.DiskIds == nil {
7814		invalidParams.Add(request.NewErrParamRequired("DiskIds"))
7815	}
7816	if s.GatewayARN == nil {
7817		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
7818	}
7819	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
7820		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
7821	}
7822
7823	if invalidParams.Len() > 0 {
7824		return invalidParams
7825	}
7826	return nil
7827}
7828
7829// SetDiskIds sets the DiskIds field's value.
7830func (s *AddUploadBufferInput) SetDiskIds(v []*string) *AddUploadBufferInput {
7831	s.DiskIds = v
7832	return s
7833}
7834
7835// SetGatewayARN sets the GatewayARN field's value.
7836func (s *AddUploadBufferInput) SetGatewayARN(v string) *AddUploadBufferInput {
7837	s.GatewayARN = &v
7838	return s
7839}
7840
7841type AddUploadBufferOutput struct {
7842	_ struct{} `type:"structure"`
7843
7844	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
7845	// to return a list of gateways for your account and AWS Region.
7846	GatewayARN *string `min:"50" type:"string"`
7847}
7848
7849// String returns the string representation
7850func (s AddUploadBufferOutput) String() string {
7851	return awsutil.Prettify(s)
7852}
7853
7854// GoString returns the string representation
7855func (s AddUploadBufferOutput) GoString() string {
7856	return s.String()
7857}
7858
7859// SetGatewayARN sets the GatewayARN field's value.
7860func (s *AddUploadBufferOutput) SetGatewayARN(v string) *AddUploadBufferOutput {
7861	s.GatewayARN = &v
7862	return s
7863}
7864
7865// A JSON object containing one or more of the following fields:
7866//
7867//    * AddWorkingStorageInput$DiskIds
7868type AddWorkingStorageInput struct {
7869	_ struct{} `type:"structure"`
7870
7871	// An array of strings that identify disks that are to be configured as working
7872	// storage. Each string have a minimum length of 1 and maximum length of 300.
7873	// You can get the disk IDs from the ListLocalDisks API.
7874	//
7875	// DiskIds is a required field
7876	DiskIds []*string `type:"list" required:"true"`
7877
7878	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
7879	// to return a list of gateways for your account and AWS Region.
7880	//
7881	// GatewayARN is a required field
7882	GatewayARN *string `min:"50" type:"string" required:"true"`
7883}
7884
7885// String returns the string representation
7886func (s AddWorkingStorageInput) String() string {
7887	return awsutil.Prettify(s)
7888}
7889
7890// GoString returns the string representation
7891func (s AddWorkingStorageInput) GoString() string {
7892	return s.String()
7893}
7894
7895// Validate inspects the fields of the type to determine if they are valid.
7896func (s *AddWorkingStorageInput) Validate() error {
7897	invalidParams := request.ErrInvalidParams{Context: "AddWorkingStorageInput"}
7898	if s.DiskIds == nil {
7899		invalidParams.Add(request.NewErrParamRequired("DiskIds"))
7900	}
7901	if s.GatewayARN == nil {
7902		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
7903	}
7904	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
7905		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
7906	}
7907
7908	if invalidParams.Len() > 0 {
7909		return invalidParams
7910	}
7911	return nil
7912}
7913
7914// SetDiskIds sets the DiskIds field's value.
7915func (s *AddWorkingStorageInput) SetDiskIds(v []*string) *AddWorkingStorageInput {
7916	s.DiskIds = v
7917	return s
7918}
7919
7920// SetGatewayARN sets the GatewayARN field's value.
7921func (s *AddWorkingStorageInput) SetGatewayARN(v string) *AddWorkingStorageInput {
7922	s.GatewayARN = &v
7923	return s
7924}
7925
7926// A JSON object containing the of the gateway for which working storage was
7927// configured.
7928type AddWorkingStorageOutput struct {
7929	_ struct{} `type:"structure"`
7930
7931	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
7932	// to return a list of gateways for your account and AWS Region.
7933	GatewayARN *string `min:"50" type:"string"`
7934}
7935
7936// String returns the string representation
7937func (s AddWorkingStorageOutput) String() string {
7938	return awsutil.Prettify(s)
7939}
7940
7941// GoString returns the string representation
7942func (s AddWorkingStorageOutput) GoString() string {
7943	return s.String()
7944}
7945
7946// SetGatewayARN sets the GatewayARN field's value.
7947func (s *AddWorkingStorageOutput) SetGatewayARN(v string) *AddWorkingStorageOutput {
7948	s.GatewayARN = &v
7949	return s
7950}
7951
7952type AssignTapePoolInput struct {
7953	_ struct{} `type:"structure"`
7954
7955	// The ID of the pool that you want to add your tape to for archiving. The tape
7956	// in this pool is archived in the S3 storage class that is associated with
7957	// the pool. When you use your backup application to eject the tape, the tape
7958	// is archived directly into the storage class (Glacier or Deep Archive) that
7959	// corresponds to the pool.
7960	//
7961	// Valid values: "GLACIER", "DEEP_ARCHIVE"
7962	//
7963	// PoolId is a required field
7964	PoolId *string `min:"1" type:"string" required:"true"`
7965
7966	// The unique Amazon Resource Name (ARN) of the virtual tape that you want to
7967	// add to the tape pool.
7968	//
7969	// TapeARN is a required field
7970	TapeARN *string `min:"50" type:"string" required:"true"`
7971}
7972
7973// String returns the string representation
7974func (s AssignTapePoolInput) String() string {
7975	return awsutil.Prettify(s)
7976}
7977
7978// GoString returns the string representation
7979func (s AssignTapePoolInput) GoString() string {
7980	return s.String()
7981}
7982
7983// Validate inspects the fields of the type to determine if they are valid.
7984func (s *AssignTapePoolInput) Validate() error {
7985	invalidParams := request.ErrInvalidParams{Context: "AssignTapePoolInput"}
7986	if s.PoolId == nil {
7987		invalidParams.Add(request.NewErrParamRequired("PoolId"))
7988	}
7989	if s.PoolId != nil && len(*s.PoolId) < 1 {
7990		invalidParams.Add(request.NewErrParamMinLen("PoolId", 1))
7991	}
7992	if s.TapeARN == nil {
7993		invalidParams.Add(request.NewErrParamRequired("TapeARN"))
7994	}
7995	if s.TapeARN != nil && len(*s.TapeARN) < 50 {
7996		invalidParams.Add(request.NewErrParamMinLen("TapeARN", 50))
7997	}
7998
7999	if invalidParams.Len() > 0 {
8000		return invalidParams
8001	}
8002	return nil
8003}
8004
8005// SetPoolId sets the PoolId field's value.
8006func (s *AssignTapePoolInput) SetPoolId(v string) *AssignTapePoolInput {
8007	s.PoolId = &v
8008	return s
8009}
8010
8011// SetTapeARN sets the TapeARN field's value.
8012func (s *AssignTapePoolInput) SetTapeARN(v string) *AssignTapePoolInput {
8013	s.TapeARN = &v
8014	return s
8015}
8016
8017type AssignTapePoolOutput struct {
8018	_ struct{} `type:"structure"`
8019
8020	// The unique Amazon Resource Names (ARN) of the virtual tape that was added
8021	// to the tape pool.
8022	TapeARN *string `min:"50" type:"string"`
8023}
8024
8025// String returns the string representation
8026func (s AssignTapePoolOutput) String() string {
8027	return awsutil.Prettify(s)
8028}
8029
8030// GoString returns the string representation
8031func (s AssignTapePoolOutput) GoString() string {
8032	return s.String()
8033}
8034
8035// SetTapeARN sets the TapeARN field's value.
8036func (s *AssignTapePoolOutput) SetTapeARN(v string) *AssignTapePoolOutput {
8037	s.TapeARN = &v
8038	return s
8039}
8040
8041// AttachVolumeInput
8042type AttachVolumeInput struct {
8043	_ struct{} `type:"structure"`
8044
8045	// The unique device ID or other distinguishing data that identifies the local
8046	// disk used to create the volume. This value is only required when you are
8047	// attaching a stored volume.
8048	DiskId *string `min:"1" type:"string"`
8049
8050	// The Amazon Resource Name (ARN) of the gateway that you want to attach the
8051	// volume to.
8052	//
8053	// GatewayARN is a required field
8054	GatewayARN *string `min:"50" type:"string" required:"true"`
8055
8056	// The network interface of the gateway on which to expose the iSCSI target.
8057	// Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a
8058	// list of the network interfaces available on a gateway.
8059	//
8060	// Valid Values: A valid IP address.
8061	//
8062	// NetworkInterfaceId is a required field
8063	NetworkInterfaceId *string `type:"string" required:"true"`
8064
8065	// The name of the iSCSI target used by an initiator to connect to a volume
8066	// and used as a suffix for the target ARN. For example, specifying TargetName
8067	// as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume.
8068	// The target name must be unique across all volumes on a gateway.
8069	//
8070	// If you don't specify a value, Storage Gateway uses the value that was previously
8071	// used for this volume as the new target name.
8072	TargetName *string `min:"1" type:"string"`
8073
8074	// The Amazon Resource Name (ARN) of the volume to attach to the specified gateway.
8075	//
8076	// VolumeARN is a required field
8077	VolumeARN *string `min:"50" type:"string" required:"true"`
8078}
8079
8080// String returns the string representation
8081func (s AttachVolumeInput) String() string {
8082	return awsutil.Prettify(s)
8083}
8084
8085// GoString returns the string representation
8086func (s AttachVolumeInput) GoString() string {
8087	return s.String()
8088}
8089
8090// Validate inspects the fields of the type to determine if they are valid.
8091func (s *AttachVolumeInput) Validate() error {
8092	invalidParams := request.ErrInvalidParams{Context: "AttachVolumeInput"}
8093	if s.DiskId != nil && len(*s.DiskId) < 1 {
8094		invalidParams.Add(request.NewErrParamMinLen("DiskId", 1))
8095	}
8096	if s.GatewayARN == nil {
8097		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
8098	}
8099	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
8100		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
8101	}
8102	if s.NetworkInterfaceId == nil {
8103		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
8104	}
8105	if s.TargetName != nil && len(*s.TargetName) < 1 {
8106		invalidParams.Add(request.NewErrParamMinLen("TargetName", 1))
8107	}
8108	if s.VolumeARN == nil {
8109		invalidParams.Add(request.NewErrParamRequired("VolumeARN"))
8110	}
8111	if s.VolumeARN != nil && len(*s.VolumeARN) < 50 {
8112		invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50))
8113	}
8114
8115	if invalidParams.Len() > 0 {
8116		return invalidParams
8117	}
8118	return nil
8119}
8120
8121// SetDiskId sets the DiskId field's value.
8122func (s *AttachVolumeInput) SetDiskId(v string) *AttachVolumeInput {
8123	s.DiskId = &v
8124	return s
8125}
8126
8127// SetGatewayARN sets the GatewayARN field's value.
8128func (s *AttachVolumeInput) SetGatewayARN(v string) *AttachVolumeInput {
8129	s.GatewayARN = &v
8130	return s
8131}
8132
8133// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
8134func (s *AttachVolumeInput) SetNetworkInterfaceId(v string) *AttachVolumeInput {
8135	s.NetworkInterfaceId = &v
8136	return s
8137}
8138
8139// SetTargetName sets the TargetName field's value.
8140func (s *AttachVolumeInput) SetTargetName(v string) *AttachVolumeInput {
8141	s.TargetName = &v
8142	return s
8143}
8144
8145// SetVolumeARN sets the VolumeARN field's value.
8146func (s *AttachVolumeInput) SetVolumeARN(v string) *AttachVolumeInput {
8147	s.VolumeARN = &v
8148	return s
8149}
8150
8151// AttachVolumeOutput
8152type AttachVolumeOutput struct {
8153	_ struct{} `type:"structure"`
8154
8155	// The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI
8156	// name for the initiator that was used to connect to the target.
8157	TargetARN *string `min:"50" type:"string"`
8158
8159	// The Amazon Resource Name (ARN) of the volume that was attached to the gateway.
8160	VolumeARN *string `min:"50" type:"string"`
8161}
8162
8163// String returns the string representation
8164func (s AttachVolumeOutput) String() string {
8165	return awsutil.Prettify(s)
8166}
8167
8168// GoString returns the string representation
8169func (s AttachVolumeOutput) GoString() string {
8170	return s.String()
8171}
8172
8173// SetTargetARN sets the TargetARN field's value.
8174func (s *AttachVolumeOutput) SetTargetARN(v string) *AttachVolumeOutput {
8175	s.TargetARN = &v
8176	return s
8177}
8178
8179// SetVolumeARN sets the VolumeARN field's value.
8180func (s *AttachVolumeOutput) SetVolumeARN(v string) *AttachVolumeOutput {
8181	s.VolumeARN = &v
8182	return s
8183}
8184
8185// Describes an iSCSI cached volume.
8186type CachediSCSIVolume struct {
8187	_ struct{} `type:"structure"`
8188
8189	// The date the volume was created. Volumes created prior to March 28, 2017
8190	// don’t have this time stamp.
8191	CreatedDate *time.Time `type:"timestamp"`
8192
8193	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
8194	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
8195	KMSKey *string `min:"7" type:"string"`
8196
8197	// If the cached volume was created from a snapshot, this field contains the
8198	// snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included.
8199	SourceSnapshotId *string `type:"string"`
8200
8201	// The name of the iSCSI target used by an initiator to connect to a volume
8202	// and used as a suffix for the target ARN. For example, specifying TargetName
8203	// as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume.
8204	// The target name must be unique across all volumes on a gateway.
8205	//
8206	// If you don't specify a value, Storage Gateway uses the value that was previously
8207	// used for this volume as the new target name.
8208	TargetName *string `min:"1" type:"string"`
8209
8210	// The Amazon Resource Name (ARN) of the storage volume.
8211	VolumeARN *string `min:"50" type:"string"`
8212
8213	// A value that indicates whether a storage volume is attached to or detached
8214	// from a gateway. For more information, see Moving Your Volumes to a Different
8215	// Gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume).
8216	VolumeAttachmentStatus *string `min:"3" type:"string"`
8217
8218	// The unique identifier of the volume, e.g. vol-AE4B946D.
8219	VolumeId *string `min:"12" type:"string"`
8220
8221	// Represents the percentage complete if the volume is restoring or bootstrapping
8222	// that represents the percent of data transferred. This field does not appear
8223	// in the response if the cached volume is not restoring or bootstrapping.
8224	VolumeProgress *float64 `type:"double"`
8225
8226	// The size, in bytes, of the volume capacity.
8227	VolumeSizeInBytes *int64 `type:"long"`
8228
8229	// One of the VolumeStatus values that indicates the state of the storage volume.
8230	VolumeStatus *string `min:"3" type:"string"`
8231
8232	// One of the VolumeType enumeration values that describes the type of the volume.
8233	VolumeType *string `min:"3" type:"string"`
8234
8235	// The size of the data stored on the volume in bytes. This value is calculated
8236	// based on the number of blocks that are touched, instead of the actual amount
8237	// of data written. This value can be useful for sequential write patterns but
8238	// less accurate for random write patterns. VolumeUsedInBytes is different from
8239	// the compressed size of the volume, which is the value that is used to calculate
8240	// your bill.
8241	//
8242	// This value is not available for volumes created prior to May 13, 2015, until
8243	// you store data on the volume.
8244	VolumeUsedInBytes *int64 `type:"long"`
8245
8246	// An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes
8247	// for one stored volume.
8248	VolumeiSCSIAttributes *VolumeiSCSIAttributes `type:"structure"`
8249}
8250
8251// String returns the string representation
8252func (s CachediSCSIVolume) String() string {
8253	return awsutil.Prettify(s)
8254}
8255
8256// GoString returns the string representation
8257func (s CachediSCSIVolume) GoString() string {
8258	return s.String()
8259}
8260
8261// SetCreatedDate sets the CreatedDate field's value.
8262func (s *CachediSCSIVolume) SetCreatedDate(v time.Time) *CachediSCSIVolume {
8263	s.CreatedDate = &v
8264	return s
8265}
8266
8267// SetKMSKey sets the KMSKey field's value.
8268func (s *CachediSCSIVolume) SetKMSKey(v string) *CachediSCSIVolume {
8269	s.KMSKey = &v
8270	return s
8271}
8272
8273// SetSourceSnapshotId sets the SourceSnapshotId field's value.
8274func (s *CachediSCSIVolume) SetSourceSnapshotId(v string) *CachediSCSIVolume {
8275	s.SourceSnapshotId = &v
8276	return s
8277}
8278
8279// SetTargetName sets the TargetName field's value.
8280func (s *CachediSCSIVolume) SetTargetName(v string) *CachediSCSIVolume {
8281	s.TargetName = &v
8282	return s
8283}
8284
8285// SetVolumeARN sets the VolumeARN field's value.
8286func (s *CachediSCSIVolume) SetVolumeARN(v string) *CachediSCSIVolume {
8287	s.VolumeARN = &v
8288	return s
8289}
8290
8291// SetVolumeAttachmentStatus sets the VolumeAttachmentStatus field's value.
8292func (s *CachediSCSIVolume) SetVolumeAttachmentStatus(v string) *CachediSCSIVolume {
8293	s.VolumeAttachmentStatus = &v
8294	return s
8295}
8296
8297// SetVolumeId sets the VolumeId field's value.
8298func (s *CachediSCSIVolume) SetVolumeId(v string) *CachediSCSIVolume {
8299	s.VolumeId = &v
8300	return s
8301}
8302
8303// SetVolumeProgress sets the VolumeProgress field's value.
8304func (s *CachediSCSIVolume) SetVolumeProgress(v float64) *CachediSCSIVolume {
8305	s.VolumeProgress = &v
8306	return s
8307}
8308
8309// SetVolumeSizeInBytes sets the VolumeSizeInBytes field's value.
8310func (s *CachediSCSIVolume) SetVolumeSizeInBytes(v int64) *CachediSCSIVolume {
8311	s.VolumeSizeInBytes = &v
8312	return s
8313}
8314
8315// SetVolumeStatus sets the VolumeStatus field's value.
8316func (s *CachediSCSIVolume) SetVolumeStatus(v string) *CachediSCSIVolume {
8317	s.VolumeStatus = &v
8318	return s
8319}
8320
8321// SetVolumeType sets the VolumeType field's value.
8322func (s *CachediSCSIVolume) SetVolumeType(v string) *CachediSCSIVolume {
8323	s.VolumeType = &v
8324	return s
8325}
8326
8327// SetVolumeUsedInBytes sets the VolumeUsedInBytes field's value.
8328func (s *CachediSCSIVolume) SetVolumeUsedInBytes(v int64) *CachediSCSIVolume {
8329	s.VolumeUsedInBytes = &v
8330	return s
8331}
8332
8333// SetVolumeiSCSIAttributes sets the VolumeiSCSIAttributes field's value.
8334func (s *CachediSCSIVolume) SetVolumeiSCSIAttributes(v *VolumeiSCSIAttributes) *CachediSCSIVolume {
8335	s.VolumeiSCSIAttributes = v
8336	return s
8337}
8338
8339// CancelArchivalInput
8340type CancelArchivalInput struct {
8341	_ struct{} `type:"structure"`
8342
8343	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
8344	// to return a list of gateways for your account and AWS Region.
8345	//
8346	// GatewayARN is a required field
8347	GatewayARN *string `min:"50" type:"string" required:"true"`
8348
8349	// The Amazon Resource Name (ARN) of the virtual tape you want to cancel archiving
8350	// for.
8351	//
8352	// TapeARN is a required field
8353	TapeARN *string `min:"50" type:"string" required:"true"`
8354}
8355
8356// String returns the string representation
8357func (s CancelArchivalInput) String() string {
8358	return awsutil.Prettify(s)
8359}
8360
8361// GoString returns the string representation
8362func (s CancelArchivalInput) GoString() string {
8363	return s.String()
8364}
8365
8366// Validate inspects the fields of the type to determine if they are valid.
8367func (s *CancelArchivalInput) Validate() error {
8368	invalidParams := request.ErrInvalidParams{Context: "CancelArchivalInput"}
8369	if s.GatewayARN == nil {
8370		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
8371	}
8372	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
8373		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
8374	}
8375	if s.TapeARN == nil {
8376		invalidParams.Add(request.NewErrParamRequired("TapeARN"))
8377	}
8378	if s.TapeARN != nil && len(*s.TapeARN) < 50 {
8379		invalidParams.Add(request.NewErrParamMinLen("TapeARN", 50))
8380	}
8381
8382	if invalidParams.Len() > 0 {
8383		return invalidParams
8384	}
8385	return nil
8386}
8387
8388// SetGatewayARN sets the GatewayARN field's value.
8389func (s *CancelArchivalInput) SetGatewayARN(v string) *CancelArchivalInput {
8390	s.GatewayARN = &v
8391	return s
8392}
8393
8394// SetTapeARN sets the TapeARN field's value.
8395func (s *CancelArchivalInput) SetTapeARN(v string) *CancelArchivalInput {
8396	s.TapeARN = &v
8397	return s
8398}
8399
8400// CancelArchivalOutput
8401type CancelArchivalOutput struct {
8402	_ struct{} `type:"structure"`
8403
8404	// The Amazon Resource Name (ARN) of the virtual tape for which archiving was
8405	// canceled.
8406	TapeARN *string `min:"50" type:"string"`
8407}
8408
8409// String returns the string representation
8410func (s CancelArchivalOutput) String() string {
8411	return awsutil.Prettify(s)
8412}
8413
8414// GoString returns the string representation
8415func (s CancelArchivalOutput) GoString() string {
8416	return s.String()
8417}
8418
8419// SetTapeARN sets the TapeARN field's value.
8420func (s *CancelArchivalOutput) SetTapeARN(v string) *CancelArchivalOutput {
8421	s.TapeARN = &v
8422	return s
8423}
8424
8425// CancelRetrievalInput
8426type CancelRetrievalInput struct {
8427	_ struct{} `type:"structure"`
8428
8429	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
8430	// to return a list of gateways for your account and AWS Region.
8431	//
8432	// GatewayARN is a required field
8433	GatewayARN *string `min:"50" type:"string" required:"true"`
8434
8435	// The Amazon Resource Name (ARN) of the virtual tape you want to cancel retrieval
8436	// for.
8437	//
8438	// TapeARN is a required field
8439	TapeARN *string `min:"50" type:"string" required:"true"`
8440}
8441
8442// String returns the string representation
8443func (s CancelRetrievalInput) String() string {
8444	return awsutil.Prettify(s)
8445}
8446
8447// GoString returns the string representation
8448func (s CancelRetrievalInput) GoString() string {
8449	return s.String()
8450}
8451
8452// Validate inspects the fields of the type to determine if they are valid.
8453func (s *CancelRetrievalInput) Validate() error {
8454	invalidParams := request.ErrInvalidParams{Context: "CancelRetrievalInput"}
8455	if s.GatewayARN == nil {
8456		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
8457	}
8458	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
8459		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
8460	}
8461	if s.TapeARN == nil {
8462		invalidParams.Add(request.NewErrParamRequired("TapeARN"))
8463	}
8464	if s.TapeARN != nil && len(*s.TapeARN) < 50 {
8465		invalidParams.Add(request.NewErrParamMinLen("TapeARN", 50))
8466	}
8467
8468	if invalidParams.Len() > 0 {
8469		return invalidParams
8470	}
8471	return nil
8472}
8473
8474// SetGatewayARN sets the GatewayARN field's value.
8475func (s *CancelRetrievalInput) SetGatewayARN(v string) *CancelRetrievalInput {
8476	s.GatewayARN = &v
8477	return s
8478}
8479
8480// SetTapeARN sets the TapeARN field's value.
8481func (s *CancelRetrievalInput) SetTapeARN(v string) *CancelRetrievalInput {
8482	s.TapeARN = &v
8483	return s
8484}
8485
8486// CancelRetrievalOutput
8487type CancelRetrievalOutput struct {
8488	_ struct{} `type:"structure"`
8489
8490	// The Amazon Resource Name (ARN) of the virtual tape for which retrieval was
8491	// canceled.
8492	TapeARN *string `min:"50" type:"string"`
8493}
8494
8495// String returns the string representation
8496func (s CancelRetrievalOutput) String() string {
8497	return awsutil.Prettify(s)
8498}
8499
8500// GoString returns the string representation
8501func (s CancelRetrievalOutput) GoString() string {
8502	return s.String()
8503}
8504
8505// SetTapeARN sets the TapeARN field's value.
8506func (s *CancelRetrievalOutput) SetTapeARN(v string) *CancelRetrievalOutput {
8507	s.TapeARN = &v
8508	return s
8509}
8510
8511// Describes Challenge-Handshake Authentication Protocol (CHAP) information
8512// that supports authentication between your gateway and iSCSI initiators.
8513type ChapInfo struct {
8514	_ struct{} `type:"structure"`
8515
8516	// The iSCSI initiator that connects to the target.
8517	InitiatorName *string `min:"1" type:"string"`
8518
8519	// The secret key that the initiator (for example, the Windows client) must
8520	// provide to participate in mutual CHAP with the target.
8521	SecretToAuthenticateInitiator *string `min:"1" type:"string" sensitive:"true"`
8522
8523	// The secret key that the target must provide to participate in mutual CHAP
8524	// with the initiator (e.g. Windows client).
8525	SecretToAuthenticateTarget *string `min:"1" type:"string" sensitive:"true"`
8526
8527	// The Amazon Resource Name (ARN) of the volume.
8528	//
8529	// Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens
8530	// (-).
8531	TargetARN *string `min:"50" type:"string"`
8532}
8533
8534// String returns the string representation
8535func (s ChapInfo) String() string {
8536	return awsutil.Prettify(s)
8537}
8538
8539// GoString returns the string representation
8540func (s ChapInfo) GoString() string {
8541	return s.String()
8542}
8543
8544// SetInitiatorName sets the InitiatorName field's value.
8545func (s *ChapInfo) SetInitiatorName(v string) *ChapInfo {
8546	s.InitiatorName = &v
8547	return s
8548}
8549
8550// SetSecretToAuthenticateInitiator sets the SecretToAuthenticateInitiator field's value.
8551func (s *ChapInfo) SetSecretToAuthenticateInitiator(v string) *ChapInfo {
8552	s.SecretToAuthenticateInitiator = &v
8553	return s
8554}
8555
8556// SetSecretToAuthenticateTarget sets the SecretToAuthenticateTarget field's value.
8557func (s *ChapInfo) SetSecretToAuthenticateTarget(v string) *ChapInfo {
8558	s.SecretToAuthenticateTarget = &v
8559	return s
8560}
8561
8562// SetTargetARN sets the TargetARN field's value.
8563func (s *ChapInfo) SetTargetARN(v string) *ChapInfo {
8564	s.TargetARN = &v
8565	return s
8566}
8567
8568type CreateCachediSCSIVolumeInput struct {
8569	_ struct{} `type:"structure"`
8570
8571	// A unique identifier that you use to retry a request. If you retry a request,
8572	// use the same ClientToken you specified in the initial request.
8573	//
8574	// ClientToken is a required field
8575	ClientToken *string `min:"5" type:"string" required:"true"`
8576
8577	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
8578	// to return a list of gateways for your account and AWS Region.
8579	//
8580	// GatewayARN is a required field
8581	GatewayARN *string `min:"50" type:"string" required:"true"`
8582
8583	// True to use Amazon S3 server side encryption with your own AWS KMS key, or
8584	// false to use a key managed by Amazon S3. Optional.
8585	KMSEncrypted *bool `type:"boolean"`
8586
8587	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
8588	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
8589	KMSKey *string `min:"7" type:"string"`
8590
8591	// The network interface of the gateway on which to expose the iSCSI target.
8592	// Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a
8593	// list of the network interfaces available on a gateway.
8594	//
8595	// Valid Values: A valid IP address.
8596	//
8597	// NetworkInterfaceId is a required field
8598	NetworkInterfaceId *string `type:"string" required:"true"`
8599
8600	// The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the
8601	// new cached volume. Specify this field if you want to create the iSCSI storage
8602	// volume from a snapshot otherwise do not include this field. To list snapshots
8603	// for your account use DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html)
8604	// in the Amazon Elastic Compute Cloud API Reference.
8605	SnapshotId *string `type:"string"`
8606
8607	// The ARN for an existing volume. Specifying this ARN makes the new volume
8608	// into an exact copy of the specified existing volume's latest recovery point.
8609	// The VolumeSizeInBytes value for this new volume must be equal to or larger
8610	// than the size of the existing volume, in bytes.
8611	SourceVolumeARN *string `min:"50" type:"string"`
8612
8613	// A list of up to 50 tags that you can assign to a cached volume. Each tag
8614	// is a key-value pair.
8615	//
8616	// Valid characters for key and value are letters, spaces, and numbers that
8617	// you can represent in UTF-8 format, and the following special characters:
8618	// + - = . _ : / @. The maximum length of a tag's key is 128 characters, and
8619	// the maximum length for a tag's value is 256 characters.
8620	Tags []*Tag `type:"list"`
8621
8622	// The name of the iSCSI target used by an initiator to connect to a volume
8623	// and used as a suffix for the target ARN. For example, specifying TargetName
8624	// as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume.
8625	// The target name must be unique across all volumes on a gateway.
8626	//
8627	// If you don't specify a value, Storage Gateway uses the value that was previously
8628	// used for this volume as the new target name.
8629	//
8630	// TargetName is a required field
8631	TargetName *string `min:"1" type:"string" required:"true"`
8632
8633	// The size of the volume in bytes.
8634	//
8635	// VolumeSizeInBytes is a required field
8636	VolumeSizeInBytes *int64 `type:"long" required:"true"`
8637}
8638
8639// String returns the string representation
8640func (s CreateCachediSCSIVolumeInput) String() string {
8641	return awsutil.Prettify(s)
8642}
8643
8644// GoString returns the string representation
8645func (s CreateCachediSCSIVolumeInput) GoString() string {
8646	return s.String()
8647}
8648
8649// Validate inspects the fields of the type to determine if they are valid.
8650func (s *CreateCachediSCSIVolumeInput) Validate() error {
8651	invalidParams := request.ErrInvalidParams{Context: "CreateCachediSCSIVolumeInput"}
8652	if s.ClientToken == nil {
8653		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
8654	}
8655	if s.ClientToken != nil && len(*s.ClientToken) < 5 {
8656		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 5))
8657	}
8658	if s.GatewayARN == nil {
8659		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
8660	}
8661	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
8662		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
8663	}
8664	if s.KMSKey != nil && len(*s.KMSKey) < 7 {
8665		invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7))
8666	}
8667	if s.NetworkInterfaceId == nil {
8668		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
8669	}
8670	if s.SourceVolumeARN != nil && len(*s.SourceVolumeARN) < 50 {
8671		invalidParams.Add(request.NewErrParamMinLen("SourceVolumeARN", 50))
8672	}
8673	if s.TargetName == nil {
8674		invalidParams.Add(request.NewErrParamRequired("TargetName"))
8675	}
8676	if s.TargetName != nil && len(*s.TargetName) < 1 {
8677		invalidParams.Add(request.NewErrParamMinLen("TargetName", 1))
8678	}
8679	if s.VolumeSizeInBytes == nil {
8680		invalidParams.Add(request.NewErrParamRequired("VolumeSizeInBytes"))
8681	}
8682	if s.Tags != nil {
8683		for i, v := range s.Tags {
8684			if v == nil {
8685				continue
8686			}
8687			if err := v.Validate(); err != nil {
8688				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
8689			}
8690		}
8691	}
8692
8693	if invalidParams.Len() > 0 {
8694		return invalidParams
8695	}
8696	return nil
8697}
8698
8699// SetClientToken sets the ClientToken field's value.
8700func (s *CreateCachediSCSIVolumeInput) SetClientToken(v string) *CreateCachediSCSIVolumeInput {
8701	s.ClientToken = &v
8702	return s
8703}
8704
8705// SetGatewayARN sets the GatewayARN field's value.
8706func (s *CreateCachediSCSIVolumeInput) SetGatewayARN(v string) *CreateCachediSCSIVolumeInput {
8707	s.GatewayARN = &v
8708	return s
8709}
8710
8711// SetKMSEncrypted sets the KMSEncrypted field's value.
8712func (s *CreateCachediSCSIVolumeInput) SetKMSEncrypted(v bool) *CreateCachediSCSIVolumeInput {
8713	s.KMSEncrypted = &v
8714	return s
8715}
8716
8717// SetKMSKey sets the KMSKey field's value.
8718func (s *CreateCachediSCSIVolumeInput) SetKMSKey(v string) *CreateCachediSCSIVolumeInput {
8719	s.KMSKey = &v
8720	return s
8721}
8722
8723// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
8724func (s *CreateCachediSCSIVolumeInput) SetNetworkInterfaceId(v string) *CreateCachediSCSIVolumeInput {
8725	s.NetworkInterfaceId = &v
8726	return s
8727}
8728
8729// SetSnapshotId sets the SnapshotId field's value.
8730func (s *CreateCachediSCSIVolumeInput) SetSnapshotId(v string) *CreateCachediSCSIVolumeInput {
8731	s.SnapshotId = &v
8732	return s
8733}
8734
8735// SetSourceVolumeARN sets the SourceVolumeARN field's value.
8736func (s *CreateCachediSCSIVolumeInput) SetSourceVolumeARN(v string) *CreateCachediSCSIVolumeInput {
8737	s.SourceVolumeARN = &v
8738	return s
8739}
8740
8741// SetTags sets the Tags field's value.
8742func (s *CreateCachediSCSIVolumeInput) SetTags(v []*Tag) *CreateCachediSCSIVolumeInput {
8743	s.Tags = v
8744	return s
8745}
8746
8747// SetTargetName sets the TargetName field's value.
8748func (s *CreateCachediSCSIVolumeInput) SetTargetName(v string) *CreateCachediSCSIVolumeInput {
8749	s.TargetName = &v
8750	return s
8751}
8752
8753// SetVolumeSizeInBytes sets the VolumeSizeInBytes field's value.
8754func (s *CreateCachediSCSIVolumeInput) SetVolumeSizeInBytes(v int64) *CreateCachediSCSIVolumeInput {
8755	s.VolumeSizeInBytes = &v
8756	return s
8757}
8758
8759type CreateCachediSCSIVolumeOutput struct {
8760	_ struct{} `type:"structure"`
8761
8762	// The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI
8763	// name that initiators can use to connect to the target.
8764	TargetARN *string `min:"50" type:"string"`
8765
8766	// The Amazon Resource Name (ARN) of the configured volume.
8767	VolumeARN *string `min:"50" type:"string"`
8768}
8769
8770// String returns the string representation
8771func (s CreateCachediSCSIVolumeOutput) String() string {
8772	return awsutil.Prettify(s)
8773}
8774
8775// GoString returns the string representation
8776func (s CreateCachediSCSIVolumeOutput) GoString() string {
8777	return s.String()
8778}
8779
8780// SetTargetARN sets the TargetARN field's value.
8781func (s *CreateCachediSCSIVolumeOutput) SetTargetARN(v string) *CreateCachediSCSIVolumeOutput {
8782	s.TargetARN = &v
8783	return s
8784}
8785
8786// SetVolumeARN sets the VolumeARN field's value.
8787func (s *CreateCachediSCSIVolumeOutput) SetVolumeARN(v string) *CreateCachediSCSIVolumeOutput {
8788	s.VolumeARN = &v
8789	return s
8790}
8791
8792// CreateNFSFileShareInput
8793type CreateNFSFileShareInput struct {
8794	_ struct{} `type:"structure"`
8795
8796	// The list of clients that are allowed to access the file gateway. The list
8797	// must contain either valid IP addresses or valid CIDR blocks.
8798	ClientList []*string `min:"1" type:"list"`
8799
8800	// A unique string value that you supply that is used by file gateway to ensure
8801	// idempotent file share creation.
8802	//
8803	// ClientToken is a required field
8804	ClientToken *string `min:"5" type:"string" required:"true"`
8805
8806	// The default storage class for objects put into an Amazon S3 bucket by the
8807	// file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA.
8808	// If this field is not populated, the default value S3_STANDARD is used. Optional.
8809	DefaultStorageClass *string `min:"5" type:"string"`
8810
8811	// The Amazon Resource Name (ARN) of the file gateway on which you want to create
8812	// a file share.
8813	//
8814	// GatewayARN is a required field
8815	GatewayARN *string `min:"50" type:"string" required:"true"`
8816
8817	// A value that enables guessing of the MIME type for uploaded objects based
8818	// on file extensions. Set this value to true to enable MIME type guessing,
8819	// and otherwise to false. The default value is true.
8820	GuessMIMETypeEnabled *bool `type:"boolean"`
8821
8822	// True to use Amazon S3 server side encryption with your own AWS KMS key, or
8823	// false to use a key managed by Amazon S3. Optional.
8824	KMSEncrypted *bool `type:"boolean"`
8825
8826	// The Amazon Resource Name (ARN) AWS KMS key used for Amazon S3 server side
8827	// encryption. This value can only be set when KMSEncrypted is true. Optional.
8828	KMSKey *string `min:"7" type:"string"`
8829
8830	// The ARN of the backed storage used for storing file data.
8831	//
8832	// LocationARN is a required field
8833	LocationARN *string `min:"16" type:"string" required:"true"`
8834
8835	// File share default values. Optional.
8836	NFSFileShareDefaults *NFSFileShareDefaults `type:"structure"`
8837
8838	// A value that sets the access control list permission for objects in the S3
8839	// bucket that a file gateway puts objects into. The default value is "private".
8840	ObjectACL *string `type:"string" enum:"ObjectACL"`
8841
8842	// A value that sets the write status of a file share. This value is true if
8843	// the write status is read-only, and otherwise false.
8844	ReadOnly *bool `type:"boolean"`
8845
8846	// A value that sets who pays the cost of the request and the cost associated
8847	// with data download from the S3 bucket. If this value is set to true, the
8848	// requester pays the costs. Otherwise the S3 bucket owner pays. However, the
8849	// S3 bucket owner always pays the cost of storing data.
8850	//
8851	// RequesterPays is a configuration for the S3 bucket that backs the file share,
8852	// so make sure that the configuration on the file share is the same as the
8853	// S3 bucket configuration.
8854	RequesterPays *bool `type:"boolean"`
8855
8856	// The ARN of the AWS Identity and Access Management (IAM) role that a file
8857	// gateway assumes when it accesses the underlying storage.
8858	//
8859	// Role is a required field
8860	Role *string `min:"20" type:"string" required:"true"`
8861
8862	// A value that maps a user to anonymous user. Valid options are the following:
8863	//
8864	//    * RootSquash - Only root is mapped to anonymous user.
8865	//
8866	//    * NoSquash - No one is mapped to anonymous user
8867	//
8868	//    * AllSquash - Everyone is mapped to anonymous user.
8869	Squash *string `min:"5" type:"string"`
8870
8871	// A list of up to 50 tags that can be assigned to the NFS file share. Each
8872	// tag is a key-value pair.
8873	//
8874	// Valid characters for key and value are letters, spaces, and numbers representable
8875	// in UTF-8 format, and the following special characters: + - = . _ : / @. The
8876	// maximum length of a tag's key is 128 characters, and the maximum length for
8877	// a tag's value is 256.
8878	Tags []*Tag `type:"list"`
8879}
8880
8881// String returns the string representation
8882func (s CreateNFSFileShareInput) String() string {
8883	return awsutil.Prettify(s)
8884}
8885
8886// GoString returns the string representation
8887func (s CreateNFSFileShareInput) GoString() string {
8888	return s.String()
8889}
8890
8891// Validate inspects the fields of the type to determine if they are valid.
8892func (s *CreateNFSFileShareInput) Validate() error {
8893	invalidParams := request.ErrInvalidParams{Context: "CreateNFSFileShareInput"}
8894	if s.ClientList != nil && len(s.ClientList) < 1 {
8895		invalidParams.Add(request.NewErrParamMinLen("ClientList", 1))
8896	}
8897	if s.ClientToken == nil {
8898		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
8899	}
8900	if s.ClientToken != nil && len(*s.ClientToken) < 5 {
8901		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 5))
8902	}
8903	if s.DefaultStorageClass != nil && len(*s.DefaultStorageClass) < 5 {
8904		invalidParams.Add(request.NewErrParamMinLen("DefaultStorageClass", 5))
8905	}
8906	if s.GatewayARN == nil {
8907		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
8908	}
8909	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
8910		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
8911	}
8912	if s.KMSKey != nil && len(*s.KMSKey) < 7 {
8913		invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7))
8914	}
8915	if s.LocationARN == nil {
8916		invalidParams.Add(request.NewErrParamRequired("LocationARN"))
8917	}
8918	if s.LocationARN != nil && len(*s.LocationARN) < 16 {
8919		invalidParams.Add(request.NewErrParamMinLen("LocationARN", 16))
8920	}
8921	if s.Role == nil {
8922		invalidParams.Add(request.NewErrParamRequired("Role"))
8923	}
8924	if s.Role != nil && len(*s.Role) < 20 {
8925		invalidParams.Add(request.NewErrParamMinLen("Role", 20))
8926	}
8927	if s.Squash != nil && len(*s.Squash) < 5 {
8928		invalidParams.Add(request.NewErrParamMinLen("Squash", 5))
8929	}
8930	if s.NFSFileShareDefaults != nil {
8931		if err := s.NFSFileShareDefaults.Validate(); err != nil {
8932			invalidParams.AddNested("NFSFileShareDefaults", err.(request.ErrInvalidParams))
8933		}
8934	}
8935	if s.Tags != nil {
8936		for i, v := range s.Tags {
8937			if v == nil {
8938				continue
8939			}
8940			if err := v.Validate(); err != nil {
8941				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
8942			}
8943		}
8944	}
8945
8946	if invalidParams.Len() > 0 {
8947		return invalidParams
8948	}
8949	return nil
8950}
8951
8952// SetClientList sets the ClientList field's value.
8953func (s *CreateNFSFileShareInput) SetClientList(v []*string) *CreateNFSFileShareInput {
8954	s.ClientList = v
8955	return s
8956}
8957
8958// SetClientToken sets the ClientToken field's value.
8959func (s *CreateNFSFileShareInput) SetClientToken(v string) *CreateNFSFileShareInput {
8960	s.ClientToken = &v
8961	return s
8962}
8963
8964// SetDefaultStorageClass sets the DefaultStorageClass field's value.
8965func (s *CreateNFSFileShareInput) SetDefaultStorageClass(v string) *CreateNFSFileShareInput {
8966	s.DefaultStorageClass = &v
8967	return s
8968}
8969
8970// SetGatewayARN sets the GatewayARN field's value.
8971func (s *CreateNFSFileShareInput) SetGatewayARN(v string) *CreateNFSFileShareInput {
8972	s.GatewayARN = &v
8973	return s
8974}
8975
8976// SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value.
8977func (s *CreateNFSFileShareInput) SetGuessMIMETypeEnabled(v bool) *CreateNFSFileShareInput {
8978	s.GuessMIMETypeEnabled = &v
8979	return s
8980}
8981
8982// SetKMSEncrypted sets the KMSEncrypted field's value.
8983func (s *CreateNFSFileShareInput) SetKMSEncrypted(v bool) *CreateNFSFileShareInput {
8984	s.KMSEncrypted = &v
8985	return s
8986}
8987
8988// SetKMSKey sets the KMSKey field's value.
8989func (s *CreateNFSFileShareInput) SetKMSKey(v string) *CreateNFSFileShareInput {
8990	s.KMSKey = &v
8991	return s
8992}
8993
8994// SetLocationARN sets the LocationARN field's value.
8995func (s *CreateNFSFileShareInput) SetLocationARN(v string) *CreateNFSFileShareInput {
8996	s.LocationARN = &v
8997	return s
8998}
8999
9000// SetNFSFileShareDefaults sets the NFSFileShareDefaults field's value.
9001func (s *CreateNFSFileShareInput) SetNFSFileShareDefaults(v *NFSFileShareDefaults) *CreateNFSFileShareInput {
9002	s.NFSFileShareDefaults = v
9003	return s
9004}
9005
9006// SetObjectACL sets the ObjectACL field's value.
9007func (s *CreateNFSFileShareInput) SetObjectACL(v string) *CreateNFSFileShareInput {
9008	s.ObjectACL = &v
9009	return s
9010}
9011
9012// SetReadOnly sets the ReadOnly field's value.
9013func (s *CreateNFSFileShareInput) SetReadOnly(v bool) *CreateNFSFileShareInput {
9014	s.ReadOnly = &v
9015	return s
9016}
9017
9018// SetRequesterPays sets the RequesterPays field's value.
9019func (s *CreateNFSFileShareInput) SetRequesterPays(v bool) *CreateNFSFileShareInput {
9020	s.RequesterPays = &v
9021	return s
9022}
9023
9024// SetRole sets the Role field's value.
9025func (s *CreateNFSFileShareInput) SetRole(v string) *CreateNFSFileShareInput {
9026	s.Role = &v
9027	return s
9028}
9029
9030// SetSquash sets the Squash field's value.
9031func (s *CreateNFSFileShareInput) SetSquash(v string) *CreateNFSFileShareInput {
9032	s.Squash = &v
9033	return s
9034}
9035
9036// SetTags sets the Tags field's value.
9037func (s *CreateNFSFileShareInput) SetTags(v []*Tag) *CreateNFSFileShareInput {
9038	s.Tags = v
9039	return s
9040}
9041
9042// CreateNFSFileShareOutput
9043type CreateNFSFileShareOutput struct {
9044	_ struct{} `type:"structure"`
9045
9046	// The Amazon Resource Name (ARN) of the newly created file share.
9047	FileShareARN *string `min:"50" type:"string"`
9048}
9049
9050// String returns the string representation
9051func (s CreateNFSFileShareOutput) String() string {
9052	return awsutil.Prettify(s)
9053}
9054
9055// GoString returns the string representation
9056func (s CreateNFSFileShareOutput) GoString() string {
9057	return s.String()
9058}
9059
9060// SetFileShareARN sets the FileShareARN field's value.
9061func (s *CreateNFSFileShareOutput) SetFileShareARN(v string) *CreateNFSFileShareOutput {
9062	s.FileShareARN = &v
9063	return s
9064}
9065
9066// CreateSMBFileShareInput
9067type CreateSMBFileShareInput struct {
9068	_ struct{} `type:"structure"`
9069
9070	// A list of users in the Active Directory that will be granted administrator
9071	// privileges on the file share. These users can do all file operations as the
9072	// super-user.
9073	//
9074	// Use this option very carefully, because any user in this list can do anything
9075	// they like on the file share, regardless of file permissions.
9076	AdminUserList []*string `type:"list"`
9077
9078	// The authentication method that users use to access the file share.
9079	//
9080	// Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.
9081	Authentication *string `min:"5" type:"string"`
9082
9083	// A unique string value that you supply that is used by file gateway to ensure
9084	// idempotent file share creation.
9085	//
9086	// ClientToken is a required field
9087	ClientToken *string `min:"5" type:"string" required:"true"`
9088
9089	// The default storage class for objects put into an Amazon S3 bucket by the
9090	// file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA.
9091	// If this field is not populated, the default value S3_STANDARD is used. Optional.
9092	DefaultStorageClass *string `min:"5" type:"string"`
9093
9094	// The Amazon Resource Name (ARN) of the file gateway on which you want to create
9095	// a file share.
9096	//
9097	// GatewayARN is a required field
9098	GatewayARN *string `min:"50" type:"string" required:"true"`
9099
9100	// A value that enables guessing of the MIME type for uploaded objects based
9101	// on file extensions. Set this value to true to enable MIME type guessing,
9102	// and otherwise to false. The default value is true.
9103	GuessMIMETypeEnabled *bool `type:"boolean"`
9104
9105	// A list of users or groups in the Active Directory that are not allowed to
9106	// access the file share. A group must be prefixed with the @ character. For
9107	// example @group1. Can only be set if Authentication is set to ActiveDirectory.
9108	InvalidUserList []*string `type:"list"`
9109
9110	// True to use Amazon S3 server side encryption with your own AWS KMS key, or
9111	// false to use a key managed by Amazon S3. Optional.
9112	KMSEncrypted *bool `type:"boolean"`
9113
9114	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
9115	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
9116	KMSKey *string `min:"7" type:"string"`
9117
9118	// The ARN of the backed storage used for storing file data.
9119	//
9120	// LocationARN is a required field
9121	LocationARN *string `min:"16" type:"string" required:"true"`
9122
9123	// A value that sets the access control list permission for objects in the S3
9124	// bucket that a file gateway puts objects into. The default value is "private".
9125	ObjectACL *string `type:"string" enum:"ObjectACL"`
9126
9127	// A value that sets the write status of a file share. This value is true if
9128	// the write status is read-only, and otherwise false.
9129	ReadOnly *bool `type:"boolean"`
9130
9131	// A value that sets who pays the cost of the request and the cost associated
9132	// with data download from the S3 bucket. If this value is set to true, the
9133	// requester pays the costs. Otherwise the S3 bucket owner pays. However, the
9134	// S3 bucket owner always pays the cost of storing data.
9135	//
9136	// RequesterPays is a configuration for the S3 bucket that backs the file share,
9137	// so make sure that the configuration on the file share is the same as the
9138	// S3 bucket configuration.
9139	RequesterPays *bool `type:"boolean"`
9140
9141	// The ARN of the AWS Identity and Access Management (IAM) role that a file
9142	// gateway assumes when it accesses the underlying storage.
9143	//
9144	// Role is a required field
9145	Role *string `min:"20" type:"string" required:"true"`
9146
9147	// Set this value to "true to enable ACL (access control list) on the SMB file
9148	// share. Set it to "false" to map file and directory permissions to the POSIX
9149	// permissions.
9150	//
9151	// For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html
9152	// in the Storage Gateway User Guide.
9153	SMBACLEnabled *bool `type:"boolean"`
9154
9155	// A list of up to 50 tags that can be assigned to the NFS file share. Each
9156	// tag is a key-value pair.
9157	//
9158	// Valid characters for key and value are letters, spaces, and numbers representable
9159	// in UTF-8 format, and the following special characters: + - = . _ : / @. The
9160	// maximum length of a tag's key is 128 characters, and the maximum length for
9161	// a tag's value is 256.
9162	Tags []*Tag `type:"list"`
9163
9164	// A list of users or groups in the Active Directory that are allowed to access
9165	// the file share. A group must be prefixed with the @ character. For example
9166	// @group1. Can only be set if Authentication is set to ActiveDirectory.
9167	ValidUserList []*string `type:"list"`
9168}
9169
9170// String returns the string representation
9171func (s CreateSMBFileShareInput) String() string {
9172	return awsutil.Prettify(s)
9173}
9174
9175// GoString returns the string representation
9176func (s CreateSMBFileShareInput) GoString() string {
9177	return s.String()
9178}
9179
9180// Validate inspects the fields of the type to determine if they are valid.
9181func (s *CreateSMBFileShareInput) Validate() error {
9182	invalidParams := request.ErrInvalidParams{Context: "CreateSMBFileShareInput"}
9183	if s.Authentication != nil && len(*s.Authentication) < 5 {
9184		invalidParams.Add(request.NewErrParamMinLen("Authentication", 5))
9185	}
9186	if s.ClientToken == nil {
9187		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
9188	}
9189	if s.ClientToken != nil && len(*s.ClientToken) < 5 {
9190		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 5))
9191	}
9192	if s.DefaultStorageClass != nil && len(*s.DefaultStorageClass) < 5 {
9193		invalidParams.Add(request.NewErrParamMinLen("DefaultStorageClass", 5))
9194	}
9195	if s.GatewayARN == nil {
9196		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
9197	}
9198	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
9199		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
9200	}
9201	if s.KMSKey != nil && len(*s.KMSKey) < 7 {
9202		invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7))
9203	}
9204	if s.LocationARN == nil {
9205		invalidParams.Add(request.NewErrParamRequired("LocationARN"))
9206	}
9207	if s.LocationARN != nil && len(*s.LocationARN) < 16 {
9208		invalidParams.Add(request.NewErrParamMinLen("LocationARN", 16))
9209	}
9210	if s.Role == nil {
9211		invalidParams.Add(request.NewErrParamRequired("Role"))
9212	}
9213	if s.Role != nil && len(*s.Role) < 20 {
9214		invalidParams.Add(request.NewErrParamMinLen("Role", 20))
9215	}
9216	if s.Tags != nil {
9217		for i, v := range s.Tags {
9218			if v == nil {
9219				continue
9220			}
9221			if err := v.Validate(); err != nil {
9222				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9223			}
9224		}
9225	}
9226
9227	if invalidParams.Len() > 0 {
9228		return invalidParams
9229	}
9230	return nil
9231}
9232
9233// SetAdminUserList sets the AdminUserList field's value.
9234func (s *CreateSMBFileShareInput) SetAdminUserList(v []*string) *CreateSMBFileShareInput {
9235	s.AdminUserList = v
9236	return s
9237}
9238
9239// SetAuthentication sets the Authentication field's value.
9240func (s *CreateSMBFileShareInput) SetAuthentication(v string) *CreateSMBFileShareInput {
9241	s.Authentication = &v
9242	return s
9243}
9244
9245// SetClientToken sets the ClientToken field's value.
9246func (s *CreateSMBFileShareInput) SetClientToken(v string) *CreateSMBFileShareInput {
9247	s.ClientToken = &v
9248	return s
9249}
9250
9251// SetDefaultStorageClass sets the DefaultStorageClass field's value.
9252func (s *CreateSMBFileShareInput) SetDefaultStorageClass(v string) *CreateSMBFileShareInput {
9253	s.DefaultStorageClass = &v
9254	return s
9255}
9256
9257// SetGatewayARN sets the GatewayARN field's value.
9258func (s *CreateSMBFileShareInput) SetGatewayARN(v string) *CreateSMBFileShareInput {
9259	s.GatewayARN = &v
9260	return s
9261}
9262
9263// SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value.
9264func (s *CreateSMBFileShareInput) SetGuessMIMETypeEnabled(v bool) *CreateSMBFileShareInput {
9265	s.GuessMIMETypeEnabled = &v
9266	return s
9267}
9268
9269// SetInvalidUserList sets the InvalidUserList field's value.
9270func (s *CreateSMBFileShareInput) SetInvalidUserList(v []*string) *CreateSMBFileShareInput {
9271	s.InvalidUserList = v
9272	return s
9273}
9274
9275// SetKMSEncrypted sets the KMSEncrypted field's value.
9276func (s *CreateSMBFileShareInput) SetKMSEncrypted(v bool) *CreateSMBFileShareInput {
9277	s.KMSEncrypted = &v
9278	return s
9279}
9280
9281// SetKMSKey sets the KMSKey field's value.
9282func (s *CreateSMBFileShareInput) SetKMSKey(v string) *CreateSMBFileShareInput {
9283	s.KMSKey = &v
9284	return s
9285}
9286
9287// SetLocationARN sets the LocationARN field's value.
9288func (s *CreateSMBFileShareInput) SetLocationARN(v string) *CreateSMBFileShareInput {
9289	s.LocationARN = &v
9290	return s
9291}
9292
9293// SetObjectACL sets the ObjectACL field's value.
9294func (s *CreateSMBFileShareInput) SetObjectACL(v string) *CreateSMBFileShareInput {
9295	s.ObjectACL = &v
9296	return s
9297}
9298
9299// SetReadOnly sets the ReadOnly field's value.
9300func (s *CreateSMBFileShareInput) SetReadOnly(v bool) *CreateSMBFileShareInput {
9301	s.ReadOnly = &v
9302	return s
9303}
9304
9305// SetRequesterPays sets the RequesterPays field's value.
9306func (s *CreateSMBFileShareInput) SetRequesterPays(v bool) *CreateSMBFileShareInput {
9307	s.RequesterPays = &v
9308	return s
9309}
9310
9311// SetRole sets the Role field's value.
9312func (s *CreateSMBFileShareInput) SetRole(v string) *CreateSMBFileShareInput {
9313	s.Role = &v
9314	return s
9315}
9316
9317// SetSMBACLEnabled sets the SMBACLEnabled field's value.
9318func (s *CreateSMBFileShareInput) SetSMBACLEnabled(v bool) *CreateSMBFileShareInput {
9319	s.SMBACLEnabled = &v
9320	return s
9321}
9322
9323// SetTags sets the Tags field's value.
9324func (s *CreateSMBFileShareInput) SetTags(v []*Tag) *CreateSMBFileShareInput {
9325	s.Tags = v
9326	return s
9327}
9328
9329// SetValidUserList sets the ValidUserList field's value.
9330func (s *CreateSMBFileShareInput) SetValidUserList(v []*string) *CreateSMBFileShareInput {
9331	s.ValidUserList = v
9332	return s
9333}
9334
9335// CreateSMBFileShareOutput
9336type CreateSMBFileShareOutput struct {
9337	_ struct{} `type:"structure"`
9338
9339	// The Amazon Resource Name (ARN) of the newly created file share.
9340	FileShareARN *string `min:"50" type:"string"`
9341}
9342
9343// String returns the string representation
9344func (s CreateSMBFileShareOutput) String() string {
9345	return awsutil.Prettify(s)
9346}
9347
9348// GoString returns the string representation
9349func (s CreateSMBFileShareOutput) GoString() string {
9350	return s.String()
9351}
9352
9353// SetFileShareARN sets the FileShareARN field's value.
9354func (s *CreateSMBFileShareOutput) SetFileShareARN(v string) *CreateSMBFileShareOutput {
9355	s.FileShareARN = &v
9356	return s
9357}
9358
9359type CreateSnapshotFromVolumeRecoveryPointInput struct {
9360	_ struct{} `type:"structure"`
9361
9362	// Textual description of the snapshot that appears in the Amazon EC2 console,
9363	// Elastic Block Store snapshots panel in the Description field, and in the
9364	// AWS Storage Gateway snapshot Details pane, Description field
9365	//
9366	// SnapshotDescription is a required field
9367	SnapshotDescription *string `min:"1" type:"string" required:"true"`
9368
9369	// A list of up to 50 tags that can be assigned to a snapshot. Each tag is a
9370	// key-value pair.
9371	//
9372	// Valid characters for key and value are letters, spaces, and numbers representable
9373	// in UTF-8 format, and the following special characters: + - = . _ : / @. The
9374	// maximum length of a tag's key is 128 characters, and the maximum length for
9375	// a tag's value is 256.
9376	Tags []*Tag `type:"list"`
9377
9378	// The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes
9379	// operation to return to retrieve the TargetARN for specified VolumeARN.
9380	//
9381	// VolumeARN is a required field
9382	VolumeARN *string `min:"50" type:"string" required:"true"`
9383}
9384
9385// String returns the string representation
9386func (s CreateSnapshotFromVolumeRecoveryPointInput) String() string {
9387	return awsutil.Prettify(s)
9388}
9389
9390// GoString returns the string representation
9391func (s CreateSnapshotFromVolumeRecoveryPointInput) GoString() string {
9392	return s.String()
9393}
9394
9395// Validate inspects the fields of the type to determine if they are valid.
9396func (s *CreateSnapshotFromVolumeRecoveryPointInput) Validate() error {
9397	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotFromVolumeRecoveryPointInput"}
9398	if s.SnapshotDescription == nil {
9399		invalidParams.Add(request.NewErrParamRequired("SnapshotDescription"))
9400	}
9401	if s.SnapshotDescription != nil && len(*s.SnapshotDescription) < 1 {
9402		invalidParams.Add(request.NewErrParamMinLen("SnapshotDescription", 1))
9403	}
9404	if s.VolumeARN == nil {
9405		invalidParams.Add(request.NewErrParamRequired("VolumeARN"))
9406	}
9407	if s.VolumeARN != nil && len(*s.VolumeARN) < 50 {
9408		invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50))
9409	}
9410	if s.Tags != nil {
9411		for i, v := range s.Tags {
9412			if v == nil {
9413				continue
9414			}
9415			if err := v.Validate(); err != nil {
9416				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9417			}
9418		}
9419	}
9420
9421	if invalidParams.Len() > 0 {
9422		return invalidParams
9423	}
9424	return nil
9425}
9426
9427// SetSnapshotDescription sets the SnapshotDescription field's value.
9428func (s *CreateSnapshotFromVolumeRecoveryPointInput) SetSnapshotDescription(v string) *CreateSnapshotFromVolumeRecoveryPointInput {
9429	s.SnapshotDescription = &v
9430	return s
9431}
9432
9433// SetTags sets the Tags field's value.
9434func (s *CreateSnapshotFromVolumeRecoveryPointInput) SetTags(v []*Tag) *CreateSnapshotFromVolumeRecoveryPointInput {
9435	s.Tags = v
9436	return s
9437}
9438
9439// SetVolumeARN sets the VolumeARN field's value.
9440func (s *CreateSnapshotFromVolumeRecoveryPointInput) SetVolumeARN(v string) *CreateSnapshotFromVolumeRecoveryPointInput {
9441	s.VolumeARN = &v
9442	return s
9443}
9444
9445type CreateSnapshotFromVolumeRecoveryPointOutput struct {
9446	_ struct{} `type:"structure"`
9447
9448	// The ID of the snapshot.
9449	SnapshotId *string `type:"string"`
9450
9451	// The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes
9452	// operation to return to retrieve the TargetARN for specified VolumeARN.
9453	VolumeARN *string `min:"50" type:"string"`
9454
9455	// The time the volume was created from the recovery point.
9456	VolumeRecoveryPointTime *string `type:"string"`
9457}
9458
9459// String returns the string representation
9460func (s CreateSnapshotFromVolumeRecoveryPointOutput) String() string {
9461	return awsutil.Prettify(s)
9462}
9463
9464// GoString returns the string representation
9465func (s CreateSnapshotFromVolumeRecoveryPointOutput) GoString() string {
9466	return s.String()
9467}
9468
9469// SetSnapshotId sets the SnapshotId field's value.
9470func (s *CreateSnapshotFromVolumeRecoveryPointOutput) SetSnapshotId(v string) *CreateSnapshotFromVolumeRecoveryPointOutput {
9471	s.SnapshotId = &v
9472	return s
9473}
9474
9475// SetVolumeARN sets the VolumeARN field's value.
9476func (s *CreateSnapshotFromVolumeRecoveryPointOutput) SetVolumeARN(v string) *CreateSnapshotFromVolumeRecoveryPointOutput {
9477	s.VolumeARN = &v
9478	return s
9479}
9480
9481// SetVolumeRecoveryPointTime sets the VolumeRecoveryPointTime field's value.
9482func (s *CreateSnapshotFromVolumeRecoveryPointOutput) SetVolumeRecoveryPointTime(v string) *CreateSnapshotFromVolumeRecoveryPointOutput {
9483	s.VolumeRecoveryPointTime = &v
9484	return s
9485}
9486
9487// A JSON object containing one or more of the following fields:
9488//
9489//    * CreateSnapshotInput$SnapshotDescription
9490//
9491//    * CreateSnapshotInput$VolumeARN
9492type CreateSnapshotInput struct {
9493	_ struct{} `type:"structure"`
9494
9495	// Textual description of the snapshot that appears in the Amazon EC2 console,
9496	// Elastic Block Store snapshots panel in the Description field, and in the
9497	// AWS Storage Gateway snapshot Details pane, Description field
9498	//
9499	// SnapshotDescription is a required field
9500	SnapshotDescription *string `min:"1" type:"string" required:"true"`
9501
9502	// A list of up to 50 tags that can be assigned to a snapshot. Each tag is a
9503	// key-value pair.
9504	//
9505	// Valid characters for key and value are letters, spaces, and numbers representable
9506	// in UTF-8 format, and the following special characters: + - = . _ : / @. The
9507	// maximum length of a tag's key is 128 characters, and the maximum length for
9508	// a tag's value is 256.
9509	Tags []*Tag `type:"list"`
9510
9511	// The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation
9512	// to return a list of gateway volumes.
9513	//
9514	// VolumeARN is a required field
9515	VolumeARN *string `min:"50" type:"string" required:"true"`
9516}
9517
9518// String returns the string representation
9519func (s CreateSnapshotInput) String() string {
9520	return awsutil.Prettify(s)
9521}
9522
9523// GoString returns the string representation
9524func (s CreateSnapshotInput) GoString() string {
9525	return s.String()
9526}
9527
9528// Validate inspects the fields of the type to determine if they are valid.
9529func (s *CreateSnapshotInput) Validate() error {
9530	invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"}
9531	if s.SnapshotDescription == nil {
9532		invalidParams.Add(request.NewErrParamRequired("SnapshotDescription"))
9533	}
9534	if s.SnapshotDescription != nil && len(*s.SnapshotDescription) < 1 {
9535		invalidParams.Add(request.NewErrParamMinLen("SnapshotDescription", 1))
9536	}
9537	if s.VolumeARN == nil {
9538		invalidParams.Add(request.NewErrParamRequired("VolumeARN"))
9539	}
9540	if s.VolumeARN != nil && len(*s.VolumeARN) < 50 {
9541		invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50))
9542	}
9543	if s.Tags != nil {
9544		for i, v := range s.Tags {
9545			if v == nil {
9546				continue
9547			}
9548			if err := v.Validate(); err != nil {
9549				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9550			}
9551		}
9552	}
9553
9554	if invalidParams.Len() > 0 {
9555		return invalidParams
9556	}
9557	return nil
9558}
9559
9560// SetSnapshotDescription sets the SnapshotDescription field's value.
9561func (s *CreateSnapshotInput) SetSnapshotDescription(v string) *CreateSnapshotInput {
9562	s.SnapshotDescription = &v
9563	return s
9564}
9565
9566// SetTags sets the Tags field's value.
9567func (s *CreateSnapshotInput) SetTags(v []*Tag) *CreateSnapshotInput {
9568	s.Tags = v
9569	return s
9570}
9571
9572// SetVolumeARN sets the VolumeARN field's value.
9573func (s *CreateSnapshotInput) SetVolumeARN(v string) *CreateSnapshotInput {
9574	s.VolumeARN = &v
9575	return s
9576}
9577
9578// A JSON object containing the following fields:
9579type CreateSnapshotOutput struct {
9580	_ struct{} `type:"structure"`
9581
9582	// The snapshot ID that is used to refer to the snapshot in future operations
9583	// such as describing snapshots (Amazon Elastic Compute Cloud API DescribeSnapshots)
9584	// or creating a volume from a snapshot (CreateStorediSCSIVolume).
9585	SnapshotId *string `type:"string"`
9586
9587	// The Amazon Resource Name (ARN) of the volume of which the snapshot was taken.
9588	VolumeARN *string `min:"50" type:"string"`
9589}
9590
9591// String returns the string representation
9592func (s CreateSnapshotOutput) String() string {
9593	return awsutil.Prettify(s)
9594}
9595
9596// GoString returns the string representation
9597func (s CreateSnapshotOutput) GoString() string {
9598	return s.String()
9599}
9600
9601// SetSnapshotId sets the SnapshotId field's value.
9602func (s *CreateSnapshotOutput) SetSnapshotId(v string) *CreateSnapshotOutput {
9603	s.SnapshotId = &v
9604	return s
9605}
9606
9607// SetVolumeARN sets the VolumeARN field's value.
9608func (s *CreateSnapshotOutput) SetVolumeARN(v string) *CreateSnapshotOutput {
9609	s.VolumeARN = &v
9610	return s
9611}
9612
9613// A JSON object containing one or more of the following fields:
9614//
9615//    * CreateStorediSCSIVolumeInput$DiskId
9616//
9617//    * CreateStorediSCSIVolumeInput$NetworkInterfaceId
9618//
9619//    * CreateStorediSCSIVolumeInput$PreserveExistingData
9620//
9621//    * CreateStorediSCSIVolumeInput$SnapshotId
9622//
9623//    * CreateStorediSCSIVolumeInput$TargetName
9624type CreateStorediSCSIVolumeInput struct {
9625	_ struct{} `type:"structure"`
9626
9627	// The unique identifier for the gateway local disk that is configured as a
9628	// stored volume. Use ListLocalDisks (https://docs.aws.amazon.com/storagegateway/latest/userguide/API_ListLocalDisks.html)
9629	// to list disk IDs for a gateway.
9630	//
9631	// DiskId is a required field
9632	DiskId *string `min:"1" type:"string" required:"true"`
9633
9634	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
9635	// to return a list of gateways for your account and AWS Region.
9636	//
9637	// GatewayARN is a required field
9638	GatewayARN *string `min:"50" type:"string" required:"true"`
9639
9640	// True to use Amazon S3 server side encryption with your own AWS KMS key, or
9641	// false to use a key managed by Amazon S3. Optional.
9642	KMSEncrypted *bool `type:"boolean"`
9643
9644	// The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 server side
9645	// encryption. This value can only be set when KMSEncrypted is true. Optional.
9646	KMSKey *string `min:"7" type:"string"`
9647
9648	// The network interface of the gateway on which to expose the iSCSI target.
9649	// Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a
9650	// list of the network interfaces available on a gateway.
9651	//
9652	// Valid Values: A valid IP address.
9653	//
9654	// NetworkInterfaceId is a required field
9655	NetworkInterfaceId *string `type:"string" required:"true"`
9656
9657	// Specify this field as true if you want to preserve the data on the local
9658	// disk. Otherwise, specifying this field as false creates an empty volume.
9659	//
9660	// Valid Values: true, false
9661	//
9662	// PreserveExistingData is a required field
9663	PreserveExistingData *bool `type:"boolean" required:"true"`
9664
9665	// The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as the
9666	// new stored volume. Specify this field if you want to create the iSCSI storage
9667	// volume from a snapshot otherwise do not include this field. To list snapshots
9668	// for your account use DescribeSnapshots (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html)
9669	// in the Amazon Elastic Compute Cloud API Reference.
9670	SnapshotId *string `type:"string"`
9671
9672	// A list of up to 50 tags that can be assigned to a stored volume. Each tag
9673	// is a key-value pair.
9674	//
9675	// Valid characters for key and value are letters, spaces, and numbers representable
9676	// in UTF-8 format, and the following special characters: + - = . _ : / @. The
9677	// maximum length of a tag's key is 128 characters, and the maximum length for
9678	// a tag's value is 256.
9679	Tags []*Tag `type:"list"`
9680
9681	// The name of the iSCSI target used by an initiator to connect to a volume
9682	// and used as a suffix for the target ARN. For example, specifying TargetName
9683	// as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume.
9684	// The target name must be unique across all volumes on a gateway.
9685	//
9686	// If you don't specify a value, Storage Gateway uses the value that was previously
9687	// used for this volume as the new target name.
9688	//
9689	// TargetName is a required field
9690	TargetName *string `min:"1" type:"string" required:"true"`
9691}
9692
9693// String returns the string representation
9694func (s CreateStorediSCSIVolumeInput) String() string {
9695	return awsutil.Prettify(s)
9696}
9697
9698// GoString returns the string representation
9699func (s CreateStorediSCSIVolumeInput) GoString() string {
9700	return s.String()
9701}
9702
9703// Validate inspects the fields of the type to determine if they are valid.
9704func (s *CreateStorediSCSIVolumeInput) Validate() error {
9705	invalidParams := request.ErrInvalidParams{Context: "CreateStorediSCSIVolumeInput"}
9706	if s.DiskId == nil {
9707		invalidParams.Add(request.NewErrParamRequired("DiskId"))
9708	}
9709	if s.DiskId != nil && len(*s.DiskId) < 1 {
9710		invalidParams.Add(request.NewErrParamMinLen("DiskId", 1))
9711	}
9712	if s.GatewayARN == nil {
9713		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
9714	}
9715	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
9716		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
9717	}
9718	if s.KMSKey != nil && len(*s.KMSKey) < 7 {
9719		invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7))
9720	}
9721	if s.NetworkInterfaceId == nil {
9722		invalidParams.Add(request.NewErrParamRequired("NetworkInterfaceId"))
9723	}
9724	if s.PreserveExistingData == nil {
9725		invalidParams.Add(request.NewErrParamRequired("PreserveExistingData"))
9726	}
9727	if s.TargetName == nil {
9728		invalidParams.Add(request.NewErrParamRequired("TargetName"))
9729	}
9730	if s.TargetName != nil && len(*s.TargetName) < 1 {
9731		invalidParams.Add(request.NewErrParamMinLen("TargetName", 1))
9732	}
9733	if s.Tags != nil {
9734		for i, v := range s.Tags {
9735			if v == nil {
9736				continue
9737			}
9738			if err := v.Validate(); err != nil {
9739				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9740			}
9741		}
9742	}
9743
9744	if invalidParams.Len() > 0 {
9745		return invalidParams
9746	}
9747	return nil
9748}
9749
9750// SetDiskId sets the DiskId field's value.
9751func (s *CreateStorediSCSIVolumeInput) SetDiskId(v string) *CreateStorediSCSIVolumeInput {
9752	s.DiskId = &v
9753	return s
9754}
9755
9756// SetGatewayARN sets the GatewayARN field's value.
9757func (s *CreateStorediSCSIVolumeInput) SetGatewayARN(v string) *CreateStorediSCSIVolumeInput {
9758	s.GatewayARN = &v
9759	return s
9760}
9761
9762// SetKMSEncrypted sets the KMSEncrypted field's value.
9763func (s *CreateStorediSCSIVolumeInput) SetKMSEncrypted(v bool) *CreateStorediSCSIVolumeInput {
9764	s.KMSEncrypted = &v
9765	return s
9766}
9767
9768// SetKMSKey sets the KMSKey field's value.
9769func (s *CreateStorediSCSIVolumeInput) SetKMSKey(v string) *CreateStorediSCSIVolumeInput {
9770	s.KMSKey = &v
9771	return s
9772}
9773
9774// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
9775func (s *CreateStorediSCSIVolumeInput) SetNetworkInterfaceId(v string) *CreateStorediSCSIVolumeInput {
9776	s.NetworkInterfaceId = &v
9777	return s
9778}
9779
9780// SetPreserveExistingData sets the PreserveExistingData field's value.
9781func (s *CreateStorediSCSIVolumeInput) SetPreserveExistingData(v bool) *CreateStorediSCSIVolumeInput {
9782	s.PreserveExistingData = &v
9783	return s
9784}
9785
9786// SetSnapshotId sets the SnapshotId field's value.
9787func (s *CreateStorediSCSIVolumeInput) SetSnapshotId(v string) *CreateStorediSCSIVolumeInput {
9788	s.SnapshotId = &v
9789	return s
9790}
9791
9792// SetTags sets the Tags field's value.
9793func (s *CreateStorediSCSIVolumeInput) SetTags(v []*Tag) *CreateStorediSCSIVolumeInput {
9794	s.Tags = v
9795	return s
9796}
9797
9798// SetTargetName sets the TargetName field's value.
9799func (s *CreateStorediSCSIVolumeInput) SetTargetName(v string) *CreateStorediSCSIVolumeInput {
9800	s.TargetName = &v
9801	return s
9802}
9803
9804// A JSON object containing the following fields:
9805type CreateStorediSCSIVolumeOutput struct {
9806	_ struct{} `type:"structure"`
9807
9808	// The Amazon Resource Name (ARN) of the volume target, which includes the iSCSI
9809	// name that initiators can use to connect to the target.
9810	TargetARN *string `min:"50" type:"string"`
9811
9812	// The Amazon Resource Name (ARN) of the configured volume.
9813	VolumeARN *string `min:"50" type:"string"`
9814
9815	// The size of the volume in bytes.
9816	VolumeSizeInBytes *int64 `type:"long"`
9817}
9818
9819// String returns the string representation
9820func (s CreateStorediSCSIVolumeOutput) String() string {
9821	return awsutil.Prettify(s)
9822}
9823
9824// GoString returns the string representation
9825func (s CreateStorediSCSIVolumeOutput) GoString() string {
9826	return s.String()
9827}
9828
9829// SetTargetARN sets the TargetARN field's value.
9830func (s *CreateStorediSCSIVolumeOutput) SetTargetARN(v string) *CreateStorediSCSIVolumeOutput {
9831	s.TargetARN = &v
9832	return s
9833}
9834
9835// SetVolumeARN sets the VolumeARN field's value.
9836func (s *CreateStorediSCSIVolumeOutput) SetVolumeARN(v string) *CreateStorediSCSIVolumeOutput {
9837	s.VolumeARN = &v
9838	return s
9839}
9840
9841// SetVolumeSizeInBytes sets the VolumeSizeInBytes field's value.
9842func (s *CreateStorediSCSIVolumeOutput) SetVolumeSizeInBytes(v int64) *CreateStorediSCSIVolumeOutput {
9843	s.VolumeSizeInBytes = &v
9844	return s
9845}
9846
9847// CreateTapeWithBarcodeInput
9848type CreateTapeWithBarcodeInput struct {
9849	_ struct{} `type:"structure"`
9850
9851	// The unique Amazon Resource Name (ARN) that represents the gateway to associate
9852	// the virtual tape with. Use the ListGateways operation to return a list of
9853	// gateways for your account and AWS Region.
9854	//
9855	// GatewayARN is a required field
9856	GatewayARN *string `min:"50" type:"string" required:"true"`
9857
9858	// True to use Amazon S3 server side encryption with your own AWS KMS key, or
9859	// false to use a key managed by Amazon S3. Optional.
9860	KMSEncrypted *bool `type:"boolean"`
9861
9862	// The Amazon Resource Name (ARN) of the AWS KMS Key used for Amazon S3 server
9863	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
9864	KMSKey *string `min:"7" type:"string"`
9865
9866	// The ID of the pool that you want to add your tape to for archiving. The tape
9867	// in this pool is archived in the S3 storage class that is associated with
9868	// the pool. When you use your backup application to eject the tape, the tape
9869	// is archived directly into the storage class (Glacier or Deep Archive) that
9870	// corresponds to the pool.
9871	//
9872	// Valid values: "GLACIER", "DEEP_ARCHIVE"
9873	PoolId *string `min:"1" type:"string"`
9874
9875	// A list of up to 50 tags that can be assigned to a virtual tape that has a
9876	// barcode. Each tag is a key-value pair.
9877	//
9878	// Valid characters for key and value are letters, spaces, and numbers representable
9879	// in UTF-8 format, and the following special characters: + - = . _ : / @. The
9880	// maximum length of a tag's key is 128 characters, and the maximum length for
9881	// a tag's value is 256.
9882	Tags []*Tag `type:"list"`
9883
9884	// The barcode that you want to assign to the tape.
9885	//
9886	// Barcodes cannot be reused. This includes barcodes used for tapes that have
9887	// been deleted.
9888	//
9889	// TapeBarcode is a required field
9890	TapeBarcode *string `min:"7" type:"string" required:"true"`
9891
9892	// The size, in bytes, of the virtual tape that you want to create.
9893	//
9894	// The size must be aligned by gigabyte (1024*1024*1024 byte).
9895	//
9896	// TapeSizeInBytes is a required field
9897	TapeSizeInBytes *int64 `type:"long" required:"true"`
9898}
9899
9900// String returns the string representation
9901func (s CreateTapeWithBarcodeInput) String() string {
9902	return awsutil.Prettify(s)
9903}
9904
9905// GoString returns the string representation
9906func (s CreateTapeWithBarcodeInput) GoString() string {
9907	return s.String()
9908}
9909
9910// Validate inspects the fields of the type to determine if they are valid.
9911func (s *CreateTapeWithBarcodeInput) Validate() error {
9912	invalidParams := request.ErrInvalidParams{Context: "CreateTapeWithBarcodeInput"}
9913	if s.GatewayARN == nil {
9914		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
9915	}
9916	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
9917		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
9918	}
9919	if s.KMSKey != nil && len(*s.KMSKey) < 7 {
9920		invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7))
9921	}
9922	if s.PoolId != nil && len(*s.PoolId) < 1 {
9923		invalidParams.Add(request.NewErrParamMinLen("PoolId", 1))
9924	}
9925	if s.TapeBarcode == nil {
9926		invalidParams.Add(request.NewErrParamRequired("TapeBarcode"))
9927	}
9928	if s.TapeBarcode != nil && len(*s.TapeBarcode) < 7 {
9929		invalidParams.Add(request.NewErrParamMinLen("TapeBarcode", 7))
9930	}
9931	if s.TapeSizeInBytes == nil {
9932		invalidParams.Add(request.NewErrParamRequired("TapeSizeInBytes"))
9933	}
9934	if s.Tags != nil {
9935		for i, v := range s.Tags {
9936			if v == nil {
9937				continue
9938			}
9939			if err := v.Validate(); err != nil {
9940				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
9941			}
9942		}
9943	}
9944
9945	if invalidParams.Len() > 0 {
9946		return invalidParams
9947	}
9948	return nil
9949}
9950
9951// SetGatewayARN sets the GatewayARN field's value.
9952func (s *CreateTapeWithBarcodeInput) SetGatewayARN(v string) *CreateTapeWithBarcodeInput {
9953	s.GatewayARN = &v
9954	return s
9955}
9956
9957// SetKMSEncrypted sets the KMSEncrypted field's value.
9958func (s *CreateTapeWithBarcodeInput) SetKMSEncrypted(v bool) *CreateTapeWithBarcodeInput {
9959	s.KMSEncrypted = &v
9960	return s
9961}
9962
9963// SetKMSKey sets the KMSKey field's value.
9964func (s *CreateTapeWithBarcodeInput) SetKMSKey(v string) *CreateTapeWithBarcodeInput {
9965	s.KMSKey = &v
9966	return s
9967}
9968
9969// SetPoolId sets the PoolId field's value.
9970func (s *CreateTapeWithBarcodeInput) SetPoolId(v string) *CreateTapeWithBarcodeInput {
9971	s.PoolId = &v
9972	return s
9973}
9974
9975// SetTags sets the Tags field's value.
9976func (s *CreateTapeWithBarcodeInput) SetTags(v []*Tag) *CreateTapeWithBarcodeInput {
9977	s.Tags = v
9978	return s
9979}
9980
9981// SetTapeBarcode sets the TapeBarcode field's value.
9982func (s *CreateTapeWithBarcodeInput) SetTapeBarcode(v string) *CreateTapeWithBarcodeInput {
9983	s.TapeBarcode = &v
9984	return s
9985}
9986
9987// SetTapeSizeInBytes sets the TapeSizeInBytes field's value.
9988func (s *CreateTapeWithBarcodeInput) SetTapeSizeInBytes(v int64) *CreateTapeWithBarcodeInput {
9989	s.TapeSizeInBytes = &v
9990	return s
9991}
9992
9993// CreateTapeOutput
9994type CreateTapeWithBarcodeOutput struct {
9995	_ struct{} `type:"structure"`
9996
9997	// A unique Amazon Resource Name (ARN) that represents the virtual tape that
9998	// was created.
9999	TapeARN *string `min:"50" type:"string"`
10000}
10001
10002// String returns the string representation
10003func (s CreateTapeWithBarcodeOutput) String() string {
10004	return awsutil.Prettify(s)
10005}
10006
10007// GoString returns the string representation
10008func (s CreateTapeWithBarcodeOutput) GoString() string {
10009	return s.String()
10010}
10011
10012// SetTapeARN sets the TapeARN field's value.
10013func (s *CreateTapeWithBarcodeOutput) SetTapeARN(v string) *CreateTapeWithBarcodeOutput {
10014	s.TapeARN = &v
10015	return s
10016}
10017
10018// CreateTapesInput
10019type CreateTapesInput struct {
10020	_ struct{} `type:"structure"`
10021
10022	// A unique identifier that you use to retry a request. If you retry a request,
10023	// use the same ClientToken you specified in the initial request.
10024	//
10025	// Using the same ClientToken prevents creating the tape multiple times.
10026	//
10027	// ClientToken is a required field
10028	ClientToken *string `min:"5" type:"string" required:"true"`
10029
10030	// The unique Amazon Resource Name (ARN) that represents the gateway to associate
10031	// the virtual tapes with. Use the ListGateways operation to return a list of
10032	// gateways for your account and AWS Region.
10033	//
10034	// GatewayARN is a required field
10035	GatewayARN *string `min:"50" type:"string" required:"true"`
10036
10037	// True to use Amazon S3 server side encryption with your own AWS KMS key, or
10038	// false to use a key managed by Amazon S3. Optional.
10039	KMSEncrypted *bool `type:"boolean"`
10040
10041	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
10042	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
10043	KMSKey *string `min:"7" type:"string"`
10044
10045	// The number of virtual tapes that you want to create.
10046	//
10047	// NumTapesToCreate is a required field
10048	NumTapesToCreate *int64 `min:"1" type:"integer" required:"true"`
10049
10050	// The ID of the pool that you want to add your tape to for archiving. The tape
10051	// in this pool is archived in the S3 storage class that is associated with
10052	// the pool. When you use your backup application to eject the tape, the tape
10053	// is archived directly into the storage class (Glacier or Deep Archive) that
10054	// corresponds to the pool.
10055	//
10056	// Valid values: "GLACIER", "DEEP_ARCHIVE"
10057	PoolId *string `min:"1" type:"string"`
10058
10059	// A list of up to 50 tags that can be assigned to a virtual tape. Each tag
10060	// is a key-value pair.
10061	//
10062	// Valid characters for key and value are letters, spaces, and numbers representable
10063	// in UTF-8 format, and the following special characters: + - = . _ : / @. The
10064	// maximum length of a tag's key is 128 characters, and the maximum length for
10065	// a tag's value is 256.
10066	Tags []*Tag `type:"list"`
10067
10068	// A prefix that you append to the barcode of the virtual tape you are creating.
10069	// This prefix makes the barcode unique.
10070	//
10071	// The prefix must be 1 to 4 characters in length and must be one of the uppercase
10072	// letters from A to Z.
10073	//
10074	// TapeBarcodePrefix is a required field
10075	TapeBarcodePrefix *string `min:"1" type:"string" required:"true"`
10076
10077	// The size, in bytes, of the virtual tapes that you want to create.
10078	//
10079	// The size must be aligned by gigabyte (1024*1024*1024 byte).
10080	//
10081	// TapeSizeInBytes is a required field
10082	TapeSizeInBytes *int64 `type:"long" required:"true"`
10083}
10084
10085// String returns the string representation
10086func (s CreateTapesInput) String() string {
10087	return awsutil.Prettify(s)
10088}
10089
10090// GoString returns the string representation
10091func (s CreateTapesInput) GoString() string {
10092	return s.String()
10093}
10094
10095// Validate inspects the fields of the type to determine if they are valid.
10096func (s *CreateTapesInput) Validate() error {
10097	invalidParams := request.ErrInvalidParams{Context: "CreateTapesInput"}
10098	if s.ClientToken == nil {
10099		invalidParams.Add(request.NewErrParamRequired("ClientToken"))
10100	}
10101	if s.ClientToken != nil && len(*s.ClientToken) < 5 {
10102		invalidParams.Add(request.NewErrParamMinLen("ClientToken", 5))
10103	}
10104	if s.GatewayARN == nil {
10105		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
10106	}
10107	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
10108		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
10109	}
10110	if s.KMSKey != nil && len(*s.KMSKey) < 7 {
10111		invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7))
10112	}
10113	if s.NumTapesToCreate == nil {
10114		invalidParams.Add(request.NewErrParamRequired("NumTapesToCreate"))
10115	}
10116	if s.NumTapesToCreate != nil && *s.NumTapesToCreate < 1 {
10117		invalidParams.Add(request.NewErrParamMinValue("NumTapesToCreate", 1))
10118	}
10119	if s.PoolId != nil && len(*s.PoolId) < 1 {
10120		invalidParams.Add(request.NewErrParamMinLen("PoolId", 1))
10121	}
10122	if s.TapeBarcodePrefix == nil {
10123		invalidParams.Add(request.NewErrParamRequired("TapeBarcodePrefix"))
10124	}
10125	if s.TapeBarcodePrefix != nil && len(*s.TapeBarcodePrefix) < 1 {
10126		invalidParams.Add(request.NewErrParamMinLen("TapeBarcodePrefix", 1))
10127	}
10128	if s.TapeSizeInBytes == nil {
10129		invalidParams.Add(request.NewErrParamRequired("TapeSizeInBytes"))
10130	}
10131	if s.Tags != nil {
10132		for i, v := range s.Tags {
10133			if v == nil {
10134				continue
10135			}
10136			if err := v.Validate(); err != nil {
10137				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
10138			}
10139		}
10140	}
10141
10142	if invalidParams.Len() > 0 {
10143		return invalidParams
10144	}
10145	return nil
10146}
10147
10148// SetClientToken sets the ClientToken field's value.
10149func (s *CreateTapesInput) SetClientToken(v string) *CreateTapesInput {
10150	s.ClientToken = &v
10151	return s
10152}
10153
10154// SetGatewayARN sets the GatewayARN field's value.
10155func (s *CreateTapesInput) SetGatewayARN(v string) *CreateTapesInput {
10156	s.GatewayARN = &v
10157	return s
10158}
10159
10160// SetKMSEncrypted sets the KMSEncrypted field's value.
10161func (s *CreateTapesInput) SetKMSEncrypted(v bool) *CreateTapesInput {
10162	s.KMSEncrypted = &v
10163	return s
10164}
10165
10166// SetKMSKey sets the KMSKey field's value.
10167func (s *CreateTapesInput) SetKMSKey(v string) *CreateTapesInput {
10168	s.KMSKey = &v
10169	return s
10170}
10171
10172// SetNumTapesToCreate sets the NumTapesToCreate field's value.
10173func (s *CreateTapesInput) SetNumTapesToCreate(v int64) *CreateTapesInput {
10174	s.NumTapesToCreate = &v
10175	return s
10176}
10177
10178// SetPoolId sets the PoolId field's value.
10179func (s *CreateTapesInput) SetPoolId(v string) *CreateTapesInput {
10180	s.PoolId = &v
10181	return s
10182}
10183
10184// SetTags sets the Tags field's value.
10185func (s *CreateTapesInput) SetTags(v []*Tag) *CreateTapesInput {
10186	s.Tags = v
10187	return s
10188}
10189
10190// SetTapeBarcodePrefix sets the TapeBarcodePrefix field's value.
10191func (s *CreateTapesInput) SetTapeBarcodePrefix(v string) *CreateTapesInput {
10192	s.TapeBarcodePrefix = &v
10193	return s
10194}
10195
10196// SetTapeSizeInBytes sets the TapeSizeInBytes field's value.
10197func (s *CreateTapesInput) SetTapeSizeInBytes(v int64) *CreateTapesInput {
10198	s.TapeSizeInBytes = &v
10199	return s
10200}
10201
10202// CreateTapeOutput
10203type CreateTapesOutput struct {
10204	_ struct{} `type:"structure"`
10205
10206	// A list of unique Amazon Resource Names (ARNs) that represents the virtual
10207	// tapes that were created.
10208	TapeARNs []*string `type:"list"`
10209}
10210
10211// String returns the string representation
10212func (s CreateTapesOutput) String() string {
10213	return awsutil.Prettify(s)
10214}
10215
10216// GoString returns the string representation
10217func (s CreateTapesOutput) GoString() string {
10218	return s.String()
10219}
10220
10221// SetTapeARNs sets the TapeARNs field's value.
10222func (s *CreateTapesOutput) SetTapeARNs(v []*string) *CreateTapesOutput {
10223	s.TapeARNs = v
10224	return s
10225}
10226
10227// A JSON object containing the following fields:
10228//
10229//    * DeleteBandwidthRateLimitInput$BandwidthType
10230type DeleteBandwidthRateLimitInput struct {
10231	_ struct{} `type:"structure"`
10232
10233	// One of the BandwidthType values that indicates the gateway bandwidth rate
10234	// limit to delete.
10235	//
10236	// Valid Values: Upload, Download, All.
10237	//
10238	// BandwidthType is a required field
10239	BandwidthType *string `min:"3" type:"string" required:"true"`
10240
10241	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
10242	// to return a list of gateways for your account and AWS Region.
10243	//
10244	// GatewayARN is a required field
10245	GatewayARN *string `min:"50" type:"string" required:"true"`
10246}
10247
10248// String returns the string representation
10249func (s DeleteBandwidthRateLimitInput) String() string {
10250	return awsutil.Prettify(s)
10251}
10252
10253// GoString returns the string representation
10254func (s DeleteBandwidthRateLimitInput) GoString() string {
10255	return s.String()
10256}
10257
10258// Validate inspects the fields of the type to determine if they are valid.
10259func (s *DeleteBandwidthRateLimitInput) Validate() error {
10260	invalidParams := request.ErrInvalidParams{Context: "DeleteBandwidthRateLimitInput"}
10261	if s.BandwidthType == nil {
10262		invalidParams.Add(request.NewErrParamRequired("BandwidthType"))
10263	}
10264	if s.BandwidthType != nil && len(*s.BandwidthType) < 3 {
10265		invalidParams.Add(request.NewErrParamMinLen("BandwidthType", 3))
10266	}
10267	if s.GatewayARN == nil {
10268		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
10269	}
10270	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
10271		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
10272	}
10273
10274	if invalidParams.Len() > 0 {
10275		return invalidParams
10276	}
10277	return nil
10278}
10279
10280// SetBandwidthType sets the BandwidthType field's value.
10281func (s *DeleteBandwidthRateLimitInput) SetBandwidthType(v string) *DeleteBandwidthRateLimitInput {
10282	s.BandwidthType = &v
10283	return s
10284}
10285
10286// SetGatewayARN sets the GatewayARN field's value.
10287func (s *DeleteBandwidthRateLimitInput) SetGatewayARN(v string) *DeleteBandwidthRateLimitInput {
10288	s.GatewayARN = &v
10289	return s
10290}
10291
10292// A JSON object containing the of the gateway whose bandwidth rate information
10293// was deleted.
10294type DeleteBandwidthRateLimitOutput struct {
10295	_ struct{} `type:"structure"`
10296
10297	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
10298	// to return a list of gateways for your account and AWS Region.
10299	GatewayARN *string `min:"50" type:"string"`
10300}
10301
10302// String returns the string representation
10303func (s DeleteBandwidthRateLimitOutput) String() string {
10304	return awsutil.Prettify(s)
10305}
10306
10307// GoString returns the string representation
10308func (s DeleteBandwidthRateLimitOutput) GoString() string {
10309	return s.String()
10310}
10311
10312// SetGatewayARN sets the GatewayARN field's value.
10313func (s *DeleteBandwidthRateLimitOutput) SetGatewayARN(v string) *DeleteBandwidthRateLimitOutput {
10314	s.GatewayARN = &v
10315	return s
10316}
10317
10318// A JSON object containing one or more of the following fields:
10319//
10320//    * DeleteChapCredentialsInput$InitiatorName
10321//
10322//    * DeleteChapCredentialsInput$TargetARN
10323type DeleteChapCredentialsInput struct {
10324	_ struct{} `type:"structure"`
10325
10326	// The iSCSI initiator that connects to the target.
10327	//
10328	// InitiatorName is a required field
10329	InitiatorName *string `min:"1" type:"string" required:"true"`
10330
10331	// The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes
10332	// operation to return to retrieve the TargetARN for specified VolumeARN.
10333	//
10334	// TargetARN is a required field
10335	TargetARN *string `min:"50" type:"string" required:"true"`
10336}
10337
10338// String returns the string representation
10339func (s DeleteChapCredentialsInput) String() string {
10340	return awsutil.Prettify(s)
10341}
10342
10343// GoString returns the string representation
10344func (s DeleteChapCredentialsInput) GoString() string {
10345	return s.String()
10346}
10347
10348// Validate inspects the fields of the type to determine if they are valid.
10349func (s *DeleteChapCredentialsInput) Validate() error {
10350	invalidParams := request.ErrInvalidParams{Context: "DeleteChapCredentialsInput"}
10351	if s.InitiatorName == nil {
10352		invalidParams.Add(request.NewErrParamRequired("InitiatorName"))
10353	}
10354	if s.InitiatorName != nil && len(*s.InitiatorName) < 1 {
10355		invalidParams.Add(request.NewErrParamMinLen("InitiatorName", 1))
10356	}
10357	if s.TargetARN == nil {
10358		invalidParams.Add(request.NewErrParamRequired("TargetARN"))
10359	}
10360	if s.TargetARN != nil && len(*s.TargetARN) < 50 {
10361		invalidParams.Add(request.NewErrParamMinLen("TargetARN", 50))
10362	}
10363
10364	if invalidParams.Len() > 0 {
10365		return invalidParams
10366	}
10367	return nil
10368}
10369
10370// SetInitiatorName sets the InitiatorName field's value.
10371func (s *DeleteChapCredentialsInput) SetInitiatorName(v string) *DeleteChapCredentialsInput {
10372	s.InitiatorName = &v
10373	return s
10374}
10375
10376// SetTargetARN sets the TargetARN field's value.
10377func (s *DeleteChapCredentialsInput) SetTargetARN(v string) *DeleteChapCredentialsInput {
10378	s.TargetARN = &v
10379	return s
10380}
10381
10382// A JSON object containing the following fields:
10383type DeleteChapCredentialsOutput struct {
10384	_ struct{} `type:"structure"`
10385
10386	// The iSCSI initiator that connects to the target.
10387	InitiatorName *string `min:"1" type:"string"`
10388
10389	// The Amazon Resource Name (ARN) of the target.
10390	TargetARN *string `min:"50" type:"string"`
10391}
10392
10393// String returns the string representation
10394func (s DeleteChapCredentialsOutput) String() string {
10395	return awsutil.Prettify(s)
10396}
10397
10398// GoString returns the string representation
10399func (s DeleteChapCredentialsOutput) GoString() string {
10400	return s.String()
10401}
10402
10403// SetInitiatorName sets the InitiatorName field's value.
10404func (s *DeleteChapCredentialsOutput) SetInitiatorName(v string) *DeleteChapCredentialsOutput {
10405	s.InitiatorName = &v
10406	return s
10407}
10408
10409// SetTargetARN sets the TargetARN field's value.
10410func (s *DeleteChapCredentialsOutput) SetTargetARN(v string) *DeleteChapCredentialsOutput {
10411	s.TargetARN = &v
10412	return s
10413}
10414
10415// DeleteFileShareInput
10416type DeleteFileShareInput struct {
10417	_ struct{} `type:"structure"`
10418
10419	// The Amazon Resource Name (ARN) of the file share to be deleted.
10420	//
10421	// FileShareARN is a required field
10422	FileShareARN *string `min:"50" type:"string" required:"true"`
10423
10424	// If this value is set to true, the operation deletes a file share immediately
10425	// and aborts all data uploads to AWS. Otherwise, the file share is not deleted
10426	// until all data is uploaded to AWS. This process aborts the data upload process,
10427	// and the file share enters the FORCE_DELETING status.
10428	ForceDelete *bool `type:"boolean"`
10429}
10430
10431// String returns the string representation
10432func (s DeleteFileShareInput) String() string {
10433	return awsutil.Prettify(s)
10434}
10435
10436// GoString returns the string representation
10437func (s DeleteFileShareInput) GoString() string {
10438	return s.String()
10439}
10440
10441// Validate inspects the fields of the type to determine if they are valid.
10442func (s *DeleteFileShareInput) Validate() error {
10443	invalidParams := request.ErrInvalidParams{Context: "DeleteFileShareInput"}
10444	if s.FileShareARN == nil {
10445		invalidParams.Add(request.NewErrParamRequired("FileShareARN"))
10446	}
10447	if s.FileShareARN != nil && len(*s.FileShareARN) < 50 {
10448		invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50))
10449	}
10450
10451	if invalidParams.Len() > 0 {
10452		return invalidParams
10453	}
10454	return nil
10455}
10456
10457// SetFileShareARN sets the FileShareARN field's value.
10458func (s *DeleteFileShareInput) SetFileShareARN(v string) *DeleteFileShareInput {
10459	s.FileShareARN = &v
10460	return s
10461}
10462
10463// SetForceDelete sets the ForceDelete field's value.
10464func (s *DeleteFileShareInput) SetForceDelete(v bool) *DeleteFileShareInput {
10465	s.ForceDelete = &v
10466	return s
10467}
10468
10469// DeleteFileShareOutput
10470type DeleteFileShareOutput struct {
10471	_ struct{} `type:"structure"`
10472
10473	// The Amazon Resource Name (ARN) of the deleted file share.
10474	FileShareARN *string `min:"50" type:"string"`
10475}
10476
10477// String returns the string representation
10478func (s DeleteFileShareOutput) String() string {
10479	return awsutil.Prettify(s)
10480}
10481
10482// GoString returns the string representation
10483func (s DeleteFileShareOutput) GoString() string {
10484	return s.String()
10485}
10486
10487// SetFileShareARN sets the FileShareARN field's value.
10488func (s *DeleteFileShareOutput) SetFileShareARN(v string) *DeleteFileShareOutput {
10489	s.FileShareARN = &v
10490	return s
10491}
10492
10493// A JSON object containing the ID of the gateway to delete.
10494type DeleteGatewayInput struct {
10495	_ struct{} `type:"structure"`
10496
10497	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
10498	// to return a list of gateways for your account and AWS Region.
10499	//
10500	// GatewayARN is a required field
10501	GatewayARN *string `min:"50" type:"string" required:"true"`
10502}
10503
10504// String returns the string representation
10505func (s DeleteGatewayInput) String() string {
10506	return awsutil.Prettify(s)
10507}
10508
10509// GoString returns the string representation
10510func (s DeleteGatewayInput) GoString() string {
10511	return s.String()
10512}
10513
10514// Validate inspects the fields of the type to determine if they are valid.
10515func (s *DeleteGatewayInput) Validate() error {
10516	invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayInput"}
10517	if s.GatewayARN == nil {
10518		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
10519	}
10520	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
10521		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
10522	}
10523
10524	if invalidParams.Len() > 0 {
10525		return invalidParams
10526	}
10527	return nil
10528}
10529
10530// SetGatewayARN sets the GatewayARN field's value.
10531func (s *DeleteGatewayInput) SetGatewayARN(v string) *DeleteGatewayInput {
10532	s.GatewayARN = &v
10533	return s
10534}
10535
10536// A JSON object containing the ID of the deleted gateway.
10537type DeleteGatewayOutput struct {
10538	_ struct{} `type:"structure"`
10539
10540	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
10541	// to return a list of gateways for your account and AWS Region.
10542	GatewayARN *string `min:"50" type:"string"`
10543}
10544
10545// String returns the string representation
10546func (s DeleteGatewayOutput) String() string {
10547	return awsutil.Prettify(s)
10548}
10549
10550// GoString returns the string representation
10551func (s DeleteGatewayOutput) GoString() string {
10552	return s.String()
10553}
10554
10555// SetGatewayARN sets the GatewayARN field's value.
10556func (s *DeleteGatewayOutput) SetGatewayARN(v string) *DeleteGatewayOutput {
10557	s.GatewayARN = &v
10558	return s
10559}
10560
10561type DeleteSnapshotScheduleInput struct {
10562	_ struct{} `type:"structure"`
10563
10564	// The volume which snapshot schedule to delete.
10565	//
10566	// VolumeARN is a required field
10567	VolumeARN *string `min:"50" type:"string" required:"true"`
10568}
10569
10570// String returns the string representation
10571func (s DeleteSnapshotScheduleInput) String() string {
10572	return awsutil.Prettify(s)
10573}
10574
10575// GoString returns the string representation
10576func (s DeleteSnapshotScheduleInput) GoString() string {
10577	return s.String()
10578}
10579
10580// Validate inspects the fields of the type to determine if they are valid.
10581func (s *DeleteSnapshotScheduleInput) Validate() error {
10582	invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotScheduleInput"}
10583	if s.VolumeARN == nil {
10584		invalidParams.Add(request.NewErrParamRequired("VolumeARN"))
10585	}
10586	if s.VolumeARN != nil && len(*s.VolumeARN) < 50 {
10587		invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50))
10588	}
10589
10590	if invalidParams.Len() > 0 {
10591		return invalidParams
10592	}
10593	return nil
10594}
10595
10596// SetVolumeARN sets the VolumeARN field's value.
10597func (s *DeleteSnapshotScheduleInput) SetVolumeARN(v string) *DeleteSnapshotScheduleInput {
10598	s.VolumeARN = &v
10599	return s
10600}
10601
10602type DeleteSnapshotScheduleOutput struct {
10603	_ struct{} `type:"structure"`
10604
10605	// The volume which snapshot schedule was deleted.
10606	VolumeARN *string `min:"50" type:"string"`
10607}
10608
10609// String returns the string representation
10610func (s DeleteSnapshotScheduleOutput) String() string {
10611	return awsutil.Prettify(s)
10612}
10613
10614// GoString returns the string representation
10615func (s DeleteSnapshotScheduleOutput) GoString() string {
10616	return s.String()
10617}
10618
10619// SetVolumeARN sets the VolumeARN field's value.
10620func (s *DeleteSnapshotScheduleOutput) SetVolumeARN(v string) *DeleteSnapshotScheduleOutput {
10621	s.VolumeARN = &v
10622	return s
10623}
10624
10625// DeleteTapeArchiveInput
10626type DeleteTapeArchiveInput struct {
10627	_ struct{} `type:"structure"`
10628
10629	// The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual
10630	// tape shelf (VTS).
10631	//
10632	// TapeARN is a required field
10633	TapeARN *string `min:"50" type:"string" required:"true"`
10634}
10635
10636// String returns the string representation
10637func (s DeleteTapeArchiveInput) String() string {
10638	return awsutil.Prettify(s)
10639}
10640
10641// GoString returns the string representation
10642func (s DeleteTapeArchiveInput) GoString() string {
10643	return s.String()
10644}
10645
10646// Validate inspects the fields of the type to determine if they are valid.
10647func (s *DeleteTapeArchiveInput) Validate() error {
10648	invalidParams := request.ErrInvalidParams{Context: "DeleteTapeArchiveInput"}
10649	if s.TapeARN == nil {
10650		invalidParams.Add(request.NewErrParamRequired("TapeARN"))
10651	}
10652	if s.TapeARN != nil && len(*s.TapeARN) < 50 {
10653		invalidParams.Add(request.NewErrParamMinLen("TapeARN", 50))
10654	}
10655
10656	if invalidParams.Len() > 0 {
10657		return invalidParams
10658	}
10659	return nil
10660}
10661
10662// SetTapeARN sets the TapeARN field's value.
10663func (s *DeleteTapeArchiveInput) SetTapeARN(v string) *DeleteTapeArchiveInput {
10664	s.TapeARN = &v
10665	return s
10666}
10667
10668// DeleteTapeArchiveOutput
10669type DeleteTapeArchiveOutput struct {
10670	_ struct{} `type:"structure"`
10671
10672	// The Amazon Resource Name (ARN) of the virtual tape that was deleted from
10673	// the virtual tape shelf (VTS).
10674	TapeARN *string `min:"50" type:"string"`
10675}
10676
10677// String returns the string representation
10678func (s DeleteTapeArchiveOutput) String() string {
10679	return awsutil.Prettify(s)
10680}
10681
10682// GoString returns the string representation
10683func (s DeleteTapeArchiveOutput) GoString() string {
10684	return s.String()
10685}
10686
10687// SetTapeARN sets the TapeARN field's value.
10688func (s *DeleteTapeArchiveOutput) SetTapeARN(v string) *DeleteTapeArchiveOutput {
10689	s.TapeARN = &v
10690	return s
10691}
10692
10693// DeleteTapeInput
10694type DeleteTapeInput struct {
10695	_ struct{} `type:"structure"`
10696
10697	// The unique Amazon Resource Name (ARN) of the gateway that the virtual tape
10698	// to delete is associated with. Use the ListGateways operation to return a
10699	// list of gateways for your account and AWS Region.
10700	//
10701	// GatewayARN is a required field
10702	GatewayARN *string `min:"50" type:"string" required:"true"`
10703
10704	// The Amazon Resource Name (ARN) of the virtual tape to delete.
10705	//
10706	// TapeARN is a required field
10707	TapeARN *string `min:"50" type:"string" required:"true"`
10708}
10709
10710// String returns the string representation
10711func (s DeleteTapeInput) String() string {
10712	return awsutil.Prettify(s)
10713}
10714
10715// GoString returns the string representation
10716func (s DeleteTapeInput) GoString() string {
10717	return s.String()
10718}
10719
10720// Validate inspects the fields of the type to determine if they are valid.
10721func (s *DeleteTapeInput) Validate() error {
10722	invalidParams := request.ErrInvalidParams{Context: "DeleteTapeInput"}
10723	if s.GatewayARN == nil {
10724		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
10725	}
10726	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
10727		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
10728	}
10729	if s.TapeARN == nil {
10730		invalidParams.Add(request.NewErrParamRequired("TapeARN"))
10731	}
10732	if s.TapeARN != nil && len(*s.TapeARN) < 50 {
10733		invalidParams.Add(request.NewErrParamMinLen("TapeARN", 50))
10734	}
10735
10736	if invalidParams.Len() > 0 {
10737		return invalidParams
10738	}
10739	return nil
10740}
10741
10742// SetGatewayARN sets the GatewayARN field's value.
10743func (s *DeleteTapeInput) SetGatewayARN(v string) *DeleteTapeInput {
10744	s.GatewayARN = &v
10745	return s
10746}
10747
10748// SetTapeARN sets the TapeARN field's value.
10749func (s *DeleteTapeInput) SetTapeARN(v string) *DeleteTapeInput {
10750	s.TapeARN = &v
10751	return s
10752}
10753
10754// DeleteTapeOutput
10755type DeleteTapeOutput struct {
10756	_ struct{} `type:"structure"`
10757
10758	// The Amazon Resource Name (ARN) of the deleted virtual tape.
10759	TapeARN *string `min:"50" type:"string"`
10760}
10761
10762// String returns the string representation
10763func (s DeleteTapeOutput) String() string {
10764	return awsutil.Prettify(s)
10765}
10766
10767// GoString returns the string representation
10768func (s DeleteTapeOutput) GoString() string {
10769	return s.String()
10770}
10771
10772// SetTapeARN sets the TapeARN field's value.
10773func (s *DeleteTapeOutput) SetTapeARN(v string) *DeleteTapeOutput {
10774	s.TapeARN = &v
10775	return s
10776}
10777
10778// A JSON object containing the DeleteVolumeInput$VolumeARN to delete.
10779type DeleteVolumeInput struct {
10780	_ struct{} `type:"structure"`
10781
10782	// The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation
10783	// to return a list of gateway volumes.
10784	//
10785	// VolumeARN is a required field
10786	VolumeARN *string `min:"50" type:"string" required:"true"`
10787}
10788
10789// String returns the string representation
10790func (s DeleteVolumeInput) String() string {
10791	return awsutil.Prettify(s)
10792}
10793
10794// GoString returns the string representation
10795func (s DeleteVolumeInput) GoString() string {
10796	return s.String()
10797}
10798
10799// Validate inspects the fields of the type to determine if they are valid.
10800func (s *DeleteVolumeInput) Validate() error {
10801	invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"}
10802	if s.VolumeARN == nil {
10803		invalidParams.Add(request.NewErrParamRequired("VolumeARN"))
10804	}
10805	if s.VolumeARN != nil && len(*s.VolumeARN) < 50 {
10806		invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50))
10807	}
10808
10809	if invalidParams.Len() > 0 {
10810		return invalidParams
10811	}
10812	return nil
10813}
10814
10815// SetVolumeARN sets the VolumeARN field's value.
10816func (s *DeleteVolumeInput) SetVolumeARN(v string) *DeleteVolumeInput {
10817	s.VolumeARN = &v
10818	return s
10819}
10820
10821// A JSON object containing the of the storage volume that was deleted
10822type DeleteVolumeOutput struct {
10823	_ struct{} `type:"structure"`
10824
10825	// The Amazon Resource Name (ARN) of the storage volume that was deleted. It
10826	// is the same ARN you provided in the request.
10827	VolumeARN *string `min:"50" type:"string"`
10828}
10829
10830// String returns the string representation
10831func (s DeleteVolumeOutput) String() string {
10832	return awsutil.Prettify(s)
10833}
10834
10835// GoString returns the string representation
10836func (s DeleteVolumeOutput) GoString() string {
10837	return s.String()
10838}
10839
10840// SetVolumeARN sets the VolumeARN field's value.
10841func (s *DeleteVolumeOutput) SetVolumeARN(v string) *DeleteVolumeOutput {
10842	s.VolumeARN = &v
10843	return s
10844}
10845
10846type DescribeAvailabilityMonitorTestInput struct {
10847	_ struct{} `type:"structure"`
10848
10849	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
10850	// to return a list of gateways for your account and AWS Region.
10851	//
10852	// GatewayARN is a required field
10853	GatewayARN *string `min:"50" type:"string" required:"true"`
10854}
10855
10856// String returns the string representation
10857func (s DescribeAvailabilityMonitorTestInput) String() string {
10858	return awsutil.Prettify(s)
10859}
10860
10861// GoString returns the string representation
10862func (s DescribeAvailabilityMonitorTestInput) GoString() string {
10863	return s.String()
10864}
10865
10866// Validate inspects the fields of the type to determine if they are valid.
10867func (s *DescribeAvailabilityMonitorTestInput) Validate() error {
10868	invalidParams := request.ErrInvalidParams{Context: "DescribeAvailabilityMonitorTestInput"}
10869	if s.GatewayARN == nil {
10870		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
10871	}
10872	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
10873		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
10874	}
10875
10876	if invalidParams.Len() > 0 {
10877		return invalidParams
10878	}
10879	return nil
10880}
10881
10882// SetGatewayARN sets the GatewayARN field's value.
10883func (s *DescribeAvailabilityMonitorTestInput) SetGatewayARN(v string) *DescribeAvailabilityMonitorTestInput {
10884	s.GatewayARN = &v
10885	return s
10886}
10887
10888type DescribeAvailabilityMonitorTestOutput struct {
10889	_ struct{} `type:"structure"`
10890
10891	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
10892	// to return a list of gateways for your account and AWS Region.
10893	GatewayARN *string `min:"50" type:"string"`
10894
10895	// The time the High Availability monitoring test was started. If a test hasn't
10896	// been performed, the value of this field is null.
10897	StartTime *time.Time `type:"timestamp"`
10898
10899	// The status of the High Availability monitoring test. If a test hasn't been
10900	// performed, the value of this field is null.
10901	Status *string `type:"string" enum:"AvailabilityMonitorTestStatus"`
10902}
10903
10904// String returns the string representation
10905func (s DescribeAvailabilityMonitorTestOutput) String() string {
10906	return awsutil.Prettify(s)
10907}
10908
10909// GoString returns the string representation
10910func (s DescribeAvailabilityMonitorTestOutput) GoString() string {
10911	return s.String()
10912}
10913
10914// SetGatewayARN sets the GatewayARN field's value.
10915func (s *DescribeAvailabilityMonitorTestOutput) SetGatewayARN(v string) *DescribeAvailabilityMonitorTestOutput {
10916	s.GatewayARN = &v
10917	return s
10918}
10919
10920// SetStartTime sets the StartTime field's value.
10921func (s *DescribeAvailabilityMonitorTestOutput) SetStartTime(v time.Time) *DescribeAvailabilityMonitorTestOutput {
10922	s.StartTime = &v
10923	return s
10924}
10925
10926// SetStatus sets the Status field's value.
10927func (s *DescribeAvailabilityMonitorTestOutput) SetStatus(v string) *DescribeAvailabilityMonitorTestOutput {
10928	s.Status = &v
10929	return s
10930}
10931
10932// A JSON object containing the of the gateway.
10933type DescribeBandwidthRateLimitInput struct {
10934	_ struct{} `type:"structure"`
10935
10936	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
10937	// to return a list of gateways for your account and AWS Region.
10938	//
10939	// GatewayARN is a required field
10940	GatewayARN *string `min:"50" type:"string" required:"true"`
10941}
10942
10943// String returns the string representation
10944func (s DescribeBandwidthRateLimitInput) String() string {
10945	return awsutil.Prettify(s)
10946}
10947
10948// GoString returns the string representation
10949func (s DescribeBandwidthRateLimitInput) GoString() string {
10950	return s.String()
10951}
10952
10953// Validate inspects the fields of the type to determine if they are valid.
10954func (s *DescribeBandwidthRateLimitInput) Validate() error {
10955	invalidParams := request.ErrInvalidParams{Context: "DescribeBandwidthRateLimitInput"}
10956	if s.GatewayARN == nil {
10957		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
10958	}
10959	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
10960		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
10961	}
10962
10963	if invalidParams.Len() > 0 {
10964		return invalidParams
10965	}
10966	return nil
10967}
10968
10969// SetGatewayARN sets the GatewayARN field's value.
10970func (s *DescribeBandwidthRateLimitInput) SetGatewayARN(v string) *DescribeBandwidthRateLimitInput {
10971	s.GatewayARN = &v
10972	return s
10973}
10974
10975// A JSON object containing the following fields:
10976type DescribeBandwidthRateLimitOutput struct {
10977	_ struct{} `type:"structure"`
10978
10979	// The average download bandwidth rate limit in bits per second. This field
10980	// does not appear in the response if the download rate limit is not set.
10981	AverageDownloadRateLimitInBitsPerSec *int64 `min:"102400" type:"long"`
10982
10983	// The average upload bandwidth rate limit in bits per second. This field does
10984	// not appear in the response if the upload rate limit is not set.
10985	AverageUploadRateLimitInBitsPerSec *int64 `min:"51200" type:"long"`
10986
10987	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
10988	// to return a list of gateways for your account and AWS Region.
10989	GatewayARN *string `min:"50" type:"string"`
10990}
10991
10992// String returns the string representation
10993func (s DescribeBandwidthRateLimitOutput) String() string {
10994	return awsutil.Prettify(s)
10995}
10996
10997// GoString returns the string representation
10998func (s DescribeBandwidthRateLimitOutput) GoString() string {
10999	return s.String()
11000}
11001
11002// SetAverageDownloadRateLimitInBitsPerSec sets the AverageDownloadRateLimitInBitsPerSec field's value.
11003func (s *DescribeBandwidthRateLimitOutput) SetAverageDownloadRateLimitInBitsPerSec(v int64) *DescribeBandwidthRateLimitOutput {
11004	s.AverageDownloadRateLimitInBitsPerSec = &v
11005	return s
11006}
11007
11008// SetAverageUploadRateLimitInBitsPerSec sets the AverageUploadRateLimitInBitsPerSec field's value.
11009func (s *DescribeBandwidthRateLimitOutput) SetAverageUploadRateLimitInBitsPerSec(v int64) *DescribeBandwidthRateLimitOutput {
11010	s.AverageUploadRateLimitInBitsPerSec = &v
11011	return s
11012}
11013
11014// SetGatewayARN sets the GatewayARN field's value.
11015func (s *DescribeBandwidthRateLimitOutput) SetGatewayARN(v string) *DescribeBandwidthRateLimitOutput {
11016	s.GatewayARN = &v
11017	return s
11018}
11019
11020type DescribeCacheInput struct {
11021	_ struct{} `type:"structure"`
11022
11023	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
11024	// to return a list of gateways for your account and AWS Region.
11025	//
11026	// GatewayARN is a required field
11027	GatewayARN *string `min:"50" type:"string" required:"true"`
11028}
11029
11030// String returns the string representation
11031func (s DescribeCacheInput) String() string {
11032	return awsutil.Prettify(s)
11033}
11034
11035// GoString returns the string representation
11036func (s DescribeCacheInput) GoString() string {
11037	return s.String()
11038}
11039
11040// Validate inspects the fields of the type to determine if they are valid.
11041func (s *DescribeCacheInput) Validate() error {
11042	invalidParams := request.ErrInvalidParams{Context: "DescribeCacheInput"}
11043	if s.GatewayARN == nil {
11044		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
11045	}
11046	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
11047		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
11048	}
11049
11050	if invalidParams.Len() > 0 {
11051		return invalidParams
11052	}
11053	return nil
11054}
11055
11056// SetGatewayARN sets the GatewayARN field's value.
11057func (s *DescribeCacheInput) SetGatewayARN(v string) *DescribeCacheInput {
11058	s.GatewayARN = &v
11059	return s
11060}
11061
11062type DescribeCacheOutput struct {
11063	_ struct{} `type:"structure"`
11064
11065	// The amount of cache in bytes allocated to the a gateway.
11066	CacheAllocatedInBytes *int64 `type:"long"`
11067
11068	// The file share's contribution to the overall percentage of the gateway's
11069	// cache that has not been persisted to AWS. The sample is taken at the end
11070	// of the reporting period.
11071	CacheDirtyPercentage *float64 `type:"double"`
11072
11073	// Percent of application read operations from the file shares that are served
11074	// from cache. The sample is taken at the end of the reporting period.
11075	CacheHitPercentage *float64 `type:"double"`
11076
11077	// Percent of application read operations from the file shares that are not
11078	// served from cache. The sample is taken at the end of the reporting period.
11079	CacheMissPercentage *float64 `type:"double"`
11080
11081	// Percent use of the gateway's cache storage. This metric applies only to the
11082	// gateway-cached volume setup. The sample is taken at the end of the reporting
11083	// period.
11084	CacheUsedPercentage *float64 `type:"double"`
11085
11086	// An array of strings that identify disks that are to be configured as working
11087	// storage. Each string have a minimum length of 1 and maximum length of 300.
11088	// You can get the disk IDs from the ListLocalDisks API.
11089	DiskIds []*string `type:"list"`
11090
11091	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
11092	// to return a list of gateways for your account and AWS Region.
11093	GatewayARN *string `min:"50" type:"string"`
11094}
11095
11096// String returns the string representation
11097func (s DescribeCacheOutput) String() string {
11098	return awsutil.Prettify(s)
11099}
11100
11101// GoString returns the string representation
11102func (s DescribeCacheOutput) GoString() string {
11103	return s.String()
11104}
11105
11106// SetCacheAllocatedInBytes sets the CacheAllocatedInBytes field's value.
11107func (s *DescribeCacheOutput) SetCacheAllocatedInBytes(v int64) *DescribeCacheOutput {
11108	s.CacheAllocatedInBytes = &v
11109	return s
11110}
11111
11112// SetCacheDirtyPercentage sets the CacheDirtyPercentage field's value.
11113func (s *DescribeCacheOutput) SetCacheDirtyPercentage(v float64) *DescribeCacheOutput {
11114	s.CacheDirtyPercentage = &v
11115	return s
11116}
11117
11118// SetCacheHitPercentage sets the CacheHitPercentage field's value.
11119func (s *DescribeCacheOutput) SetCacheHitPercentage(v float64) *DescribeCacheOutput {
11120	s.CacheHitPercentage = &v
11121	return s
11122}
11123
11124// SetCacheMissPercentage sets the CacheMissPercentage field's value.
11125func (s *DescribeCacheOutput) SetCacheMissPercentage(v float64) *DescribeCacheOutput {
11126	s.CacheMissPercentage = &v
11127	return s
11128}
11129
11130// SetCacheUsedPercentage sets the CacheUsedPercentage field's value.
11131func (s *DescribeCacheOutput) SetCacheUsedPercentage(v float64) *DescribeCacheOutput {
11132	s.CacheUsedPercentage = &v
11133	return s
11134}
11135
11136// SetDiskIds sets the DiskIds field's value.
11137func (s *DescribeCacheOutput) SetDiskIds(v []*string) *DescribeCacheOutput {
11138	s.DiskIds = v
11139	return s
11140}
11141
11142// SetGatewayARN sets the GatewayARN field's value.
11143func (s *DescribeCacheOutput) SetGatewayARN(v string) *DescribeCacheOutput {
11144	s.GatewayARN = &v
11145	return s
11146}
11147
11148type DescribeCachediSCSIVolumesInput struct {
11149	_ struct{} `type:"structure"`
11150
11151	// An array of strings where each string represents the Amazon Resource Name
11152	// (ARN) of a cached volume. All of the specified cached volumes must from the
11153	// same gateway. Use ListVolumes to get volume ARNs for a gateway.
11154	//
11155	// VolumeARNs is a required field
11156	VolumeARNs []*string `type:"list" required:"true"`
11157}
11158
11159// String returns the string representation
11160func (s DescribeCachediSCSIVolumesInput) String() string {
11161	return awsutil.Prettify(s)
11162}
11163
11164// GoString returns the string representation
11165func (s DescribeCachediSCSIVolumesInput) GoString() string {
11166	return s.String()
11167}
11168
11169// Validate inspects the fields of the type to determine if they are valid.
11170func (s *DescribeCachediSCSIVolumesInput) Validate() error {
11171	invalidParams := request.ErrInvalidParams{Context: "DescribeCachediSCSIVolumesInput"}
11172	if s.VolumeARNs == nil {
11173		invalidParams.Add(request.NewErrParamRequired("VolumeARNs"))
11174	}
11175
11176	if invalidParams.Len() > 0 {
11177		return invalidParams
11178	}
11179	return nil
11180}
11181
11182// SetVolumeARNs sets the VolumeARNs field's value.
11183func (s *DescribeCachediSCSIVolumesInput) SetVolumeARNs(v []*string) *DescribeCachediSCSIVolumesInput {
11184	s.VolumeARNs = v
11185	return s
11186}
11187
11188// A JSON object containing the following fields:
11189type DescribeCachediSCSIVolumesOutput struct {
11190	_ struct{} `type:"structure"`
11191
11192	// An array of objects where each object contains metadata about one cached
11193	// volume.
11194	CachediSCSIVolumes []*CachediSCSIVolume `type:"list"`
11195}
11196
11197// String returns the string representation
11198func (s DescribeCachediSCSIVolumesOutput) String() string {
11199	return awsutil.Prettify(s)
11200}
11201
11202// GoString returns the string representation
11203func (s DescribeCachediSCSIVolumesOutput) GoString() string {
11204	return s.String()
11205}
11206
11207// SetCachediSCSIVolumes sets the CachediSCSIVolumes field's value.
11208func (s *DescribeCachediSCSIVolumesOutput) SetCachediSCSIVolumes(v []*CachediSCSIVolume) *DescribeCachediSCSIVolumesOutput {
11209	s.CachediSCSIVolumes = v
11210	return s
11211}
11212
11213// A JSON object containing the Amazon Resource Name (ARN) of the iSCSI volume
11214// target.
11215type DescribeChapCredentialsInput struct {
11216	_ struct{} `type:"structure"`
11217
11218	// The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes
11219	// operation to return to retrieve the TargetARN for specified VolumeARN.
11220	//
11221	// TargetARN is a required field
11222	TargetARN *string `min:"50" type:"string" required:"true"`
11223}
11224
11225// String returns the string representation
11226func (s DescribeChapCredentialsInput) String() string {
11227	return awsutil.Prettify(s)
11228}
11229
11230// GoString returns the string representation
11231func (s DescribeChapCredentialsInput) GoString() string {
11232	return s.String()
11233}
11234
11235// Validate inspects the fields of the type to determine if they are valid.
11236func (s *DescribeChapCredentialsInput) Validate() error {
11237	invalidParams := request.ErrInvalidParams{Context: "DescribeChapCredentialsInput"}
11238	if s.TargetARN == nil {
11239		invalidParams.Add(request.NewErrParamRequired("TargetARN"))
11240	}
11241	if s.TargetARN != nil && len(*s.TargetARN) < 50 {
11242		invalidParams.Add(request.NewErrParamMinLen("TargetARN", 50))
11243	}
11244
11245	if invalidParams.Len() > 0 {
11246		return invalidParams
11247	}
11248	return nil
11249}
11250
11251// SetTargetARN sets the TargetARN field's value.
11252func (s *DescribeChapCredentialsInput) SetTargetARN(v string) *DescribeChapCredentialsInput {
11253	s.TargetARN = &v
11254	return s
11255}
11256
11257// A JSON object containing a .
11258type DescribeChapCredentialsOutput struct {
11259	_ struct{} `type:"structure"`
11260
11261	// An array of ChapInfo objects that represent CHAP credentials. Each object
11262	// in the array contains CHAP credential information for one target-initiator
11263	// pair. If no CHAP credentials are set, an empty array is returned. CHAP credential
11264	// information is provided in a JSON object with the following fields:
11265	//
11266	//    * InitiatorName: The iSCSI initiator that connects to the target.
11267	//
11268	//    * SecretToAuthenticateInitiator: The secret key that the initiator (for
11269	//    example, the Windows client) must provide to participate in mutual CHAP
11270	//    with the target.
11271	//
11272	//    * SecretToAuthenticateTarget: The secret key that the target must provide
11273	//    to participate in mutual CHAP with the initiator (e.g. Windows client).
11274	//
11275	//    * TargetARN: The Amazon Resource Name (ARN) of the storage volume.
11276	ChapCredentials []*ChapInfo `type:"list"`
11277}
11278
11279// String returns the string representation
11280func (s DescribeChapCredentialsOutput) String() string {
11281	return awsutil.Prettify(s)
11282}
11283
11284// GoString returns the string representation
11285func (s DescribeChapCredentialsOutput) GoString() string {
11286	return s.String()
11287}
11288
11289// SetChapCredentials sets the ChapCredentials field's value.
11290func (s *DescribeChapCredentialsOutput) SetChapCredentials(v []*ChapInfo) *DescribeChapCredentialsOutput {
11291	s.ChapCredentials = v
11292	return s
11293}
11294
11295// A JSON object containing the ID of the gateway.
11296type DescribeGatewayInformationInput struct {
11297	_ struct{} `type:"structure"`
11298
11299	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
11300	// to return a list of gateways for your account and AWS Region.
11301	//
11302	// GatewayARN is a required field
11303	GatewayARN *string `min:"50" type:"string" required:"true"`
11304}
11305
11306// String returns the string representation
11307func (s DescribeGatewayInformationInput) String() string {
11308	return awsutil.Prettify(s)
11309}
11310
11311// GoString returns the string representation
11312func (s DescribeGatewayInformationInput) GoString() string {
11313	return s.String()
11314}
11315
11316// Validate inspects the fields of the type to determine if they are valid.
11317func (s *DescribeGatewayInformationInput) Validate() error {
11318	invalidParams := request.ErrInvalidParams{Context: "DescribeGatewayInformationInput"}
11319	if s.GatewayARN == nil {
11320		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
11321	}
11322	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
11323		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
11324	}
11325
11326	if invalidParams.Len() > 0 {
11327		return invalidParams
11328	}
11329	return nil
11330}
11331
11332// SetGatewayARN sets the GatewayARN field's value.
11333func (s *DescribeGatewayInformationInput) SetGatewayARN(v string) *DescribeGatewayInformationInput {
11334	s.GatewayARN = &v
11335	return s
11336}
11337
11338// A JSON object containing the following fields:
11339type DescribeGatewayInformationOutput struct {
11340	_ struct{} `type:"structure"`
11341
11342	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Log Group that is
11343	// used to monitor events in the gateway.
11344	CloudWatchLogGroupARN *string `type:"string"`
11345
11346	// The ID of the Amazon EC2 instance that was used to launch the gateway.
11347	Ec2InstanceId *string `type:"string"`
11348
11349	// The AWS Region where the Amazon EC2 instance is located.
11350	Ec2InstanceRegion *string `type:"string"`
11351
11352	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
11353	// to return a list of gateways for your account and AWS Region.
11354	GatewayARN *string `min:"50" type:"string"`
11355
11356	// The unique identifier assigned to your gateway during activation. This ID
11357	// becomes part of the gateway Amazon Resource Name (ARN), which you use as
11358	// input for other operations.
11359	GatewayId *string `min:"12" type:"string"`
11360
11361	// The name you configured for your gateway.
11362	GatewayName *string `type:"string"`
11363
11364	// A NetworkInterface array that contains descriptions of the gateway network
11365	// interfaces.
11366	GatewayNetworkInterfaces []*NetworkInterface `type:"list"`
11367
11368	// A value that indicates the operating state of the gateway.
11369	GatewayState *string `min:"2" type:"string"`
11370
11371	// A value that indicates the time zone configured for the gateway.
11372	GatewayTimezone *string `min:"3" type:"string"`
11373
11374	// The type of the gateway.
11375	GatewayType *string `min:"2" type:"string"`
11376
11377	// The type of hypervisor environment used by the host.
11378	HostEnvironment *string `type:"string" enum:"HostEnvironment"`
11379
11380	// The date on which the last software update was applied to the gateway. If
11381	// the gateway has never been updated, this field does not return a value in
11382	// the response.
11383	LastSoftwareUpdate *string `min:"1" type:"string"`
11384
11385	// The date on which an update to the gateway is available. This date is in
11386	// the time zone of the gateway. If the gateway is not available for an update
11387	// this field is not returned in the response.
11388	NextUpdateAvailabilityDate *string `min:"1" type:"string"`
11389
11390	// A list of up to 50 tags assigned to the gateway, sorted alphabetically by
11391	// key name. Each tag is a key-value pair. For a gateway with more than 10 tags
11392	// assigned, you can view all tags using the ListTagsForResource API operation.
11393	Tags []*Tag `type:"list"`
11394
11395	// The configuration settings for the virtual private cloud (VPC) endpoint for
11396	// your gateway.
11397	VPCEndpoint *string `type:"string"`
11398}
11399
11400// String returns the string representation
11401func (s DescribeGatewayInformationOutput) String() string {
11402	return awsutil.Prettify(s)
11403}
11404
11405// GoString returns the string representation
11406func (s DescribeGatewayInformationOutput) GoString() string {
11407	return s.String()
11408}
11409
11410// SetCloudWatchLogGroupARN sets the CloudWatchLogGroupARN field's value.
11411func (s *DescribeGatewayInformationOutput) SetCloudWatchLogGroupARN(v string) *DescribeGatewayInformationOutput {
11412	s.CloudWatchLogGroupARN = &v
11413	return s
11414}
11415
11416// SetEc2InstanceId sets the Ec2InstanceId field's value.
11417func (s *DescribeGatewayInformationOutput) SetEc2InstanceId(v string) *DescribeGatewayInformationOutput {
11418	s.Ec2InstanceId = &v
11419	return s
11420}
11421
11422// SetEc2InstanceRegion sets the Ec2InstanceRegion field's value.
11423func (s *DescribeGatewayInformationOutput) SetEc2InstanceRegion(v string) *DescribeGatewayInformationOutput {
11424	s.Ec2InstanceRegion = &v
11425	return s
11426}
11427
11428// SetGatewayARN sets the GatewayARN field's value.
11429func (s *DescribeGatewayInformationOutput) SetGatewayARN(v string) *DescribeGatewayInformationOutput {
11430	s.GatewayARN = &v
11431	return s
11432}
11433
11434// SetGatewayId sets the GatewayId field's value.
11435func (s *DescribeGatewayInformationOutput) SetGatewayId(v string) *DescribeGatewayInformationOutput {
11436	s.GatewayId = &v
11437	return s
11438}
11439
11440// SetGatewayName sets the GatewayName field's value.
11441func (s *DescribeGatewayInformationOutput) SetGatewayName(v string) *DescribeGatewayInformationOutput {
11442	s.GatewayName = &v
11443	return s
11444}
11445
11446// SetGatewayNetworkInterfaces sets the GatewayNetworkInterfaces field's value.
11447func (s *DescribeGatewayInformationOutput) SetGatewayNetworkInterfaces(v []*NetworkInterface) *DescribeGatewayInformationOutput {
11448	s.GatewayNetworkInterfaces = v
11449	return s
11450}
11451
11452// SetGatewayState sets the GatewayState field's value.
11453func (s *DescribeGatewayInformationOutput) SetGatewayState(v string) *DescribeGatewayInformationOutput {
11454	s.GatewayState = &v
11455	return s
11456}
11457
11458// SetGatewayTimezone sets the GatewayTimezone field's value.
11459func (s *DescribeGatewayInformationOutput) SetGatewayTimezone(v string) *DescribeGatewayInformationOutput {
11460	s.GatewayTimezone = &v
11461	return s
11462}
11463
11464// SetGatewayType sets the GatewayType field's value.
11465func (s *DescribeGatewayInformationOutput) SetGatewayType(v string) *DescribeGatewayInformationOutput {
11466	s.GatewayType = &v
11467	return s
11468}
11469
11470// SetHostEnvironment sets the HostEnvironment field's value.
11471func (s *DescribeGatewayInformationOutput) SetHostEnvironment(v string) *DescribeGatewayInformationOutput {
11472	s.HostEnvironment = &v
11473	return s
11474}
11475
11476// SetLastSoftwareUpdate sets the LastSoftwareUpdate field's value.
11477func (s *DescribeGatewayInformationOutput) SetLastSoftwareUpdate(v string) *DescribeGatewayInformationOutput {
11478	s.LastSoftwareUpdate = &v
11479	return s
11480}
11481
11482// SetNextUpdateAvailabilityDate sets the NextUpdateAvailabilityDate field's value.
11483func (s *DescribeGatewayInformationOutput) SetNextUpdateAvailabilityDate(v string) *DescribeGatewayInformationOutput {
11484	s.NextUpdateAvailabilityDate = &v
11485	return s
11486}
11487
11488// SetTags sets the Tags field's value.
11489func (s *DescribeGatewayInformationOutput) SetTags(v []*Tag) *DescribeGatewayInformationOutput {
11490	s.Tags = v
11491	return s
11492}
11493
11494// SetVPCEndpoint sets the VPCEndpoint field's value.
11495func (s *DescribeGatewayInformationOutput) SetVPCEndpoint(v string) *DescribeGatewayInformationOutput {
11496	s.VPCEndpoint = &v
11497	return s
11498}
11499
11500// A JSON object containing the of the gateway.
11501type DescribeMaintenanceStartTimeInput struct {
11502	_ struct{} `type:"structure"`
11503
11504	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
11505	// to return a list of gateways for your account and AWS Region.
11506	//
11507	// GatewayARN is a required field
11508	GatewayARN *string `min:"50" type:"string" required:"true"`
11509}
11510
11511// String returns the string representation
11512func (s DescribeMaintenanceStartTimeInput) String() string {
11513	return awsutil.Prettify(s)
11514}
11515
11516// GoString returns the string representation
11517func (s DescribeMaintenanceStartTimeInput) GoString() string {
11518	return s.String()
11519}
11520
11521// Validate inspects the fields of the type to determine if they are valid.
11522func (s *DescribeMaintenanceStartTimeInput) Validate() error {
11523	invalidParams := request.ErrInvalidParams{Context: "DescribeMaintenanceStartTimeInput"}
11524	if s.GatewayARN == nil {
11525		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
11526	}
11527	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
11528		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
11529	}
11530
11531	if invalidParams.Len() > 0 {
11532		return invalidParams
11533	}
11534	return nil
11535}
11536
11537// SetGatewayARN sets the GatewayARN field's value.
11538func (s *DescribeMaintenanceStartTimeInput) SetGatewayARN(v string) *DescribeMaintenanceStartTimeInput {
11539	s.GatewayARN = &v
11540	return s
11541}
11542
11543// A JSON object containing the following fields:
11544//
11545//    * DescribeMaintenanceStartTimeOutput$DayOfMonth
11546//
11547//    * DescribeMaintenanceStartTimeOutput$DayOfWeek
11548//
11549//    * DescribeMaintenanceStartTimeOutput$HourOfDay
11550//
11551//    * DescribeMaintenanceStartTimeOutput$MinuteOfHour
11552//
11553//    * DescribeMaintenanceStartTimeOutput$Timezone
11554type DescribeMaintenanceStartTimeOutput struct {
11555	_ struct{} `type:"structure"`
11556
11557	// The day of the month component of the maintenance start time represented
11558	// as an ordinal number from 1 to 28, where 1 represents the first day of the
11559	// month and 28 represents the last day of the month.
11560	//
11561	// This value is only available for tape and volume gateways.
11562	DayOfMonth *int64 `min:"1" type:"integer"`
11563
11564	// An ordinal number between 0 and 6 that represents the day of the week, where
11565	// 0 represents Sunday and 6 represents Saturday. The day of week is in the
11566	// time zone of the gateway.
11567	DayOfWeek *int64 `type:"integer"`
11568
11569	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
11570	// to return a list of gateways for your account and AWS Region.
11571	GatewayARN *string `min:"50" type:"string"`
11572
11573	// The hour component of the maintenance start time represented as hh, where
11574	// hh is the hour (0 to 23). The hour of the day is in the time zone of the
11575	// gateway.
11576	HourOfDay *int64 `type:"integer"`
11577
11578	// The minute component of the maintenance start time represented as mm, where
11579	// mm is the minute (0 to 59). The minute of the hour is in the time zone of
11580	// the gateway.
11581	MinuteOfHour *int64 `type:"integer"`
11582
11583	// A value that indicates the time zone that is set for the gateway. The start
11584	// time and day of week specified should be in the time zone of the gateway.
11585	Timezone *string `min:"3" type:"string"`
11586}
11587
11588// String returns the string representation
11589func (s DescribeMaintenanceStartTimeOutput) String() string {
11590	return awsutil.Prettify(s)
11591}
11592
11593// GoString returns the string representation
11594func (s DescribeMaintenanceStartTimeOutput) GoString() string {
11595	return s.String()
11596}
11597
11598// SetDayOfMonth sets the DayOfMonth field's value.
11599func (s *DescribeMaintenanceStartTimeOutput) SetDayOfMonth(v int64) *DescribeMaintenanceStartTimeOutput {
11600	s.DayOfMonth = &v
11601	return s
11602}
11603
11604// SetDayOfWeek sets the DayOfWeek field's value.
11605func (s *DescribeMaintenanceStartTimeOutput) SetDayOfWeek(v int64) *DescribeMaintenanceStartTimeOutput {
11606	s.DayOfWeek = &v
11607	return s
11608}
11609
11610// SetGatewayARN sets the GatewayARN field's value.
11611func (s *DescribeMaintenanceStartTimeOutput) SetGatewayARN(v string) *DescribeMaintenanceStartTimeOutput {
11612	s.GatewayARN = &v
11613	return s
11614}
11615
11616// SetHourOfDay sets the HourOfDay field's value.
11617func (s *DescribeMaintenanceStartTimeOutput) SetHourOfDay(v int64) *DescribeMaintenanceStartTimeOutput {
11618	s.HourOfDay = &v
11619	return s
11620}
11621
11622// SetMinuteOfHour sets the MinuteOfHour field's value.
11623func (s *DescribeMaintenanceStartTimeOutput) SetMinuteOfHour(v int64) *DescribeMaintenanceStartTimeOutput {
11624	s.MinuteOfHour = &v
11625	return s
11626}
11627
11628// SetTimezone sets the Timezone field's value.
11629func (s *DescribeMaintenanceStartTimeOutput) SetTimezone(v string) *DescribeMaintenanceStartTimeOutput {
11630	s.Timezone = &v
11631	return s
11632}
11633
11634// DescribeNFSFileSharesInput
11635type DescribeNFSFileSharesInput struct {
11636	_ struct{} `type:"structure"`
11637
11638	// An array containing the Amazon Resource Name (ARN) of each file share to
11639	// be described.
11640	//
11641	// FileShareARNList is a required field
11642	FileShareARNList []*string `min:"1" type:"list" required:"true"`
11643}
11644
11645// String returns the string representation
11646func (s DescribeNFSFileSharesInput) String() string {
11647	return awsutil.Prettify(s)
11648}
11649
11650// GoString returns the string representation
11651func (s DescribeNFSFileSharesInput) GoString() string {
11652	return s.String()
11653}
11654
11655// Validate inspects the fields of the type to determine if they are valid.
11656func (s *DescribeNFSFileSharesInput) Validate() error {
11657	invalidParams := request.ErrInvalidParams{Context: "DescribeNFSFileSharesInput"}
11658	if s.FileShareARNList == nil {
11659		invalidParams.Add(request.NewErrParamRequired("FileShareARNList"))
11660	}
11661	if s.FileShareARNList != nil && len(s.FileShareARNList) < 1 {
11662		invalidParams.Add(request.NewErrParamMinLen("FileShareARNList", 1))
11663	}
11664
11665	if invalidParams.Len() > 0 {
11666		return invalidParams
11667	}
11668	return nil
11669}
11670
11671// SetFileShareARNList sets the FileShareARNList field's value.
11672func (s *DescribeNFSFileSharesInput) SetFileShareARNList(v []*string) *DescribeNFSFileSharesInput {
11673	s.FileShareARNList = v
11674	return s
11675}
11676
11677// DescribeNFSFileSharesOutput
11678type DescribeNFSFileSharesOutput struct {
11679	_ struct{} `type:"structure"`
11680
11681	// An array containing a description for each requested file share.
11682	NFSFileShareInfoList []*NFSFileShareInfo `type:"list"`
11683}
11684
11685// String returns the string representation
11686func (s DescribeNFSFileSharesOutput) String() string {
11687	return awsutil.Prettify(s)
11688}
11689
11690// GoString returns the string representation
11691func (s DescribeNFSFileSharesOutput) GoString() string {
11692	return s.String()
11693}
11694
11695// SetNFSFileShareInfoList sets the NFSFileShareInfoList field's value.
11696func (s *DescribeNFSFileSharesOutput) SetNFSFileShareInfoList(v []*NFSFileShareInfo) *DescribeNFSFileSharesOutput {
11697	s.NFSFileShareInfoList = v
11698	return s
11699}
11700
11701// DescribeSMBFileSharesInput
11702type DescribeSMBFileSharesInput struct {
11703	_ struct{} `type:"structure"`
11704
11705	// An array containing the Amazon Resource Name (ARN) of each file share to
11706	// be described.
11707	//
11708	// FileShareARNList is a required field
11709	FileShareARNList []*string `min:"1" type:"list" required:"true"`
11710}
11711
11712// String returns the string representation
11713func (s DescribeSMBFileSharesInput) String() string {
11714	return awsutil.Prettify(s)
11715}
11716
11717// GoString returns the string representation
11718func (s DescribeSMBFileSharesInput) GoString() string {
11719	return s.String()
11720}
11721
11722// Validate inspects the fields of the type to determine if they are valid.
11723func (s *DescribeSMBFileSharesInput) Validate() error {
11724	invalidParams := request.ErrInvalidParams{Context: "DescribeSMBFileSharesInput"}
11725	if s.FileShareARNList == nil {
11726		invalidParams.Add(request.NewErrParamRequired("FileShareARNList"))
11727	}
11728	if s.FileShareARNList != nil && len(s.FileShareARNList) < 1 {
11729		invalidParams.Add(request.NewErrParamMinLen("FileShareARNList", 1))
11730	}
11731
11732	if invalidParams.Len() > 0 {
11733		return invalidParams
11734	}
11735	return nil
11736}
11737
11738// SetFileShareARNList sets the FileShareARNList field's value.
11739func (s *DescribeSMBFileSharesInput) SetFileShareARNList(v []*string) *DescribeSMBFileSharesInput {
11740	s.FileShareARNList = v
11741	return s
11742}
11743
11744// DescribeSMBFileSharesOutput
11745type DescribeSMBFileSharesOutput struct {
11746	_ struct{} `type:"structure"`
11747
11748	// An array containing a description for each requested file share.
11749	SMBFileShareInfoList []*SMBFileShareInfo `type:"list"`
11750}
11751
11752// String returns the string representation
11753func (s DescribeSMBFileSharesOutput) String() string {
11754	return awsutil.Prettify(s)
11755}
11756
11757// GoString returns the string representation
11758func (s DescribeSMBFileSharesOutput) GoString() string {
11759	return s.String()
11760}
11761
11762// SetSMBFileShareInfoList sets the SMBFileShareInfoList field's value.
11763func (s *DescribeSMBFileSharesOutput) SetSMBFileShareInfoList(v []*SMBFileShareInfo) *DescribeSMBFileSharesOutput {
11764	s.SMBFileShareInfoList = v
11765	return s
11766}
11767
11768type DescribeSMBSettingsInput struct {
11769	_ struct{} `type:"structure"`
11770
11771	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
11772	// to return a list of gateways for your account and AWS Region.
11773	//
11774	// GatewayARN is a required field
11775	GatewayARN *string `min:"50" type:"string" required:"true"`
11776}
11777
11778// String returns the string representation
11779func (s DescribeSMBSettingsInput) String() string {
11780	return awsutil.Prettify(s)
11781}
11782
11783// GoString returns the string representation
11784func (s DescribeSMBSettingsInput) GoString() string {
11785	return s.String()
11786}
11787
11788// Validate inspects the fields of the type to determine if they are valid.
11789func (s *DescribeSMBSettingsInput) Validate() error {
11790	invalidParams := request.ErrInvalidParams{Context: "DescribeSMBSettingsInput"}
11791	if s.GatewayARN == nil {
11792		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
11793	}
11794	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
11795		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
11796	}
11797
11798	if invalidParams.Len() > 0 {
11799		return invalidParams
11800	}
11801	return nil
11802}
11803
11804// SetGatewayARN sets the GatewayARN field's value.
11805func (s *DescribeSMBSettingsInput) SetGatewayARN(v string) *DescribeSMBSettingsInput {
11806	s.GatewayARN = &v
11807	return s
11808}
11809
11810type DescribeSMBSettingsOutput struct {
11811	_ struct{} `type:"structure"`
11812
11813	// Indicates the status of a gateway that is a member of the Active Directory
11814	// domain.
11815	//
11816	//    * ACCESS_DENIED: Indicates that the JoinDomain operation failed due to
11817	//    an authentication error.
11818	//
11819	//    * DETACHED: Indicates that gateway is not joined to a domain.
11820	//
11821	//    * JOINED: Indicates that the gateway has successfully joined a domain.
11822	//
11823	//    * JOINING: Indicates that a JoinDomain operation is in progress.
11824	//
11825	//    * NETWORK_ERROR: Indicates that JoinDomain operation failed due to a network
11826	//    or connectivity error.
11827	//
11828	//    * TIMEOUT: Indicates that the JoinDomain operation failed because the
11829	//    operation didn't complete within the allotted time.
11830	//
11831	//    * UNKNOWN_ERROR: Indicates that the JoinDomain operation failed due to
11832	//    another type of error.
11833	ActiveDirectoryStatus *string `type:"string" enum:"ActiveDirectoryStatus"`
11834
11835	// The name of the domain that the gateway is joined to.
11836	DomainName *string `min:"1" type:"string"`
11837
11838	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
11839	// to return a list of gateways for your account and AWS Region.
11840	GatewayARN *string `min:"50" type:"string"`
11841
11842	// This value is true if a password for the guest user “smbguest” is set,
11843	// and otherwise false.
11844	SMBGuestPasswordSet *bool `type:"boolean"`
11845
11846	// The type of security strategy that was specified for file gateway.
11847	//
11848	// ClientSpecified: if you use this option, requests are established based on
11849	// what is negotiated by the client. This option is recommended when you want
11850	// to maximize compatibility across different clients in your environment.
11851	//
11852	// MandatorySigning: if you use this option, file gateway only allows connections
11853	// from SMBv2 or SMBv3 clients that have signing enabled. This option works
11854	// with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer.
11855	//
11856	// MandatoryEncryption: if you use this option, file gateway only allows connections
11857	// from SMBv3 clients that have encryption enabled. This option is highly recommended
11858	// for environments that handle sensitive data. This option works with SMB clients
11859	// on Microsoft Windows 8, Windows Server 2012 or newer.
11860	SMBSecurityStrategy *string `type:"string" enum:"SMBSecurityStrategy"`
11861}
11862
11863// String returns the string representation
11864func (s DescribeSMBSettingsOutput) String() string {
11865	return awsutil.Prettify(s)
11866}
11867
11868// GoString returns the string representation
11869func (s DescribeSMBSettingsOutput) GoString() string {
11870	return s.String()
11871}
11872
11873// SetActiveDirectoryStatus sets the ActiveDirectoryStatus field's value.
11874func (s *DescribeSMBSettingsOutput) SetActiveDirectoryStatus(v string) *DescribeSMBSettingsOutput {
11875	s.ActiveDirectoryStatus = &v
11876	return s
11877}
11878
11879// SetDomainName sets the DomainName field's value.
11880func (s *DescribeSMBSettingsOutput) SetDomainName(v string) *DescribeSMBSettingsOutput {
11881	s.DomainName = &v
11882	return s
11883}
11884
11885// SetGatewayARN sets the GatewayARN field's value.
11886func (s *DescribeSMBSettingsOutput) SetGatewayARN(v string) *DescribeSMBSettingsOutput {
11887	s.GatewayARN = &v
11888	return s
11889}
11890
11891// SetSMBGuestPasswordSet sets the SMBGuestPasswordSet field's value.
11892func (s *DescribeSMBSettingsOutput) SetSMBGuestPasswordSet(v bool) *DescribeSMBSettingsOutput {
11893	s.SMBGuestPasswordSet = &v
11894	return s
11895}
11896
11897// SetSMBSecurityStrategy sets the SMBSecurityStrategy field's value.
11898func (s *DescribeSMBSettingsOutput) SetSMBSecurityStrategy(v string) *DescribeSMBSettingsOutput {
11899	s.SMBSecurityStrategy = &v
11900	return s
11901}
11902
11903// A JSON object containing the DescribeSnapshotScheduleInput$VolumeARN of the
11904// volume.
11905type DescribeSnapshotScheduleInput struct {
11906	_ struct{} `type:"structure"`
11907
11908	// The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation
11909	// to return a list of gateway volumes.
11910	//
11911	// VolumeARN is a required field
11912	VolumeARN *string `min:"50" type:"string" required:"true"`
11913}
11914
11915// String returns the string representation
11916func (s DescribeSnapshotScheduleInput) String() string {
11917	return awsutil.Prettify(s)
11918}
11919
11920// GoString returns the string representation
11921func (s DescribeSnapshotScheduleInput) GoString() string {
11922	return s.String()
11923}
11924
11925// Validate inspects the fields of the type to determine if they are valid.
11926func (s *DescribeSnapshotScheduleInput) Validate() error {
11927	invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotScheduleInput"}
11928	if s.VolumeARN == nil {
11929		invalidParams.Add(request.NewErrParamRequired("VolumeARN"))
11930	}
11931	if s.VolumeARN != nil && len(*s.VolumeARN) < 50 {
11932		invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50))
11933	}
11934
11935	if invalidParams.Len() > 0 {
11936		return invalidParams
11937	}
11938	return nil
11939}
11940
11941// SetVolumeARN sets the VolumeARN field's value.
11942func (s *DescribeSnapshotScheduleInput) SetVolumeARN(v string) *DescribeSnapshotScheduleInput {
11943	s.VolumeARN = &v
11944	return s
11945}
11946
11947type DescribeSnapshotScheduleOutput struct {
11948	_ struct{} `type:"structure"`
11949
11950	// The snapshot description.
11951	Description *string `min:"1" type:"string"`
11952
11953	// The number of hours between snapshots.
11954	RecurrenceInHours *int64 `min:"1" type:"integer"`
11955
11956	// The hour of the day at which the snapshot schedule begins represented as
11957	// hh, where hh is the hour (0 to 23). The hour of the day is in the time zone
11958	// of the gateway.
11959	StartAt *int64 `type:"integer"`
11960
11961	// A list of up to 50 tags assigned to the snapshot schedule, sorted alphabetically
11962	// by key name. Each tag is a key-value pair. For a gateway with more than 10
11963	// tags assigned, you can view all tags using the ListTagsForResource API operation.
11964	Tags []*Tag `type:"list"`
11965
11966	// A value that indicates the time zone of the gateway.
11967	Timezone *string `min:"3" type:"string"`
11968
11969	// The Amazon Resource Name (ARN) of the volume that was specified in the request.
11970	VolumeARN *string `min:"50" type:"string"`
11971}
11972
11973// String returns the string representation
11974func (s DescribeSnapshotScheduleOutput) String() string {
11975	return awsutil.Prettify(s)
11976}
11977
11978// GoString returns the string representation
11979func (s DescribeSnapshotScheduleOutput) GoString() string {
11980	return s.String()
11981}
11982
11983// SetDescription sets the Description field's value.
11984func (s *DescribeSnapshotScheduleOutput) SetDescription(v string) *DescribeSnapshotScheduleOutput {
11985	s.Description = &v
11986	return s
11987}
11988
11989// SetRecurrenceInHours sets the RecurrenceInHours field's value.
11990func (s *DescribeSnapshotScheduleOutput) SetRecurrenceInHours(v int64) *DescribeSnapshotScheduleOutput {
11991	s.RecurrenceInHours = &v
11992	return s
11993}
11994
11995// SetStartAt sets the StartAt field's value.
11996func (s *DescribeSnapshotScheduleOutput) SetStartAt(v int64) *DescribeSnapshotScheduleOutput {
11997	s.StartAt = &v
11998	return s
11999}
12000
12001// SetTags sets the Tags field's value.
12002func (s *DescribeSnapshotScheduleOutput) SetTags(v []*Tag) *DescribeSnapshotScheduleOutput {
12003	s.Tags = v
12004	return s
12005}
12006
12007// SetTimezone sets the Timezone field's value.
12008func (s *DescribeSnapshotScheduleOutput) SetTimezone(v string) *DescribeSnapshotScheduleOutput {
12009	s.Timezone = &v
12010	return s
12011}
12012
12013// SetVolumeARN sets the VolumeARN field's value.
12014func (s *DescribeSnapshotScheduleOutput) SetVolumeARN(v string) *DescribeSnapshotScheduleOutput {
12015	s.VolumeARN = &v
12016	return s
12017}
12018
12019// A JSON object containing a list of DescribeStorediSCSIVolumesInput$VolumeARNs.
12020type DescribeStorediSCSIVolumesInput struct {
12021	_ struct{} `type:"structure"`
12022
12023	// An array of strings where each string represents the Amazon Resource Name
12024	// (ARN) of a stored volume. All of the specified stored volumes must from the
12025	// same gateway. Use ListVolumes to get volume ARNs for a gateway.
12026	//
12027	// VolumeARNs is a required field
12028	VolumeARNs []*string `type:"list" required:"true"`
12029}
12030
12031// String returns the string representation
12032func (s DescribeStorediSCSIVolumesInput) String() string {
12033	return awsutil.Prettify(s)
12034}
12035
12036// GoString returns the string representation
12037func (s DescribeStorediSCSIVolumesInput) GoString() string {
12038	return s.String()
12039}
12040
12041// Validate inspects the fields of the type to determine if they are valid.
12042func (s *DescribeStorediSCSIVolumesInput) Validate() error {
12043	invalidParams := request.ErrInvalidParams{Context: "DescribeStorediSCSIVolumesInput"}
12044	if s.VolumeARNs == nil {
12045		invalidParams.Add(request.NewErrParamRequired("VolumeARNs"))
12046	}
12047
12048	if invalidParams.Len() > 0 {
12049		return invalidParams
12050	}
12051	return nil
12052}
12053
12054// SetVolumeARNs sets the VolumeARNs field's value.
12055func (s *DescribeStorediSCSIVolumesInput) SetVolumeARNs(v []*string) *DescribeStorediSCSIVolumesInput {
12056	s.VolumeARNs = v
12057	return s
12058}
12059
12060type DescribeStorediSCSIVolumesOutput struct {
12061	_ struct{} `type:"structure"`
12062
12063	// Describes a single unit of output from DescribeStorediSCSIVolumes. The following
12064	// fields are returned:
12065	//
12066	//    * ChapEnabled: Indicates whether mutual CHAP is enabled for the iSCSI
12067	//    target.
12068	//
12069	//    * LunNumber: The logical disk number.
12070	//
12071	//    * NetworkInterfaceId: The network interface ID of the stored volume that
12072	//    initiator use to map the stored volume as an iSCSI target.
12073	//
12074	//    * NetworkInterfacePort: The port used to communicate with iSCSI targets.
12075	//
12076	//    * PreservedExistingData: Indicates if when the stored volume was created,
12077	//    existing data on the underlying local disk was preserved.
12078	//
12079	//    * SourceSnapshotId: If the stored volume was created from a snapshot,
12080	//    this field contains the snapshot ID used, e.g. snap-1122aabb. Otherwise,
12081	//    this field is not included.
12082	//
12083	//    * StorediSCSIVolumes: An array of StorediSCSIVolume objects where each
12084	//    object contains metadata about one stored volume.
12085	//
12086	//    * TargetARN: The Amazon Resource Name (ARN) of the volume target.
12087	//
12088	//    * VolumeARN: The Amazon Resource Name (ARN) of the stored volume.
12089	//
12090	//    * VolumeDiskId: The disk ID of the local disk that was specified in the
12091	//    CreateStorediSCSIVolume operation.
12092	//
12093	//    * VolumeId: The unique identifier of the storage volume, e.g. vol-1122AABB.
12094	//
12095	//    * VolumeiSCSIAttributes: An VolumeiSCSIAttributes object that represents
12096	//    a collection of iSCSI attributes for one stored volume.
12097	//
12098	//    * VolumeProgress: Represents the percentage complete if the volume is
12099	//    restoring or bootstrapping that represents the percent of data transferred.
12100	//    This field does not appear in the response if the stored volume is not
12101	//    restoring or bootstrapping.
12102	//
12103	//    * VolumeSizeInBytes: The size of the volume in bytes.
12104	//
12105	//    * VolumeStatus: One of the VolumeStatus values that indicates the state
12106	//    of the volume.
12107	//
12108	//    * VolumeType: One of the enumeration values describing the type of the
12109	//    volume. Currently, on STORED volumes are supported.
12110	StorediSCSIVolumes []*StorediSCSIVolume `type:"list"`
12111}
12112
12113// String returns the string representation
12114func (s DescribeStorediSCSIVolumesOutput) String() string {
12115	return awsutil.Prettify(s)
12116}
12117
12118// GoString returns the string representation
12119func (s DescribeStorediSCSIVolumesOutput) GoString() string {
12120	return s.String()
12121}
12122
12123// SetStorediSCSIVolumes sets the StorediSCSIVolumes field's value.
12124func (s *DescribeStorediSCSIVolumesOutput) SetStorediSCSIVolumes(v []*StorediSCSIVolume) *DescribeStorediSCSIVolumesOutput {
12125	s.StorediSCSIVolumes = v
12126	return s
12127}
12128
12129// DescribeTapeArchivesInput
12130type DescribeTapeArchivesInput struct {
12131	_ struct{} `type:"structure"`
12132
12133	// Specifies that the number of virtual tapes descried be limited to the specified
12134	// number.
12135	Limit *int64 `min:"1" type:"integer"`
12136
12137	// An opaque string that indicates the position at which to begin describing
12138	// virtual tapes.
12139	Marker *string `min:"1" type:"string"`
12140
12141	// Specifies one or more unique Amazon Resource Names (ARNs) that represent
12142	// the virtual tapes you want to describe.
12143	TapeARNs []*string `type:"list"`
12144}
12145
12146// String returns the string representation
12147func (s DescribeTapeArchivesInput) String() string {
12148	return awsutil.Prettify(s)
12149}
12150
12151// GoString returns the string representation
12152func (s DescribeTapeArchivesInput) GoString() string {
12153	return s.String()
12154}
12155
12156// Validate inspects the fields of the type to determine if they are valid.
12157func (s *DescribeTapeArchivesInput) Validate() error {
12158	invalidParams := request.ErrInvalidParams{Context: "DescribeTapeArchivesInput"}
12159	if s.Limit != nil && *s.Limit < 1 {
12160		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12161	}
12162	if s.Marker != nil && len(*s.Marker) < 1 {
12163		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
12164	}
12165
12166	if invalidParams.Len() > 0 {
12167		return invalidParams
12168	}
12169	return nil
12170}
12171
12172// SetLimit sets the Limit field's value.
12173func (s *DescribeTapeArchivesInput) SetLimit(v int64) *DescribeTapeArchivesInput {
12174	s.Limit = &v
12175	return s
12176}
12177
12178// SetMarker sets the Marker field's value.
12179func (s *DescribeTapeArchivesInput) SetMarker(v string) *DescribeTapeArchivesInput {
12180	s.Marker = &v
12181	return s
12182}
12183
12184// SetTapeARNs sets the TapeARNs field's value.
12185func (s *DescribeTapeArchivesInput) SetTapeARNs(v []*string) *DescribeTapeArchivesInput {
12186	s.TapeARNs = v
12187	return s
12188}
12189
12190// DescribeTapeArchivesOutput
12191type DescribeTapeArchivesOutput struct {
12192	_ struct{} `type:"structure"`
12193
12194	// An opaque string that indicates the position at which the virtual tapes that
12195	// were fetched for description ended. Use this marker in your next request
12196	// to fetch the next set of virtual tapes in the virtual tape shelf (VTS). If
12197	// there are no more virtual tapes to describe, this field does not appear in
12198	// the response.
12199	Marker *string `min:"1" type:"string"`
12200
12201	// An array of virtual tape objects in the virtual tape shelf (VTS). The description
12202	// includes of the Amazon Resource Name (ARN) of the virtual tapes. The information
12203	// returned includes the Amazon Resource Names (ARNs) of the tapes, size of
12204	// the tapes, status of the tapes, progress of the description and tape barcode.
12205	TapeArchives []*TapeArchive `type:"list"`
12206}
12207
12208// String returns the string representation
12209func (s DescribeTapeArchivesOutput) String() string {
12210	return awsutil.Prettify(s)
12211}
12212
12213// GoString returns the string representation
12214func (s DescribeTapeArchivesOutput) GoString() string {
12215	return s.String()
12216}
12217
12218// SetMarker sets the Marker field's value.
12219func (s *DescribeTapeArchivesOutput) SetMarker(v string) *DescribeTapeArchivesOutput {
12220	s.Marker = &v
12221	return s
12222}
12223
12224// SetTapeArchives sets the TapeArchives field's value.
12225func (s *DescribeTapeArchivesOutput) SetTapeArchives(v []*TapeArchive) *DescribeTapeArchivesOutput {
12226	s.TapeArchives = v
12227	return s
12228}
12229
12230// DescribeTapeRecoveryPointsInput
12231type DescribeTapeRecoveryPointsInput struct {
12232	_ struct{} `type:"structure"`
12233
12234	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12235	// to return a list of gateways for your account and AWS Region.
12236	//
12237	// GatewayARN is a required field
12238	GatewayARN *string `min:"50" type:"string" required:"true"`
12239
12240	// Specifies that the number of virtual tape recovery points that are described
12241	// be limited to the specified number.
12242	Limit *int64 `min:"1" type:"integer"`
12243
12244	// An opaque string that indicates the position at which to begin describing
12245	// the virtual tape recovery points.
12246	Marker *string `min:"1" type:"string"`
12247}
12248
12249// String returns the string representation
12250func (s DescribeTapeRecoveryPointsInput) String() string {
12251	return awsutil.Prettify(s)
12252}
12253
12254// GoString returns the string representation
12255func (s DescribeTapeRecoveryPointsInput) GoString() string {
12256	return s.String()
12257}
12258
12259// Validate inspects the fields of the type to determine if they are valid.
12260func (s *DescribeTapeRecoveryPointsInput) Validate() error {
12261	invalidParams := request.ErrInvalidParams{Context: "DescribeTapeRecoveryPointsInput"}
12262	if s.GatewayARN == nil {
12263		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
12264	}
12265	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
12266		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
12267	}
12268	if s.Limit != nil && *s.Limit < 1 {
12269		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12270	}
12271	if s.Marker != nil && len(*s.Marker) < 1 {
12272		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
12273	}
12274
12275	if invalidParams.Len() > 0 {
12276		return invalidParams
12277	}
12278	return nil
12279}
12280
12281// SetGatewayARN sets the GatewayARN field's value.
12282func (s *DescribeTapeRecoveryPointsInput) SetGatewayARN(v string) *DescribeTapeRecoveryPointsInput {
12283	s.GatewayARN = &v
12284	return s
12285}
12286
12287// SetLimit sets the Limit field's value.
12288func (s *DescribeTapeRecoveryPointsInput) SetLimit(v int64) *DescribeTapeRecoveryPointsInput {
12289	s.Limit = &v
12290	return s
12291}
12292
12293// SetMarker sets the Marker field's value.
12294func (s *DescribeTapeRecoveryPointsInput) SetMarker(v string) *DescribeTapeRecoveryPointsInput {
12295	s.Marker = &v
12296	return s
12297}
12298
12299// DescribeTapeRecoveryPointsOutput
12300type DescribeTapeRecoveryPointsOutput struct {
12301	_ struct{} `type:"structure"`
12302
12303	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12304	// to return a list of gateways for your account and AWS Region.
12305	GatewayARN *string `min:"50" type:"string"`
12306
12307	// An opaque string that indicates the position at which the virtual tape recovery
12308	// points that were listed for description ended.
12309	//
12310	// Use this marker in your next request to list the next set of virtual tape
12311	// recovery points in the list. If there are no more recovery points to describe,
12312	// this field does not appear in the response.
12313	Marker *string `min:"1" type:"string"`
12314
12315	// An array of TapeRecoveryPointInfos that are available for the specified gateway.
12316	TapeRecoveryPointInfos []*TapeRecoveryPointInfo `type:"list"`
12317}
12318
12319// String returns the string representation
12320func (s DescribeTapeRecoveryPointsOutput) String() string {
12321	return awsutil.Prettify(s)
12322}
12323
12324// GoString returns the string representation
12325func (s DescribeTapeRecoveryPointsOutput) GoString() string {
12326	return s.String()
12327}
12328
12329// SetGatewayARN sets the GatewayARN field's value.
12330func (s *DescribeTapeRecoveryPointsOutput) SetGatewayARN(v string) *DescribeTapeRecoveryPointsOutput {
12331	s.GatewayARN = &v
12332	return s
12333}
12334
12335// SetMarker sets the Marker field's value.
12336func (s *DescribeTapeRecoveryPointsOutput) SetMarker(v string) *DescribeTapeRecoveryPointsOutput {
12337	s.Marker = &v
12338	return s
12339}
12340
12341// SetTapeRecoveryPointInfos sets the TapeRecoveryPointInfos field's value.
12342func (s *DescribeTapeRecoveryPointsOutput) SetTapeRecoveryPointInfos(v []*TapeRecoveryPointInfo) *DescribeTapeRecoveryPointsOutput {
12343	s.TapeRecoveryPointInfos = v
12344	return s
12345}
12346
12347// DescribeTapesInput
12348type DescribeTapesInput struct {
12349	_ struct{} `type:"structure"`
12350
12351	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12352	// to return a list of gateways for your account and AWS Region.
12353	//
12354	// GatewayARN is a required field
12355	GatewayARN *string `min:"50" type:"string" required:"true"`
12356
12357	// Specifies that the number of virtual tapes described be limited to the specified
12358	// number.
12359	//
12360	// Amazon Web Services may impose its own limit, if this field is not set.
12361	Limit *int64 `min:"1" type:"integer"`
12362
12363	// A marker value, obtained in a previous call to DescribeTapes. This marker
12364	// indicates which page of results to retrieve.
12365	//
12366	// If not specified, the first page of results is retrieved.
12367	Marker *string `min:"1" type:"string"`
12368
12369	// Specifies one or more unique Amazon Resource Names (ARNs) that represent
12370	// the virtual tapes you want to describe. If this parameter is not specified,
12371	// Tape gateway returns a description of all virtual tapes associated with the
12372	// specified gateway.
12373	TapeARNs []*string `type:"list"`
12374}
12375
12376// String returns the string representation
12377func (s DescribeTapesInput) String() string {
12378	return awsutil.Prettify(s)
12379}
12380
12381// GoString returns the string representation
12382func (s DescribeTapesInput) GoString() string {
12383	return s.String()
12384}
12385
12386// Validate inspects the fields of the type to determine if they are valid.
12387func (s *DescribeTapesInput) Validate() error {
12388	invalidParams := request.ErrInvalidParams{Context: "DescribeTapesInput"}
12389	if s.GatewayARN == nil {
12390		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
12391	}
12392	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
12393		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
12394	}
12395	if s.Limit != nil && *s.Limit < 1 {
12396		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12397	}
12398	if s.Marker != nil && len(*s.Marker) < 1 {
12399		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
12400	}
12401
12402	if invalidParams.Len() > 0 {
12403		return invalidParams
12404	}
12405	return nil
12406}
12407
12408// SetGatewayARN sets the GatewayARN field's value.
12409func (s *DescribeTapesInput) SetGatewayARN(v string) *DescribeTapesInput {
12410	s.GatewayARN = &v
12411	return s
12412}
12413
12414// SetLimit sets the Limit field's value.
12415func (s *DescribeTapesInput) SetLimit(v int64) *DescribeTapesInput {
12416	s.Limit = &v
12417	return s
12418}
12419
12420// SetMarker sets the Marker field's value.
12421func (s *DescribeTapesInput) SetMarker(v string) *DescribeTapesInput {
12422	s.Marker = &v
12423	return s
12424}
12425
12426// SetTapeARNs sets the TapeARNs field's value.
12427func (s *DescribeTapesInput) SetTapeARNs(v []*string) *DescribeTapesInput {
12428	s.TapeARNs = v
12429	return s
12430}
12431
12432// DescribeTapesOutput
12433type DescribeTapesOutput struct {
12434	_ struct{} `type:"structure"`
12435
12436	// An opaque string which can be used as part of a subsequent DescribeTapes
12437	// call to retrieve the next page of results.
12438	//
12439	// If a response does not contain a marker, then there are no more results to
12440	// be retrieved.
12441	Marker *string `min:"1" type:"string"`
12442
12443	// An array of virtual tape descriptions.
12444	Tapes []*Tape `type:"list"`
12445}
12446
12447// String returns the string representation
12448func (s DescribeTapesOutput) String() string {
12449	return awsutil.Prettify(s)
12450}
12451
12452// GoString returns the string representation
12453func (s DescribeTapesOutput) GoString() string {
12454	return s.String()
12455}
12456
12457// SetMarker sets the Marker field's value.
12458func (s *DescribeTapesOutput) SetMarker(v string) *DescribeTapesOutput {
12459	s.Marker = &v
12460	return s
12461}
12462
12463// SetTapes sets the Tapes field's value.
12464func (s *DescribeTapesOutput) SetTapes(v []*Tape) *DescribeTapesOutput {
12465	s.Tapes = v
12466	return s
12467}
12468
12469type DescribeUploadBufferInput struct {
12470	_ struct{} `type:"structure"`
12471
12472	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12473	// to return a list of gateways for your account and AWS Region.
12474	//
12475	// GatewayARN is a required field
12476	GatewayARN *string `min:"50" type:"string" required:"true"`
12477}
12478
12479// String returns the string representation
12480func (s DescribeUploadBufferInput) String() string {
12481	return awsutil.Prettify(s)
12482}
12483
12484// GoString returns the string representation
12485func (s DescribeUploadBufferInput) GoString() string {
12486	return s.String()
12487}
12488
12489// Validate inspects the fields of the type to determine if they are valid.
12490func (s *DescribeUploadBufferInput) Validate() error {
12491	invalidParams := request.ErrInvalidParams{Context: "DescribeUploadBufferInput"}
12492	if s.GatewayARN == nil {
12493		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
12494	}
12495	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
12496		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
12497	}
12498
12499	if invalidParams.Len() > 0 {
12500		return invalidParams
12501	}
12502	return nil
12503}
12504
12505// SetGatewayARN sets the GatewayARN field's value.
12506func (s *DescribeUploadBufferInput) SetGatewayARN(v string) *DescribeUploadBufferInput {
12507	s.GatewayARN = &v
12508	return s
12509}
12510
12511type DescribeUploadBufferOutput struct {
12512	_ struct{} `type:"structure"`
12513
12514	// An array of the gateway's local disk IDs that are configured as working storage.
12515	// Each local disk ID is specified as a string (minimum length of 1 and maximum
12516	// length of 300). If no local disks are configured as working storage, then
12517	// the DiskIds array is empty.
12518	DiskIds []*string `type:"list"`
12519
12520	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12521	// to return a list of gateways for your account and AWS Region.
12522	GatewayARN *string `min:"50" type:"string"`
12523
12524	// The total number of bytes allocated in the gateway's as upload buffer.
12525	UploadBufferAllocatedInBytes *int64 `type:"long"`
12526
12527	// The total number of bytes being used in the gateway's upload buffer.
12528	UploadBufferUsedInBytes *int64 `type:"long"`
12529}
12530
12531// String returns the string representation
12532func (s DescribeUploadBufferOutput) String() string {
12533	return awsutil.Prettify(s)
12534}
12535
12536// GoString returns the string representation
12537func (s DescribeUploadBufferOutput) GoString() string {
12538	return s.String()
12539}
12540
12541// SetDiskIds sets the DiskIds field's value.
12542func (s *DescribeUploadBufferOutput) SetDiskIds(v []*string) *DescribeUploadBufferOutput {
12543	s.DiskIds = v
12544	return s
12545}
12546
12547// SetGatewayARN sets the GatewayARN field's value.
12548func (s *DescribeUploadBufferOutput) SetGatewayARN(v string) *DescribeUploadBufferOutput {
12549	s.GatewayARN = &v
12550	return s
12551}
12552
12553// SetUploadBufferAllocatedInBytes sets the UploadBufferAllocatedInBytes field's value.
12554func (s *DescribeUploadBufferOutput) SetUploadBufferAllocatedInBytes(v int64) *DescribeUploadBufferOutput {
12555	s.UploadBufferAllocatedInBytes = &v
12556	return s
12557}
12558
12559// SetUploadBufferUsedInBytes sets the UploadBufferUsedInBytes field's value.
12560func (s *DescribeUploadBufferOutput) SetUploadBufferUsedInBytes(v int64) *DescribeUploadBufferOutput {
12561	s.UploadBufferUsedInBytes = &v
12562	return s
12563}
12564
12565// DescribeVTLDevicesInput
12566type DescribeVTLDevicesInput struct {
12567	_ struct{} `type:"structure"`
12568
12569	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12570	// to return a list of gateways for your account and AWS Region.
12571	//
12572	// GatewayARN is a required field
12573	GatewayARN *string `min:"50" type:"string" required:"true"`
12574
12575	// Specifies that the number of VTL devices described be limited to the specified
12576	// number.
12577	Limit *int64 `min:"1" type:"integer"`
12578
12579	// An opaque string that indicates the position at which to begin describing
12580	// the VTL devices.
12581	Marker *string `min:"1" type:"string"`
12582
12583	// An array of strings, where each string represents the Amazon Resource Name
12584	// (ARN) of a VTL device.
12585	//
12586	// All of the specified VTL devices must be from the same gateway. If no VTL
12587	// devices are specified, the result will contain all devices on the specified
12588	// gateway.
12589	VTLDeviceARNs []*string `type:"list"`
12590}
12591
12592// String returns the string representation
12593func (s DescribeVTLDevicesInput) String() string {
12594	return awsutil.Prettify(s)
12595}
12596
12597// GoString returns the string representation
12598func (s DescribeVTLDevicesInput) GoString() string {
12599	return s.String()
12600}
12601
12602// Validate inspects the fields of the type to determine if they are valid.
12603func (s *DescribeVTLDevicesInput) Validate() error {
12604	invalidParams := request.ErrInvalidParams{Context: "DescribeVTLDevicesInput"}
12605	if s.GatewayARN == nil {
12606		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
12607	}
12608	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
12609		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
12610	}
12611	if s.Limit != nil && *s.Limit < 1 {
12612		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
12613	}
12614	if s.Marker != nil && len(*s.Marker) < 1 {
12615		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
12616	}
12617
12618	if invalidParams.Len() > 0 {
12619		return invalidParams
12620	}
12621	return nil
12622}
12623
12624// SetGatewayARN sets the GatewayARN field's value.
12625func (s *DescribeVTLDevicesInput) SetGatewayARN(v string) *DescribeVTLDevicesInput {
12626	s.GatewayARN = &v
12627	return s
12628}
12629
12630// SetLimit sets the Limit field's value.
12631func (s *DescribeVTLDevicesInput) SetLimit(v int64) *DescribeVTLDevicesInput {
12632	s.Limit = &v
12633	return s
12634}
12635
12636// SetMarker sets the Marker field's value.
12637func (s *DescribeVTLDevicesInput) SetMarker(v string) *DescribeVTLDevicesInput {
12638	s.Marker = &v
12639	return s
12640}
12641
12642// SetVTLDeviceARNs sets the VTLDeviceARNs field's value.
12643func (s *DescribeVTLDevicesInput) SetVTLDeviceARNs(v []*string) *DescribeVTLDevicesInput {
12644	s.VTLDeviceARNs = v
12645	return s
12646}
12647
12648// DescribeVTLDevicesOutput
12649type DescribeVTLDevicesOutput struct {
12650	_ struct{} `type:"structure"`
12651
12652	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12653	// to return a list of gateways for your account and AWS Region.
12654	GatewayARN *string `min:"50" type:"string"`
12655
12656	// An opaque string that indicates the position at which the VTL devices that
12657	// were fetched for description ended. Use the marker in your next request to
12658	// fetch the next set of VTL devices in the list. If there are no more VTL devices
12659	// to describe, this field does not appear in the response.
12660	Marker *string `min:"1" type:"string"`
12661
12662	// An array of VTL device objects composed of the Amazon Resource Name(ARN)
12663	// of the VTL devices.
12664	VTLDevices []*VTLDevice `type:"list"`
12665}
12666
12667// String returns the string representation
12668func (s DescribeVTLDevicesOutput) String() string {
12669	return awsutil.Prettify(s)
12670}
12671
12672// GoString returns the string representation
12673func (s DescribeVTLDevicesOutput) GoString() string {
12674	return s.String()
12675}
12676
12677// SetGatewayARN sets the GatewayARN field's value.
12678func (s *DescribeVTLDevicesOutput) SetGatewayARN(v string) *DescribeVTLDevicesOutput {
12679	s.GatewayARN = &v
12680	return s
12681}
12682
12683// SetMarker sets the Marker field's value.
12684func (s *DescribeVTLDevicesOutput) SetMarker(v string) *DescribeVTLDevicesOutput {
12685	s.Marker = &v
12686	return s
12687}
12688
12689// SetVTLDevices sets the VTLDevices field's value.
12690func (s *DescribeVTLDevicesOutput) SetVTLDevices(v []*VTLDevice) *DescribeVTLDevicesOutput {
12691	s.VTLDevices = v
12692	return s
12693}
12694
12695// A JSON object containing the of the gateway.
12696type DescribeWorkingStorageInput struct {
12697	_ struct{} `type:"structure"`
12698
12699	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12700	// to return a list of gateways for your account and AWS Region.
12701	//
12702	// GatewayARN is a required field
12703	GatewayARN *string `min:"50" type:"string" required:"true"`
12704}
12705
12706// String returns the string representation
12707func (s DescribeWorkingStorageInput) String() string {
12708	return awsutil.Prettify(s)
12709}
12710
12711// GoString returns the string representation
12712func (s DescribeWorkingStorageInput) GoString() string {
12713	return s.String()
12714}
12715
12716// Validate inspects the fields of the type to determine if they are valid.
12717func (s *DescribeWorkingStorageInput) Validate() error {
12718	invalidParams := request.ErrInvalidParams{Context: "DescribeWorkingStorageInput"}
12719	if s.GatewayARN == nil {
12720		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
12721	}
12722	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
12723		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
12724	}
12725
12726	if invalidParams.Len() > 0 {
12727		return invalidParams
12728	}
12729	return nil
12730}
12731
12732// SetGatewayARN sets the GatewayARN field's value.
12733func (s *DescribeWorkingStorageInput) SetGatewayARN(v string) *DescribeWorkingStorageInput {
12734	s.GatewayARN = &v
12735	return s
12736}
12737
12738// A JSON object containing the following fields:
12739type DescribeWorkingStorageOutput struct {
12740	_ struct{} `type:"structure"`
12741
12742	// An array of the gateway's local disk IDs that are configured as working storage.
12743	// Each local disk ID is specified as a string (minimum length of 1 and maximum
12744	// length of 300). If no local disks are configured as working storage, then
12745	// the DiskIds array is empty.
12746	DiskIds []*string `type:"list"`
12747
12748	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12749	// to return a list of gateways for your account and AWS Region.
12750	GatewayARN *string `min:"50" type:"string"`
12751
12752	// The total working storage in bytes allocated for the gateway. If no working
12753	// storage is configured for the gateway, this field returns 0.
12754	WorkingStorageAllocatedInBytes *int64 `type:"long"`
12755
12756	// The total working storage in bytes in use by the gateway. If no working storage
12757	// is configured for the gateway, this field returns 0.
12758	WorkingStorageUsedInBytes *int64 `type:"long"`
12759}
12760
12761// String returns the string representation
12762func (s DescribeWorkingStorageOutput) String() string {
12763	return awsutil.Prettify(s)
12764}
12765
12766// GoString returns the string representation
12767func (s DescribeWorkingStorageOutput) GoString() string {
12768	return s.String()
12769}
12770
12771// SetDiskIds sets the DiskIds field's value.
12772func (s *DescribeWorkingStorageOutput) SetDiskIds(v []*string) *DescribeWorkingStorageOutput {
12773	s.DiskIds = v
12774	return s
12775}
12776
12777// SetGatewayARN sets the GatewayARN field's value.
12778func (s *DescribeWorkingStorageOutput) SetGatewayARN(v string) *DescribeWorkingStorageOutput {
12779	s.GatewayARN = &v
12780	return s
12781}
12782
12783// SetWorkingStorageAllocatedInBytes sets the WorkingStorageAllocatedInBytes field's value.
12784func (s *DescribeWorkingStorageOutput) SetWorkingStorageAllocatedInBytes(v int64) *DescribeWorkingStorageOutput {
12785	s.WorkingStorageAllocatedInBytes = &v
12786	return s
12787}
12788
12789// SetWorkingStorageUsedInBytes sets the WorkingStorageUsedInBytes field's value.
12790func (s *DescribeWorkingStorageOutput) SetWorkingStorageUsedInBytes(v int64) *DescribeWorkingStorageOutput {
12791	s.WorkingStorageUsedInBytes = &v
12792	return s
12793}
12794
12795// AttachVolumeInput
12796type DetachVolumeInput struct {
12797	_ struct{} `type:"structure"`
12798
12799	// Set to true to forcibly remove the iSCSI connection of the target volume
12800	// and detach the volume. The default is false. If this value is set to false,
12801	// you must manually disconnect the iSCSI connection from the target volume.
12802	ForceDetach *bool `type:"boolean"`
12803
12804	// The Amazon Resource Name (ARN) of the volume to detach from the gateway.
12805	//
12806	// VolumeARN is a required field
12807	VolumeARN *string `min:"50" type:"string" required:"true"`
12808}
12809
12810// String returns the string representation
12811func (s DetachVolumeInput) String() string {
12812	return awsutil.Prettify(s)
12813}
12814
12815// GoString returns the string representation
12816func (s DetachVolumeInput) GoString() string {
12817	return s.String()
12818}
12819
12820// Validate inspects the fields of the type to determine if they are valid.
12821func (s *DetachVolumeInput) Validate() error {
12822	invalidParams := request.ErrInvalidParams{Context: "DetachVolumeInput"}
12823	if s.VolumeARN == nil {
12824		invalidParams.Add(request.NewErrParamRequired("VolumeARN"))
12825	}
12826	if s.VolumeARN != nil && len(*s.VolumeARN) < 50 {
12827		invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50))
12828	}
12829
12830	if invalidParams.Len() > 0 {
12831		return invalidParams
12832	}
12833	return nil
12834}
12835
12836// SetForceDetach sets the ForceDetach field's value.
12837func (s *DetachVolumeInput) SetForceDetach(v bool) *DetachVolumeInput {
12838	s.ForceDetach = &v
12839	return s
12840}
12841
12842// SetVolumeARN sets the VolumeARN field's value.
12843func (s *DetachVolumeInput) SetVolumeARN(v string) *DetachVolumeInput {
12844	s.VolumeARN = &v
12845	return s
12846}
12847
12848// AttachVolumeOutput
12849type DetachVolumeOutput struct {
12850	_ struct{} `type:"structure"`
12851
12852	// The Amazon Resource Name (ARN) of the volume that was detached.
12853	VolumeARN *string `min:"50" type:"string"`
12854}
12855
12856// String returns the string representation
12857func (s DetachVolumeOutput) String() string {
12858	return awsutil.Prettify(s)
12859}
12860
12861// GoString returns the string representation
12862func (s DetachVolumeOutput) GoString() string {
12863	return s.String()
12864}
12865
12866// SetVolumeARN sets the VolumeARN field's value.
12867func (s *DetachVolumeOutput) SetVolumeARN(v string) *DetachVolumeOutput {
12868	s.VolumeARN = &v
12869	return s
12870}
12871
12872// Lists iSCSI information about a VTL device.
12873type DeviceiSCSIAttributes struct {
12874	_ struct{} `type:"structure"`
12875
12876	// Indicates whether mutual CHAP is enabled for the iSCSI target.
12877	ChapEnabled *bool `type:"boolean"`
12878
12879	// The network interface identifier of the VTL device.
12880	NetworkInterfaceId *string `type:"string"`
12881
12882	// The port used to communicate with iSCSI VTL device targets.
12883	NetworkInterfacePort *int64 `type:"integer"`
12884
12885	// Specifies the unique Amazon Resource Name (ARN) that encodes the iSCSI qualified
12886	// name(iqn) of a tape drive or media changer target.
12887	TargetARN *string `min:"50" type:"string"`
12888}
12889
12890// String returns the string representation
12891func (s DeviceiSCSIAttributes) String() string {
12892	return awsutil.Prettify(s)
12893}
12894
12895// GoString returns the string representation
12896func (s DeviceiSCSIAttributes) GoString() string {
12897	return s.String()
12898}
12899
12900// SetChapEnabled sets the ChapEnabled field's value.
12901func (s *DeviceiSCSIAttributes) SetChapEnabled(v bool) *DeviceiSCSIAttributes {
12902	s.ChapEnabled = &v
12903	return s
12904}
12905
12906// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
12907func (s *DeviceiSCSIAttributes) SetNetworkInterfaceId(v string) *DeviceiSCSIAttributes {
12908	s.NetworkInterfaceId = &v
12909	return s
12910}
12911
12912// SetNetworkInterfacePort sets the NetworkInterfacePort field's value.
12913func (s *DeviceiSCSIAttributes) SetNetworkInterfacePort(v int64) *DeviceiSCSIAttributes {
12914	s.NetworkInterfacePort = &v
12915	return s
12916}
12917
12918// SetTargetARN sets the TargetARN field's value.
12919func (s *DeviceiSCSIAttributes) SetTargetARN(v string) *DeviceiSCSIAttributes {
12920	s.TargetARN = &v
12921	return s
12922}
12923
12924// DisableGatewayInput
12925type DisableGatewayInput struct {
12926	_ struct{} `type:"structure"`
12927
12928	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
12929	// to return a list of gateways for your account and AWS Region.
12930	//
12931	// GatewayARN is a required field
12932	GatewayARN *string `min:"50" type:"string" required:"true"`
12933}
12934
12935// String returns the string representation
12936func (s DisableGatewayInput) String() string {
12937	return awsutil.Prettify(s)
12938}
12939
12940// GoString returns the string representation
12941func (s DisableGatewayInput) GoString() string {
12942	return s.String()
12943}
12944
12945// Validate inspects the fields of the type to determine if they are valid.
12946func (s *DisableGatewayInput) Validate() error {
12947	invalidParams := request.ErrInvalidParams{Context: "DisableGatewayInput"}
12948	if s.GatewayARN == nil {
12949		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
12950	}
12951	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
12952		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
12953	}
12954
12955	if invalidParams.Len() > 0 {
12956		return invalidParams
12957	}
12958	return nil
12959}
12960
12961// SetGatewayARN sets the GatewayARN field's value.
12962func (s *DisableGatewayInput) SetGatewayARN(v string) *DisableGatewayInput {
12963	s.GatewayARN = &v
12964	return s
12965}
12966
12967// DisableGatewayOutput
12968type DisableGatewayOutput struct {
12969	_ struct{} `type:"structure"`
12970
12971	// The unique Amazon Resource Name (ARN) of the disabled gateway.
12972	GatewayARN *string `min:"50" type:"string"`
12973}
12974
12975// String returns the string representation
12976func (s DisableGatewayOutput) String() string {
12977	return awsutil.Prettify(s)
12978}
12979
12980// GoString returns the string representation
12981func (s DisableGatewayOutput) GoString() string {
12982	return s.String()
12983}
12984
12985// SetGatewayARN sets the GatewayARN field's value.
12986func (s *DisableGatewayOutput) SetGatewayARN(v string) *DisableGatewayOutput {
12987	s.GatewayARN = &v
12988	return s
12989}
12990
12991// Represents a gateway's local disk.
12992type Disk struct {
12993	_ struct{} `type:"structure"`
12994
12995	// The iSCSI qualified name (IQN) that is defined for a disk. This field is
12996	// not included in the response if the local disk is not defined as an iSCSI
12997	// target. The format of this field is targetIqn::LUNNumber::region-volumeId.
12998	DiskAllocationResource *string `type:"string"`
12999
13000	// One of the DiskAllocationType enumeration values that identifies how a local
13001	// disk is used. Valid values: UPLOAD_BUFFER, CACHE_STORAGE
13002	DiskAllocationType *string `min:"3" type:"string"`
13003
13004	// A list of values that represents attributes of a local disk.
13005	DiskAttributeList []*string `type:"list"`
13006
13007	// The unique device ID or other distinguishing data that identifies a local
13008	// disk.
13009	DiskId *string `min:"1" type:"string"`
13010
13011	// The device node of a local disk as assigned by the virtualization environment.
13012	DiskNode *string `type:"string"`
13013
13014	// The path of a local disk in the gateway virtual machine (VM).
13015	DiskPath *string `type:"string"`
13016
13017	// The local disk size in bytes.
13018	DiskSizeInBytes *int64 `type:"long"`
13019
13020	// A value that represents the status of a local disk.
13021	DiskStatus *string `type:"string"`
13022}
13023
13024// String returns the string representation
13025func (s Disk) String() string {
13026	return awsutil.Prettify(s)
13027}
13028
13029// GoString returns the string representation
13030func (s Disk) GoString() string {
13031	return s.String()
13032}
13033
13034// SetDiskAllocationResource sets the DiskAllocationResource field's value.
13035func (s *Disk) SetDiskAllocationResource(v string) *Disk {
13036	s.DiskAllocationResource = &v
13037	return s
13038}
13039
13040// SetDiskAllocationType sets the DiskAllocationType field's value.
13041func (s *Disk) SetDiskAllocationType(v string) *Disk {
13042	s.DiskAllocationType = &v
13043	return s
13044}
13045
13046// SetDiskAttributeList sets the DiskAttributeList field's value.
13047func (s *Disk) SetDiskAttributeList(v []*string) *Disk {
13048	s.DiskAttributeList = v
13049	return s
13050}
13051
13052// SetDiskId sets the DiskId field's value.
13053func (s *Disk) SetDiskId(v string) *Disk {
13054	s.DiskId = &v
13055	return s
13056}
13057
13058// SetDiskNode sets the DiskNode field's value.
13059func (s *Disk) SetDiskNode(v string) *Disk {
13060	s.DiskNode = &v
13061	return s
13062}
13063
13064// SetDiskPath sets the DiskPath field's value.
13065func (s *Disk) SetDiskPath(v string) *Disk {
13066	s.DiskPath = &v
13067	return s
13068}
13069
13070// SetDiskSizeInBytes sets the DiskSizeInBytes field's value.
13071func (s *Disk) SetDiskSizeInBytes(v int64) *Disk {
13072	s.DiskSizeInBytes = &v
13073	return s
13074}
13075
13076// SetDiskStatus sets the DiskStatus field's value.
13077func (s *Disk) SetDiskStatus(v string) *Disk {
13078	s.DiskStatus = &v
13079	return s
13080}
13081
13082// Provides additional information about an error that was returned by the service
13083// as an or. See the errorCode and errorDetails members for more information
13084// about the error.
13085type Error struct {
13086	_ struct{} `type:"structure"`
13087
13088	// Additional information about the error.
13089	ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"`
13090
13091	// Human-readable text that provides detail about the error that occurred.
13092	ErrorDetails map[string]*string `locationName:"errorDetails" type:"map"`
13093}
13094
13095// String returns the string representation
13096func (s Error) String() string {
13097	return awsutil.Prettify(s)
13098}
13099
13100// GoString returns the string representation
13101func (s Error) GoString() string {
13102	return s.String()
13103}
13104
13105// SetErrorCode sets the ErrorCode field's value.
13106func (s *Error) SetErrorCode(v string) *Error {
13107	s.ErrorCode = &v
13108	return s
13109}
13110
13111// SetErrorDetails sets the ErrorDetails field's value.
13112func (s *Error) SetErrorDetails(v map[string]*string) *Error {
13113	s.ErrorDetails = v
13114	return s
13115}
13116
13117// Describes a file share.
13118type FileShareInfo struct {
13119	_ struct{} `type:"structure"`
13120
13121	// The Amazon Resource Name (ARN) of the file share.
13122	FileShareARN *string `min:"50" type:"string"`
13123
13124	// The ID of the file share.
13125	FileShareId *string `min:"12" type:"string"`
13126
13127	// The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE
13128	// and DELETING.
13129	FileShareStatus *string `min:"3" type:"string"`
13130
13131	// The type of the file share.
13132	FileShareType *string `type:"string" enum:"FileShareType"`
13133
13134	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
13135	// to return a list of gateways for your account and AWS Region.
13136	GatewayARN *string `min:"50" type:"string"`
13137}
13138
13139// String returns the string representation
13140func (s FileShareInfo) String() string {
13141	return awsutil.Prettify(s)
13142}
13143
13144// GoString returns the string representation
13145func (s FileShareInfo) GoString() string {
13146	return s.String()
13147}
13148
13149// SetFileShareARN sets the FileShareARN field's value.
13150func (s *FileShareInfo) SetFileShareARN(v string) *FileShareInfo {
13151	s.FileShareARN = &v
13152	return s
13153}
13154
13155// SetFileShareId sets the FileShareId field's value.
13156func (s *FileShareInfo) SetFileShareId(v string) *FileShareInfo {
13157	s.FileShareId = &v
13158	return s
13159}
13160
13161// SetFileShareStatus sets the FileShareStatus field's value.
13162func (s *FileShareInfo) SetFileShareStatus(v string) *FileShareInfo {
13163	s.FileShareStatus = &v
13164	return s
13165}
13166
13167// SetFileShareType sets the FileShareType field's value.
13168func (s *FileShareInfo) SetFileShareType(v string) *FileShareInfo {
13169	s.FileShareType = &v
13170	return s
13171}
13172
13173// SetGatewayARN sets the GatewayARN field's value.
13174func (s *FileShareInfo) SetGatewayARN(v string) *FileShareInfo {
13175	s.GatewayARN = &v
13176	return s
13177}
13178
13179// Describes a gateway object.
13180type GatewayInfo struct {
13181	_ struct{} `type:"structure"`
13182
13183	// The ID of the Amazon EC2 instance that was used to launch the gateway.
13184	Ec2InstanceId *string `type:"string"`
13185
13186	// The AWS Region where the Amazon EC2 instance is located.
13187	Ec2InstanceRegion *string `type:"string"`
13188
13189	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
13190	// to return a list of gateways for your account and AWS Region.
13191	GatewayARN *string `min:"50" type:"string"`
13192
13193	// The unique identifier assigned to your gateway during activation. This ID
13194	// becomes part of the gateway Amazon Resource Name (ARN), which you use as
13195	// input for other operations.
13196	GatewayId *string `min:"12" type:"string"`
13197
13198	// The name of the gateway.
13199	GatewayName *string `type:"string"`
13200
13201	// The state of the gateway.
13202	//
13203	// Valid Values: DISABLED or ACTIVE
13204	GatewayOperationalState *string `min:"2" type:"string"`
13205
13206	// The type of the gateway.
13207	GatewayType *string `min:"2" type:"string"`
13208}
13209
13210// String returns the string representation
13211func (s GatewayInfo) String() string {
13212	return awsutil.Prettify(s)
13213}
13214
13215// GoString returns the string representation
13216func (s GatewayInfo) GoString() string {
13217	return s.String()
13218}
13219
13220// SetEc2InstanceId sets the Ec2InstanceId field's value.
13221func (s *GatewayInfo) SetEc2InstanceId(v string) *GatewayInfo {
13222	s.Ec2InstanceId = &v
13223	return s
13224}
13225
13226// SetEc2InstanceRegion sets the Ec2InstanceRegion field's value.
13227func (s *GatewayInfo) SetEc2InstanceRegion(v string) *GatewayInfo {
13228	s.Ec2InstanceRegion = &v
13229	return s
13230}
13231
13232// SetGatewayARN sets the GatewayARN field's value.
13233func (s *GatewayInfo) SetGatewayARN(v string) *GatewayInfo {
13234	s.GatewayARN = &v
13235	return s
13236}
13237
13238// SetGatewayId sets the GatewayId field's value.
13239func (s *GatewayInfo) SetGatewayId(v string) *GatewayInfo {
13240	s.GatewayId = &v
13241	return s
13242}
13243
13244// SetGatewayName sets the GatewayName field's value.
13245func (s *GatewayInfo) SetGatewayName(v string) *GatewayInfo {
13246	s.GatewayName = &v
13247	return s
13248}
13249
13250// SetGatewayOperationalState sets the GatewayOperationalState field's value.
13251func (s *GatewayInfo) SetGatewayOperationalState(v string) *GatewayInfo {
13252	s.GatewayOperationalState = &v
13253	return s
13254}
13255
13256// SetGatewayType sets the GatewayType field's value.
13257func (s *GatewayInfo) SetGatewayType(v string) *GatewayInfo {
13258	s.GatewayType = &v
13259	return s
13260}
13261
13262// An internal server error has occurred during the request. For more information,
13263// see the error and message fields.
13264type InternalServerError struct {
13265	_            struct{} `type:"structure"`
13266	respMetadata protocol.ResponseMetadata
13267
13268	// A StorageGatewayError that provides more information about the cause of the
13269	// error.
13270	Error_ *Error `locationName:"error" type:"structure"`
13271
13272	// A human-readable message describing the error that occurred.
13273	Message_ *string `locationName:"message" type:"string"`
13274}
13275
13276// String returns the string representation
13277func (s InternalServerError) String() string {
13278	return awsutil.Prettify(s)
13279}
13280
13281// GoString returns the string representation
13282func (s InternalServerError) GoString() string {
13283	return s.String()
13284}
13285
13286func newErrorInternalServerError(v protocol.ResponseMetadata) error {
13287	return &InternalServerError{
13288		respMetadata: v,
13289	}
13290}
13291
13292// Code returns the exception type name.
13293func (s InternalServerError) Code() string {
13294	return "InternalServerError"
13295}
13296
13297// Message returns the exception's message.
13298func (s InternalServerError) Message() string {
13299	if s.Message_ != nil {
13300		return *s.Message_
13301	}
13302	return ""
13303}
13304
13305// OrigErr always returns nil, satisfies awserr.Error interface.
13306func (s InternalServerError) OrigErr() error {
13307	return nil
13308}
13309
13310func (s InternalServerError) Error() string {
13311	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13312}
13313
13314// Status code returns the HTTP status code for the request's response error.
13315func (s InternalServerError) StatusCode() int {
13316	return s.respMetadata.StatusCode
13317}
13318
13319// RequestID returns the service's response RequestID for request.
13320func (s InternalServerError) RequestID() string {
13321	return s.respMetadata.RequestID
13322}
13323
13324// An exception occurred because an invalid gateway request was issued to the
13325// service. For more information, see the error and message fields.
13326type InvalidGatewayRequestException struct {
13327	_            struct{} `type:"structure"`
13328	respMetadata protocol.ResponseMetadata
13329
13330	// A StorageGatewayError that provides more detail about the cause of the error.
13331	Error_ *Error `locationName:"error" type:"structure"`
13332
13333	// A human-readable message describing the error that occurred.
13334	Message_ *string `locationName:"message" type:"string"`
13335}
13336
13337// String returns the string representation
13338func (s InvalidGatewayRequestException) String() string {
13339	return awsutil.Prettify(s)
13340}
13341
13342// GoString returns the string representation
13343func (s InvalidGatewayRequestException) GoString() string {
13344	return s.String()
13345}
13346
13347func newErrorInvalidGatewayRequestException(v protocol.ResponseMetadata) error {
13348	return &InvalidGatewayRequestException{
13349		respMetadata: v,
13350	}
13351}
13352
13353// Code returns the exception type name.
13354func (s InvalidGatewayRequestException) Code() string {
13355	return "InvalidGatewayRequestException"
13356}
13357
13358// Message returns the exception's message.
13359func (s InvalidGatewayRequestException) Message() string {
13360	if s.Message_ != nil {
13361		return *s.Message_
13362	}
13363	return ""
13364}
13365
13366// OrigErr always returns nil, satisfies awserr.Error interface.
13367func (s InvalidGatewayRequestException) OrigErr() error {
13368	return nil
13369}
13370
13371func (s InvalidGatewayRequestException) Error() string {
13372	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
13373}
13374
13375// Status code returns the HTTP status code for the request's response error.
13376func (s InvalidGatewayRequestException) StatusCode() int {
13377	return s.respMetadata.StatusCode
13378}
13379
13380// RequestID returns the service's response RequestID for request.
13381func (s InvalidGatewayRequestException) RequestID() string {
13382	return s.respMetadata.RequestID
13383}
13384
13385// JoinDomainInput
13386type JoinDomainInput struct {
13387	_ struct{} `type:"structure"`
13388
13389	// List of IPv4 addresses, NetBIOS names, or host names of your domain server.
13390	// If you need to specify the port number include it after the colon (“:”).
13391	// For example, mydc.mydomain.com:389.
13392	DomainControllers []*string `type:"list"`
13393
13394	// The name of the domain that you want the gateway to join.
13395	//
13396	// DomainName is a required field
13397	DomainName *string `min:"1" type:"string" required:"true"`
13398
13399	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
13400	// to return a list of gateways for your account and AWS Region.
13401	//
13402	// GatewayARN is a required field
13403	GatewayARN *string `min:"50" type:"string" required:"true"`
13404
13405	// The organizational unit (OU) is a container in an Active Directory that can
13406	// hold users, groups, computers, and other OUs and this parameter specifies
13407	// the OU that the gateway will join within the AD domain.
13408	OrganizationalUnit *string `min:"1" type:"string"`
13409
13410	// Sets the password of the user who has permission to add the gateway to the
13411	// Active Directory domain.
13412	//
13413	// Password is a required field
13414	Password *string `min:"1" type:"string" required:"true" sensitive:"true"`
13415
13416	// Specifies the time in seconds, in which the JoinDomain operation must complete.
13417	// The default is 20 seconds.
13418	TimeoutInSeconds *int64 `type:"integer"`
13419
13420	// Sets the user name of user who has permission to add the gateway to the Active
13421	// Directory domain. The domain user account should be enabled to join computers
13422	// to the domain. For example, you can use the domain administrator account
13423	// or an account with delegated permissions to join computers to the domain.
13424	//
13425	// UserName is a required field
13426	UserName *string `min:"1" type:"string" required:"true"`
13427}
13428
13429// String returns the string representation
13430func (s JoinDomainInput) String() string {
13431	return awsutil.Prettify(s)
13432}
13433
13434// GoString returns the string representation
13435func (s JoinDomainInput) GoString() string {
13436	return s.String()
13437}
13438
13439// Validate inspects the fields of the type to determine if they are valid.
13440func (s *JoinDomainInput) Validate() error {
13441	invalidParams := request.ErrInvalidParams{Context: "JoinDomainInput"}
13442	if s.DomainName == nil {
13443		invalidParams.Add(request.NewErrParamRequired("DomainName"))
13444	}
13445	if s.DomainName != nil && len(*s.DomainName) < 1 {
13446		invalidParams.Add(request.NewErrParamMinLen("DomainName", 1))
13447	}
13448	if s.GatewayARN == nil {
13449		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
13450	}
13451	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
13452		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
13453	}
13454	if s.OrganizationalUnit != nil && len(*s.OrganizationalUnit) < 1 {
13455		invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnit", 1))
13456	}
13457	if s.Password == nil {
13458		invalidParams.Add(request.NewErrParamRequired("Password"))
13459	}
13460	if s.Password != nil && len(*s.Password) < 1 {
13461		invalidParams.Add(request.NewErrParamMinLen("Password", 1))
13462	}
13463	if s.UserName == nil {
13464		invalidParams.Add(request.NewErrParamRequired("UserName"))
13465	}
13466	if s.UserName != nil && len(*s.UserName) < 1 {
13467		invalidParams.Add(request.NewErrParamMinLen("UserName", 1))
13468	}
13469
13470	if invalidParams.Len() > 0 {
13471		return invalidParams
13472	}
13473	return nil
13474}
13475
13476// SetDomainControllers sets the DomainControllers field's value.
13477func (s *JoinDomainInput) SetDomainControllers(v []*string) *JoinDomainInput {
13478	s.DomainControllers = v
13479	return s
13480}
13481
13482// SetDomainName sets the DomainName field's value.
13483func (s *JoinDomainInput) SetDomainName(v string) *JoinDomainInput {
13484	s.DomainName = &v
13485	return s
13486}
13487
13488// SetGatewayARN sets the GatewayARN field's value.
13489func (s *JoinDomainInput) SetGatewayARN(v string) *JoinDomainInput {
13490	s.GatewayARN = &v
13491	return s
13492}
13493
13494// SetOrganizationalUnit sets the OrganizationalUnit field's value.
13495func (s *JoinDomainInput) SetOrganizationalUnit(v string) *JoinDomainInput {
13496	s.OrganizationalUnit = &v
13497	return s
13498}
13499
13500// SetPassword sets the Password field's value.
13501func (s *JoinDomainInput) SetPassword(v string) *JoinDomainInput {
13502	s.Password = &v
13503	return s
13504}
13505
13506// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
13507func (s *JoinDomainInput) SetTimeoutInSeconds(v int64) *JoinDomainInput {
13508	s.TimeoutInSeconds = &v
13509	return s
13510}
13511
13512// SetUserName sets the UserName field's value.
13513func (s *JoinDomainInput) SetUserName(v string) *JoinDomainInput {
13514	s.UserName = &v
13515	return s
13516}
13517
13518// JoinDomainOutput
13519type JoinDomainOutput struct {
13520	_ struct{} `type:"structure"`
13521
13522	// Indicates the status of the gateway as a member of the Active Directory domain.
13523	//
13524	//    * ACCESS_DENIED: Indicates that the JoinDomain operation failed due to
13525	//    an authentication error.
13526	//
13527	//    * DETACHED: Indicates that gateway is not joined to a domain.
13528	//
13529	//    * JOINED: Indicates that the gateway has successfully joined a domain.
13530	//
13531	//    * JOINING: Indicates that a JoinDomain operation is in progress.
13532	//
13533	//    * NETWORK_ERROR: Indicates that JoinDomain operation failed due to a network
13534	//    or connectivity error.
13535	//
13536	//    * TIMEOUT: Indicates that the JoinDomain operation failed because the
13537	//    operation didn't complete within the allotted time.
13538	//
13539	//    * UNKNOWN_ERROR: Indicates that the JoinDomain operation failed due to
13540	//    another type of error.
13541	ActiveDirectoryStatus *string `type:"string" enum:"ActiveDirectoryStatus"`
13542
13543	// The unique Amazon Resource Name (ARN) of the gateway that joined the domain.
13544	GatewayARN *string `min:"50" type:"string"`
13545}
13546
13547// String returns the string representation
13548func (s JoinDomainOutput) String() string {
13549	return awsutil.Prettify(s)
13550}
13551
13552// GoString returns the string representation
13553func (s JoinDomainOutput) GoString() string {
13554	return s.String()
13555}
13556
13557// SetActiveDirectoryStatus sets the ActiveDirectoryStatus field's value.
13558func (s *JoinDomainOutput) SetActiveDirectoryStatus(v string) *JoinDomainOutput {
13559	s.ActiveDirectoryStatus = &v
13560	return s
13561}
13562
13563// SetGatewayARN sets the GatewayARN field's value.
13564func (s *JoinDomainOutput) SetGatewayARN(v string) *JoinDomainOutput {
13565	s.GatewayARN = &v
13566	return s
13567}
13568
13569// ListFileShareInput
13570type ListFileSharesInput struct {
13571	_ struct{} `type:"structure"`
13572
13573	// The Amazon resource Name (ARN) of the gateway whose file shares you want
13574	// to list. If this field is not present, all file shares under your account
13575	// are listed.
13576	GatewayARN *string `min:"50" type:"string"`
13577
13578	// The maximum number of file shares to return in the response. The value must
13579	// be an integer with a value greater than zero. Optional.
13580	Limit *int64 `min:"1" type:"integer"`
13581
13582	// Opaque pagination token returned from a previous ListFileShares operation.
13583	// If present, Marker specifies where to continue the list from after a previous
13584	// call to ListFileShares. Optional.
13585	Marker *string `min:"1" type:"string"`
13586}
13587
13588// String returns the string representation
13589func (s ListFileSharesInput) String() string {
13590	return awsutil.Prettify(s)
13591}
13592
13593// GoString returns the string representation
13594func (s ListFileSharesInput) GoString() string {
13595	return s.String()
13596}
13597
13598// Validate inspects the fields of the type to determine if they are valid.
13599func (s *ListFileSharesInput) Validate() error {
13600	invalidParams := request.ErrInvalidParams{Context: "ListFileSharesInput"}
13601	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
13602		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
13603	}
13604	if s.Limit != nil && *s.Limit < 1 {
13605		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
13606	}
13607	if s.Marker != nil && len(*s.Marker) < 1 {
13608		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
13609	}
13610
13611	if invalidParams.Len() > 0 {
13612		return invalidParams
13613	}
13614	return nil
13615}
13616
13617// SetGatewayARN sets the GatewayARN field's value.
13618func (s *ListFileSharesInput) SetGatewayARN(v string) *ListFileSharesInput {
13619	s.GatewayARN = &v
13620	return s
13621}
13622
13623// SetLimit sets the Limit field's value.
13624func (s *ListFileSharesInput) SetLimit(v int64) *ListFileSharesInput {
13625	s.Limit = &v
13626	return s
13627}
13628
13629// SetMarker sets the Marker field's value.
13630func (s *ListFileSharesInput) SetMarker(v string) *ListFileSharesInput {
13631	s.Marker = &v
13632	return s
13633}
13634
13635// ListFileShareOutput
13636type ListFileSharesOutput struct {
13637	_ struct{} `type:"structure"`
13638
13639	// An array of information about the file gateway's file shares.
13640	FileShareInfoList []*FileShareInfo `type:"list"`
13641
13642	// If the request includes Marker, the response returns that value in this field.
13643	Marker *string `min:"1" type:"string"`
13644
13645	// If a value is present, there are more file shares to return. In a subsequent
13646	// request, use NextMarker as the value for Marker to retrieve the next set
13647	// of file shares.
13648	NextMarker *string `min:"1" type:"string"`
13649}
13650
13651// String returns the string representation
13652func (s ListFileSharesOutput) String() string {
13653	return awsutil.Prettify(s)
13654}
13655
13656// GoString returns the string representation
13657func (s ListFileSharesOutput) GoString() string {
13658	return s.String()
13659}
13660
13661// SetFileShareInfoList sets the FileShareInfoList field's value.
13662func (s *ListFileSharesOutput) SetFileShareInfoList(v []*FileShareInfo) *ListFileSharesOutput {
13663	s.FileShareInfoList = v
13664	return s
13665}
13666
13667// SetMarker sets the Marker field's value.
13668func (s *ListFileSharesOutput) SetMarker(v string) *ListFileSharesOutput {
13669	s.Marker = &v
13670	return s
13671}
13672
13673// SetNextMarker sets the NextMarker field's value.
13674func (s *ListFileSharesOutput) SetNextMarker(v string) *ListFileSharesOutput {
13675	s.NextMarker = &v
13676	return s
13677}
13678
13679// A JSON object containing zero or more of the following fields:
13680//
13681//    * ListGatewaysInput$Limit
13682//
13683//    * ListGatewaysInput$Marker
13684type ListGatewaysInput struct {
13685	_ struct{} `type:"structure"`
13686
13687	// Specifies that the list of gateways returned be limited to the specified
13688	// number of items.
13689	Limit *int64 `min:"1" type:"integer"`
13690
13691	// An opaque string that indicates the position at which to begin the returned
13692	// list of gateways.
13693	Marker *string `min:"1" type:"string"`
13694}
13695
13696// String returns the string representation
13697func (s ListGatewaysInput) String() string {
13698	return awsutil.Prettify(s)
13699}
13700
13701// GoString returns the string representation
13702func (s ListGatewaysInput) GoString() string {
13703	return s.String()
13704}
13705
13706// Validate inspects the fields of the type to determine if they are valid.
13707func (s *ListGatewaysInput) Validate() error {
13708	invalidParams := request.ErrInvalidParams{Context: "ListGatewaysInput"}
13709	if s.Limit != nil && *s.Limit < 1 {
13710		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
13711	}
13712	if s.Marker != nil && len(*s.Marker) < 1 {
13713		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
13714	}
13715
13716	if invalidParams.Len() > 0 {
13717		return invalidParams
13718	}
13719	return nil
13720}
13721
13722// SetLimit sets the Limit field's value.
13723func (s *ListGatewaysInput) SetLimit(v int64) *ListGatewaysInput {
13724	s.Limit = &v
13725	return s
13726}
13727
13728// SetMarker sets the Marker field's value.
13729func (s *ListGatewaysInput) SetMarker(v string) *ListGatewaysInput {
13730	s.Marker = &v
13731	return s
13732}
13733
13734type ListGatewaysOutput struct {
13735	_ struct{} `type:"structure"`
13736
13737	// An array of GatewayInfo objects.
13738	Gateways []*GatewayInfo `type:"list"`
13739
13740	// Use the marker in your next request to fetch the next set of gateways in
13741	// the list. If there are no more gateways to list, this field does not appear
13742	// in the response.
13743	Marker *string `min:"1" type:"string"`
13744}
13745
13746// String returns the string representation
13747func (s ListGatewaysOutput) String() string {
13748	return awsutil.Prettify(s)
13749}
13750
13751// GoString returns the string representation
13752func (s ListGatewaysOutput) GoString() string {
13753	return s.String()
13754}
13755
13756// SetGateways sets the Gateways field's value.
13757func (s *ListGatewaysOutput) SetGateways(v []*GatewayInfo) *ListGatewaysOutput {
13758	s.Gateways = v
13759	return s
13760}
13761
13762// SetMarker sets the Marker field's value.
13763func (s *ListGatewaysOutput) SetMarker(v string) *ListGatewaysOutput {
13764	s.Marker = &v
13765	return s
13766}
13767
13768// A JSON object containing the of the gateway.
13769type ListLocalDisksInput struct {
13770	_ struct{} `type:"structure"`
13771
13772	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
13773	// to return a list of gateways for your account and AWS Region.
13774	//
13775	// GatewayARN is a required field
13776	GatewayARN *string `min:"50" type:"string" required:"true"`
13777}
13778
13779// String returns the string representation
13780func (s ListLocalDisksInput) String() string {
13781	return awsutil.Prettify(s)
13782}
13783
13784// GoString returns the string representation
13785func (s ListLocalDisksInput) GoString() string {
13786	return s.String()
13787}
13788
13789// Validate inspects the fields of the type to determine if they are valid.
13790func (s *ListLocalDisksInput) Validate() error {
13791	invalidParams := request.ErrInvalidParams{Context: "ListLocalDisksInput"}
13792	if s.GatewayARN == nil {
13793		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
13794	}
13795	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
13796		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
13797	}
13798
13799	if invalidParams.Len() > 0 {
13800		return invalidParams
13801	}
13802	return nil
13803}
13804
13805// SetGatewayARN sets the GatewayARN field's value.
13806func (s *ListLocalDisksInput) SetGatewayARN(v string) *ListLocalDisksInput {
13807	s.GatewayARN = &v
13808	return s
13809}
13810
13811type ListLocalDisksOutput struct {
13812	_ struct{} `type:"structure"`
13813
13814	// A JSON object containing the following fields:
13815	//
13816	//    * ListLocalDisksOutput$Disks
13817	Disks []*Disk `type:"list"`
13818
13819	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
13820	// to return a list of gateways for your account and AWS Region.
13821	GatewayARN *string `min:"50" type:"string"`
13822}
13823
13824// String returns the string representation
13825func (s ListLocalDisksOutput) String() string {
13826	return awsutil.Prettify(s)
13827}
13828
13829// GoString returns the string representation
13830func (s ListLocalDisksOutput) GoString() string {
13831	return s.String()
13832}
13833
13834// SetDisks sets the Disks field's value.
13835func (s *ListLocalDisksOutput) SetDisks(v []*Disk) *ListLocalDisksOutput {
13836	s.Disks = v
13837	return s
13838}
13839
13840// SetGatewayARN sets the GatewayARN field's value.
13841func (s *ListLocalDisksOutput) SetGatewayARN(v string) *ListLocalDisksOutput {
13842	s.GatewayARN = &v
13843	return s
13844}
13845
13846// ListTagsForResourceInput
13847type ListTagsForResourceInput struct {
13848	_ struct{} `type:"structure"`
13849
13850	// Specifies that the list of tags returned be limited to the specified number
13851	// of items.
13852	Limit *int64 `min:"1" type:"integer"`
13853
13854	// An opaque string that indicates the position at which to begin returning
13855	// the list of tags.
13856	Marker *string `min:"1" type:"string"`
13857
13858	// The Amazon Resource Name (ARN) of the resource for which you want to list
13859	// tags.
13860	//
13861	// ResourceARN is a required field
13862	ResourceARN *string `min:"50" type:"string" required:"true"`
13863}
13864
13865// String returns the string representation
13866func (s ListTagsForResourceInput) String() string {
13867	return awsutil.Prettify(s)
13868}
13869
13870// GoString returns the string representation
13871func (s ListTagsForResourceInput) GoString() string {
13872	return s.String()
13873}
13874
13875// Validate inspects the fields of the type to determine if they are valid.
13876func (s *ListTagsForResourceInput) Validate() error {
13877	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
13878	if s.Limit != nil && *s.Limit < 1 {
13879		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
13880	}
13881	if s.Marker != nil && len(*s.Marker) < 1 {
13882		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
13883	}
13884	if s.ResourceARN == nil {
13885		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
13886	}
13887	if s.ResourceARN != nil && len(*s.ResourceARN) < 50 {
13888		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 50))
13889	}
13890
13891	if invalidParams.Len() > 0 {
13892		return invalidParams
13893	}
13894	return nil
13895}
13896
13897// SetLimit sets the Limit field's value.
13898func (s *ListTagsForResourceInput) SetLimit(v int64) *ListTagsForResourceInput {
13899	s.Limit = &v
13900	return s
13901}
13902
13903// SetMarker sets the Marker field's value.
13904func (s *ListTagsForResourceInput) SetMarker(v string) *ListTagsForResourceInput {
13905	s.Marker = &v
13906	return s
13907}
13908
13909// SetResourceARN sets the ResourceARN field's value.
13910func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
13911	s.ResourceARN = &v
13912	return s
13913}
13914
13915// ListTagsForResourceOutput
13916type ListTagsForResourceOutput struct {
13917	_ struct{} `type:"structure"`
13918
13919	// An opaque string that indicates the position at which to stop returning the
13920	// list of tags.
13921	Marker *string `min:"1" type:"string"`
13922
13923	// he Amazon Resource Name (ARN) of the resource for which you want to list
13924	// tags.
13925	ResourceARN *string `min:"50" type:"string"`
13926
13927	// An array that contains the tags for the specified resource.
13928	Tags []*Tag `type:"list"`
13929}
13930
13931// String returns the string representation
13932func (s ListTagsForResourceOutput) String() string {
13933	return awsutil.Prettify(s)
13934}
13935
13936// GoString returns the string representation
13937func (s ListTagsForResourceOutput) GoString() string {
13938	return s.String()
13939}
13940
13941// SetMarker sets the Marker field's value.
13942func (s *ListTagsForResourceOutput) SetMarker(v string) *ListTagsForResourceOutput {
13943	s.Marker = &v
13944	return s
13945}
13946
13947// SetResourceARN sets the ResourceARN field's value.
13948func (s *ListTagsForResourceOutput) SetResourceARN(v string) *ListTagsForResourceOutput {
13949	s.ResourceARN = &v
13950	return s
13951}
13952
13953// SetTags sets the Tags field's value.
13954func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
13955	s.Tags = v
13956	return s
13957}
13958
13959// A JSON object that contains one or more of the following fields:
13960//
13961//    * ListTapesInput$Limit
13962//
13963//    * ListTapesInput$Marker
13964//
13965//    * ListTapesInput$TapeARNs
13966type ListTapesInput struct {
13967	_ struct{} `type:"structure"`
13968
13969	// An optional number limit for the tapes in the list returned by this call.
13970	Limit *int64 `min:"1" type:"integer"`
13971
13972	// A string that indicates the position at which to begin the returned list
13973	// of tapes.
13974	Marker *string `min:"1" type:"string"`
13975
13976	// The Amazon Resource Name (ARN) of each of the tapes you want to list. If
13977	// you don't specify a tape ARN, the response lists all tapes in both your VTL
13978	// and VTS.
13979	TapeARNs []*string `type:"list"`
13980}
13981
13982// String returns the string representation
13983func (s ListTapesInput) String() string {
13984	return awsutil.Prettify(s)
13985}
13986
13987// GoString returns the string representation
13988func (s ListTapesInput) GoString() string {
13989	return s.String()
13990}
13991
13992// Validate inspects the fields of the type to determine if they are valid.
13993func (s *ListTapesInput) Validate() error {
13994	invalidParams := request.ErrInvalidParams{Context: "ListTapesInput"}
13995	if s.Limit != nil && *s.Limit < 1 {
13996		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
13997	}
13998	if s.Marker != nil && len(*s.Marker) < 1 {
13999		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
14000	}
14001
14002	if invalidParams.Len() > 0 {
14003		return invalidParams
14004	}
14005	return nil
14006}
14007
14008// SetLimit sets the Limit field's value.
14009func (s *ListTapesInput) SetLimit(v int64) *ListTapesInput {
14010	s.Limit = &v
14011	return s
14012}
14013
14014// SetMarker sets the Marker field's value.
14015func (s *ListTapesInput) SetMarker(v string) *ListTapesInput {
14016	s.Marker = &v
14017	return s
14018}
14019
14020// SetTapeARNs sets the TapeARNs field's value.
14021func (s *ListTapesInput) SetTapeARNs(v []*string) *ListTapesInput {
14022	s.TapeARNs = v
14023	return s
14024}
14025
14026// A JSON object containing the following fields:
14027//
14028//    * ListTapesOutput$Marker
14029//
14030//    * ListTapesOutput$VolumeInfos
14031type ListTapesOutput struct {
14032	_ struct{} `type:"structure"`
14033
14034	// A string that indicates the position at which to begin returning the next
14035	// list of tapes. Use the marker in your next request to continue pagination
14036	// of tapes. If there are no more tapes to list, this element does not appear
14037	// in the response body.
14038	Marker *string `min:"1" type:"string"`
14039
14040	// An array of TapeInfo objects, where each object describes an a single tape.
14041	// If there not tapes in the tape library or VTS, then the TapeInfos is an empty
14042	// array.
14043	TapeInfos []*TapeInfo `type:"list"`
14044}
14045
14046// String returns the string representation
14047func (s ListTapesOutput) String() string {
14048	return awsutil.Prettify(s)
14049}
14050
14051// GoString returns the string representation
14052func (s ListTapesOutput) GoString() string {
14053	return s.String()
14054}
14055
14056// SetMarker sets the Marker field's value.
14057func (s *ListTapesOutput) SetMarker(v string) *ListTapesOutput {
14058	s.Marker = &v
14059	return s
14060}
14061
14062// SetTapeInfos sets the TapeInfos field's value.
14063func (s *ListTapesOutput) SetTapeInfos(v []*TapeInfo) *ListTapesOutput {
14064	s.TapeInfos = v
14065	return s
14066}
14067
14068// ListVolumeInitiatorsInput
14069type ListVolumeInitiatorsInput struct {
14070	_ struct{} `type:"structure"`
14071
14072	// The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation
14073	// to return a list of gateway volumes for the gateway.
14074	//
14075	// VolumeARN is a required field
14076	VolumeARN *string `min:"50" type:"string" required:"true"`
14077}
14078
14079// String returns the string representation
14080func (s ListVolumeInitiatorsInput) String() string {
14081	return awsutil.Prettify(s)
14082}
14083
14084// GoString returns the string representation
14085func (s ListVolumeInitiatorsInput) GoString() string {
14086	return s.String()
14087}
14088
14089// Validate inspects the fields of the type to determine if they are valid.
14090func (s *ListVolumeInitiatorsInput) Validate() error {
14091	invalidParams := request.ErrInvalidParams{Context: "ListVolumeInitiatorsInput"}
14092	if s.VolumeARN == nil {
14093		invalidParams.Add(request.NewErrParamRequired("VolumeARN"))
14094	}
14095	if s.VolumeARN != nil && len(*s.VolumeARN) < 50 {
14096		invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50))
14097	}
14098
14099	if invalidParams.Len() > 0 {
14100		return invalidParams
14101	}
14102	return nil
14103}
14104
14105// SetVolumeARN sets the VolumeARN field's value.
14106func (s *ListVolumeInitiatorsInput) SetVolumeARN(v string) *ListVolumeInitiatorsInput {
14107	s.VolumeARN = &v
14108	return s
14109}
14110
14111// ListVolumeInitiatorsOutput
14112type ListVolumeInitiatorsOutput struct {
14113	_ struct{} `type:"structure"`
14114
14115	// The host names and port numbers of all iSCSI initiators that are connected
14116	// to the gateway.
14117	Initiators []*string `type:"list"`
14118}
14119
14120// String returns the string representation
14121func (s ListVolumeInitiatorsOutput) String() string {
14122	return awsutil.Prettify(s)
14123}
14124
14125// GoString returns the string representation
14126func (s ListVolumeInitiatorsOutput) GoString() string {
14127	return s.String()
14128}
14129
14130// SetInitiators sets the Initiators field's value.
14131func (s *ListVolumeInitiatorsOutput) SetInitiators(v []*string) *ListVolumeInitiatorsOutput {
14132	s.Initiators = v
14133	return s
14134}
14135
14136type ListVolumeRecoveryPointsInput struct {
14137	_ struct{} `type:"structure"`
14138
14139	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
14140	// to return a list of gateways for your account and AWS Region.
14141	//
14142	// GatewayARN is a required field
14143	GatewayARN *string `min:"50" type:"string" required:"true"`
14144}
14145
14146// String returns the string representation
14147func (s ListVolumeRecoveryPointsInput) String() string {
14148	return awsutil.Prettify(s)
14149}
14150
14151// GoString returns the string representation
14152func (s ListVolumeRecoveryPointsInput) GoString() string {
14153	return s.String()
14154}
14155
14156// Validate inspects the fields of the type to determine if they are valid.
14157func (s *ListVolumeRecoveryPointsInput) Validate() error {
14158	invalidParams := request.ErrInvalidParams{Context: "ListVolumeRecoveryPointsInput"}
14159	if s.GatewayARN == nil {
14160		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
14161	}
14162	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
14163		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
14164	}
14165
14166	if invalidParams.Len() > 0 {
14167		return invalidParams
14168	}
14169	return nil
14170}
14171
14172// SetGatewayARN sets the GatewayARN field's value.
14173func (s *ListVolumeRecoveryPointsInput) SetGatewayARN(v string) *ListVolumeRecoveryPointsInput {
14174	s.GatewayARN = &v
14175	return s
14176}
14177
14178type ListVolumeRecoveryPointsOutput struct {
14179	_ struct{} `type:"structure"`
14180
14181	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
14182	// to return a list of gateways for your account and AWS Region.
14183	GatewayARN *string `min:"50" type:"string"`
14184
14185	// An array of VolumeRecoveryPointInfo objects.
14186	VolumeRecoveryPointInfos []*VolumeRecoveryPointInfo `type:"list"`
14187}
14188
14189// String returns the string representation
14190func (s ListVolumeRecoveryPointsOutput) String() string {
14191	return awsutil.Prettify(s)
14192}
14193
14194// GoString returns the string representation
14195func (s ListVolumeRecoveryPointsOutput) GoString() string {
14196	return s.String()
14197}
14198
14199// SetGatewayARN sets the GatewayARN field's value.
14200func (s *ListVolumeRecoveryPointsOutput) SetGatewayARN(v string) *ListVolumeRecoveryPointsOutput {
14201	s.GatewayARN = &v
14202	return s
14203}
14204
14205// SetVolumeRecoveryPointInfos sets the VolumeRecoveryPointInfos field's value.
14206func (s *ListVolumeRecoveryPointsOutput) SetVolumeRecoveryPointInfos(v []*VolumeRecoveryPointInfo) *ListVolumeRecoveryPointsOutput {
14207	s.VolumeRecoveryPointInfos = v
14208	return s
14209}
14210
14211// A JSON object that contains one or more of the following fields:
14212//
14213//    * ListVolumesInput$Limit
14214//
14215//    * ListVolumesInput$Marker
14216type ListVolumesInput struct {
14217	_ struct{} `type:"structure"`
14218
14219	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
14220	// to return a list of gateways for your account and AWS Region.
14221	GatewayARN *string `min:"50" type:"string"`
14222
14223	// Specifies that the list of volumes returned be limited to the specified number
14224	// of items.
14225	Limit *int64 `min:"1" type:"integer"`
14226
14227	// A string that indicates the position at which to begin the returned list
14228	// of volumes. Obtain the marker from the response of a previous List iSCSI
14229	// Volumes request.
14230	Marker *string `min:"1" type:"string"`
14231}
14232
14233// String returns the string representation
14234func (s ListVolumesInput) String() string {
14235	return awsutil.Prettify(s)
14236}
14237
14238// GoString returns the string representation
14239func (s ListVolumesInput) GoString() string {
14240	return s.String()
14241}
14242
14243// Validate inspects the fields of the type to determine if they are valid.
14244func (s *ListVolumesInput) Validate() error {
14245	invalidParams := request.ErrInvalidParams{Context: "ListVolumesInput"}
14246	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
14247		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
14248	}
14249	if s.Limit != nil && *s.Limit < 1 {
14250		invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
14251	}
14252	if s.Marker != nil && len(*s.Marker) < 1 {
14253		invalidParams.Add(request.NewErrParamMinLen("Marker", 1))
14254	}
14255
14256	if invalidParams.Len() > 0 {
14257		return invalidParams
14258	}
14259	return nil
14260}
14261
14262// SetGatewayARN sets the GatewayARN field's value.
14263func (s *ListVolumesInput) SetGatewayARN(v string) *ListVolumesInput {
14264	s.GatewayARN = &v
14265	return s
14266}
14267
14268// SetLimit sets the Limit field's value.
14269func (s *ListVolumesInput) SetLimit(v int64) *ListVolumesInput {
14270	s.Limit = &v
14271	return s
14272}
14273
14274// SetMarker sets the Marker field's value.
14275func (s *ListVolumesInput) SetMarker(v string) *ListVolumesInput {
14276	s.Marker = &v
14277	return s
14278}
14279
14280// A JSON object containing the following fields:
14281//
14282//    * ListVolumesOutput$Marker
14283//
14284//    * ListVolumesOutput$VolumeInfos
14285type ListVolumesOutput struct {
14286	_ struct{} `type:"structure"`
14287
14288	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
14289	// to return a list of gateways for your account and AWS Region.
14290	GatewayARN *string `min:"50" type:"string"`
14291
14292	// Use the marker in your next request to continue pagination of iSCSI volumes.
14293	// If there are no more volumes to list, this field does not appear in the response
14294	// body.
14295	Marker *string `min:"1" type:"string"`
14296
14297	// An array of VolumeInfo objects, where each object describes an iSCSI volume.
14298	// If no volumes are defined for the gateway, then VolumeInfos is an empty array
14299	// "[]".
14300	VolumeInfos []*VolumeInfo `type:"list"`
14301}
14302
14303// String returns the string representation
14304func (s ListVolumesOutput) String() string {
14305	return awsutil.Prettify(s)
14306}
14307
14308// GoString returns the string representation
14309func (s ListVolumesOutput) GoString() string {
14310	return s.String()
14311}
14312
14313// SetGatewayARN sets the GatewayARN field's value.
14314func (s *ListVolumesOutput) SetGatewayARN(v string) *ListVolumesOutput {
14315	s.GatewayARN = &v
14316	return s
14317}
14318
14319// SetMarker sets the Marker field's value.
14320func (s *ListVolumesOutput) SetMarker(v string) *ListVolumesOutput {
14321	s.Marker = &v
14322	return s
14323}
14324
14325// SetVolumeInfos sets the VolumeInfos field's value.
14326func (s *ListVolumesOutput) SetVolumeInfos(v []*VolumeInfo) *ListVolumesOutput {
14327	s.VolumeInfos = v
14328	return s
14329}
14330
14331// Describes Network File System (NFS) file share default values. Files and
14332// folders stored as Amazon S3 objects in S3 buckets don't, by default, have
14333// Unix file permissions assigned to them. Upon discovery in an S3 bucket by
14334// Storage Gateway, the S3 objects that represent files and folders are assigned
14335// these default Unix permissions. This operation is only supported for file
14336// gateways.
14337type NFSFileShareDefaults struct {
14338	_ struct{} `type:"structure"`
14339
14340	// The Unix directory mode in the form "nnnn". For example, "0666" represents
14341	// the default access mode for all directories inside the file share. The default
14342	// value is 0777.
14343	DirectoryMode *string `min:"1" type:"string"`
14344
14345	// The Unix file mode in the form "nnnn". For example, "0666" represents the
14346	// default file mode inside the file share. The default value is 0666.
14347	FileMode *string `min:"1" type:"string"`
14348
14349	// The default group ID for the file share (unless the files have another group
14350	// ID specified). The default value is nfsnobody.
14351	GroupId *int64 `type:"long"`
14352
14353	// The default owner ID for files in the file share (unless the files have another
14354	// owner ID specified). The default value is nfsnobody.
14355	OwnerId *int64 `type:"long"`
14356}
14357
14358// String returns the string representation
14359func (s NFSFileShareDefaults) String() string {
14360	return awsutil.Prettify(s)
14361}
14362
14363// GoString returns the string representation
14364func (s NFSFileShareDefaults) GoString() string {
14365	return s.String()
14366}
14367
14368// Validate inspects the fields of the type to determine if they are valid.
14369func (s *NFSFileShareDefaults) Validate() error {
14370	invalidParams := request.ErrInvalidParams{Context: "NFSFileShareDefaults"}
14371	if s.DirectoryMode != nil && len(*s.DirectoryMode) < 1 {
14372		invalidParams.Add(request.NewErrParamMinLen("DirectoryMode", 1))
14373	}
14374	if s.FileMode != nil && len(*s.FileMode) < 1 {
14375		invalidParams.Add(request.NewErrParamMinLen("FileMode", 1))
14376	}
14377
14378	if invalidParams.Len() > 0 {
14379		return invalidParams
14380	}
14381	return nil
14382}
14383
14384// SetDirectoryMode sets the DirectoryMode field's value.
14385func (s *NFSFileShareDefaults) SetDirectoryMode(v string) *NFSFileShareDefaults {
14386	s.DirectoryMode = &v
14387	return s
14388}
14389
14390// SetFileMode sets the FileMode field's value.
14391func (s *NFSFileShareDefaults) SetFileMode(v string) *NFSFileShareDefaults {
14392	s.FileMode = &v
14393	return s
14394}
14395
14396// SetGroupId sets the GroupId field's value.
14397func (s *NFSFileShareDefaults) SetGroupId(v int64) *NFSFileShareDefaults {
14398	s.GroupId = &v
14399	return s
14400}
14401
14402// SetOwnerId sets the OwnerId field's value.
14403func (s *NFSFileShareDefaults) SetOwnerId(v int64) *NFSFileShareDefaults {
14404	s.OwnerId = &v
14405	return s
14406}
14407
14408// The Unix file permissions and ownership information assigned, by default,
14409// to native S3 objects when file gateway discovers them in S3 buckets. This
14410// operation is only supported in file gateways.
14411type NFSFileShareInfo struct {
14412	_ struct{} `type:"structure"`
14413
14414	// The list of clients that are allowed to access the file gateway. The list
14415	// must contain either valid IP addresses or valid CIDR blocks.
14416	ClientList []*string `min:"1" type:"list"`
14417
14418	// The default storage class for objects put into an Amazon S3 bucket by the
14419	// file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA.
14420	// If this field is not populated, the default value S3_STANDARD is used. Optional.
14421	DefaultStorageClass *string `min:"5" type:"string"`
14422
14423	// The Amazon Resource Name (ARN) of the file share.
14424	FileShareARN *string `min:"50" type:"string"`
14425
14426	// The ID of the file share.
14427	FileShareId *string `min:"12" type:"string"`
14428
14429	// The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE
14430	// and DELETING.
14431	FileShareStatus *string `min:"3" type:"string"`
14432
14433	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
14434	// to return a list of gateways for your account and AWS Region.
14435	GatewayARN *string `min:"50" type:"string"`
14436
14437	// A value that enables guessing of the MIME type for uploaded objects based
14438	// on file extensions. Set this value to true to enable MIME type guessing,
14439	// and otherwise to false. The default value is true.
14440	GuessMIMETypeEnabled *bool `type:"boolean"`
14441
14442	// True to use Amazon S3 server side encryption with your own AWS KMS key, or
14443	// false to use a key managed by Amazon S3. Optional.
14444	KMSEncrypted *bool `type:"boolean"`
14445
14446	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
14447	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
14448	KMSKey *string `min:"7" type:"string"`
14449
14450	// The ARN of the backend storage used for storing file data.
14451	LocationARN *string `min:"16" type:"string"`
14452
14453	// Describes Network File System (NFS) file share default values. Files and
14454	// folders stored as Amazon S3 objects in S3 buckets don't, by default, have
14455	// Unix file permissions assigned to them. Upon discovery in an S3 bucket by
14456	// Storage Gateway, the S3 objects that represent files and folders are assigned
14457	// these default Unix permissions. This operation is only supported for file
14458	// gateways.
14459	NFSFileShareDefaults *NFSFileShareDefaults `type:"structure"`
14460
14461	// A value that sets the access control list permission for objects in the S3
14462	// bucket that a file gateway puts objects into. The default value is "private".
14463	ObjectACL *string `type:"string" enum:"ObjectACL"`
14464
14465	// The file share path used by the NFS client to identify the mount point.
14466	Path *string `type:"string"`
14467
14468	// A value that sets the write status of a file share. This value is true if
14469	// the write status is read-only, and otherwise false.
14470	ReadOnly *bool `type:"boolean"`
14471
14472	// A value that sets who pays the cost of the request and the cost associated
14473	// with data download from the S3 bucket. If this value is set to true, the
14474	// requester pays the costs. Otherwise the S3 bucket owner pays. However, the
14475	// S3 bucket owner always pays the cost of storing data.
14476	//
14477	// RequesterPays is a configuration for the S3 bucket that backs the file share,
14478	// so make sure that the configuration on the file share is the same as the
14479	// S3 bucket configuration.
14480	RequesterPays *bool `type:"boolean"`
14481
14482	// The ARN of the IAM role that file gateway assumes when it accesses the underlying
14483	// storage.
14484	Role *string `min:"20" type:"string"`
14485
14486	// The user mapped to anonymous user. Valid options are the following:
14487	//
14488	//    * RootSquash - Only root is mapped to anonymous user.
14489	//
14490	//    * NoSquash - No one is mapped to anonymous user
14491	//
14492	//    * AllSquash - Everyone is mapped to anonymous user.
14493	Squash *string `min:"5" type:"string"`
14494
14495	// A list of up to 50 tags assigned to the NFS file share, sorted alphabetically
14496	// by key name. Each tag is a key-value pair. For a gateway with more than 10
14497	// tags assigned, you can view all tags using the ListTagsForResource API operation.
14498	Tags []*Tag `type:"list"`
14499}
14500
14501// String returns the string representation
14502func (s NFSFileShareInfo) String() string {
14503	return awsutil.Prettify(s)
14504}
14505
14506// GoString returns the string representation
14507func (s NFSFileShareInfo) GoString() string {
14508	return s.String()
14509}
14510
14511// SetClientList sets the ClientList field's value.
14512func (s *NFSFileShareInfo) SetClientList(v []*string) *NFSFileShareInfo {
14513	s.ClientList = v
14514	return s
14515}
14516
14517// SetDefaultStorageClass sets the DefaultStorageClass field's value.
14518func (s *NFSFileShareInfo) SetDefaultStorageClass(v string) *NFSFileShareInfo {
14519	s.DefaultStorageClass = &v
14520	return s
14521}
14522
14523// SetFileShareARN sets the FileShareARN field's value.
14524func (s *NFSFileShareInfo) SetFileShareARN(v string) *NFSFileShareInfo {
14525	s.FileShareARN = &v
14526	return s
14527}
14528
14529// SetFileShareId sets the FileShareId field's value.
14530func (s *NFSFileShareInfo) SetFileShareId(v string) *NFSFileShareInfo {
14531	s.FileShareId = &v
14532	return s
14533}
14534
14535// SetFileShareStatus sets the FileShareStatus field's value.
14536func (s *NFSFileShareInfo) SetFileShareStatus(v string) *NFSFileShareInfo {
14537	s.FileShareStatus = &v
14538	return s
14539}
14540
14541// SetGatewayARN sets the GatewayARN field's value.
14542func (s *NFSFileShareInfo) SetGatewayARN(v string) *NFSFileShareInfo {
14543	s.GatewayARN = &v
14544	return s
14545}
14546
14547// SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value.
14548func (s *NFSFileShareInfo) SetGuessMIMETypeEnabled(v bool) *NFSFileShareInfo {
14549	s.GuessMIMETypeEnabled = &v
14550	return s
14551}
14552
14553// SetKMSEncrypted sets the KMSEncrypted field's value.
14554func (s *NFSFileShareInfo) SetKMSEncrypted(v bool) *NFSFileShareInfo {
14555	s.KMSEncrypted = &v
14556	return s
14557}
14558
14559// SetKMSKey sets the KMSKey field's value.
14560func (s *NFSFileShareInfo) SetKMSKey(v string) *NFSFileShareInfo {
14561	s.KMSKey = &v
14562	return s
14563}
14564
14565// SetLocationARN sets the LocationARN field's value.
14566func (s *NFSFileShareInfo) SetLocationARN(v string) *NFSFileShareInfo {
14567	s.LocationARN = &v
14568	return s
14569}
14570
14571// SetNFSFileShareDefaults sets the NFSFileShareDefaults field's value.
14572func (s *NFSFileShareInfo) SetNFSFileShareDefaults(v *NFSFileShareDefaults) *NFSFileShareInfo {
14573	s.NFSFileShareDefaults = v
14574	return s
14575}
14576
14577// SetObjectACL sets the ObjectACL field's value.
14578func (s *NFSFileShareInfo) SetObjectACL(v string) *NFSFileShareInfo {
14579	s.ObjectACL = &v
14580	return s
14581}
14582
14583// SetPath sets the Path field's value.
14584func (s *NFSFileShareInfo) SetPath(v string) *NFSFileShareInfo {
14585	s.Path = &v
14586	return s
14587}
14588
14589// SetReadOnly sets the ReadOnly field's value.
14590func (s *NFSFileShareInfo) SetReadOnly(v bool) *NFSFileShareInfo {
14591	s.ReadOnly = &v
14592	return s
14593}
14594
14595// SetRequesterPays sets the RequesterPays field's value.
14596func (s *NFSFileShareInfo) SetRequesterPays(v bool) *NFSFileShareInfo {
14597	s.RequesterPays = &v
14598	return s
14599}
14600
14601// SetRole sets the Role field's value.
14602func (s *NFSFileShareInfo) SetRole(v string) *NFSFileShareInfo {
14603	s.Role = &v
14604	return s
14605}
14606
14607// SetSquash sets the Squash field's value.
14608func (s *NFSFileShareInfo) SetSquash(v string) *NFSFileShareInfo {
14609	s.Squash = &v
14610	return s
14611}
14612
14613// SetTags sets the Tags field's value.
14614func (s *NFSFileShareInfo) SetTags(v []*Tag) *NFSFileShareInfo {
14615	s.Tags = v
14616	return s
14617}
14618
14619// Describes a gateway's network interface.
14620type NetworkInterface struct {
14621	_ struct{} `type:"structure"`
14622
14623	// The Internet Protocol version 4 (IPv4) address of the interface.
14624	Ipv4Address *string `type:"string"`
14625
14626	// The Internet Protocol version 6 (IPv6) address of the interface. Currently
14627	// not supported.
14628	Ipv6Address *string `type:"string"`
14629
14630	// The Media Access Control (MAC) address of the interface.
14631	//
14632	// This is currently unsupported and will not be returned in output.
14633	MacAddress *string `type:"string"`
14634}
14635
14636// String returns the string representation
14637func (s NetworkInterface) String() string {
14638	return awsutil.Prettify(s)
14639}
14640
14641// GoString returns the string representation
14642func (s NetworkInterface) GoString() string {
14643	return s.String()
14644}
14645
14646// SetIpv4Address sets the Ipv4Address field's value.
14647func (s *NetworkInterface) SetIpv4Address(v string) *NetworkInterface {
14648	s.Ipv4Address = &v
14649	return s
14650}
14651
14652// SetIpv6Address sets the Ipv6Address field's value.
14653func (s *NetworkInterface) SetIpv6Address(v string) *NetworkInterface {
14654	s.Ipv6Address = &v
14655	return s
14656}
14657
14658// SetMacAddress sets the MacAddress field's value.
14659func (s *NetworkInterface) SetMacAddress(v string) *NetworkInterface {
14660	s.MacAddress = &v
14661	return s
14662}
14663
14664type NotifyWhenUploadedInput struct {
14665	_ struct{} `type:"structure"`
14666
14667	// The Amazon Resource Name (ARN) of the file share.
14668	//
14669	// FileShareARN is a required field
14670	FileShareARN *string `min:"50" type:"string" required:"true"`
14671}
14672
14673// String returns the string representation
14674func (s NotifyWhenUploadedInput) String() string {
14675	return awsutil.Prettify(s)
14676}
14677
14678// GoString returns the string representation
14679func (s NotifyWhenUploadedInput) GoString() string {
14680	return s.String()
14681}
14682
14683// Validate inspects the fields of the type to determine if they are valid.
14684func (s *NotifyWhenUploadedInput) Validate() error {
14685	invalidParams := request.ErrInvalidParams{Context: "NotifyWhenUploadedInput"}
14686	if s.FileShareARN == nil {
14687		invalidParams.Add(request.NewErrParamRequired("FileShareARN"))
14688	}
14689	if s.FileShareARN != nil && len(*s.FileShareARN) < 50 {
14690		invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50))
14691	}
14692
14693	if invalidParams.Len() > 0 {
14694		return invalidParams
14695	}
14696	return nil
14697}
14698
14699// SetFileShareARN sets the FileShareARN field's value.
14700func (s *NotifyWhenUploadedInput) SetFileShareARN(v string) *NotifyWhenUploadedInput {
14701	s.FileShareARN = &v
14702	return s
14703}
14704
14705type NotifyWhenUploadedOutput struct {
14706	_ struct{} `type:"structure"`
14707
14708	// The Amazon Resource Name (ARN) of the file share.
14709	FileShareARN *string `min:"50" type:"string"`
14710
14711	// The randomly generated ID of the notification that was sent. This ID is in
14712	// UUID format.
14713	NotificationId *string `min:"1" type:"string"`
14714}
14715
14716// String returns the string representation
14717func (s NotifyWhenUploadedOutput) String() string {
14718	return awsutil.Prettify(s)
14719}
14720
14721// GoString returns the string representation
14722func (s NotifyWhenUploadedOutput) GoString() string {
14723	return s.String()
14724}
14725
14726// SetFileShareARN sets the FileShareARN field's value.
14727func (s *NotifyWhenUploadedOutput) SetFileShareARN(v string) *NotifyWhenUploadedOutput {
14728	s.FileShareARN = &v
14729	return s
14730}
14731
14732// SetNotificationId sets the NotificationId field's value.
14733func (s *NotifyWhenUploadedOutput) SetNotificationId(v string) *NotifyWhenUploadedOutput {
14734	s.NotificationId = &v
14735	return s
14736}
14737
14738// RefreshCacheInput
14739type RefreshCacheInput struct {
14740	_ struct{} `type:"structure"`
14741
14742	// The Amazon Resource Name (ARN) of the file share you want to refresh.
14743	//
14744	// FileShareARN is a required field
14745	FileShareARN *string `min:"50" type:"string" required:"true"`
14746
14747	// A comma-separated list of the paths of folders to refresh in the cache. The
14748	// default is ["/"]. The default refreshes objects and folders at the root of
14749	// the Amazon S3 bucket. If Recursive is set to "true", the entire S3 bucket
14750	// that the file share has access to is refreshed.
14751	FolderList []*string `min:"1" type:"list"`
14752
14753	// A value that specifies whether to recursively refresh folders in the cache.
14754	// The refresh includes folders that were in the cache the last time the gateway
14755	// listed the folder's contents. If this value set to "true", each folder that
14756	// is listed in FolderList is recursively updated. Otherwise, subfolders listed
14757	// in FolderList are not refreshed. Only objects that are in folders listed
14758	// directly under FolderList are found and used for the update. The default
14759	// is "true".
14760	Recursive *bool `type:"boolean"`
14761}
14762
14763// String returns the string representation
14764func (s RefreshCacheInput) String() string {
14765	return awsutil.Prettify(s)
14766}
14767
14768// GoString returns the string representation
14769func (s RefreshCacheInput) GoString() string {
14770	return s.String()
14771}
14772
14773// Validate inspects the fields of the type to determine if they are valid.
14774func (s *RefreshCacheInput) Validate() error {
14775	invalidParams := request.ErrInvalidParams{Context: "RefreshCacheInput"}
14776	if s.FileShareARN == nil {
14777		invalidParams.Add(request.NewErrParamRequired("FileShareARN"))
14778	}
14779	if s.FileShareARN != nil && len(*s.FileShareARN) < 50 {
14780		invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50))
14781	}
14782	if s.FolderList != nil && len(s.FolderList) < 1 {
14783		invalidParams.Add(request.NewErrParamMinLen("FolderList", 1))
14784	}
14785
14786	if invalidParams.Len() > 0 {
14787		return invalidParams
14788	}
14789	return nil
14790}
14791
14792// SetFileShareARN sets the FileShareARN field's value.
14793func (s *RefreshCacheInput) SetFileShareARN(v string) *RefreshCacheInput {
14794	s.FileShareARN = &v
14795	return s
14796}
14797
14798// SetFolderList sets the FolderList field's value.
14799func (s *RefreshCacheInput) SetFolderList(v []*string) *RefreshCacheInput {
14800	s.FolderList = v
14801	return s
14802}
14803
14804// SetRecursive sets the Recursive field's value.
14805func (s *RefreshCacheInput) SetRecursive(v bool) *RefreshCacheInput {
14806	s.Recursive = &v
14807	return s
14808}
14809
14810// RefreshCacheOutput
14811type RefreshCacheOutput struct {
14812	_ struct{} `type:"structure"`
14813
14814	// The Amazon Resource Name (ARN) of the file share.
14815	FileShareARN *string `min:"50" type:"string"`
14816
14817	// The randomly generated ID of the notification that was sent. This ID is in
14818	// UUID format.
14819	NotificationId *string `min:"1" type:"string"`
14820}
14821
14822// String returns the string representation
14823func (s RefreshCacheOutput) String() string {
14824	return awsutil.Prettify(s)
14825}
14826
14827// GoString returns the string representation
14828func (s RefreshCacheOutput) GoString() string {
14829	return s.String()
14830}
14831
14832// SetFileShareARN sets the FileShareARN field's value.
14833func (s *RefreshCacheOutput) SetFileShareARN(v string) *RefreshCacheOutput {
14834	s.FileShareARN = &v
14835	return s
14836}
14837
14838// SetNotificationId sets the NotificationId field's value.
14839func (s *RefreshCacheOutput) SetNotificationId(v string) *RefreshCacheOutput {
14840	s.NotificationId = &v
14841	return s
14842}
14843
14844// RemoveTagsFromResourceInput
14845type RemoveTagsFromResourceInput struct {
14846	_ struct{} `type:"structure"`
14847
14848	// The Amazon Resource Name (ARN) of the resource you want to remove the tags
14849	// from.
14850	//
14851	// ResourceARN is a required field
14852	ResourceARN *string `min:"50" type:"string" required:"true"`
14853
14854	// The keys of the tags you want to remove from the specified resource. A tag
14855	// is composed of a key/value pair.
14856	//
14857	// TagKeys is a required field
14858	TagKeys []*string `type:"list" required:"true"`
14859}
14860
14861// String returns the string representation
14862func (s RemoveTagsFromResourceInput) String() string {
14863	return awsutil.Prettify(s)
14864}
14865
14866// GoString returns the string representation
14867func (s RemoveTagsFromResourceInput) GoString() string {
14868	return s.String()
14869}
14870
14871// Validate inspects the fields of the type to determine if they are valid.
14872func (s *RemoveTagsFromResourceInput) Validate() error {
14873	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
14874	if s.ResourceARN == nil {
14875		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
14876	}
14877	if s.ResourceARN != nil && len(*s.ResourceARN) < 50 {
14878		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 50))
14879	}
14880	if s.TagKeys == nil {
14881		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
14882	}
14883
14884	if invalidParams.Len() > 0 {
14885		return invalidParams
14886	}
14887	return nil
14888}
14889
14890// SetResourceARN sets the ResourceARN field's value.
14891func (s *RemoveTagsFromResourceInput) SetResourceARN(v string) *RemoveTagsFromResourceInput {
14892	s.ResourceARN = &v
14893	return s
14894}
14895
14896// SetTagKeys sets the TagKeys field's value.
14897func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
14898	s.TagKeys = v
14899	return s
14900}
14901
14902// RemoveTagsFromResourceOutput
14903type RemoveTagsFromResourceOutput struct {
14904	_ struct{} `type:"structure"`
14905
14906	// The Amazon Resource Name (ARN) of the resource that the tags were removed
14907	// from.
14908	ResourceARN *string `min:"50" type:"string"`
14909}
14910
14911// String returns the string representation
14912func (s RemoveTagsFromResourceOutput) String() string {
14913	return awsutil.Prettify(s)
14914}
14915
14916// GoString returns the string representation
14917func (s RemoveTagsFromResourceOutput) GoString() string {
14918	return s.String()
14919}
14920
14921// SetResourceARN sets the ResourceARN field's value.
14922func (s *RemoveTagsFromResourceOutput) SetResourceARN(v string) *RemoveTagsFromResourceOutput {
14923	s.ResourceARN = &v
14924	return s
14925}
14926
14927type ResetCacheInput struct {
14928	_ struct{} `type:"structure"`
14929
14930	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
14931	// to return a list of gateways for your account and AWS Region.
14932	//
14933	// GatewayARN is a required field
14934	GatewayARN *string `min:"50" type:"string" required:"true"`
14935}
14936
14937// String returns the string representation
14938func (s ResetCacheInput) String() string {
14939	return awsutil.Prettify(s)
14940}
14941
14942// GoString returns the string representation
14943func (s ResetCacheInput) GoString() string {
14944	return s.String()
14945}
14946
14947// Validate inspects the fields of the type to determine if they are valid.
14948func (s *ResetCacheInput) Validate() error {
14949	invalidParams := request.ErrInvalidParams{Context: "ResetCacheInput"}
14950	if s.GatewayARN == nil {
14951		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
14952	}
14953	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
14954		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
14955	}
14956
14957	if invalidParams.Len() > 0 {
14958		return invalidParams
14959	}
14960	return nil
14961}
14962
14963// SetGatewayARN sets the GatewayARN field's value.
14964func (s *ResetCacheInput) SetGatewayARN(v string) *ResetCacheInput {
14965	s.GatewayARN = &v
14966	return s
14967}
14968
14969type ResetCacheOutput struct {
14970	_ struct{} `type:"structure"`
14971
14972	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
14973	// to return a list of gateways for your account and AWS Region.
14974	GatewayARN *string `min:"50" type:"string"`
14975}
14976
14977// String returns the string representation
14978func (s ResetCacheOutput) String() string {
14979	return awsutil.Prettify(s)
14980}
14981
14982// GoString returns the string representation
14983func (s ResetCacheOutput) GoString() string {
14984	return s.String()
14985}
14986
14987// SetGatewayARN sets the GatewayARN field's value.
14988func (s *ResetCacheOutput) SetGatewayARN(v string) *ResetCacheOutput {
14989	s.GatewayARN = &v
14990	return s
14991}
14992
14993// RetrieveTapeArchiveInput
14994type RetrieveTapeArchiveInput struct {
14995	_ struct{} `type:"structure"`
14996
14997	// The Amazon Resource Name (ARN) of the gateway you want to retrieve the virtual
14998	// tape to. Use the ListGateways operation to return a list of gateways for
14999	// your account and AWS Region.
15000	//
15001	// You retrieve archived virtual tapes to only one gateway and the gateway must
15002	// be a tape gateway.
15003	//
15004	// GatewayARN is a required field
15005	GatewayARN *string `min:"50" type:"string" required:"true"`
15006
15007	// The Amazon Resource Name (ARN) of the virtual tape you want to retrieve from
15008	// the virtual tape shelf (VTS).
15009	//
15010	// TapeARN is a required field
15011	TapeARN *string `min:"50" type:"string" required:"true"`
15012}
15013
15014// String returns the string representation
15015func (s RetrieveTapeArchiveInput) String() string {
15016	return awsutil.Prettify(s)
15017}
15018
15019// GoString returns the string representation
15020func (s RetrieveTapeArchiveInput) GoString() string {
15021	return s.String()
15022}
15023
15024// Validate inspects the fields of the type to determine if they are valid.
15025func (s *RetrieveTapeArchiveInput) Validate() error {
15026	invalidParams := request.ErrInvalidParams{Context: "RetrieveTapeArchiveInput"}
15027	if s.GatewayARN == nil {
15028		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
15029	}
15030	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
15031		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
15032	}
15033	if s.TapeARN == nil {
15034		invalidParams.Add(request.NewErrParamRequired("TapeARN"))
15035	}
15036	if s.TapeARN != nil && len(*s.TapeARN) < 50 {
15037		invalidParams.Add(request.NewErrParamMinLen("TapeARN", 50))
15038	}
15039
15040	if invalidParams.Len() > 0 {
15041		return invalidParams
15042	}
15043	return nil
15044}
15045
15046// SetGatewayARN sets the GatewayARN field's value.
15047func (s *RetrieveTapeArchiveInput) SetGatewayARN(v string) *RetrieveTapeArchiveInput {
15048	s.GatewayARN = &v
15049	return s
15050}
15051
15052// SetTapeARN sets the TapeARN field's value.
15053func (s *RetrieveTapeArchiveInput) SetTapeARN(v string) *RetrieveTapeArchiveInput {
15054	s.TapeARN = &v
15055	return s
15056}
15057
15058// RetrieveTapeArchiveOutput
15059type RetrieveTapeArchiveOutput struct {
15060	_ struct{} `type:"structure"`
15061
15062	// The Amazon Resource Name (ARN) of the retrieved virtual tape.
15063	TapeARN *string `min:"50" type:"string"`
15064}
15065
15066// String returns the string representation
15067func (s RetrieveTapeArchiveOutput) String() string {
15068	return awsutil.Prettify(s)
15069}
15070
15071// GoString returns the string representation
15072func (s RetrieveTapeArchiveOutput) GoString() string {
15073	return s.String()
15074}
15075
15076// SetTapeARN sets the TapeARN field's value.
15077func (s *RetrieveTapeArchiveOutput) SetTapeARN(v string) *RetrieveTapeArchiveOutput {
15078	s.TapeARN = &v
15079	return s
15080}
15081
15082// RetrieveTapeRecoveryPointInput
15083type RetrieveTapeRecoveryPointInput struct {
15084	_ struct{} `type:"structure"`
15085
15086	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15087	// to return a list of gateways for your account and AWS Region.
15088	//
15089	// GatewayARN is a required field
15090	GatewayARN *string `min:"50" type:"string" required:"true"`
15091
15092	// The Amazon Resource Name (ARN) of the virtual tape for which you want to
15093	// retrieve the recovery point.
15094	//
15095	// TapeARN is a required field
15096	TapeARN *string `min:"50" type:"string" required:"true"`
15097}
15098
15099// String returns the string representation
15100func (s RetrieveTapeRecoveryPointInput) String() string {
15101	return awsutil.Prettify(s)
15102}
15103
15104// GoString returns the string representation
15105func (s RetrieveTapeRecoveryPointInput) GoString() string {
15106	return s.String()
15107}
15108
15109// Validate inspects the fields of the type to determine if they are valid.
15110func (s *RetrieveTapeRecoveryPointInput) Validate() error {
15111	invalidParams := request.ErrInvalidParams{Context: "RetrieveTapeRecoveryPointInput"}
15112	if s.GatewayARN == nil {
15113		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
15114	}
15115	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
15116		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
15117	}
15118	if s.TapeARN == nil {
15119		invalidParams.Add(request.NewErrParamRequired("TapeARN"))
15120	}
15121	if s.TapeARN != nil && len(*s.TapeARN) < 50 {
15122		invalidParams.Add(request.NewErrParamMinLen("TapeARN", 50))
15123	}
15124
15125	if invalidParams.Len() > 0 {
15126		return invalidParams
15127	}
15128	return nil
15129}
15130
15131// SetGatewayARN sets the GatewayARN field's value.
15132func (s *RetrieveTapeRecoveryPointInput) SetGatewayARN(v string) *RetrieveTapeRecoveryPointInput {
15133	s.GatewayARN = &v
15134	return s
15135}
15136
15137// SetTapeARN sets the TapeARN field's value.
15138func (s *RetrieveTapeRecoveryPointInput) SetTapeARN(v string) *RetrieveTapeRecoveryPointInput {
15139	s.TapeARN = &v
15140	return s
15141}
15142
15143// RetrieveTapeRecoveryPointOutput
15144type RetrieveTapeRecoveryPointOutput struct {
15145	_ struct{} `type:"structure"`
15146
15147	// The Amazon Resource Name (ARN) of the virtual tape for which the recovery
15148	// point was retrieved.
15149	TapeARN *string `min:"50" type:"string"`
15150}
15151
15152// String returns the string representation
15153func (s RetrieveTapeRecoveryPointOutput) String() string {
15154	return awsutil.Prettify(s)
15155}
15156
15157// GoString returns the string representation
15158func (s RetrieveTapeRecoveryPointOutput) GoString() string {
15159	return s.String()
15160}
15161
15162// SetTapeARN sets the TapeARN field's value.
15163func (s *RetrieveTapeRecoveryPointOutput) SetTapeARN(v string) *RetrieveTapeRecoveryPointOutput {
15164	s.TapeARN = &v
15165	return s
15166}
15167
15168// The Windows file permissions and ownership information assigned, by default,
15169// to native S3 objects when file gateway discovers them in S3 buckets. This
15170// operation is only supported for file gateways.
15171type SMBFileShareInfo struct {
15172	_ struct{} `type:"structure"`
15173
15174	// A list of users or groups in the Active Directory that have administrator
15175	// rights to the file share. A group must be prefixed with the @ character.
15176	// For example @group1. Can only be set if Authentication is set to ActiveDirectory.
15177	AdminUserList []*string `type:"list"`
15178
15179	// The authentication method of the file share.
15180	//
15181	// Valid values are ActiveDirectory or GuestAccess. The default is ActiveDirectory.
15182	Authentication *string `min:"5" type:"string"`
15183
15184	// The default storage class for objects put into an Amazon S3 bucket by the
15185	// file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA.
15186	// If this field is not populated, the default value S3_STANDARD is used. Optional.
15187	DefaultStorageClass *string `min:"5" type:"string"`
15188
15189	// The Amazon Resource Name (ARN) of the file share.
15190	FileShareARN *string `min:"50" type:"string"`
15191
15192	// The ID of the file share.
15193	FileShareId *string `min:"12" type:"string"`
15194
15195	// The status of the file share. Possible values are CREATING, UPDATING, AVAILABLE
15196	// and DELETING.
15197	FileShareStatus *string `min:"3" type:"string"`
15198
15199	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15200	// to return a list of gateways for your account and AWS Region.
15201	GatewayARN *string `min:"50" type:"string"`
15202
15203	// A value that enables guessing of the MIME type for uploaded objects based
15204	// on file extensions. Set this value to true to enable MIME type guessing,
15205	// and otherwise to false. The default value is true.
15206	GuessMIMETypeEnabled *bool `type:"boolean"`
15207
15208	// A list of users or groups in the Active Directory that are not allowed to
15209	// access the file share. A group must be prefixed with the @ character. For
15210	// example @group1. Can only be set if Authentication is set to ActiveDirectory.
15211	InvalidUserList []*string `type:"list"`
15212
15213	// True to use Amazon S3 server-side encryption with your own AWS KMS key, or
15214	// false to use a key managed by Amazon S3. Optional.
15215	KMSEncrypted *bool `type:"boolean"`
15216
15217	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
15218	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
15219	KMSKey *string `min:"7" type:"string"`
15220
15221	// The ARN of the backend storage used for storing file data.
15222	LocationARN *string `min:"16" type:"string"`
15223
15224	// A value that sets the access control list permission for objects in the S3
15225	// bucket that a file gateway puts objects into. The default value is "private".
15226	ObjectACL *string `type:"string" enum:"ObjectACL"`
15227
15228	// The file share path used by the SMB client to identify the mount point.
15229	Path *string `type:"string"`
15230
15231	// A value that sets the write status of a file share. This value is true if
15232	// the write status is read-only, and otherwise false.
15233	ReadOnly *bool `type:"boolean"`
15234
15235	// A value that sets who pays the cost of the request and the cost associated
15236	// with data download from the S3 bucket. If this value is set to true, the
15237	// requester pays the costs. Otherwise the S3 bucket owner pays. However, the
15238	// S3 bucket owner always pays the cost of storing data.
15239	//
15240	// RequesterPays is a configuration for the S3 bucket that backs the file share,
15241	// so make sure that the configuration on the file share is the same as the
15242	// S3 bucket configuration.
15243	RequesterPays *bool `type:"boolean"`
15244
15245	// The ARN of the IAM role that file gateway assumes when it accesses the underlying
15246	// storage.
15247	Role *string `min:"20" type:"string"`
15248
15249	// If this value is set to "true", indicates that ACL (access control list)
15250	// is enabled on the SMB file share. If it is set to "false", it indicates that
15251	// file and directory permissions are mapped to the POSIX permission.
15252	//
15253	// For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.html
15254	// in the Storage Gateway User Guide.
15255	SMBACLEnabled *bool `type:"boolean"`
15256
15257	// A list of up to 50 tags assigned to the SMB file share, sorted alphabetically
15258	// by key name. Each tag is a key-value pair. For a gateway with more than 10
15259	// tags assigned, you can view all tags using the ListTagsForResource API operation.
15260	Tags []*Tag `type:"list"`
15261
15262	// A list of users or groups in the Active Directory that are allowed to access
15263	// the file share. A group must be prefixed with the @ character. For example
15264	// @group1. Can only be set if Authentication is set to ActiveDirectory.
15265	ValidUserList []*string `type:"list"`
15266}
15267
15268// String returns the string representation
15269func (s SMBFileShareInfo) String() string {
15270	return awsutil.Prettify(s)
15271}
15272
15273// GoString returns the string representation
15274func (s SMBFileShareInfo) GoString() string {
15275	return s.String()
15276}
15277
15278// SetAdminUserList sets the AdminUserList field's value.
15279func (s *SMBFileShareInfo) SetAdminUserList(v []*string) *SMBFileShareInfo {
15280	s.AdminUserList = v
15281	return s
15282}
15283
15284// SetAuthentication sets the Authentication field's value.
15285func (s *SMBFileShareInfo) SetAuthentication(v string) *SMBFileShareInfo {
15286	s.Authentication = &v
15287	return s
15288}
15289
15290// SetDefaultStorageClass sets the DefaultStorageClass field's value.
15291func (s *SMBFileShareInfo) SetDefaultStorageClass(v string) *SMBFileShareInfo {
15292	s.DefaultStorageClass = &v
15293	return s
15294}
15295
15296// SetFileShareARN sets the FileShareARN field's value.
15297func (s *SMBFileShareInfo) SetFileShareARN(v string) *SMBFileShareInfo {
15298	s.FileShareARN = &v
15299	return s
15300}
15301
15302// SetFileShareId sets the FileShareId field's value.
15303func (s *SMBFileShareInfo) SetFileShareId(v string) *SMBFileShareInfo {
15304	s.FileShareId = &v
15305	return s
15306}
15307
15308// SetFileShareStatus sets the FileShareStatus field's value.
15309func (s *SMBFileShareInfo) SetFileShareStatus(v string) *SMBFileShareInfo {
15310	s.FileShareStatus = &v
15311	return s
15312}
15313
15314// SetGatewayARN sets the GatewayARN field's value.
15315func (s *SMBFileShareInfo) SetGatewayARN(v string) *SMBFileShareInfo {
15316	s.GatewayARN = &v
15317	return s
15318}
15319
15320// SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value.
15321func (s *SMBFileShareInfo) SetGuessMIMETypeEnabled(v bool) *SMBFileShareInfo {
15322	s.GuessMIMETypeEnabled = &v
15323	return s
15324}
15325
15326// SetInvalidUserList sets the InvalidUserList field's value.
15327func (s *SMBFileShareInfo) SetInvalidUserList(v []*string) *SMBFileShareInfo {
15328	s.InvalidUserList = v
15329	return s
15330}
15331
15332// SetKMSEncrypted sets the KMSEncrypted field's value.
15333func (s *SMBFileShareInfo) SetKMSEncrypted(v bool) *SMBFileShareInfo {
15334	s.KMSEncrypted = &v
15335	return s
15336}
15337
15338// SetKMSKey sets the KMSKey field's value.
15339func (s *SMBFileShareInfo) SetKMSKey(v string) *SMBFileShareInfo {
15340	s.KMSKey = &v
15341	return s
15342}
15343
15344// SetLocationARN sets the LocationARN field's value.
15345func (s *SMBFileShareInfo) SetLocationARN(v string) *SMBFileShareInfo {
15346	s.LocationARN = &v
15347	return s
15348}
15349
15350// SetObjectACL sets the ObjectACL field's value.
15351func (s *SMBFileShareInfo) SetObjectACL(v string) *SMBFileShareInfo {
15352	s.ObjectACL = &v
15353	return s
15354}
15355
15356// SetPath sets the Path field's value.
15357func (s *SMBFileShareInfo) SetPath(v string) *SMBFileShareInfo {
15358	s.Path = &v
15359	return s
15360}
15361
15362// SetReadOnly sets the ReadOnly field's value.
15363func (s *SMBFileShareInfo) SetReadOnly(v bool) *SMBFileShareInfo {
15364	s.ReadOnly = &v
15365	return s
15366}
15367
15368// SetRequesterPays sets the RequesterPays field's value.
15369func (s *SMBFileShareInfo) SetRequesterPays(v bool) *SMBFileShareInfo {
15370	s.RequesterPays = &v
15371	return s
15372}
15373
15374// SetRole sets the Role field's value.
15375func (s *SMBFileShareInfo) SetRole(v string) *SMBFileShareInfo {
15376	s.Role = &v
15377	return s
15378}
15379
15380// SetSMBACLEnabled sets the SMBACLEnabled field's value.
15381func (s *SMBFileShareInfo) SetSMBACLEnabled(v bool) *SMBFileShareInfo {
15382	s.SMBACLEnabled = &v
15383	return s
15384}
15385
15386// SetTags sets the Tags field's value.
15387func (s *SMBFileShareInfo) SetTags(v []*Tag) *SMBFileShareInfo {
15388	s.Tags = v
15389	return s
15390}
15391
15392// SetValidUserList sets the ValidUserList field's value.
15393func (s *SMBFileShareInfo) SetValidUserList(v []*string) *SMBFileShareInfo {
15394	s.ValidUserList = v
15395	return s
15396}
15397
15398// An internal server error has occurred because the service is unavailable.
15399// For more information, see the error and message fields.
15400type ServiceUnavailableError struct {
15401	_            struct{} `type:"structure"`
15402	respMetadata protocol.ResponseMetadata
15403
15404	// A StorageGatewayError that provides more information about the cause of the
15405	// error.
15406	Error_ *Error `locationName:"error" type:"structure"`
15407
15408	// A human-readable message describing the error that occurred.
15409	Message_ *string `locationName:"message" type:"string"`
15410}
15411
15412// String returns the string representation
15413func (s ServiceUnavailableError) String() string {
15414	return awsutil.Prettify(s)
15415}
15416
15417// GoString returns the string representation
15418func (s ServiceUnavailableError) GoString() string {
15419	return s.String()
15420}
15421
15422func newErrorServiceUnavailableError(v protocol.ResponseMetadata) error {
15423	return &ServiceUnavailableError{
15424		respMetadata: v,
15425	}
15426}
15427
15428// Code returns the exception type name.
15429func (s ServiceUnavailableError) Code() string {
15430	return "ServiceUnavailableError"
15431}
15432
15433// Message returns the exception's message.
15434func (s ServiceUnavailableError) Message() string {
15435	if s.Message_ != nil {
15436		return *s.Message_
15437	}
15438	return ""
15439}
15440
15441// OrigErr always returns nil, satisfies awserr.Error interface.
15442func (s ServiceUnavailableError) OrigErr() error {
15443	return nil
15444}
15445
15446func (s ServiceUnavailableError) Error() string {
15447	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
15448}
15449
15450// Status code returns the HTTP status code for the request's response error.
15451func (s ServiceUnavailableError) StatusCode() int {
15452	return s.respMetadata.StatusCode
15453}
15454
15455// RequestID returns the service's response RequestID for request.
15456func (s ServiceUnavailableError) RequestID() string {
15457	return s.respMetadata.RequestID
15458}
15459
15460// SetLocalConsolePasswordInput
15461type SetLocalConsolePasswordInput struct {
15462	_ struct{} `type:"structure"`
15463
15464	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15465	// to return a list of gateways for your account and AWS Region.
15466	//
15467	// GatewayARN is a required field
15468	GatewayARN *string `min:"50" type:"string" required:"true"`
15469
15470	// The password you want to set for your VM local console.
15471	//
15472	// LocalConsolePassword is a required field
15473	LocalConsolePassword *string `min:"6" type:"string" required:"true" sensitive:"true"`
15474}
15475
15476// String returns the string representation
15477func (s SetLocalConsolePasswordInput) String() string {
15478	return awsutil.Prettify(s)
15479}
15480
15481// GoString returns the string representation
15482func (s SetLocalConsolePasswordInput) GoString() string {
15483	return s.String()
15484}
15485
15486// Validate inspects the fields of the type to determine if they are valid.
15487func (s *SetLocalConsolePasswordInput) Validate() error {
15488	invalidParams := request.ErrInvalidParams{Context: "SetLocalConsolePasswordInput"}
15489	if s.GatewayARN == nil {
15490		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
15491	}
15492	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
15493		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
15494	}
15495	if s.LocalConsolePassword == nil {
15496		invalidParams.Add(request.NewErrParamRequired("LocalConsolePassword"))
15497	}
15498	if s.LocalConsolePassword != nil && len(*s.LocalConsolePassword) < 6 {
15499		invalidParams.Add(request.NewErrParamMinLen("LocalConsolePassword", 6))
15500	}
15501
15502	if invalidParams.Len() > 0 {
15503		return invalidParams
15504	}
15505	return nil
15506}
15507
15508// SetGatewayARN sets the GatewayARN field's value.
15509func (s *SetLocalConsolePasswordInput) SetGatewayARN(v string) *SetLocalConsolePasswordInput {
15510	s.GatewayARN = &v
15511	return s
15512}
15513
15514// SetLocalConsolePassword sets the LocalConsolePassword field's value.
15515func (s *SetLocalConsolePasswordInput) SetLocalConsolePassword(v string) *SetLocalConsolePasswordInput {
15516	s.LocalConsolePassword = &v
15517	return s
15518}
15519
15520type SetLocalConsolePasswordOutput struct {
15521	_ struct{} `type:"structure"`
15522
15523	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15524	// to return a list of gateways for your account and AWS Region.
15525	GatewayARN *string `min:"50" type:"string"`
15526}
15527
15528// String returns the string representation
15529func (s SetLocalConsolePasswordOutput) String() string {
15530	return awsutil.Prettify(s)
15531}
15532
15533// GoString returns the string representation
15534func (s SetLocalConsolePasswordOutput) GoString() string {
15535	return s.String()
15536}
15537
15538// SetGatewayARN sets the GatewayARN field's value.
15539func (s *SetLocalConsolePasswordOutput) SetGatewayARN(v string) *SetLocalConsolePasswordOutput {
15540	s.GatewayARN = &v
15541	return s
15542}
15543
15544// SetSMBGuestPasswordInput
15545type SetSMBGuestPasswordInput struct {
15546	_ struct{} `type:"structure"`
15547
15548	// The Amazon Resource Name (ARN) of the file gateway the SMB file share is
15549	// associated with.
15550	//
15551	// GatewayARN is a required field
15552	GatewayARN *string `min:"50" type:"string" required:"true"`
15553
15554	// The password that you want to set for your SMB Server.
15555	//
15556	// Password is a required field
15557	Password *string `min:"6" type:"string" required:"true" sensitive:"true"`
15558}
15559
15560// String returns the string representation
15561func (s SetSMBGuestPasswordInput) String() string {
15562	return awsutil.Prettify(s)
15563}
15564
15565// GoString returns the string representation
15566func (s SetSMBGuestPasswordInput) GoString() string {
15567	return s.String()
15568}
15569
15570// Validate inspects the fields of the type to determine if they are valid.
15571func (s *SetSMBGuestPasswordInput) Validate() error {
15572	invalidParams := request.ErrInvalidParams{Context: "SetSMBGuestPasswordInput"}
15573	if s.GatewayARN == nil {
15574		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
15575	}
15576	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
15577		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
15578	}
15579	if s.Password == nil {
15580		invalidParams.Add(request.NewErrParamRequired("Password"))
15581	}
15582	if s.Password != nil && len(*s.Password) < 6 {
15583		invalidParams.Add(request.NewErrParamMinLen("Password", 6))
15584	}
15585
15586	if invalidParams.Len() > 0 {
15587		return invalidParams
15588	}
15589	return nil
15590}
15591
15592// SetGatewayARN sets the GatewayARN field's value.
15593func (s *SetSMBGuestPasswordInput) SetGatewayARN(v string) *SetSMBGuestPasswordInput {
15594	s.GatewayARN = &v
15595	return s
15596}
15597
15598// SetPassword sets the Password field's value.
15599func (s *SetSMBGuestPasswordInput) SetPassword(v string) *SetSMBGuestPasswordInput {
15600	s.Password = &v
15601	return s
15602}
15603
15604type SetSMBGuestPasswordOutput struct {
15605	_ struct{} `type:"structure"`
15606
15607	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15608	// to return a list of gateways for your account and AWS Region.
15609	GatewayARN *string `min:"50" type:"string"`
15610}
15611
15612// String returns the string representation
15613func (s SetSMBGuestPasswordOutput) String() string {
15614	return awsutil.Prettify(s)
15615}
15616
15617// GoString returns the string representation
15618func (s SetSMBGuestPasswordOutput) GoString() string {
15619	return s.String()
15620}
15621
15622// SetGatewayARN sets the GatewayARN field's value.
15623func (s *SetSMBGuestPasswordOutput) SetGatewayARN(v string) *SetSMBGuestPasswordOutput {
15624	s.GatewayARN = &v
15625	return s
15626}
15627
15628// A JSON object containing the of the gateway to shut down.
15629type ShutdownGatewayInput struct {
15630	_ struct{} `type:"structure"`
15631
15632	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15633	// to return a list of gateways for your account and AWS Region.
15634	//
15635	// GatewayARN is a required field
15636	GatewayARN *string `min:"50" type:"string" required:"true"`
15637}
15638
15639// String returns the string representation
15640func (s ShutdownGatewayInput) String() string {
15641	return awsutil.Prettify(s)
15642}
15643
15644// GoString returns the string representation
15645func (s ShutdownGatewayInput) GoString() string {
15646	return s.String()
15647}
15648
15649// Validate inspects the fields of the type to determine if they are valid.
15650func (s *ShutdownGatewayInput) Validate() error {
15651	invalidParams := request.ErrInvalidParams{Context: "ShutdownGatewayInput"}
15652	if s.GatewayARN == nil {
15653		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
15654	}
15655	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
15656		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
15657	}
15658
15659	if invalidParams.Len() > 0 {
15660		return invalidParams
15661	}
15662	return nil
15663}
15664
15665// SetGatewayARN sets the GatewayARN field's value.
15666func (s *ShutdownGatewayInput) SetGatewayARN(v string) *ShutdownGatewayInput {
15667	s.GatewayARN = &v
15668	return s
15669}
15670
15671// A JSON object containing the of the gateway that was shut down.
15672type ShutdownGatewayOutput struct {
15673	_ struct{} `type:"structure"`
15674
15675	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15676	// to return a list of gateways for your account and AWS Region.
15677	GatewayARN *string `min:"50" type:"string"`
15678}
15679
15680// String returns the string representation
15681func (s ShutdownGatewayOutput) String() string {
15682	return awsutil.Prettify(s)
15683}
15684
15685// GoString returns the string representation
15686func (s ShutdownGatewayOutput) GoString() string {
15687	return s.String()
15688}
15689
15690// SetGatewayARN sets the GatewayARN field's value.
15691func (s *ShutdownGatewayOutput) SetGatewayARN(v string) *ShutdownGatewayOutput {
15692	s.GatewayARN = &v
15693	return s
15694}
15695
15696type StartAvailabilityMonitorTestInput struct {
15697	_ struct{} `type:"structure"`
15698
15699	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15700	// to return a list of gateways for your account and AWS Region.
15701	//
15702	// GatewayARN is a required field
15703	GatewayARN *string `min:"50" type:"string" required:"true"`
15704}
15705
15706// String returns the string representation
15707func (s StartAvailabilityMonitorTestInput) String() string {
15708	return awsutil.Prettify(s)
15709}
15710
15711// GoString returns the string representation
15712func (s StartAvailabilityMonitorTestInput) GoString() string {
15713	return s.String()
15714}
15715
15716// Validate inspects the fields of the type to determine if they are valid.
15717func (s *StartAvailabilityMonitorTestInput) Validate() error {
15718	invalidParams := request.ErrInvalidParams{Context: "StartAvailabilityMonitorTestInput"}
15719	if s.GatewayARN == nil {
15720		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
15721	}
15722	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
15723		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
15724	}
15725
15726	if invalidParams.Len() > 0 {
15727		return invalidParams
15728	}
15729	return nil
15730}
15731
15732// SetGatewayARN sets the GatewayARN field's value.
15733func (s *StartAvailabilityMonitorTestInput) SetGatewayARN(v string) *StartAvailabilityMonitorTestInput {
15734	s.GatewayARN = &v
15735	return s
15736}
15737
15738type StartAvailabilityMonitorTestOutput struct {
15739	_ struct{} `type:"structure"`
15740
15741	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15742	// to return a list of gateways for your account and AWS Region.
15743	GatewayARN *string `min:"50" type:"string"`
15744}
15745
15746// String returns the string representation
15747func (s StartAvailabilityMonitorTestOutput) String() string {
15748	return awsutil.Prettify(s)
15749}
15750
15751// GoString returns the string representation
15752func (s StartAvailabilityMonitorTestOutput) GoString() string {
15753	return s.String()
15754}
15755
15756// SetGatewayARN sets the GatewayARN field's value.
15757func (s *StartAvailabilityMonitorTestOutput) SetGatewayARN(v string) *StartAvailabilityMonitorTestOutput {
15758	s.GatewayARN = &v
15759	return s
15760}
15761
15762// A JSON object containing the of the gateway to start.
15763type StartGatewayInput struct {
15764	_ struct{} `type:"structure"`
15765
15766	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15767	// to return a list of gateways for your account and AWS Region.
15768	//
15769	// GatewayARN is a required field
15770	GatewayARN *string `min:"50" type:"string" required:"true"`
15771}
15772
15773// String returns the string representation
15774func (s StartGatewayInput) String() string {
15775	return awsutil.Prettify(s)
15776}
15777
15778// GoString returns the string representation
15779func (s StartGatewayInput) GoString() string {
15780	return s.String()
15781}
15782
15783// Validate inspects the fields of the type to determine if they are valid.
15784func (s *StartGatewayInput) Validate() error {
15785	invalidParams := request.ErrInvalidParams{Context: "StartGatewayInput"}
15786	if s.GatewayARN == nil {
15787		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
15788	}
15789	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
15790		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
15791	}
15792
15793	if invalidParams.Len() > 0 {
15794		return invalidParams
15795	}
15796	return nil
15797}
15798
15799// SetGatewayARN sets the GatewayARN field's value.
15800func (s *StartGatewayInput) SetGatewayARN(v string) *StartGatewayInput {
15801	s.GatewayARN = &v
15802	return s
15803}
15804
15805// A JSON object containing the of the gateway that was restarted.
15806type StartGatewayOutput struct {
15807	_ struct{} `type:"structure"`
15808
15809	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
15810	// to return a list of gateways for your account and AWS Region.
15811	GatewayARN *string `min:"50" type:"string"`
15812}
15813
15814// String returns the string representation
15815func (s StartGatewayOutput) String() string {
15816	return awsutil.Prettify(s)
15817}
15818
15819// GoString returns the string representation
15820func (s StartGatewayOutput) GoString() string {
15821	return s.String()
15822}
15823
15824// SetGatewayARN sets the GatewayARN field's value.
15825func (s *StartGatewayOutput) SetGatewayARN(v string) *StartGatewayOutput {
15826	s.GatewayARN = &v
15827	return s
15828}
15829
15830// Describes an iSCSI stored volume.
15831type StorediSCSIVolume struct {
15832	_ struct{} `type:"structure"`
15833
15834	// The date the volume was created. Volumes created prior to March 28, 2017
15835	// don’t have this time stamp.
15836	CreatedDate *time.Time `type:"timestamp"`
15837
15838	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
15839	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
15840	KMSKey *string `min:"7" type:"string"`
15841
15842	// Indicates if when the stored volume was created, existing data on the underlying
15843	// local disk was preserved.
15844	//
15845	// Valid Values: true, false
15846	PreservedExistingData *bool `type:"boolean"`
15847
15848	// If the stored volume was created from a snapshot, this field contains the
15849	// snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included.
15850	SourceSnapshotId *string `type:"string"`
15851
15852	// The name of the iSCSI target used by an initiator to connect to a volume
15853	// and used as a suffix for the target ARN. For example, specifying TargetName
15854	// as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume.
15855	// The target name must be unique across all volumes on a gateway.
15856	//
15857	// If you don't specify a value, Storage Gateway uses the value that was previously
15858	// used for this volume as the new target name.
15859	TargetName *string `min:"1" type:"string"`
15860
15861	// The Amazon Resource Name (ARN) of the storage volume.
15862	VolumeARN *string `min:"50" type:"string"`
15863
15864	// A value that indicates whether a storage volume is attached to, detached
15865	// from, or is in the process of detaching from a gateway. For more information,
15866	// see Moving Your Volumes to a Different Gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume).
15867	VolumeAttachmentStatus *string `min:"3" type:"string"`
15868
15869	// The ID of the local disk that was specified in the CreateStorediSCSIVolume
15870	// operation.
15871	VolumeDiskId *string `min:"1" type:"string"`
15872
15873	// The unique identifier of the volume, e.g. vol-AE4B946D.
15874	VolumeId *string `min:"12" type:"string"`
15875
15876	// Represents the percentage complete if the volume is restoring or bootstrapping
15877	// that represents the percent of data transferred. This field does not appear
15878	// in the response if the stored volume is not restoring or bootstrapping.
15879	VolumeProgress *float64 `type:"double"`
15880
15881	// The size of the volume in bytes.
15882	VolumeSizeInBytes *int64 `type:"long"`
15883
15884	// One of the VolumeStatus values that indicates the state of the storage volume.
15885	VolumeStatus *string `min:"3" type:"string"`
15886
15887	// One of the VolumeType enumeration values describing the type of the volume.
15888	VolumeType *string `min:"3" type:"string"`
15889
15890	// The size of the data stored on the volume in bytes. This value is calculated
15891	// based on the number of blocks that are touched, instead of the actual amount
15892	// of data written. This value can be useful for sequential write patterns but
15893	// less accurate for random write patterns. VolumeUsedInBytes is different from
15894	// the compressed size of the volume, which is the value that is used to calculate
15895	// your bill.
15896	//
15897	// This value is not available for volumes created prior to May 13, 2015, until
15898	// you store data on the volume.
15899	VolumeUsedInBytes *int64 `type:"long"`
15900
15901	// An VolumeiSCSIAttributes object that represents a collection of iSCSI attributes
15902	// for one stored volume.
15903	VolumeiSCSIAttributes *VolumeiSCSIAttributes `type:"structure"`
15904}
15905
15906// String returns the string representation
15907func (s StorediSCSIVolume) String() string {
15908	return awsutil.Prettify(s)
15909}
15910
15911// GoString returns the string representation
15912func (s StorediSCSIVolume) GoString() string {
15913	return s.String()
15914}
15915
15916// SetCreatedDate sets the CreatedDate field's value.
15917func (s *StorediSCSIVolume) SetCreatedDate(v time.Time) *StorediSCSIVolume {
15918	s.CreatedDate = &v
15919	return s
15920}
15921
15922// SetKMSKey sets the KMSKey field's value.
15923func (s *StorediSCSIVolume) SetKMSKey(v string) *StorediSCSIVolume {
15924	s.KMSKey = &v
15925	return s
15926}
15927
15928// SetPreservedExistingData sets the PreservedExistingData field's value.
15929func (s *StorediSCSIVolume) SetPreservedExistingData(v bool) *StorediSCSIVolume {
15930	s.PreservedExistingData = &v
15931	return s
15932}
15933
15934// SetSourceSnapshotId sets the SourceSnapshotId field's value.
15935func (s *StorediSCSIVolume) SetSourceSnapshotId(v string) *StorediSCSIVolume {
15936	s.SourceSnapshotId = &v
15937	return s
15938}
15939
15940// SetTargetName sets the TargetName field's value.
15941func (s *StorediSCSIVolume) SetTargetName(v string) *StorediSCSIVolume {
15942	s.TargetName = &v
15943	return s
15944}
15945
15946// SetVolumeARN sets the VolumeARN field's value.
15947func (s *StorediSCSIVolume) SetVolumeARN(v string) *StorediSCSIVolume {
15948	s.VolumeARN = &v
15949	return s
15950}
15951
15952// SetVolumeAttachmentStatus sets the VolumeAttachmentStatus field's value.
15953func (s *StorediSCSIVolume) SetVolumeAttachmentStatus(v string) *StorediSCSIVolume {
15954	s.VolumeAttachmentStatus = &v
15955	return s
15956}
15957
15958// SetVolumeDiskId sets the VolumeDiskId field's value.
15959func (s *StorediSCSIVolume) SetVolumeDiskId(v string) *StorediSCSIVolume {
15960	s.VolumeDiskId = &v
15961	return s
15962}
15963
15964// SetVolumeId sets the VolumeId field's value.
15965func (s *StorediSCSIVolume) SetVolumeId(v string) *StorediSCSIVolume {
15966	s.VolumeId = &v
15967	return s
15968}
15969
15970// SetVolumeProgress sets the VolumeProgress field's value.
15971func (s *StorediSCSIVolume) SetVolumeProgress(v float64) *StorediSCSIVolume {
15972	s.VolumeProgress = &v
15973	return s
15974}
15975
15976// SetVolumeSizeInBytes sets the VolumeSizeInBytes field's value.
15977func (s *StorediSCSIVolume) SetVolumeSizeInBytes(v int64) *StorediSCSIVolume {
15978	s.VolumeSizeInBytes = &v
15979	return s
15980}
15981
15982// SetVolumeStatus sets the VolumeStatus field's value.
15983func (s *StorediSCSIVolume) SetVolumeStatus(v string) *StorediSCSIVolume {
15984	s.VolumeStatus = &v
15985	return s
15986}
15987
15988// SetVolumeType sets the VolumeType field's value.
15989func (s *StorediSCSIVolume) SetVolumeType(v string) *StorediSCSIVolume {
15990	s.VolumeType = &v
15991	return s
15992}
15993
15994// SetVolumeUsedInBytes sets the VolumeUsedInBytes field's value.
15995func (s *StorediSCSIVolume) SetVolumeUsedInBytes(v int64) *StorediSCSIVolume {
15996	s.VolumeUsedInBytes = &v
15997	return s
15998}
15999
16000// SetVolumeiSCSIAttributes sets the VolumeiSCSIAttributes field's value.
16001func (s *StorediSCSIVolume) SetVolumeiSCSIAttributes(v *VolumeiSCSIAttributes) *StorediSCSIVolume {
16002	s.VolumeiSCSIAttributes = v
16003	return s
16004}
16005
16006// A key-value pair that helps you manage, filter, and search for your resource.
16007// Allowed characters: letters, white space, and numbers, representable in UTF-8,
16008// and the following characters: + - = . _ : /
16009type Tag struct {
16010	_ struct{} `type:"structure"`
16011
16012	// Tag key (String). The key can't start with aws:.
16013	//
16014	// Key is a required field
16015	Key *string `min:"1" type:"string" required:"true"`
16016
16017	// Value of the tag key.
16018	//
16019	// Value is a required field
16020	Value *string `type:"string" required:"true"`
16021}
16022
16023// String returns the string representation
16024func (s Tag) String() string {
16025	return awsutil.Prettify(s)
16026}
16027
16028// GoString returns the string representation
16029func (s Tag) GoString() string {
16030	return s.String()
16031}
16032
16033// Validate inspects the fields of the type to determine if they are valid.
16034func (s *Tag) Validate() error {
16035	invalidParams := request.ErrInvalidParams{Context: "Tag"}
16036	if s.Key == nil {
16037		invalidParams.Add(request.NewErrParamRequired("Key"))
16038	}
16039	if s.Key != nil && len(*s.Key) < 1 {
16040		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
16041	}
16042	if s.Value == nil {
16043		invalidParams.Add(request.NewErrParamRequired("Value"))
16044	}
16045
16046	if invalidParams.Len() > 0 {
16047		return invalidParams
16048	}
16049	return nil
16050}
16051
16052// SetKey sets the Key field's value.
16053func (s *Tag) SetKey(v string) *Tag {
16054	s.Key = &v
16055	return s
16056}
16057
16058// SetValue sets the Value field's value.
16059func (s *Tag) SetValue(v string) *Tag {
16060	s.Value = &v
16061	return s
16062}
16063
16064// Describes a virtual tape object.
16065type Tape struct {
16066	_ struct{} `type:"structure"`
16067
16068	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
16069	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
16070	KMSKey *string `min:"7" type:"string"`
16071
16072	// The ID of the pool that contains tapes that will be archived. The tapes in
16073	// this pool are archived in the S3 storage class that is associated with the
16074	// pool. When you use your backup application to eject the tape, the tape is
16075	// archived directly into the storage class (Glacier or Deep Archive) that corresponds
16076	// to the pool.
16077	//
16078	// Valid values: "GLACIER", "DEEP_ARCHIVE"
16079	PoolId *string `min:"1" type:"string"`
16080
16081	// For archiving virtual tapes, indicates how much data remains to be uploaded
16082	// before archiving is complete.
16083	//
16084	// Range: 0 (not started) to 100 (complete).
16085	Progress *float64 `type:"double"`
16086
16087	// The Amazon Resource Name (ARN) of the virtual tape.
16088	TapeARN *string `min:"50" type:"string"`
16089
16090	// The barcode that identifies a specific virtual tape.
16091	TapeBarcode *string `min:"7" type:"string"`
16092
16093	// The date the virtual tape was created.
16094	TapeCreatedDate *time.Time `type:"timestamp"`
16095
16096	// The size, in bytes, of the virtual tape capacity.
16097	TapeSizeInBytes *int64 `type:"long"`
16098
16099	// The current state of the virtual tape.
16100	TapeStatus *string `type:"string"`
16101
16102	// The size, in bytes, of data stored on the virtual tape.
16103	//
16104	// This value is not available for tapes created prior to May 13, 2015.
16105	TapeUsedInBytes *int64 `type:"long"`
16106
16107	// The virtual tape library (VTL) device that the virtual tape is associated
16108	// with.
16109	VTLDevice *string `min:"50" type:"string"`
16110}
16111
16112// String returns the string representation
16113func (s Tape) String() string {
16114	return awsutil.Prettify(s)
16115}
16116
16117// GoString returns the string representation
16118func (s Tape) GoString() string {
16119	return s.String()
16120}
16121
16122// SetKMSKey sets the KMSKey field's value.
16123func (s *Tape) SetKMSKey(v string) *Tape {
16124	s.KMSKey = &v
16125	return s
16126}
16127
16128// SetPoolId sets the PoolId field's value.
16129func (s *Tape) SetPoolId(v string) *Tape {
16130	s.PoolId = &v
16131	return s
16132}
16133
16134// SetProgress sets the Progress field's value.
16135func (s *Tape) SetProgress(v float64) *Tape {
16136	s.Progress = &v
16137	return s
16138}
16139
16140// SetTapeARN sets the TapeARN field's value.
16141func (s *Tape) SetTapeARN(v string) *Tape {
16142	s.TapeARN = &v
16143	return s
16144}
16145
16146// SetTapeBarcode sets the TapeBarcode field's value.
16147func (s *Tape) SetTapeBarcode(v string) *Tape {
16148	s.TapeBarcode = &v
16149	return s
16150}
16151
16152// SetTapeCreatedDate sets the TapeCreatedDate field's value.
16153func (s *Tape) SetTapeCreatedDate(v time.Time) *Tape {
16154	s.TapeCreatedDate = &v
16155	return s
16156}
16157
16158// SetTapeSizeInBytes sets the TapeSizeInBytes field's value.
16159func (s *Tape) SetTapeSizeInBytes(v int64) *Tape {
16160	s.TapeSizeInBytes = &v
16161	return s
16162}
16163
16164// SetTapeStatus sets the TapeStatus field's value.
16165func (s *Tape) SetTapeStatus(v string) *Tape {
16166	s.TapeStatus = &v
16167	return s
16168}
16169
16170// SetTapeUsedInBytes sets the TapeUsedInBytes field's value.
16171func (s *Tape) SetTapeUsedInBytes(v int64) *Tape {
16172	s.TapeUsedInBytes = &v
16173	return s
16174}
16175
16176// SetVTLDevice sets the VTLDevice field's value.
16177func (s *Tape) SetVTLDevice(v string) *Tape {
16178	s.VTLDevice = &v
16179	return s
16180}
16181
16182// Represents a virtual tape that is archived in the virtual tape shelf (VTS).
16183type TapeArchive struct {
16184	_ struct{} `type:"structure"`
16185
16186	// The time that the archiving of the virtual tape was completed.
16187	//
16188	// The default time stamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z'
16189	// format.
16190	CompletionTime *time.Time `type:"timestamp"`
16191
16192	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
16193	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
16194	KMSKey *string `min:"7" type:"string"`
16195
16196	// The ID of the pool that was used to archive the tape. The tapes in this pool
16197	// are archived in the S3 storage class that is associated with the pool.
16198	//
16199	// Valid values: "GLACIER", "DEEP_ARCHIVE"
16200	PoolId *string `min:"1" type:"string"`
16201
16202	// The Amazon Resource Name (ARN) of the tape gateway that the virtual tape
16203	// is being retrieved to.
16204	//
16205	// The virtual tape is retrieved from the virtual tape shelf (VTS).
16206	RetrievedTo *string `min:"50" type:"string"`
16207
16208	// The Amazon Resource Name (ARN) of an archived virtual tape.
16209	TapeARN *string `min:"50" type:"string"`
16210
16211	// The barcode that identifies the archived virtual tape.
16212	TapeBarcode *string `min:"7" type:"string"`
16213
16214	// The date the virtual tape was created.
16215	TapeCreatedDate *time.Time `type:"timestamp"`
16216
16217	// The size, in bytes, of the archived virtual tape.
16218	TapeSizeInBytes *int64 `type:"long"`
16219
16220	// The current state of the archived virtual tape.
16221	TapeStatus *string `type:"string"`
16222
16223	// The size, in bytes, of data stored on the virtual tape.
16224	//
16225	// This value is not available for tapes created prior to May 13, 2015.
16226	TapeUsedInBytes *int64 `type:"long"`
16227}
16228
16229// String returns the string representation
16230func (s TapeArchive) String() string {
16231	return awsutil.Prettify(s)
16232}
16233
16234// GoString returns the string representation
16235func (s TapeArchive) GoString() string {
16236	return s.String()
16237}
16238
16239// SetCompletionTime sets the CompletionTime field's value.
16240func (s *TapeArchive) SetCompletionTime(v time.Time) *TapeArchive {
16241	s.CompletionTime = &v
16242	return s
16243}
16244
16245// SetKMSKey sets the KMSKey field's value.
16246func (s *TapeArchive) SetKMSKey(v string) *TapeArchive {
16247	s.KMSKey = &v
16248	return s
16249}
16250
16251// SetPoolId sets the PoolId field's value.
16252func (s *TapeArchive) SetPoolId(v string) *TapeArchive {
16253	s.PoolId = &v
16254	return s
16255}
16256
16257// SetRetrievedTo sets the RetrievedTo field's value.
16258func (s *TapeArchive) SetRetrievedTo(v string) *TapeArchive {
16259	s.RetrievedTo = &v
16260	return s
16261}
16262
16263// SetTapeARN sets the TapeARN field's value.
16264func (s *TapeArchive) SetTapeARN(v string) *TapeArchive {
16265	s.TapeARN = &v
16266	return s
16267}
16268
16269// SetTapeBarcode sets the TapeBarcode field's value.
16270func (s *TapeArchive) SetTapeBarcode(v string) *TapeArchive {
16271	s.TapeBarcode = &v
16272	return s
16273}
16274
16275// SetTapeCreatedDate sets the TapeCreatedDate field's value.
16276func (s *TapeArchive) SetTapeCreatedDate(v time.Time) *TapeArchive {
16277	s.TapeCreatedDate = &v
16278	return s
16279}
16280
16281// SetTapeSizeInBytes sets the TapeSizeInBytes field's value.
16282func (s *TapeArchive) SetTapeSizeInBytes(v int64) *TapeArchive {
16283	s.TapeSizeInBytes = &v
16284	return s
16285}
16286
16287// SetTapeStatus sets the TapeStatus field's value.
16288func (s *TapeArchive) SetTapeStatus(v string) *TapeArchive {
16289	s.TapeStatus = &v
16290	return s
16291}
16292
16293// SetTapeUsedInBytes sets the TapeUsedInBytes field's value.
16294func (s *TapeArchive) SetTapeUsedInBytes(v int64) *TapeArchive {
16295	s.TapeUsedInBytes = &v
16296	return s
16297}
16298
16299// Describes a virtual tape.
16300type TapeInfo struct {
16301	_ struct{} `type:"structure"`
16302
16303	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
16304	// to return a list of gateways for your account and AWS Region.
16305	GatewayARN *string `min:"50" type:"string"`
16306
16307	// The ID of the pool that you want to add your tape to for archiving. The tape
16308	// in this pool is archived in the S3 storage class that is associated with
16309	// the pool. When you use your backup application to eject the tape, the tape
16310	// is archived directly into the storage class (Glacier or Deep Archive) that
16311	// corresponds to the pool.
16312	//
16313	// Valid values: "GLACIER", "DEEP_ARCHIVE"
16314	PoolId *string `min:"1" type:"string"`
16315
16316	// The Amazon Resource Name (ARN) of a virtual tape.
16317	TapeARN *string `min:"50" type:"string"`
16318
16319	// The barcode that identifies a specific virtual tape.
16320	TapeBarcode *string `min:"7" type:"string"`
16321
16322	// The size, in bytes, of a virtual tape.
16323	TapeSizeInBytes *int64 `type:"long"`
16324
16325	// The status of the tape.
16326	TapeStatus *string `type:"string"`
16327}
16328
16329// String returns the string representation
16330func (s TapeInfo) String() string {
16331	return awsutil.Prettify(s)
16332}
16333
16334// GoString returns the string representation
16335func (s TapeInfo) GoString() string {
16336	return s.String()
16337}
16338
16339// SetGatewayARN sets the GatewayARN field's value.
16340func (s *TapeInfo) SetGatewayARN(v string) *TapeInfo {
16341	s.GatewayARN = &v
16342	return s
16343}
16344
16345// SetPoolId sets the PoolId field's value.
16346func (s *TapeInfo) SetPoolId(v string) *TapeInfo {
16347	s.PoolId = &v
16348	return s
16349}
16350
16351// SetTapeARN sets the TapeARN field's value.
16352func (s *TapeInfo) SetTapeARN(v string) *TapeInfo {
16353	s.TapeARN = &v
16354	return s
16355}
16356
16357// SetTapeBarcode sets the TapeBarcode field's value.
16358func (s *TapeInfo) SetTapeBarcode(v string) *TapeInfo {
16359	s.TapeBarcode = &v
16360	return s
16361}
16362
16363// SetTapeSizeInBytes sets the TapeSizeInBytes field's value.
16364func (s *TapeInfo) SetTapeSizeInBytes(v int64) *TapeInfo {
16365	s.TapeSizeInBytes = &v
16366	return s
16367}
16368
16369// SetTapeStatus sets the TapeStatus field's value.
16370func (s *TapeInfo) SetTapeStatus(v string) *TapeInfo {
16371	s.TapeStatus = &v
16372	return s
16373}
16374
16375// Describes a recovery point.
16376type TapeRecoveryPointInfo struct {
16377	_ struct{} `type:"structure"`
16378
16379	// The Amazon Resource Name (ARN) of the virtual tape.
16380	TapeARN *string `min:"50" type:"string"`
16381
16382	// The time when the point-in-time view of the virtual tape was replicated for
16383	// later recovery.
16384	//
16385	// The default time stamp format of the tape recovery point time is in the ISO8601
16386	// extended YYYY-MM-DD'T'HH:MM:SS'Z' format.
16387	TapeRecoveryPointTime *time.Time `type:"timestamp"`
16388
16389	// The size, in bytes, of the virtual tapes to recover.
16390	TapeSizeInBytes *int64 `type:"long"`
16391
16392	// The status of the virtual tapes.
16393	TapeStatus *string `type:"string"`
16394}
16395
16396// String returns the string representation
16397func (s TapeRecoveryPointInfo) String() string {
16398	return awsutil.Prettify(s)
16399}
16400
16401// GoString returns the string representation
16402func (s TapeRecoveryPointInfo) GoString() string {
16403	return s.String()
16404}
16405
16406// SetTapeARN sets the TapeARN field's value.
16407func (s *TapeRecoveryPointInfo) SetTapeARN(v string) *TapeRecoveryPointInfo {
16408	s.TapeARN = &v
16409	return s
16410}
16411
16412// SetTapeRecoveryPointTime sets the TapeRecoveryPointTime field's value.
16413func (s *TapeRecoveryPointInfo) SetTapeRecoveryPointTime(v time.Time) *TapeRecoveryPointInfo {
16414	s.TapeRecoveryPointTime = &v
16415	return s
16416}
16417
16418// SetTapeSizeInBytes sets the TapeSizeInBytes field's value.
16419func (s *TapeRecoveryPointInfo) SetTapeSizeInBytes(v int64) *TapeRecoveryPointInfo {
16420	s.TapeSizeInBytes = &v
16421	return s
16422}
16423
16424// SetTapeStatus sets the TapeStatus field's value.
16425func (s *TapeRecoveryPointInfo) SetTapeStatus(v string) *TapeRecoveryPointInfo {
16426	s.TapeStatus = &v
16427	return s
16428}
16429
16430// A JSON object containing one or more of the following fields:
16431//
16432//    * UpdateBandwidthRateLimitInput$AverageDownloadRateLimitInBitsPerSec
16433//
16434//    * UpdateBandwidthRateLimitInput$AverageUploadRateLimitInBitsPerSec
16435type UpdateBandwidthRateLimitInput struct {
16436	_ struct{} `type:"structure"`
16437
16438	// The average download bandwidth rate limit in bits per second.
16439	AverageDownloadRateLimitInBitsPerSec *int64 `min:"102400" type:"long"`
16440
16441	// The average upload bandwidth rate limit in bits per second.
16442	AverageUploadRateLimitInBitsPerSec *int64 `min:"51200" type:"long"`
16443
16444	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
16445	// to return a list of gateways for your account and AWS Region.
16446	//
16447	// GatewayARN is a required field
16448	GatewayARN *string `min:"50" type:"string" required:"true"`
16449}
16450
16451// String returns the string representation
16452func (s UpdateBandwidthRateLimitInput) String() string {
16453	return awsutil.Prettify(s)
16454}
16455
16456// GoString returns the string representation
16457func (s UpdateBandwidthRateLimitInput) GoString() string {
16458	return s.String()
16459}
16460
16461// Validate inspects the fields of the type to determine if they are valid.
16462func (s *UpdateBandwidthRateLimitInput) Validate() error {
16463	invalidParams := request.ErrInvalidParams{Context: "UpdateBandwidthRateLimitInput"}
16464	if s.AverageDownloadRateLimitInBitsPerSec != nil && *s.AverageDownloadRateLimitInBitsPerSec < 102400 {
16465		invalidParams.Add(request.NewErrParamMinValue("AverageDownloadRateLimitInBitsPerSec", 102400))
16466	}
16467	if s.AverageUploadRateLimitInBitsPerSec != nil && *s.AverageUploadRateLimitInBitsPerSec < 51200 {
16468		invalidParams.Add(request.NewErrParamMinValue("AverageUploadRateLimitInBitsPerSec", 51200))
16469	}
16470	if s.GatewayARN == nil {
16471		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
16472	}
16473	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
16474		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
16475	}
16476
16477	if invalidParams.Len() > 0 {
16478		return invalidParams
16479	}
16480	return nil
16481}
16482
16483// SetAverageDownloadRateLimitInBitsPerSec sets the AverageDownloadRateLimitInBitsPerSec field's value.
16484func (s *UpdateBandwidthRateLimitInput) SetAverageDownloadRateLimitInBitsPerSec(v int64) *UpdateBandwidthRateLimitInput {
16485	s.AverageDownloadRateLimitInBitsPerSec = &v
16486	return s
16487}
16488
16489// SetAverageUploadRateLimitInBitsPerSec sets the AverageUploadRateLimitInBitsPerSec field's value.
16490func (s *UpdateBandwidthRateLimitInput) SetAverageUploadRateLimitInBitsPerSec(v int64) *UpdateBandwidthRateLimitInput {
16491	s.AverageUploadRateLimitInBitsPerSec = &v
16492	return s
16493}
16494
16495// SetGatewayARN sets the GatewayARN field's value.
16496func (s *UpdateBandwidthRateLimitInput) SetGatewayARN(v string) *UpdateBandwidthRateLimitInput {
16497	s.GatewayARN = &v
16498	return s
16499}
16500
16501// A JSON object containing the of the gateway whose throttle information was
16502// updated.
16503type UpdateBandwidthRateLimitOutput struct {
16504	_ struct{} `type:"structure"`
16505
16506	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
16507	// to return a list of gateways for your account and AWS Region.
16508	GatewayARN *string `min:"50" type:"string"`
16509}
16510
16511// String returns the string representation
16512func (s UpdateBandwidthRateLimitOutput) String() string {
16513	return awsutil.Prettify(s)
16514}
16515
16516// GoString returns the string representation
16517func (s UpdateBandwidthRateLimitOutput) GoString() string {
16518	return s.String()
16519}
16520
16521// SetGatewayARN sets the GatewayARN field's value.
16522func (s *UpdateBandwidthRateLimitOutput) SetGatewayARN(v string) *UpdateBandwidthRateLimitOutput {
16523	s.GatewayARN = &v
16524	return s
16525}
16526
16527// A JSON object containing one or more of the following fields:
16528//
16529//    * UpdateChapCredentialsInput$InitiatorName
16530//
16531//    * UpdateChapCredentialsInput$SecretToAuthenticateInitiator
16532//
16533//    * UpdateChapCredentialsInput$SecretToAuthenticateTarget
16534//
16535//    * UpdateChapCredentialsInput$TargetARN
16536type UpdateChapCredentialsInput struct {
16537	_ struct{} `type:"structure"`
16538
16539	// The iSCSI initiator that connects to the target.
16540	//
16541	// InitiatorName is a required field
16542	InitiatorName *string `min:"1" type:"string" required:"true"`
16543
16544	// The secret key that the initiator (for example, the Windows client) must
16545	// provide to participate in mutual CHAP with the target.
16546	//
16547	// The secret key must be between 12 and 16 bytes when encoded in UTF-8.
16548	//
16549	// SecretToAuthenticateInitiator is a required field
16550	SecretToAuthenticateInitiator *string `min:"1" type:"string" required:"true" sensitive:"true"`
16551
16552	// The secret key that the target must provide to participate in mutual CHAP
16553	// with the initiator (e.g. Windows client).
16554	//
16555	// Byte constraints: Minimum bytes of 12. Maximum bytes of 16.
16556	//
16557	// The secret key must be between 12 and 16 bytes when encoded in UTF-8.
16558	SecretToAuthenticateTarget *string `min:"1" type:"string" sensitive:"true"`
16559
16560	// The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes
16561	// operation to return the TargetARN for specified VolumeARN.
16562	//
16563	// TargetARN is a required field
16564	TargetARN *string `min:"50" type:"string" required:"true"`
16565}
16566
16567// String returns the string representation
16568func (s UpdateChapCredentialsInput) String() string {
16569	return awsutil.Prettify(s)
16570}
16571
16572// GoString returns the string representation
16573func (s UpdateChapCredentialsInput) GoString() string {
16574	return s.String()
16575}
16576
16577// Validate inspects the fields of the type to determine if they are valid.
16578func (s *UpdateChapCredentialsInput) Validate() error {
16579	invalidParams := request.ErrInvalidParams{Context: "UpdateChapCredentialsInput"}
16580	if s.InitiatorName == nil {
16581		invalidParams.Add(request.NewErrParamRequired("InitiatorName"))
16582	}
16583	if s.InitiatorName != nil && len(*s.InitiatorName) < 1 {
16584		invalidParams.Add(request.NewErrParamMinLen("InitiatorName", 1))
16585	}
16586	if s.SecretToAuthenticateInitiator == nil {
16587		invalidParams.Add(request.NewErrParamRequired("SecretToAuthenticateInitiator"))
16588	}
16589	if s.SecretToAuthenticateInitiator != nil && len(*s.SecretToAuthenticateInitiator) < 1 {
16590		invalidParams.Add(request.NewErrParamMinLen("SecretToAuthenticateInitiator", 1))
16591	}
16592	if s.SecretToAuthenticateTarget != nil && len(*s.SecretToAuthenticateTarget) < 1 {
16593		invalidParams.Add(request.NewErrParamMinLen("SecretToAuthenticateTarget", 1))
16594	}
16595	if s.TargetARN == nil {
16596		invalidParams.Add(request.NewErrParamRequired("TargetARN"))
16597	}
16598	if s.TargetARN != nil && len(*s.TargetARN) < 50 {
16599		invalidParams.Add(request.NewErrParamMinLen("TargetARN", 50))
16600	}
16601
16602	if invalidParams.Len() > 0 {
16603		return invalidParams
16604	}
16605	return nil
16606}
16607
16608// SetInitiatorName sets the InitiatorName field's value.
16609func (s *UpdateChapCredentialsInput) SetInitiatorName(v string) *UpdateChapCredentialsInput {
16610	s.InitiatorName = &v
16611	return s
16612}
16613
16614// SetSecretToAuthenticateInitiator sets the SecretToAuthenticateInitiator field's value.
16615func (s *UpdateChapCredentialsInput) SetSecretToAuthenticateInitiator(v string) *UpdateChapCredentialsInput {
16616	s.SecretToAuthenticateInitiator = &v
16617	return s
16618}
16619
16620// SetSecretToAuthenticateTarget sets the SecretToAuthenticateTarget field's value.
16621func (s *UpdateChapCredentialsInput) SetSecretToAuthenticateTarget(v string) *UpdateChapCredentialsInput {
16622	s.SecretToAuthenticateTarget = &v
16623	return s
16624}
16625
16626// SetTargetARN sets the TargetARN field's value.
16627func (s *UpdateChapCredentialsInput) SetTargetARN(v string) *UpdateChapCredentialsInput {
16628	s.TargetARN = &v
16629	return s
16630}
16631
16632// A JSON object containing the following fields:
16633type UpdateChapCredentialsOutput struct {
16634	_ struct{} `type:"structure"`
16635
16636	// The iSCSI initiator that connects to the target. This is the same initiator
16637	// name specified in the request.
16638	InitiatorName *string `min:"1" type:"string"`
16639
16640	// The Amazon Resource Name (ARN) of the target. This is the same target specified
16641	// in the request.
16642	TargetARN *string `min:"50" type:"string"`
16643}
16644
16645// String returns the string representation
16646func (s UpdateChapCredentialsOutput) String() string {
16647	return awsutil.Prettify(s)
16648}
16649
16650// GoString returns the string representation
16651func (s UpdateChapCredentialsOutput) GoString() string {
16652	return s.String()
16653}
16654
16655// SetInitiatorName sets the InitiatorName field's value.
16656func (s *UpdateChapCredentialsOutput) SetInitiatorName(v string) *UpdateChapCredentialsOutput {
16657	s.InitiatorName = &v
16658	return s
16659}
16660
16661// SetTargetARN sets the TargetARN field's value.
16662func (s *UpdateChapCredentialsOutput) SetTargetARN(v string) *UpdateChapCredentialsOutput {
16663	s.TargetARN = &v
16664	return s
16665}
16666
16667type UpdateGatewayInformationInput struct {
16668	_ struct{} `type:"structure"`
16669
16670	// The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that you
16671	// want to use to monitor and log events in the gateway.
16672	//
16673	// For more information, see What Is Amazon CloudWatch Logs? (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html).
16674	CloudWatchLogGroupARN *string `type:"string"`
16675
16676	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
16677	// to return a list of gateways for your account and AWS Region.
16678	//
16679	// GatewayARN is a required field
16680	GatewayARN *string `min:"50" type:"string" required:"true"`
16681
16682	// The name you configured for your gateway.
16683	GatewayName *string `min:"2" type:"string"`
16684
16685	// A value that indicates the time zone of the gateway.
16686	GatewayTimezone *string `min:"3" type:"string"`
16687}
16688
16689// String returns the string representation
16690func (s UpdateGatewayInformationInput) String() string {
16691	return awsutil.Prettify(s)
16692}
16693
16694// GoString returns the string representation
16695func (s UpdateGatewayInformationInput) GoString() string {
16696	return s.String()
16697}
16698
16699// Validate inspects the fields of the type to determine if they are valid.
16700func (s *UpdateGatewayInformationInput) Validate() error {
16701	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayInformationInput"}
16702	if s.GatewayARN == nil {
16703		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
16704	}
16705	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
16706		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
16707	}
16708	if s.GatewayName != nil && len(*s.GatewayName) < 2 {
16709		invalidParams.Add(request.NewErrParamMinLen("GatewayName", 2))
16710	}
16711	if s.GatewayTimezone != nil && len(*s.GatewayTimezone) < 3 {
16712		invalidParams.Add(request.NewErrParamMinLen("GatewayTimezone", 3))
16713	}
16714
16715	if invalidParams.Len() > 0 {
16716		return invalidParams
16717	}
16718	return nil
16719}
16720
16721// SetCloudWatchLogGroupARN sets the CloudWatchLogGroupARN field's value.
16722func (s *UpdateGatewayInformationInput) SetCloudWatchLogGroupARN(v string) *UpdateGatewayInformationInput {
16723	s.CloudWatchLogGroupARN = &v
16724	return s
16725}
16726
16727// SetGatewayARN sets the GatewayARN field's value.
16728func (s *UpdateGatewayInformationInput) SetGatewayARN(v string) *UpdateGatewayInformationInput {
16729	s.GatewayARN = &v
16730	return s
16731}
16732
16733// SetGatewayName sets the GatewayName field's value.
16734func (s *UpdateGatewayInformationInput) SetGatewayName(v string) *UpdateGatewayInformationInput {
16735	s.GatewayName = &v
16736	return s
16737}
16738
16739// SetGatewayTimezone sets the GatewayTimezone field's value.
16740func (s *UpdateGatewayInformationInput) SetGatewayTimezone(v string) *UpdateGatewayInformationInput {
16741	s.GatewayTimezone = &v
16742	return s
16743}
16744
16745// A JSON object containing the ARN of the gateway that was updated.
16746type UpdateGatewayInformationOutput struct {
16747	_ struct{} `type:"structure"`
16748
16749	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
16750	// to return a list of gateways for your account and AWS Region.
16751	GatewayARN *string `min:"50" type:"string"`
16752
16753	// The name you configured for your gateway.
16754	GatewayName *string `type:"string"`
16755}
16756
16757// String returns the string representation
16758func (s UpdateGatewayInformationOutput) String() string {
16759	return awsutil.Prettify(s)
16760}
16761
16762// GoString returns the string representation
16763func (s UpdateGatewayInformationOutput) GoString() string {
16764	return s.String()
16765}
16766
16767// SetGatewayARN sets the GatewayARN field's value.
16768func (s *UpdateGatewayInformationOutput) SetGatewayARN(v string) *UpdateGatewayInformationOutput {
16769	s.GatewayARN = &v
16770	return s
16771}
16772
16773// SetGatewayName sets the GatewayName field's value.
16774func (s *UpdateGatewayInformationOutput) SetGatewayName(v string) *UpdateGatewayInformationOutput {
16775	s.GatewayName = &v
16776	return s
16777}
16778
16779// A JSON object containing the of the gateway to update.
16780type UpdateGatewaySoftwareNowInput struct {
16781	_ struct{} `type:"structure"`
16782
16783	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
16784	// to return a list of gateways for your account and AWS Region.
16785	//
16786	// GatewayARN is a required field
16787	GatewayARN *string `min:"50" type:"string" required:"true"`
16788}
16789
16790// String returns the string representation
16791func (s UpdateGatewaySoftwareNowInput) String() string {
16792	return awsutil.Prettify(s)
16793}
16794
16795// GoString returns the string representation
16796func (s UpdateGatewaySoftwareNowInput) GoString() string {
16797	return s.String()
16798}
16799
16800// Validate inspects the fields of the type to determine if they are valid.
16801func (s *UpdateGatewaySoftwareNowInput) Validate() error {
16802	invalidParams := request.ErrInvalidParams{Context: "UpdateGatewaySoftwareNowInput"}
16803	if s.GatewayARN == nil {
16804		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
16805	}
16806	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
16807		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
16808	}
16809
16810	if invalidParams.Len() > 0 {
16811		return invalidParams
16812	}
16813	return nil
16814}
16815
16816// SetGatewayARN sets the GatewayARN field's value.
16817func (s *UpdateGatewaySoftwareNowInput) SetGatewayARN(v string) *UpdateGatewaySoftwareNowInput {
16818	s.GatewayARN = &v
16819	return s
16820}
16821
16822// A JSON object containing the of the gateway that was updated.
16823type UpdateGatewaySoftwareNowOutput struct {
16824	_ struct{} `type:"structure"`
16825
16826	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
16827	// to return a list of gateways for your account and AWS Region.
16828	GatewayARN *string `min:"50" type:"string"`
16829}
16830
16831// String returns the string representation
16832func (s UpdateGatewaySoftwareNowOutput) String() string {
16833	return awsutil.Prettify(s)
16834}
16835
16836// GoString returns the string representation
16837func (s UpdateGatewaySoftwareNowOutput) GoString() string {
16838	return s.String()
16839}
16840
16841// SetGatewayARN sets the GatewayARN field's value.
16842func (s *UpdateGatewaySoftwareNowOutput) SetGatewayARN(v string) *UpdateGatewaySoftwareNowOutput {
16843	s.GatewayARN = &v
16844	return s
16845}
16846
16847// A JSON object containing the following fields:
16848//
16849//    * UpdateMaintenanceStartTimeInput$DayOfMonth
16850//
16851//    * UpdateMaintenanceStartTimeInput$DayOfWeek
16852//
16853//    * UpdateMaintenanceStartTimeInput$HourOfDay
16854//
16855//    * UpdateMaintenanceStartTimeInput$MinuteOfHour
16856type UpdateMaintenanceStartTimeInput struct {
16857	_ struct{} `type:"structure"`
16858
16859	// The day of the month component of the maintenance start time represented
16860	// as an ordinal number from 1 to 28, where 1 represents the first day of the
16861	// month and 28 represents the last day of the month.
16862	//
16863	// This value is only available for tape and volume gateways.
16864	DayOfMonth *int64 `min:"1" type:"integer"`
16865
16866	// The day of the week component of the maintenance start time week represented
16867	// as an ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.
16868	DayOfWeek *int64 `type:"integer"`
16869
16870	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
16871	// to return a list of gateways for your account and AWS Region.
16872	//
16873	// GatewayARN is a required field
16874	GatewayARN *string `min:"50" type:"string" required:"true"`
16875
16876	// The hour component of the maintenance start time represented as hh, where
16877	// hh is the hour (00 to 23). The hour of the day is in the time zone of the
16878	// gateway.
16879	//
16880	// HourOfDay is a required field
16881	HourOfDay *int64 `type:"integer" required:"true"`
16882
16883	// The minute component of the maintenance start time represented as mm, where
16884	// mm is the minute (00 to 59). The minute of the hour is in the time zone of
16885	// the gateway.
16886	//
16887	// MinuteOfHour is a required field
16888	MinuteOfHour *int64 `type:"integer" required:"true"`
16889}
16890
16891// String returns the string representation
16892func (s UpdateMaintenanceStartTimeInput) String() string {
16893	return awsutil.Prettify(s)
16894}
16895
16896// GoString returns the string representation
16897func (s UpdateMaintenanceStartTimeInput) GoString() string {
16898	return s.String()
16899}
16900
16901// Validate inspects the fields of the type to determine if they are valid.
16902func (s *UpdateMaintenanceStartTimeInput) Validate() error {
16903	invalidParams := request.ErrInvalidParams{Context: "UpdateMaintenanceStartTimeInput"}
16904	if s.DayOfMonth != nil && *s.DayOfMonth < 1 {
16905		invalidParams.Add(request.NewErrParamMinValue("DayOfMonth", 1))
16906	}
16907	if s.GatewayARN == nil {
16908		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
16909	}
16910	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
16911		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
16912	}
16913	if s.HourOfDay == nil {
16914		invalidParams.Add(request.NewErrParamRequired("HourOfDay"))
16915	}
16916	if s.MinuteOfHour == nil {
16917		invalidParams.Add(request.NewErrParamRequired("MinuteOfHour"))
16918	}
16919
16920	if invalidParams.Len() > 0 {
16921		return invalidParams
16922	}
16923	return nil
16924}
16925
16926// SetDayOfMonth sets the DayOfMonth field's value.
16927func (s *UpdateMaintenanceStartTimeInput) SetDayOfMonth(v int64) *UpdateMaintenanceStartTimeInput {
16928	s.DayOfMonth = &v
16929	return s
16930}
16931
16932// SetDayOfWeek sets the DayOfWeek field's value.
16933func (s *UpdateMaintenanceStartTimeInput) SetDayOfWeek(v int64) *UpdateMaintenanceStartTimeInput {
16934	s.DayOfWeek = &v
16935	return s
16936}
16937
16938// SetGatewayARN sets the GatewayARN field's value.
16939func (s *UpdateMaintenanceStartTimeInput) SetGatewayARN(v string) *UpdateMaintenanceStartTimeInput {
16940	s.GatewayARN = &v
16941	return s
16942}
16943
16944// SetHourOfDay sets the HourOfDay field's value.
16945func (s *UpdateMaintenanceStartTimeInput) SetHourOfDay(v int64) *UpdateMaintenanceStartTimeInput {
16946	s.HourOfDay = &v
16947	return s
16948}
16949
16950// SetMinuteOfHour sets the MinuteOfHour field's value.
16951func (s *UpdateMaintenanceStartTimeInput) SetMinuteOfHour(v int64) *UpdateMaintenanceStartTimeInput {
16952	s.MinuteOfHour = &v
16953	return s
16954}
16955
16956// A JSON object containing the of the gateway whose maintenance start time
16957// is updated.
16958type UpdateMaintenanceStartTimeOutput struct {
16959	_ struct{} `type:"structure"`
16960
16961	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
16962	// to return a list of gateways for your account and AWS Region.
16963	GatewayARN *string `min:"50" type:"string"`
16964}
16965
16966// String returns the string representation
16967func (s UpdateMaintenanceStartTimeOutput) String() string {
16968	return awsutil.Prettify(s)
16969}
16970
16971// GoString returns the string representation
16972func (s UpdateMaintenanceStartTimeOutput) GoString() string {
16973	return s.String()
16974}
16975
16976// SetGatewayARN sets the GatewayARN field's value.
16977func (s *UpdateMaintenanceStartTimeOutput) SetGatewayARN(v string) *UpdateMaintenanceStartTimeOutput {
16978	s.GatewayARN = &v
16979	return s
16980}
16981
16982// UpdateNFSFileShareInput
16983type UpdateNFSFileShareInput struct {
16984	_ struct{} `type:"structure"`
16985
16986	// The list of clients that are allowed to access the file gateway. The list
16987	// must contain either valid IP addresses or valid CIDR blocks.
16988	ClientList []*string `min:"1" type:"list"`
16989
16990	// The default storage class for objects put into an Amazon S3 bucket by the
16991	// file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA.
16992	// If this field is not populated, the default value S3_STANDARD is used. Optional.
16993	DefaultStorageClass *string `min:"5" type:"string"`
16994
16995	// The Amazon Resource Name (ARN) of the file share to be updated.
16996	//
16997	// FileShareARN is a required field
16998	FileShareARN *string `min:"50" type:"string" required:"true"`
16999
17000	// A value that enables guessing of the MIME type for uploaded objects based
17001	// on file extensions. Set this value to true to enable MIME type guessing,
17002	// and otherwise to false. The default value is true.
17003	GuessMIMETypeEnabled *bool `type:"boolean"`
17004
17005	// True to use Amazon S3 server side encryption with your own AWS KMS key, or
17006	// false to use a key managed by Amazon S3. Optional.
17007	KMSEncrypted *bool `type:"boolean"`
17008
17009	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
17010	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
17011	KMSKey *string `min:"7" type:"string"`
17012
17013	// The default values for the file share. Optional.
17014	NFSFileShareDefaults *NFSFileShareDefaults `type:"structure"`
17015
17016	// A value that sets the access control list permission for objects in the S3
17017	// bucket that a file gateway puts objects into. The default value is "private".
17018	ObjectACL *string `type:"string" enum:"ObjectACL"`
17019
17020	// A value that sets the write status of a file share. This value is true if
17021	// the write status is read-only, and otherwise false.
17022	ReadOnly *bool `type:"boolean"`
17023
17024	// A value that sets who pays the cost of the request and the cost associated
17025	// with data download from the S3 bucket. If this value is set to true, the
17026	// requester pays the costs. Otherwise the S3 bucket owner pays. However, the
17027	// S3 bucket owner always pays the cost of storing data.
17028	//
17029	// RequesterPays is a configuration for the S3 bucket that backs the file share,
17030	// so make sure that the configuration on the file share is the same as the
17031	// S3 bucket configuration.
17032	RequesterPays *bool `type:"boolean"`
17033
17034	// The user mapped to anonymous user. Valid options are the following:
17035	//
17036	//    * RootSquash - Only root is mapped to anonymous user.
17037	//
17038	//    * NoSquash - No one is mapped to anonymous user
17039	//
17040	//    * AllSquash - Everyone is mapped to anonymous user.
17041	Squash *string `min:"5" type:"string"`
17042}
17043
17044// String returns the string representation
17045func (s UpdateNFSFileShareInput) String() string {
17046	return awsutil.Prettify(s)
17047}
17048
17049// GoString returns the string representation
17050func (s UpdateNFSFileShareInput) GoString() string {
17051	return s.String()
17052}
17053
17054// Validate inspects the fields of the type to determine if they are valid.
17055func (s *UpdateNFSFileShareInput) Validate() error {
17056	invalidParams := request.ErrInvalidParams{Context: "UpdateNFSFileShareInput"}
17057	if s.ClientList != nil && len(s.ClientList) < 1 {
17058		invalidParams.Add(request.NewErrParamMinLen("ClientList", 1))
17059	}
17060	if s.DefaultStorageClass != nil && len(*s.DefaultStorageClass) < 5 {
17061		invalidParams.Add(request.NewErrParamMinLen("DefaultStorageClass", 5))
17062	}
17063	if s.FileShareARN == nil {
17064		invalidParams.Add(request.NewErrParamRequired("FileShareARN"))
17065	}
17066	if s.FileShareARN != nil && len(*s.FileShareARN) < 50 {
17067		invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50))
17068	}
17069	if s.KMSKey != nil && len(*s.KMSKey) < 7 {
17070		invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7))
17071	}
17072	if s.Squash != nil && len(*s.Squash) < 5 {
17073		invalidParams.Add(request.NewErrParamMinLen("Squash", 5))
17074	}
17075	if s.NFSFileShareDefaults != nil {
17076		if err := s.NFSFileShareDefaults.Validate(); err != nil {
17077			invalidParams.AddNested("NFSFileShareDefaults", err.(request.ErrInvalidParams))
17078		}
17079	}
17080
17081	if invalidParams.Len() > 0 {
17082		return invalidParams
17083	}
17084	return nil
17085}
17086
17087// SetClientList sets the ClientList field's value.
17088func (s *UpdateNFSFileShareInput) SetClientList(v []*string) *UpdateNFSFileShareInput {
17089	s.ClientList = v
17090	return s
17091}
17092
17093// SetDefaultStorageClass sets the DefaultStorageClass field's value.
17094func (s *UpdateNFSFileShareInput) SetDefaultStorageClass(v string) *UpdateNFSFileShareInput {
17095	s.DefaultStorageClass = &v
17096	return s
17097}
17098
17099// SetFileShareARN sets the FileShareARN field's value.
17100func (s *UpdateNFSFileShareInput) SetFileShareARN(v string) *UpdateNFSFileShareInput {
17101	s.FileShareARN = &v
17102	return s
17103}
17104
17105// SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value.
17106func (s *UpdateNFSFileShareInput) SetGuessMIMETypeEnabled(v bool) *UpdateNFSFileShareInput {
17107	s.GuessMIMETypeEnabled = &v
17108	return s
17109}
17110
17111// SetKMSEncrypted sets the KMSEncrypted field's value.
17112func (s *UpdateNFSFileShareInput) SetKMSEncrypted(v bool) *UpdateNFSFileShareInput {
17113	s.KMSEncrypted = &v
17114	return s
17115}
17116
17117// SetKMSKey sets the KMSKey field's value.
17118func (s *UpdateNFSFileShareInput) SetKMSKey(v string) *UpdateNFSFileShareInput {
17119	s.KMSKey = &v
17120	return s
17121}
17122
17123// SetNFSFileShareDefaults sets the NFSFileShareDefaults field's value.
17124func (s *UpdateNFSFileShareInput) SetNFSFileShareDefaults(v *NFSFileShareDefaults) *UpdateNFSFileShareInput {
17125	s.NFSFileShareDefaults = v
17126	return s
17127}
17128
17129// SetObjectACL sets the ObjectACL field's value.
17130func (s *UpdateNFSFileShareInput) SetObjectACL(v string) *UpdateNFSFileShareInput {
17131	s.ObjectACL = &v
17132	return s
17133}
17134
17135// SetReadOnly sets the ReadOnly field's value.
17136func (s *UpdateNFSFileShareInput) SetReadOnly(v bool) *UpdateNFSFileShareInput {
17137	s.ReadOnly = &v
17138	return s
17139}
17140
17141// SetRequesterPays sets the RequesterPays field's value.
17142func (s *UpdateNFSFileShareInput) SetRequesterPays(v bool) *UpdateNFSFileShareInput {
17143	s.RequesterPays = &v
17144	return s
17145}
17146
17147// SetSquash sets the Squash field's value.
17148func (s *UpdateNFSFileShareInput) SetSquash(v string) *UpdateNFSFileShareInput {
17149	s.Squash = &v
17150	return s
17151}
17152
17153// UpdateNFSFileShareOutput
17154type UpdateNFSFileShareOutput struct {
17155	_ struct{} `type:"structure"`
17156
17157	// The Amazon Resource Name (ARN) of the updated file share.
17158	FileShareARN *string `min:"50" type:"string"`
17159}
17160
17161// String returns the string representation
17162func (s UpdateNFSFileShareOutput) String() string {
17163	return awsutil.Prettify(s)
17164}
17165
17166// GoString returns the string representation
17167func (s UpdateNFSFileShareOutput) GoString() string {
17168	return s.String()
17169}
17170
17171// SetFileShareARN sets the FileShareARN field's value.
17172func (s *UpdateNFSFileShareOutput) SetFileShareARN(v string) *UpdateNFSFileShareOutput {
17173	s.FileShareARN = &v
17174	return s
17175}
17176
17177// UpdateSMBFileShareInput
17178type UpdateSMBFileShareInput struct {
17179	_ struct{} `type:"structure"`
17180
17181	// A list of users in the Active Directory that have administrator rights to
17182	// the file share. A group must be prefixed with the @ character. For example
17183	// @group1. Can only be set if Authentication is set to ActiveDirectory.
17184	AdminUserList []*string `type:"list"`
17185
17186	// The default storage class for objects put into an Amazon S3 bucket by the
17187	// file gateway. Possible values are S3_STANDARD, S3_STANDARD_IA, or S3_ONEZONE_IA.
17188	// If this field is not populated, the default value S3_STANDARD is used. Optional.
17189	DefaultStorageClass *string `min:"5" type:"string"`
17190
17191	// The Amazon Resource Name (ARN) of the SMB file share that you want to update.
17192	//
17193	// FileShareARN is a required field
17194	FileShareARN *string `min:"50" type:"string" required:"true"`
17195
17196	// A value that enables guessing of the MIME type for uploaded objects based
17197	// on file extensions. Set this value to true to enable MIME type guessing,
17198	// and otherwise to false. The default value is true.
17199	GuessMIMETypeEnabled *bool `type:"boolean"`
17200
17201	// A list of users or groups in the Active Directory that are not allowed to
17202	// access the file share. A group must be prefixed with the @ character. For
17203	// example @group1. Can only be set if Authentication is set to ActiveDirectory.
17204	InvalidUserList []*string `type:"list"`
17205
17206	// True to use Amazon S3 server side encryption with your own AWS KMS key, or
17207	// false to use a key managed by Amazon S3. Optional.
17208	KMSEncrypted *bool `type:"boolean"`
17209
17210	// The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 server
17211	// side encryption. This value can only be set when KMSEncrypted is true. Optional.
17212	KMSKey *string `min:"7" type:"string"`
17213
17214	// A value that sets the access control list permission for objects in the S3
17215	// bucket that a file gateway puts objects into. The default value is "private".
17216	ObjectACL *string `type:"string" enum:"ObjectACL"`
17217
17218	// A value that sets the write status of a file share. This value is true if
17219	// the write status is read-only, and otherwise false.
17220	ReadOnly *bool `type:"boolean"`
17221
17222	// A value that sets who pays the cost of the request and the cost associated
17223	// with data download from the S3 bucket. If this value is set to true, the
17224	// requester pays the costs. Otherwise the S3 bucket owner pays. However, the
17225	// S3 bucket owner always pays the cost of storing data.
17226	//
17227	// RequesterPays is a configuration for the S3 bucket that backs the file share,
17228	// so make sure that the configuration on the file share is the same as the
17229	// S3 bucket configuration.
17230	RequesterPays *bool `type:"boolean"`
17231
17232	// Set this value to "true to enable ACL (access control list) on the SMB file
17233	// share. Set it to "false" to map file and directory permissions to the POSIX
17234	// permissions.
17235	//
17236	// For more information, see https://docs.aws.amazon.com/storagegateway/latest/userguide/smb-acl.htmlin
17237	// the Storage Gateway User Guide.
17238	SMBACLEnabled *bool `type:"boolean"`
17239
17240	// A list of users or groups in the Active Directory that are allowed to access
17241	// the file share. A group must be prefixed with the @ character. For example
17242	// @group1. Can only be set if Authentication is set to ActiveDirectory.
17243	ValidUserList []*string `type:"list"`
17244}
17245
17246// String returns the string representation
17247func (s UpdateSMBFileShareInput) String() string {
17248	return awsutil.Prettify(s)
17249}
17250
17251// GoString returns the string representation
17252func (s UpdateSMBFileShareInput) GoString() string {
17253	return s.String()
17254}
17255
17256// Validate inspects the fields of the type to determine if they are valid.
17257func (s *UpdateSMBFileShareInput) Validate() error {
17258	invalidParams := request.ErrInvalidParams{Context: "UpdateSMBFileShareInput"}
17259	if s.DefaultStorageClass != nil && len(*s.DefaultStorageClass) < 5 {
17260		invalidParams.Add(request.NewErrParamMinLen("DefaultStorageClass", 5))
17261	}
17262	if s.FileShareARN == nil {
17263		invalidParams.Add(request.NewErrParamRequired("FileShareARN"))
17264	}
17265	if s.FileShareARN != nil && len(*s.FileShareARN) < 50 {
17266		invalidParams.Add(request.NewErrParamMinLen("FileShareARN", 50))
17267	}
17268	if s.KMSKey != nil && len(*s.KMSKey) < 7 {
17269		invalidParams.Add(request.NewErrParamMinLen("KMSKey", 7))
17270	}
17271
17272	if invalidParams.Len() > 0 {
17273		return invalidParams
17274	}
17275	return nil
17276}
17277
17278// SetAdminUserList sets the AdminUserList field's value.
17279func (s *UpdateSMBFileShareInput) SetAdminUserList(v []*string) *UpdateSMBFileShareInput {
17280	s.AdminUserList = v
17281	return s
17282}
17283
17284// SetDefaultStorageClass sets the DefaultStorageClass field's value.
17285func (s *UpdateSMBFileShareInput) SetDefaultStorageClass(v string) *UpdateSMBFileShareInput {
17286	s.DefaultStorageClass = &v
17287	return s
17288}
17289
17290// SetFileShareARN sets the FileShareARN field's value.
17291func (s *UpdateSMBFileShareInput) SetFileShareARN(v string) *UpdateSMBFileShareInput {
17292	s.FileShareARN = &v
17293	return s
17294}
17295
17296// SetGuessMIMETypeEnabled sets the GuessMIMETypeEnabled field's value.
17297func (s *UpdateSMBFileShareInput) SetGuessMIMETypeEnabled(v bool) *UpdateSMBFileShareInput {
17298	s.GuessMIMETypeEnabled = &v
17299	return s
17300}
17301
17302// SetInvalidUserList sets the InvalidUserList field's value.
17303func (s *UpdateSMBFileShareInput) SetInvalidUserList(v []*string) *UpdateSMBFileShareInput {
17304	s.InvalidUserList = v
17305	return s
17306}
17307
17308// SetKMSEncrypted sets the KMSEncrypted field's value.
17309func (s *UpdateSMBFileShareInput) SetKMSEncrypted(v bool) *UpdateSMBFileShareInput {
17310	s.KMSEncrypted = &v
17311	return s
17312}
17313
17314// SetKMSKey sets the KMSKey field's value.
17315func (s *UpdateSMBFileShareInput) SetKMSKey(v string) *UpdateSMBFileShareInput {
17316	s.KMSKey = &v
17317	return s
17318}
17319
17320// SetObjectACL sets the ObjectACL field's value.
17321func (s *UpdateSMBFileShareInput) SetObjectACL(v string) *UpdateSMBFileShareInput {
17322	s.ObjectACL = &v
17323	return s
17324}
17325
17326// SetReadOnly sets the ReadOnly field's value.
17327func (s *UpdateSMBFileShareInput) SetReadOnly(v bool) *UpdateSMBFileShareInput {
17328	s.ReadOnly = &v
17329	return s
17330}
17331
17332// SetRequesterPays sets the RequesterPays field's value.
17333func (s *UpdateSMBFileShareInput) SetRequesterPays(v bool) *UpdateSMBFileShareInput {
17334	s.RequesterPays = &v
17335	return s
17336}
17337
17338// SetSMBACLEnabled sets the SMBACLEnabled field's value.
17339func (s *UpdateSMBFileShareInput) SetSMBACLEnabled(v bool) *UpdateSMBFileShareInput {
17340	s.SMBACLEnabled = &v
17341	return s
17342}
17343
17344// SetValidUserList sets the ValidUserList field's value.
17345func (s *UpdateSMBFileShareInput) SetValidUserList(v []*string) *UpdateSMBFileShareInput {
17346	s.ValidUserList = v
17347	return s
17348}
17349
17350// UpdateSMBFileShareOutput
17351type UpdateSMBFileShareOutput struct {
17352	_ struct{} `type:"structure"`
17353
17354	// The Amazon Resource Name (ARN) of the updated SMB file share.
17355	FileShareARN *string `min:"50" type:"string"`
17356}
17357
17358// String returns the string representation
17359func (s UpdateSMBFileShareOutput) String() string {
17360	return awsutil.Prettify(s)
17361}
17362
17363// GoString returns the string representation
17364func (s UpdateSMBFileShareOutput) GoString() string {
17365	return s.String()
17366}
17367
17368// SetFileShareARN sets the FileShareARN field's value.
17369func (s *UpdateSMBFileShareOutput) SetFileShareARN(v string) *UpdateSMBFileShareOutput {
17370	s.FileShareARN = &v
17371	return s
17372}
17373
17374type UpdateSMBSecurityStrategyInput struct {
17375	_ struct{} `type:"structure"`
17376
17377	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
17378	// to return a list of gateways for your account and AWS Region.
17379	//
17380	// GatewayARN is a required field
17381	GatewayARN *string `min:"50" type:"string" required:"true"`
17382
17383	// Specifies the type of security strategy.
17384	//
17385	// ClientSpecified: if you use this option, requests are established based on
17386	// what is negotiated by the client. This option is recommended when you want
17387	// to maximize compatibility across different clients in your environment.
17388	//
17389	// MandatorySigning: if you use this option, file gateway only allows connections
17390	// from SMBv2 or SMBv3 clients that have signing enabled. This option works
17391	// with SMB clients on Microsoft Windows Vista, Windows Server 2008 or newer.
17392	//
17393	// MandatoryEncryption: if you use this option, file gateway only allows connections
17394	// from SMBv3 clients that have encryption enabled. This option is highly recommended
17395	// for environments that handle sensitive data. This option works with SMB clients
17396	// on Microsoft Windows 8, Windows Server 2012 or newer.
17397	//
17398	// SMBSecurityStrategy is a required field
17399	SMBSecurityStrategy *string `type:"string" required:"true" enum:"SMBSecurityStrategy"`
17400}
17401
17402// String returns the string representation
17403func (s UpdateSMBSecurityStrategyInput) String() string {
17404	return awsutil.Prettify(s)
17405}
17406
17407// GoString returns the string representation
17408func (s UpdateSMBSecurityStrategyInput) GoString() string {
17409	return s.String()
17410}
17411
17412// Validate inspects the fields of the type to determine if they are valid.
17413func (s *UpdateSMBSecurityStrategyInput) Validate() error {
17414	invalidParams := request.ErrInvalidParams{Context: "UpdateSMBSecurityStrategyInput"}
17415	if s.GatewayARN == nil {
17416		invalidParams.Add(request.NewErrParamRequired("GatewayARN"))
17417	}
17418	if s.GatewayARN != nil && len(*s.GatewayARN) < 50 {
17419		invalidParams.Add(request.NewErrParamMinLen("GatewayARN", 50))
17420	}
17421	if s.SMBSecurityStrategy == nil {
17422		invalidParams.Add(request.NewErrParamRequired("SMBSecurityStrategy"))
17423	}
17424
17425	if invalidParams.Len() > 0 {
17426		return invalidParams
17427	}
17428	return nil
17429}
17430
17431// SetGatewayARN sets the GatewayARN field's value.
17432func (s *UpdateSMBSecurityStrategyInput) SetGatewayARN(v string) *UpdateSMBSecurityStrategyInput {
17433	s.GatewayARN = &v
17434	return s
17435}
17436
17437// SetSMBSecurityStrategy sets the SMBSecurityStrategy field's value.
17438func (s *UpdateSMBSecurityStrategyInput) SetSMBSecurityStrategy(v string) *UpdateSMBSecurityStrategyInput {
17439	s.SMBSecurityStrategy = &v
17440	return s
17441}
17442
17443type UpdateSMBSecurityStrategyOutput struct {
17444	_ struct{} `type:"structure"`
17445
17446	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
17447	// to return a list of gateways for your account and AWS Region.
17448	GatewayARN *string `min:"50" type:"string"`
17449}
17450
17451// String returns the string representation
17452func (s UpdateSMBSecurityStrategyOutput) String() string {
17453	return awsutil.Prettify(s)
17454}
17455
17456// GoString returns the string representation
17457func (s UpdateSMBSecurityStrategyOutput) GoString() string {
17458	return s.String()
17459}
17460
17461// SetGatewayARN sets the GatewayARN field's value.
17462func (s *UpdateSMBSecurityStrategyOutput) SetGatewayARN(v string) *UpdateSMBSecurityStrategyOutput {
17463	s.GatewayARN = &v
17464	return s
17465}
17466
17467// A JSON object containing one or more of the following fields:
17468//
17469//    * UpdateSnapshotScheduleInput$Description
17470//
17471//    * UpdateSnapshotScheduleInput$RecurrenceInHours
17472//
17473//    * UpdateSnapshotScheduleInput$StartAt
17474//
17475//    * UpdateSnapshotScheduleInput$VolumeARN
17476type UpdateSnapshotScheduleInput struct {
17477	_ struct{} `type:"structure"`
17478
17479	// Optional description of the snapshot that overwrites the existing description.
17480	Description *string `min:"1" type:"string"`
17481
17482	// Frequency of snapshots. Specify the number of hours between snapshots.
17483	//
17484	// RecurrenceInHours is a required field
17485	RecurrenceInHours *int64 `min:"1" type:"integer" required:"true"`
17486
17487	// The hour of the day at which the snapshot schedule begins represented as
17488	// hh, where hh is the hour (0 to 23). The hour of the day is in the time zone
17489	// of the gateway.
17490	//
17491	// StartAt is a required field
17492	StartAt *int64 `type:"integer" required:"true"`
17493
17494	// A list of up to 50 tags that can be assigned to a snapshot. Each tag is a
17495	// key-value pair.
17496	//
17497	// Valid characters for key and value are letters, spaces, and numbers representable
17498	// in UTF-8 format, and the following special characters: + - = . _ : / @. The
17499	// maximum length of a tag's key is 128 characters, and the maximum length for
17500	// a tag's value is 256.
17501	Tags []*Tag `type:"list"`
17502
17503	// The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation
17504	// to return a list of gateway volumes.
17505	//
17506	// VolumeARN is a required field
17507	VolumeARN *string `min:"50" type:"string" required:"true"`
17508}
17509
17510// String returns the string representation
17511func (s UpdateSnapshotScheduleInput) String() string {
17512	return awsutil.Prettify(s)
17513}
17514
17515// GoString returns the string representation
17516func (s UpdateSnapshotScheduleInput) GoString() string {
17517	return s.String()
17518}
17519
17520// Validate inspects the fields of the type to determine if they are valid.
17521func (s *UpdateSnapshotScheduleInput) Validate() error {
17522	invalidParams := request.ErrInvalidParams{Context: "UpdateSnapshotScheduleInput"}
17523	if s.Description != nil && len(*s.Description) < 1 {
17524		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
17525	}
17526	if s.RecurrenceInHours == nil {
17527		invalidParams.Add(request.NewErrParamRequired("RecurrenceInHours"))
17528	}
17529	if s.RecurrenceInHours != nil && *s.RecurrenceInHours < 1 {
17530		invalidParams.Add(request.NewErrParamMinValue("RecurrenceInHours", 1))
17531	}
17532	if s.StartAt == nil {
17533		invalidParams.Add(request.NewErrParamRequired("StartAt"))
17534	}
17535	if s.VolumeARN == nil {
17536		invalidParams.Add(request.NewErrParamRequired("VolumeARN"))
17537	}
17538	if s.VolumeARN != nil && len(*s.VolumeARN) < 50 {
17539		invalidParams.Add(request.NewErrParamMinLen("VolumeARN", 50))
17540	}
17541	if s.Tags != nil {
17542		for i, v := range s.Tags {
17543			if v == nil {
17544				continue
17545			}
17546			if err := v.Validate(); err != nil {
17547				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
17548			}
17549		}
17550	}
17551
17552	if invalidParams.Len() > 0 {
17553		return invalidParams
17554	}
17555	return nil
17556}
17557
17558// SetDescription sets the Description field's value.
17559func (s *UpdateSnapshotScheduleInput) SetDescription(v string) *UpdateSnapshotScheduleInput {
17560	s.Description = &v
17561	return s
17562}
17563
17564// SetRecurrenceInHours sets the RecurrenceInHours field's value.
17565func (s *UpdateSnapshotScheduleInput) SetRecurrenceInHours(v int64) *UpdateSnapshotScheduleInput {
17566	s.RecurrenceInHours = &v
17567	return s
17568}
17569
17570// SetStartAt sets the StartAt field's value.
17571func (s *UpdateSnapshotScheduleInput) SetStartAt(v int64) *UpdateSnapshotScheduleInput {
17572	s.StartAt = &v
17573	return s
17574}
17575
17576// SetTags sets the Tags field's value.
17577func (s *UpdateSnapshotScheduleInput) SetTags(v []*Tag) *UpdateSnapshotScheduleInput {
17578	s.Tags = v
17579	return s
17580}
17581
17582// SetVolumeARN sets the VolumeARN field's value.
17583func (s *UpdateSnapshotScheduleInput) SetVolumeARN(v string) *UpdateSnapshotScheduleInput {
17584	s.VolumeARN = &v
17585	return s
17586}
17587
17588// A JSON object containing the of the updated storage volume.
17589type UpdateSnapshotScheduleOutput struct {
17590	_ struct{} `type:"structure"`
17591
17592	// The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation
17593	// to return a list of gateway volumes.
17594	VolumeARN *string `min:"50" type:"string"`
17595}
17596
17597// String returns the string representation
17598func (s UpdateSnapshotScheduleOutput) String() string {
17599	return awsutil.Prettify(s)
17600}
17601
17602// GoString returns the string representation
17603func (s UpdateSnapshotScheduleOutput) GoString() string {
17604	return s.String()
17605}
17606
17607// SetVolumeARN sets the VolumeARN field's value.
17608func (s *UpdateSnapshotScheduleOutput) SetVolumeARN(v string) *UpdateSnapshotScheduleOutput {
17609	s.VolumeARN = &v
17610	return s
17611}
17612
17613type UpdateVTLDeviceTypeInput struct {
17614	_ struct{} `type:"structure"`
17615
17616	// The type of medium changer you want to select.
17617	//
17618	// Valid Values: "STK-L700", "AWS-Gateway-VTL"
17619	//
17620	// DeviceType is a required field
17621	DeviceType *string `min:"2" type:"string" required:"true"`
17622
17623	// The Amazon Resource Name (ARN) of the medium changer you want to select.
17624	//
17625	// VTLDeviceARN is a required field
17626	VTLDeviceARN *string `min:"50" type:"string" required:"true"`
17627}
17628
17629// String returns the string representation
17630func (s UpdateVTLDeviceTypeInput) String() string {
17631	return awsutil.Prettify(s)
17632}
17633
17634// GoString returns the string representation
17635func (s UpdateVTLDeviceTypeInput) GoString() string {
17636	return s.String()
17637}
17638
17639// Validate inspects the fields of the type to determine if they are valid.
17640func (s *UpdateVTLDeviceTypeInput) Validate() error {
17641	invalidParams := request.ErrInvalidParams{Context: "UpdateVTLDeviceTypeInput"}
17642	if s.DeviceType == nil {
17643		invalidParams.Add(request.NewErrParamRequired("DeviceType"))
17644	}
17645	if s.DeviceType != nil && len(*s.DeviceType) < 2 {
17646		invalidParams.Add(request.NewErrParamMinLen("DeviceType", 2))
17647	}
17648	if s.VTLDeviceARN == nil {
17649		invalidParams.Add(request.NewErrParamRequired("VTLDeviceARN"))
17650	}
17651	if s.VTLDeviceARN != nil && len(*s.VTLDeviceARN) < 50 {
17652		invalidParams.Add(request.NewErrParamMinLen("VTLDeviceARN", 50))
17653	}
17654
17655	if invalidParams.Len() > 0 {
17656		return invalidParams
17657	}
17658	return nil
17659}
17660
17661// SetDeviceType sets the DeviceType field's value.
17662func (s *UpdateVTLDeviceTypeInput) SetDeviceType(v string) *UpdateVTLDeviceTypeInput {
17663	s.DeviceType = &v
17664	return s
17665}
17666
17667// SetVTLDeviceARN sets the VTLDeviceARN field's value.
17668func (s *UpdateVTLDeviceTypeInput) SetVTLDeviceARN(v string) *UpdateVTLDeviceTypeInput {
17669	s.VTLDeviceARN = &v
17670	return s
17671}
17672
17673// UpdateVTLDeviceTypeOutput
17674type UpdateVTLDeviceTypeOutput struct {
17675	_ struct{} `type:"structure"`
17676
17677	// The Amazon Resource Name (ARN) of the medium changer you have selected.
17678	VTLDeviceARN *string `min:"50" type:"string"`
17679}
17680
17681// String returns the string representation
17682func (s UpdateVTLDeviceTypeOutput) String() string {
17683	return awsutil.Prettify(s)
17684}
17685
17686// GoString returns the string representation
17687func (s UpdateVTLDeviceTypeOutput) GoString() string {
17688	return s.String()
17689}
17690
17691// SetVTLDeviceARN sets the VTLDeviceARN field's value.
17692func (s *UpdateVTLDeviceTypeOutput) SetVTLDeviceARN(v string) *UpdateVTLDeviceTypeOutput {
17693	s.VTLDeviceARN = &v
17694	return s
17695}
17696
17697// Represents a device object associated with a tape gateway.
17698type VTLDevice struct {
17699	_ struct{} `type:"structure"`
17700
17701	// A list of iSCSI information about a VTL device.
17702	DeviceiSCSIAttributes *DeviceiSCSIAttributes `type:"structure"`
17703
17704	// Specifies the unique Amazon Resource Name (ARN) of the device (tape drive
17705	// or media changer).
17706	VTLDeviceARN *string `min:"50" type:"string"`
17707
17708	// Specifies the model number of device that the VTL device emulates.
17709	VTLDeviceProductIdentifier *string `type:"string"`
17710
17711	// Specifies the type of device that the VTL device emulates.
17712	VTLDeviceType *string `type:"string"`
17713
17714	// Specifies the vendor of the device that the VTL device object emulates.
17715	VTLDeviceVendor *string `type:"string"`
17716}
17717
17718// String returns the string representation
17719func (s VTLDevice) String() string {
17720	return awsutil.Prettify(s)
17721}
17722
17723// GoString returns the string representation
17724func (s VTLDevice) GoString() string {
17725	return s.String()
17726}
17727
17728// SetDeviceiSCSIAttributes sets the DeviceiSCSIAttributes field's value.
17729func (s *VTLDevice) SetDeviceiSCSIAttributes(v *DeviceiSCSIAttributes) *VTLDevice {
17730	s.DeviceiSCSIAttributes = v
17731	return s
17732}
17733
17734// SetVTLDeviceARN sets the VTLDeviceARN field's value.
17735func (s *VTLDevice) SetVTLDeviceARN(v string) *VTLDevice {
17736	s.VTLDeviceARN = &v
17737	return s
17738}
17739
17740// SetVTLDeviceProductIdentifier sets the VTLDeviceProductIdentifier field's value.
17741func (s *VTLDevice) SetVTLDeviceProductIdentifier(v string) *VTLDevice {
17742	s.VTLDeviceProductIdentifier = &v
17743	return s
17744}
17745
17746// SetVTLDeviceType sets the VTLDeviceType field's value.
17747func (s *VTLDevice) SetVTLDeviceType(v string) *VTLDevice {
17748	s.VTLDeviceType = &v
17749	return s
17750}
17751
17752// SetVTLDeviceVendor sets the VTLDeviceVendor field's value.
17753func (s *VTLDevice) SetVTLDeviceVendor(v string) *VTLDevice {
17754	s.VTLDeviceVendor = &v
17755	return s
17756}
17757
17758// Describes a storage volume object.
17759type VolumeInfo struct {
17760	_ struct{} `type:"structure"`
17761
17762	// The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation
17763	// to return a list of gateways for your account and AWS Region.
17764	GatewayARN *string `min:"50" type:"string"`
17765
17766	// The unique identifier assigned to your gateway during activation. This ID
17767	// becomes part of the gateway Amazon Resource Name (ARN), which you use as
17768	// input for other operations.
17769	//
17770	// Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens
17771	// (-).
17772	GatewayId *string `min:"12" type:"string"`
17773
17774	// The Amazon Resource Name (ARN) for the storage volume. For example, the following
17775	// is a valid ARN:
17776	//
17777	// arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB
17778	//
17779	// Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens
17780	// (-).
17781	VolumeARN *string `min:"50" type:"string"`
17782
17783	// One of the VolumeStatus values that indicates the state of the storage volume.
17784	VolumeAttachmentStatus *string `min:"3" type:"string"`
17785
17786	// The unique identifier assigned to the volume. This ID becomes part of the
17787	// volume Amazon Resource Name (ARN), which you use as input for other operations.
17788	//
17789	// Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens
17790	// (-).
17791	VolumeId *string `min:"12" type:"string"`
17792
17793	// The size of the volume in bytes.
17794	//
17795	// Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens
17796	// (-).
17797	VolumeSizeInBytes *int64 `type:"long"`
17798
17799	// One of the VolumeType enumeration values describing the type of the volume.
17800	VolumeType *string `min:"3" type:"string"`
17801}
17802
17803// String returns the string representation
17804func (s VolumeInfo) String() string {
17805	return awsutil.Prettify(s)
17806}
17807
17808// GoString returns the string representation
17809func (s VolumeInfo) GoString() string {
17810	return s.String()
17811}
17812
17813// SetGatewayARN sets the GatewayARN field's value.
17814func (s *VolumeInfo) SetGatewayARN(v string) *VolumeInfo {
17815	s.GatewayARN = &v
17816	return s
17817}
17818
17819// SetGatewayId sets the GatewayId field's value.
17820func (s *VolumeInfo) SetGatewayId(v string) *VolumeInfo {
17821	s.GatewayId = &v
17822	return s
17823}
17824
17825// SetVolumeARN sets the VolumeARN field's value.
17826func (s *VolumeInfo) SetVolumeARN(v string) *VolumeInfo {
17827	s.VolumeARN = &v
17828	return s
17829}
17830
17831// SetVolumeAttachmentStatus sets the VolumeAttachmentStatus field's value.
17832func (s *VolumeInfo) SetVolumeAttachmentStatus(v string) *VolumeInfo {
17833	s.VolumeAttachmentStatus = &v
17834	return s
17835}
17836
17837// SetVolumeId sets the VolumeId field's value.
17838func (s *VolumeInfo) SetVolumeId(v string) *VolumeInfo {
17839	s.VolumeId = &v
17840	return s
17841}
17842
17843// SetVolumeSizeInBytes sets the VolumeSizeInBytes field's value.
17844func (s *VolumeInfo) SetVolumeSizeInBytes(v int64) *VolumeInfo {
17845	s.VolumeSizeInBytes = &v
17846	return s
17847}
17848
17849// SetVolumeType sets the VolumeType field's value.
17850func (s *VolumeInfo) SetVolumeType(v string) *VolumeInfo {
17851	s.VolumeType = &v
17852	return s
17853}
17854
17855// Describes a storage volume recovery point object.
17856type VolumeRecoveryPointInfo struct {
17857	_ struct{} `type:"structure"`
17858
17859	// The Amazon Resource Name (ARN) of the volume target.
17860	VolumeARN *string `min:"50" type:"string"`
17861
17862	// The time the recovery point was taken.
17863	VolumeRecoveryPointTime *string `type:"string"`
17864
17865	// The size of the volume in bytes.
17866	VolumeSizeInBytes *int64 `type:"long"`
17867
17868	// The size of the data stored on the volume in bytes.
17869	//
17870	// This value is not available for volumes created prior to May 13, 2015, until
17871	// you store data on the volume.
17872	VolumeUsageInBytes *int64 `type:"long"`
17873}
17874
17875// String returns the string representation
17876func (s VolumeRecoveryPointInfo) String() string {
17877	return awsutil.Prettify(s)
17878}
17879
17880// GoString returns the string representation
17881func (s VolumeRecoveryPointInfo) GoString() string {
17882	return s.String()
17883}
17884
17885// SetVolumeARN sets the VolumeARN field's value.
17886func (s *VolumeRecoveryPointInfo) SetVolumeARN(v string) *VolumeRecoveryPointInfo {
17887	s.VolumeARN = &v
17888	return s
17889}
17890
17891// SetVolumeRecoveryPointTime sets the VolumeRecoveryPointTime field's value.
17892func (s *VolumeRecoveryPointInfo) SetVolumeRecoveryPointTime(v string) *VolumeRecoveryPointInfo {
17893	s.VolumeRecoveryPointTime = &v
17894	return s
17895}
17896
17897// SetVolumeSizeInBytes sets the VolumeSizeInBytes field's value.
17898func (s *VolumeRecoveryPointInfo) SetVolumeSizeInBytes(v int64) *VolumeRecoveryPointInfo {
17899	s.VolumeSizeInBytes = &v
17900	return s
17901}
17902
17903// SetVolumeUsageInBytes sets the VolumeUsageInBytes field's value.
17904func (s *VolumeRecoveryPointInfo) SetVolumeUsageInBytes(v int64) *VolumeRecoveryPointInfo {
17905	s.VolumeUsageInBytes = &v
17906	return s
17907}
17908
17909// Lists iSCSI information about a volume.
17910type VolumeiSCSIAttributes struct {
17911	_ struct{} `type:"structure"`
17912
17913	// Indicates whether mutual CHAP is enabled for the iSCSI target.
17914	ChapEnabled *bool `type:"boolean"`
17915
17916	// The logical disk number.
17917	LunNumber *int64 `min:"1" type:"integer"`
17918
17919	// The network interface identifier.
17920	NetworkInterfaceId *string `type:"string"`
17921
17922	// The port used to communicate with iSCSI targets.
17923	NetworkInterfacePort *int64 `type:"integer"`
17924
17925	// The Amazon Resource Name (ARN) of the volume target.
17926	TargetARN *string `min:"50" type:"string"`
17927}
17928
17929// String returns the string representation
17930func (s VolumeiSCSIAttributes) String() string {
17931	return awsutil.Prettify(s)
17932}
17933
17934// GoString returns the string representation
17935func (s VolumeiSCSIAttributes) GoString() string {
17936	return s.String()
17937}
17938
17939// SetChapEnabled sets the ChapEnabled field's value.
17940func (s *VolumeiSCSIAttributes) SetChapEnabled(v bool) *VolumeiSCSIAttributes {
17941	s.ChapEnabled = &v
17942	return s
17943}
17944
17945// SetLunNumber sets the LunNumber field's value.
17946func (s *VolumeiSCSIAttributes) SetLunNumber(v int64) *VolumeiSCSIAttributes {
17947	s.LunNumber = &v
17948	return s
17949}
17950
17951// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
17952func (s *VolumeiSCSIAttributes) SetNetworkInterfaceId(v string) *VolumeiSCSIAttributes {
17953	s.NetworkInterfaceId = &v
17954	return s
17955}
17956
17957// SetNetworkInterfacePort sets the NetworkInterfacePort field's value.
17958func (s *VolumeiSCSIAttributes) SetNetworkInterfacePort(v int64) *VolumeiSCSIAttributes {
17959	s.NetworkInterfacePort = &v
17960	return s
17961}
17962
17963// SetTargetARN sets the TargetARN field's value.
17964func (s *VolumeiSCSIAttributes) SetTargetARN(v string) *VolumeiSCSIAttributes {
17965	s.TargetARN = &v
17966	return s
17967}
17968
17969const (
17970	// ActiveDirectoryStatusAccessDenied is a ActiveDirectoryStatus enum value
17971	ActiveDirectoryStatusAccessDenied = "ACCESS_DENIED"
17972
17973	// ActiveDirectoryStatusDetached is a ActiveDirectoryStatus enum value
17974	ActiveDirectoryStatusDetached = "DETACHED"
17975
17976	// ActiveDirectoryStatusJoined is a ActiveDirectoryStatus enum value
17977	ActiveDirectoryStatusJoined = "JOINED"
17978
17979	// ActiveDirectoryStatusJoining is a ActiveDirectoryStatus enum value
17980	ActiveDirectoryStatusJoining = "JOINING"
17981
17982	// ActiveDirectoryStatusNetworkError is a ActiveDirectoryStatus enum value
17983	ActiveDirectoryStatusNetworkError = "NETWORK_ERROR"
17984
17985	// ActiveDirectoryStatusTimeout is a ActiveDirectoryStatus enum value
17986	ActiveDirectoryStatusTimeout = "TIMEOUT"
17987
17988	// ActiveDirectoryStatusUnknownError is a ActiveDirectoryStatus enum value
17989	ActiveDirectoryStatusUnknownError = "UNKNOWN_ERROR"
17990)
17991
17992const (
17993	// AvailabilityMonitorTestStatusComplete is a AvailabilityMonitorTestStatus enum value
17994	AvailabilityMonitorTestStatusComplete = "COMPLETE"
17995
17996	// AvailabilityMonitorTestStatusFailed is a AvailabilityMonitorTestStatus enum value
17997	AvailabilityMonitorTestStatusFailed = "FAILED"
17998
17999	// AvailabilityMonitorTestStatusPending is a AvailabilityMonitorTestStatus enum value
18000	AvailabilityMonitorTestStatusPending = "PENDING"
18001)
18002
18003const (
18004	// ErrorCodeActivationKeyExpired is a ErrorCode enum value
18005	ErrorCodeActivationKeyExpired = "ActivationKeyExpired"
18006
18007	// ErrorCodeActivationKeyInvalid is a ErrorCode enum value
18008	ErrorCodeActivationKeyInvalid = "ActivationKeyInvalid"
18009
18010	// ErrorCodeActivationKeyNotFound is a ErrorCode enum value
18011	ErrorCodeActivationKeyNotFound = "ActivationKeyNotFound"
18012
18013	// ErrorCodeGatewayInternalError is a ErrorCode enum value
18014	ErrorCodeGatewayInternalError = "GatewayInternalError"
18015
18016	// ErrorCodeGatewayNotConnected is a ErrorCode enum value
18017	ErrorCodeGatewayNotConnected = "GatewayNotConnected"
18018
18019	// ErrorCodeGatewayNotFound is a ErrorCode enum value
18020	ErrorCodeGatewayNotFound = "GatewayNotFound"
18021
18022	// ErrorCodeGatewayProxyNetworkConnectionBusy is a ErrorCode enum value
18023	ErrorCodeGatewayProxyNetworkConnectionBusy = "GatewayProxyNetworkConnectionBusy"
18024
18025	// ErrorCodeAuthenticationFailure is a ErrorCode enum value
18026	ErrorCodeAuthenticationFailure = "AuthenticationFailure"
18027
18028	// ErrorCodeBandwidthThrottleScheduleNotFound is a ErrorCode enum value
18029	ErrorCodeBandwidthThrottleScheduleNotFound = "BandwidthThrottleScheduleNotFound"
18030
18031	// ErrorCodeBlocked is a ErrorCode enum value
18032	ErrorCodeBlocked = "Blocked"
18033
18034	// ErrorCodeCannotExportSnapshot is a ErrorCode enum value
18035	ErrorCodeCannotExportSnapshot = "CannotExportSnapshot"
18036
18037	// ErrorCodeChapCredentialNotFound is a ErrorCode enum value
18038	ErrorCodeChapCredentialNotFound = "ChapCredentialNotFound"
18039
18040	// ErrorCodeDiskAlreadyAllocated is a ErrorCode enum value
18041	ErrorCodeDiskAlreadyAllocated = "DiskAlreadyAllocated"
18042
18043	// ErrorCodeDiskDoesNotExist is a ErrorCode enum value
18044	ErrorCodeDiskDoesNotExist = "DiskDoesNotExist"
18045
18046	// ErrorCodeDiskSizeGreaterThanVolumeMaxSize is a ErrorCode enum value
18047	ErrorCodeDiskSizeGreaterThanVolumeMaxSize = "DiskSizeGreaterThanVolumeMaxSize"
18048
18049	// ErrorCodeDiskSizeLessThanVolumeSize is a ErrorCode enum value
18050	ErrorCodeDiskSizeLessThanVolumeSize = "DiskSizeLessThanVolumeSize"
18051
18052	// ErrorCodeDiskSizeNotGigAligned is a ErrorCode enum value
18053	ErrorCodeDiskSizeNotGigAligned = "DiskSizeNotGigAligned"
18054
18055	// ErrorCodeDuplicateCertificateInfo is a ErrorCode enum value
18056	ErrorCodeDuplicateCertificateInfo = "DuplicateCertificateInfo"
18057
18058	// ErrorCodeDuplicateSchedule is a ErrorCode enum value
18059	ErrorCodeDuplicateSchedule = "DuplicateSchedule"
18060
18061	// ErrorCodeEndpointNotFound is a ErrorCode enum value
18062	ErrorCodeEndpointNotFound = "EndpointNotFound"
18063
18064	// ErrorCodeIamnotSupported is a ErrorCode enum value
18065	ErrorCodeIamnotSupported = "IAMNotSupported"
18066
18067	// ErrorCodeInitiatorInvalid is a ErrorCode enum value
18068	ErrorCodeInitiatorInvalid = "InitiatorInvalid"
18069
18070	// ErrorCodeInitiatorNotFound is a ErrorCode enum value
18071	ErrorCodeInitiatorNotFound = "InitiatorNotFound"
18072
18073	// ErrorCodeInternalError is a ErrorCode enum value
18074	ErrorCodeInternalError = "InternalError"
18075
18076	// ErrorCodeInvalidGateway is a ErrorCode enum value
18077	ErrorCodeInvalidGateway = "InvalidGateway"
18078
18079	// ErrorCodeInvalidEndpoint is a ErrorCode enum value
18080	ErrorCodeInvalidEndpoint = "InvalidEndpoint"
18081
18082	// ErrorCodeInvalidParameters is a ErrorCode enum value
18083	ErrorCodeInvalidParameters = "InvalidParameters"
18084
18085	// ErrorCodeInvalidSchedule is a ErrorCode enum value
18086	ErrorCodeInvalidSchedule = "InvalidSchedule"
18087
18088	// ErrorCodeLocalStorageLimitExceeded is a ErrorCode enum value
18089	ErrorCodeLocalStorageLimitExceeded = "LocalStorageLimitExceeded"
18090
18091	// ErrorCodeLunAlreadyAllocated is a ErrorCode enum value
18092	ErrorCodeLunAlreadyAllocated = "LunAlreadyAllocated "
18093
18094	// ErrorCodeLunInvalid is a ErrorCode enum value
18095	ErrorCodeLunInvalid = "LunInvalid"
18096
18097	// ErrorCodeJoinDomainInProgress is a ErrorCode enum value
18098	ErrorCodeJoinDomainInProgress = "JoinDomainInProgress"
18099
18100	// ErrorCodeMaximumContentLengthExceeded is a ErrorCode enum value
18101	ErrorCodeMaximumContentLengthExceeded = "MaximumContentLengthExceeded"
18102
18103	// ErrorCodeMaximumTapeCartridgeCountExceeded is a ErrorCode enum value
18104	ErrorCodeMaximumTapeCartridgeCountExceeded = "MaximumTapeCartridgeCountExceeded"
18105
18106	// ErrorCodeMaximumVolumeCountExceeded is a ErrorCode enum value
18107	ErrorCodeMaximumVolumeCountExceeded = "MaximumVolumeCountExceeded"
18108
18109	// ErrorCodeNetworkConfigurationChanged is a ErrorCode enum value
18110	ErrorCodeNetworkConfigurationChanged = "NetworkConfigurationChanged"
18111
18112	// ErrorCodeNoDisksAvailable is a ErrorCode enum value
18113	ErrorCodeNoDisksAvailable = "NoDisksAvailable"
18114
18115	// ErrorCodeNotImplemented is a ErrorCode enum value
18116	ErrorCodeNotImplemented = "NotImplemented"
18117
18118	// ErrorCodeNotSupported is a ErrorCode enum value
18119	ErrorCodeNotSupported = "NotSupported"
18120
18121	// ErrorCodeOperationAborted is a ErrorCode enum value
18122	ErrorCodeOperationAborted = "OperationAborted"
18123
18124	// ErrorCodeOutdatedGateway is a ErrorCode enum value
18125	ErrorCodeOutdatedGateway = "OutdatedGateway"
18126
18127	// ErrorCodeParametersNotImplemented is a ErrorCode enum value
18128	ErrorCodeParametersNotImplemented = "ParametersNotImplemented"
18129
18130	// ErrorCodeRegionInvalid is a ErrorCode enum value
18131	ErrorCodeRegionInvalid = "RegionInvalid"
18132
18133	// ErrorCodeRequestTimeout is a ErrorCode enum value
18134	ErrorCodeRequestTimeout = "RequestTimeout"
18135
18136	// ErrorCodeServiceUnavailable is a ErrorCode enum value
18137	ErrorCodeServiceUnavailable = "ServiceUnavailable"
18138
18139	// ErrorCodeSnapshotDeleted is a ErrorCode enum value
18140	ErrorCodeSnapshotDeleted = "SnapshotDeleted"
18141
18142	// ErrorCodeSnapshotIdInvalid is a ErrorCode enum value
18143	ErrorCodeSnapshotIdInvalid = "SnapshotIdInvalid"
18144
18145	// ErrorCodeSnapshotInProgress is a ErrorCode enum value
18146	ErrorCodeSnapshotInProgress = "SnapshotInProgress"
18147
18148	// ErrorCodeSnapshotNotFound is a ErrorCode enum value
18149	ErrorCodeSnapshotNotFound = "SnapshotNotFound"
18150
18151	// ErrorCodeSnapshotScheduleNotFound is a ErrorCode enum value
18152	ErrorCodeSnapshotScheduleNotFound = "SnapshotScheduleNotFound"
18153
18154	// ErrorCodeStagingAreaFull is a ErrorCode enum value
18155	ErrorCodeStagingAreaFull = "StagingAreaFull"
18156
18157	// ErrorCodeStorageFailure is a ErrorCode enum value
18158	ErrorCodeStorageFailure = "StorageFailure"
18159
18160	// ErrorCodeTapeCartridgeNotFound is a ErrorCode enum value
18161	ErrorCodeTapeCartridgeNotFound = "TapeCartridgeNotFound"
18162
18163	// ErrorCodeTargetAlreadyExists is a ErrorCode enum value
18164	ErrorCodeTargetAlreadyExists = "TargetAlreadyExists"
18165
18166	// ErrorCodeTargetInvalid is a ErrorCode enum value
18167	ErrorCodeTargetInvalid = "TargetInvalid"
18168
18169	// ErrorCodeTargetNotFound is a ErrorCode enum value
18170	ErrorCodeTargetNotFound = "TargetNotFound"
18171
18172	// ErrorCodeUnauthorizedOperation is a ErrorCode enum value
18173	ErrorCodeUnauthorizedOperation = "UnauthorizedOperation"
18174
18175	// ErrorCodeVolumeAlreadyExists is a ErrorCode enum value
18176	ErrorCodeVolumeAlreadyExists = "VolumeAlreadyExists"
18177
18178	// ErrorCodeVolumeIdInvalid is a ErrorCode enum value
18179	ErrorCodeVolumeIdInvalid = "VolumeIdInvalid"
18180
18181	// ErrorCodeVolumeInUse is a ErrorCode enum value
18182	ErrorCodeVolumeInUse = "VolumeInUse"
18183
18184	// ErrorCodeVolumeNotFound is a ErrorCode enum value
18185	ErrorCodeVolumeNotFound = "VolumeNotFound"
18186
18187	// ErrorCodeVolumeNotReady is a ErrorCode enum value
18188	ErrorCodeVolumeNotReady = "VolumeNotReady"
18189)
18190
18191// The type of the file share.
18192const (
18193	// FileShareTypeNfs is a FileShareType enum value
18194	FileShareTypeNfs = "NFS"
18195
18196	// FileShareTypeSmb is a FileShareType enum value
18197	FileShareTypeSmb = "SMB"
18198)
18199
18200const (
18201	// HostEnvironmentVmware is a HostEnvironment enum value
18202	HostEnvironmentVmware = "VMWARE"
18203
18204	// HostEnvironmentHyperV is a HostEnvironment enum value
18205	HostEnvironmentHyperV = "HYPER-V"
18206
18207	// HostEnvironmentEc2 is a HostEnvironment enum value
18208	HostEnvironmentEc2 = "EC2"
18209
18210	// HostEnvironmentKvm is a HostEnvironment enum value
18211	HostEnvironmentKvm = "KVM"
18212
18213	// HostEnvironmentOther is a HostEnvironment enum value
18214	HostEnvironmentOther = "OTHER"
18215)
18216
18217// A value that sets the access control list permission for objects in the S3
18218// bucket that a file gateway puts objects into. The default value is "private".
18219const (
18220	// ObjectACLPrivate is a ObjectACL enum value
18221	ObjectACLPrivate = "private"
18222
18223	// ObjectACLPublicRead is a ObjectACL enum value
18224	ObjectACLPublicRead = "public-read"
18225
18226	// ObjectACLPublicReadWrite is a ObjectACL enum value
18227	ObjectACLPublicReadWrite = "public-read-write"
18228
18229	// ObjectACLAuthenticatedRead is a ObjectACL enum value
18230	ObjectACLAuthenticatedRead = "authenticated-read"
18231
18232	// ObjectACLBucketOwnerRead is a ObjectACL enum value
18233	ObjectACLBucketOwnerRead = "bucket-owner-read"
18234
18235	// ObjectACLBucketOwnerFullControl is a ObjectACL enum value
18236	ObjectACLBucketOwnerFullControl = "bucket-owner-full-control"
18237
18238	// ObjectACLAwsExecRead is a ObjectACL enum value
18239	ObjectACLAwsExecRead = "aws-exec-read"
18240)
18241
18242const (
18243	// SMBSecurityStrategyClientSpecified is a SMBSecurityStrategy enum value
18244	SMBSecurityStrategyClientSpecified = "ClientSpecified"
18245
18246	// SMBSecurityStrategyMandatorySigning is a SMBSecurityStrategy enum value
18247	SMBSecurityStrategyMandatorySigning = "MandatorySigning"
18248
18249	// SMBSecurityStrategyMandatoryEncryption is a SMBSecurityStrategy enum value
18250	SMBSecurityStrategyMandatoryEncryption = "MandatoryEncryption"
18251)
18252